Технический форум по робототехнике.
Jacksonn » 21 дек 2012, 15:21
Добрый день!
У микросхемы L298 (драйвер двигателей) есть 2 вывода, предназначенные для контроля тока, потребляемого двигателями, подключенными к ней.
Судя по схеме подключения, указанной в даташите (
http://www.datasheetcatalog.org/datashe ... s/1773.pdf), эти выводы должны шунтироваться на "землю" резистором, сопротивлением в 0,5 Ом и с этого шунта можно снимать показания.
Подскажите, пожалуйста, как всё это подключить к АЦП микроконтроллера ATMega32? Я так понимаю, нужно использовать делитель напряжения?
Имеет ли значение, что я буду подключаться не напрямую к источнику тока, а к шунтирующему резистору?
Либо имеет смысл использовать компаратор и триггер?
Буду очень благодарен за помощь!
dccharacter » 21 дек 2012, 15:38
При протекании тока через резистор, на этом резисторе образуется падение напряжения. Именно его и надо мерять АЦП МК. АЦП ток не меряет.
Jacksonn » 21 дек 2012, 16:37
dccharacter, конечно же Вы правы. С помощью АЦП меряется напряжение, а не ток, я просто не так выразился.
Скажите, а как лучше будет это реализовать? Мерить падение напряжения при помощи АЦП МК или лучше через компаратор-триггер?
dccharacter » 21 дек 2012, 16:40
Jacksonn писал(а):dccharacter, конечно же Вы правы. С помощью АЦП меряется напряжение, а не ток, я просто не так выразился.
Скажите, а как лучше будет это реализовать? Мерить падение напряжения при помощи АЦП МК или лучше через компаратор-триггер?
Это смотря чего хочется. В первом случае ты будешь знать, какой точно ток у тебя шурует через дввижки. А во втором только превышает ли он жестко заданный порог.
Jacksonn » 21 дек 2012, 17:08
Собственно, контроль потребляемого двигателями тока пока нужен только для того, что если движки "заклинит", МК мог бы узнать об этом и отключить их. Наверное, для этого будет достаточно и компаратора с триггером.
Правда, может в будущем ещё чего захочется.
Поэтому, может быть, было бы правильней сделать на АЦП? Программную часть АЦП, думаю, что смогу и сам написать, а вот с "аппаратной" хотел бы попросить помощи у Вас. Подскажите, пожалуйста, что-то по этому поводу.
dccharacter » 21 дек 2012, 17:30
Смотря какой МК.
На некоторых МК есть атоотрубание ШИМа по компаратору - это удобно
На других есть отрубание ШИМа по вылету АЦП за порог - это тоже удобно
А если читать показания в цикле и реагировать - это плохо
Jacksonn » 21 дек 2012, 17:35
У меня всем управляет МК ATmega32. АЦП буду подключать тоже к нему. По правде сказать, я даже не знаю, есть ли у него что-то из перечисленного Вами... Наверное, есть?
dccharacter » 21 дек 2012, 18:31
Я в атмегах ни бум-бум
Jacksonn » 21 дек 2012, 19:55
dccharacter писал(а):А если читать показания в цикле и реагировать - это плохо
А почему циклом плохо считывать показания?
dccharacter » 21 дек 2012, 21:02
Jacksonn писал(а):dccharacter писал(а):А если читать показания в цикле и реагировать - это плохо
А почему циклом плохо считывать показания?
Потому что между событием и твоей реакцией пройдет какое-то время
Добавлено спустя 18 минут 6 секунд:я, кстати, имелл в виду, что не плохо, а хуже.
Jacksonn » 22 дек 2012, 01:20
Ну, может быть тогда имеет смысл использовать отдельный компаратор, который подключить к МК и контролировать только логический уровень на его ноге?
К примеру, на операционных усилителях. Т.е. компаратор усиливает сигнал с шунтирующего резистора, а триггер задает порог срабатывания...
Я вот набросал схему... Посмотрите, пожалуйста, будет ли она работать так, как я предлагаю?
P.S. IC1.1, IC1.2 - операционные усилители LM358, VCC1: 5V.
- Вложения
-
elmot » 22 дек 2012, 10:52
не, лучше на мк. если правильно писать программу, то время реакции будет мизерное, зато можно сделать все что хочешь - напр, пропускать единичные броски вниз по питанию, которые создаются нагрузкой. Аппаратный компаратор их поймает и все выключит, его на пропуск такого дела надо долго юстировать. А программному компаратору - пофигу, его очень легко заточить на фильтрацию единичных выбросов.
Vovan » 22 дек 2012, 11:57
А чем АЦП МК не угодил? Задача то простая, как я понимаю: отследить пороговое напряжение и отключить моторы. Прерывания по АЦП никто ж не отменял вроде... Хотя можно и компаратор МК использовать...
Конечно можно и наружний компаратор, но триггер то явно лишний - все равно программа его роль будет выполнять. Если только триггер будет полностью всё обесточивать, тогда можно, хотя и обесточивание может произвести сам МК...
dccharacter » 22 дек 2012, 12:58
сравни время срабатывания компаратора (~0.1мкс) и семплинга АЦП (на 8-ми битках по 15-30 мкс) + реакция на компаратор в 1 такт и обработка АЦП в цикле - еще черти сколько.
На СТМ32 есть вотчдоги по АЦП, там, по-моему, можно тоже автоматом все отрубить при выходе за пределы, но время семсплинга никуда не денешь.
То ТС: Городить внешние компараторы смысла вообще нет, компараторы есть встроенные почти во всех МК, в современных с программным гистерезисом и т.д.
elmot » 22 дек 2012, 13:04
за 30мкс клина моторов никто не умрет.