roboforum.ru

Технический форум по робототехнике.

Компаратор

Компаратор

Kanoka » 18 ноя 2005, 19:56

Как работает компаратор, и зачем он нужен?

Сергей » 18 ноя 2005, 23:50

Этож кажись и есть АЦП.. или я чтото путаю?

-= Александр =- » 19 ноя 2005, 00:10

Не, АЦП - оно сигнал в цифру конвертит, а компаратор - он два сигнала сравнивает и говорит какой больше. Компаратор работает быстрее.

Kanoka » 19 ноя 2005, 00:25

компаратор - он два сигнала сравнивает и говорит какой больше.

Уверен? Просто пропускает на выход тот сигнал который больше и все?

Kanoka » 19 ноя 2005, 01:55

Разобрался. Все оказались в чем то правы, компаратор - однобитный АЦП, сравнивающий входной сигнал с опорным и подающий на выход лог.1 если входной больше опорного, и лог.0 если меньше.

Очень полезная штуковина как оказалось.

Компаратор

Vovan » 05 апр 2006, 19:42

Суть проблемы: компаратор следит за напряжением батареи и когда оно достигнет нижнего предела даёт команду МК "начать зарядку батареи". По достижении верхнего предела напряжения, компаратор выдаёт команду МК "закончить зарядку".
И всё бы хорошо, если бы не включение-выключение двигателей (в моменты приближения напряжения к пиковым значениям), питаемых от этой же батареи. Двигателя дают большие скачки напряжения которые считываются МК (посредством компаратора) как ложные команды.
Встаёт вопрос - как избавиться от считывания скачков напряжения?
ЗЫ: установка дополительной емкости (порядка 10.000мкф) нЕсколько улучшает обстановку, но когда двигателя работают с сильной нагрузкой (едем в гору) - явление возобновляется, т.е. пока есть нагрузка - идёт команда "батарея разряжена", нагрузка закончилась - батарея в порядке...
___________
С уважением
Vovan

EdGull » 05 апр 2006, 19:54

мерить нужно АЦП и потом программно усреднять

Vovan » 05 апр 2006, 20:13

К сожалению не получится... У меня АЦП для других целей задействован, а за разрядкой следит отдельный (наружный).
___________
С уважением
Vovan

Vovan » 05 апр 2006, 22:37

Во! А куда предыдущее сообщение от Карлсона делось? :shock: Ну всё равно на него отвечу.....
Ну а как это сделать в программе? АЦП МК занят (его нет), внешний компаратор (компараторы) они тока и могут что сказать: -Батарея села! или: -Батарея не села. Сделать дополнительно, образно говоря, датчик нагрузки? И уже совместно с ним принимать решение - заряжена или разряжена батарея... Однако во время нагрузки, типа, загрубить нижний порог - тоже чревато, а если батарея на самом деле села?
Тут что-то вертится в голове насчёт нескольких компараторов, но никак не разродИтся...
___________
С уважением
Vovan

Карлсон » 05 апр 2006, 22:44

Vovan
это называется самоцензура.
здешняя публика плохо реагирует на дурные мысли, вот и потер ту ахинею.

если я вас правильно понимаю, вы и мк и двигатели от одной батареи питаете, так?
тогда каким образом получается разность напряжений на компараторе, если опорный сигнал тоже проседает?

North » 06 апр 2006, 08:13

Следи за показаниями компаратора в течение некоторого периода времени. Если он стабильно показывает просевшее напряжение, то батарея садится, если оно возвращается к нормальному значению (двигатели всё-таки останавливаются иногда), значит ещё можно ездить.

Vovan » 06 апр 2006, 09:21

2 Карлсон:
вы и мк и двигатели от одной батареи питаете

этого я не говорил. Могу уточнить: МК у меня имеет автономное питание с автоматической подзарядкой от основной (тяговой) батареи. От МКовской батареи питаются и компараторы и дискретная логика аппарата - на ентот узел нареканий нет в нём таких сильных скачков, да и потребляет он "крохи", а заряжается очень редко. Тяговая батарея питает только двигатели с их драйверами, ну и ещё радиопередатчик (через стабилизатор на 6 v). Именно за ней и установлено вышеописанное наблюдение. Именно её состояние определяет дальнейшие действия механизма - работать или заряжаться.
ЗЫ: А насчёт "ахинеи" - Вы не правы - там тоже была вполне нормальная мысль, просто в моём варианте не получается :D  

2 North:
Как вариант, вполне возможно, надо подумать. Однако, что-то склоняет меня в сторону схемотехнического решения. Но рассмотреть Ваше предложение, похоже, стОит.
___________
С уважением
Vovan

Vovan » 06 апр 2006, 11:49

Вот что придумал:
мерять напряжение в момент повышенной нагрузки - всегда приведёт к тому, что показания будут жутко искажены.
Следовательно: нужно мерять напряжение, в отсутствие нагрузки (остановив двигатели), через равные промежутки времени на "тестовом нагрузочном" резисторе! И только тогда можно с уверенностью сказать, что происходит с батареей!
Дополнительный расход энергии - считаю, что это можно перетерпеть, а вот периодически останавливать двигатели - хм... это хуже... но по-моему единственный, максимально-точный, вариант.
___________
С уважением
Vovan

-= Александр =- » 06 апр 2006, 16:45

Да что вы все извращаетесь?
Берем резистор на доли ома и включаем последовательно батарее. Так чтоб через него тек весь ток батареи. На его концы цепляем входы дифференциального АЦП. Если надо - через делители. Мерим напряжение на этом резисторе, по закону Ома находим на нем ток и интегрируем по времени. Зная емкость батареи легко предсказать ее расход задолго до того как она начнет подсаживаться. Так-же можно контролировать и заряд, вовремя отключаясь и избегая перезаряда.

Vovan » 06 апр 2006, 20:04

2-= Александр =-:
Вы предлагаете мерять напряжение на резисторе, по закону ома находить ток интегрируя показания по времени - это опять тоже самое: усреднённая величина, не иначе. Но ведь, по-моему тогда ещё нужно будет знать ёмкость батареи на данный момент, она ведь другой стала не такой как свежезаряженная, значит нужно ещё и дифференцировать ёмкость... Что-то тут, похоже, не туда едем...
А уж о точности и говорить не надо...
Да и програмно это вряд ли проще, чем: тормознул двигателя на доли секунды, просканировал выход внешнего компаратора и всё. Напоминаю - АЦП МК у меня занят! Не ставить же ещё один МК на законченную конструкцию ради АЦП.
___________
С уважением
Vovan


Rambler\'s Top100 Mail.ru counter