roboforum.ru

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

Компаратор

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Компаратор

Сообщение Kanoka » 18 ноя 2005, 19:56

Как работает компаратор, и зачем он нужен?
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

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

Этож кажись и есть АЦП.. или я чтото путаю?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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

Не, АЦП - оно сигнал в цифру конвертит, а компаратор - он два сигнала сравнивает и говорит какой больше. Компаратор работает быстрее.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Kanoka » 19 ноя 2005, 00:25

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

Уверен? Просто пропускает на выход тот сигнал который больше и все?
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Сообщение Kanoka » 19 ноя 2005, 01:55

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

Очень полезная штуковина как оказалось.
Kanoka
Модератор
 
Сообщения: 1274
Зарегистрирован: 11 ноя 2004, 03:18
Откуда: Москва

Компаратор

Сообщение Vovan » 05 апр 2006, 19:42

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

Сообщение EdGull » 05 апр 2006, 19:54

мерить нужно АЦП и потом программно усреднять
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Сообщение Vovan » 05 апр 2006, 20:13

К сожалению не получится... У меня АЦП для других целей задействован, а за разрядкой следит отдельный (наружный).
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение Vovan » 05 апр 2006, 22:37

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

Сообщение Карлсон » 05 апр 2006, 22:44

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

если я вас правильно понимаю, вы и мк и двигатели от одной батареи питаете, так?
тогда каким образом получается разность напряжений на компараторе, если опорный сигнал тоже проседает?
Аватара пользователя
Карлсон
 
Сообщения: 114
Зарегистрирован: 30 окт 2005, 13:10
Откуда: Москва

Сообщение North » 06 апр 2006, 08:13

Следи за показаниями компаратора в течение некоторого периода времени. Если он стабильно показывает просевшее напряжение, то батарея садится, если оно возвращается к нормальному значению (двигатели всё-таки останавливаются иногда), значит ещё можно ездить.
Аватара пользователя
North
 
Сообщения: 197
Зарегистрирован: 27 июл 2005, 14:12
Откуда: Дмитров, Москва
прог. языки: С, asm

Сообщение Vovan » 06 апр 2006, 09:21

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

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

2 North:
Как вариант, вполне возможно, надо подумать. Однако, что-то склоняет меня в сторону схемотехнического решения. Но рассмотреть Ваше предложение, похоже, стОит.
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение Vovan » 06 апр 2006, 11:49

Вот что придумал:
мерять напряжение в момент повышенной нагрузки - всегда приведёт к тому, что показания будут жутко искажены.
Следовательно: нужно мерять напряжение, в отсутствие нагрузки (остановив двигатели), через равные промежутки времени на "тестовом нагрузочном" резисторе! И только тогда можно с уверенностью сказать, что происходит с батареей!
Дополнительный расход энергии - считаю, что это можно перетерпеть, а вот периодически останавливать двигатели - хм... это хуже... но по-моему единственный, максимально-точный, вариант.
___________
С уважением
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Сообщение -= Александр =- » 06 апр 2006, 16:45

Да что вы все извращаетесь?
Берем резистор на доли ома и включаем последовательно батарее. Так чтоб через него тек весь ток батареи. На его концы цепляем входы дифференциального АЦП. Если надо - через делители. Мерим напряжение на этом резисторе, по закону Ома находим на нем ток и интегрируем по времени. Зная емкость батареи легко предсказать ее расход задолго до того как она начнет подсаживаться. Так-же можно контролировать и заряд, вовремя отключаясь и избегая перезаряда.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Сообщение Vovan » 06 апр 2006, 20:04

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

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17