Как отследить скачок тока? Управление двигателем.

ADR
Offline
Зарегистрирован: 13.09.2016

Есть ли простой способ определить скачок тока?

Задача - определить, что моторедуктор уперся. Конструктив редуктора такой, что он поварачивается на определенные углы и "упирается". Т.е. мотор механически останавливается. Никаких резисторов, концевиков нет и приколхозить условно невозможно.

Мотор постоянного тока, 10В. Коллекторный или незнаю, как правильно, вопщем моторчик обыкновенный, не шаговый. Крутится туда и обратно сменой полярности. Планирую использовать Шилд на основе L293D и Arduino UNO

vvadim
Offline
Зарегистрирован: 23.05.2012

или датчик тока на основе датчика холла или с шунта снимать данные

Logik
Offline
Зарегистрирован: 05.08.2014

Шунт, желательно в земляном проводе, так проще. С него на аналоговый вход через резистор в сотню другую Ом.  В цикле снимаете напряжение и выводете в сириал на скорости по максимуму. Делаете 2 опыта: при нормальной работе и при "упоре". Сравниваете результаты в сириале и думаете чем они отличаются. Можете в екселе графики построит, чтоб думалось лучше. Если не надумаете -  выкладуйте сюда, подскажем.

ADR
Offline
Зарегистрирован: 13.09.2016

Добрался до экспериментов. Не особо получается с шунтом. Но тут надо оговориться, что я слабо разбираюсь в схемотехнике и вероятно, что-то сделал неправильно.

В качестве шунта 2 резистора по 10 Ом. Соедененных параллельно. Шунт последовательно соеденяет вывод управления мотором и мотор. К шунту через 200 кОм подключен вывод А0. Это правильно? Ток мотора примерно 0,2А. Напряжение 5В. Во вермя стопорения мотора, ток примерно 0,43А. 

В мониторе во первых через раз приходит 0. Вероятно потому, что шилд на базе L293D управляет моторами посредством ШИМ. Во вторых значение АЦП уж как то сильно не стабильно. Хотя на тестере стабильно 1.2В во время нормальной работы и 1.4В во время "упора". Измерение на входе А0 относительно GND. 

В цикле всего 3 команды чтение - вывод - пауза. Пуза 500. Меньше - цифры мелькают так, что я не успеваю их осмыслить. Больше - микросхема сильно греется, а мой шунт начинает дымиться.

Ноль в измерениях вероятно можно убрать программно. Беспокоит другое - правильная подборка номинала шунта. Возможно поэтому нестабильные значения АЦП? И мотор ведь вращается в обе стороны. Получается что в одном направлении, нормально, а в обратном меряется GND относительно GND?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

шунт это норм. только нужна плата такая или такая. там стоит компаратор. небольшая переделка и можно будет пользоваться. плюс можно регулировать ток сработки

a5021
Offline
Зарегистрирован: 07.07.2013

Компаратор есть и в атмеге, так почему бы не использовать его?

ADR
Offline
Зарегистрирован: 13.09.2016

Подключить шунт вместо фоторезистора? 

И как всётаки быть со сменой полярности на моторе? Во время реверса "+" и "-" в цепи измерения местами меняются.

Программно конечно можно "компарировать". Только почемуто, значения АЦП не стабильны. Часто проскакивает цифра соответствующая 1.4В, в то время, когда на тестре 1.2В. Какие то помехи? Или временный скачок, неуловимый тестером, но пойманный Атмегой?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

у тебя коллекторный мотор. почитай как он работает и откуда берутся броски напряжения и тока

ну почти насчет подключения. надо будет еще резистор выпаять, а для уменьшения влияния помех добавить резистор и конденсатор

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

ADR
Offline
Зарегистрирован: 13.09.2016

Тогда может шунт включать куда-то в цепь питания драйвера? А он двумя моторами рулит. Функция у них разная. Один может работать, может не работать в момент измерения тока.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

поставь 2 драйвера)))

achest
achest аватар
Offline
Зарегистрирован: 01.10.2012

ADR пишет:

Тогда может шунт включать куда-то в цепь питания драйвера?

Все правильно. Только не в цепь питания драйвера, а там есть специальный выход для этого. Читай мануал по поводу ограничения тока. Насколько я помню в дешевых китайских, этот вывод сидит на земле, а в более продвинутом, оригинальном, там стоит резистор 1 ом.  Так что придется возможно дорожки резать.... возможно выходов 2, так что не придется ставить отдельный драйвер для этого..

 

 

ptr
Offline
Зарегистрирован: 28.05.2016

ADR пишет:

В качестве шунта 2 резистора по 10 Ом. Соедененных параллельно. Шунт последовательно соеденяет вывод управления мотором и мотор. К шунту через 200 кОм подключен вывод А0. Это правильно? Ток мотора примерно 0,2А. Напряжение 5В. Во вермя стопорения мотора, ток примерно 0,43А. 

В мониторе во первых через раз приходит 0. Вероятно потому, что шилд на базе L293D управляет моторами посредством ШИМ. Во вторых значение АЦП уж как то сильно не стабильно. Хотя на тестере стабильно 1.2В во время нормальной работы и 1.4В во время "упора". Измерение на входе А0 относительно GND. 

5 ом много. Для 5 вольтового мотора - тем более. Отмотайте проволоки из спирали умершего тена или блина электроплиты на 0.5-1 ом. Самое то будет. После резистора, прямо на ногу A0 емкость на 0.22мкФ к земле. RC получится как раз ~0.05, что вполне приемлемо. Ну или резистор на 51К, а емкость на 1мкФ

ADR
Offline
Зарегистрирован: 13.09.2016

achest, спасибо, вывод поищу.

ptr, мне проще ещё резисторов в параллель поставить)) Если я правильно понял - конденсатор и параллельно включённый с ним резистор на 51К, поставить между А0 и GND?

А сколько Ом то мне нужно? Неужели будет какой-то прок от резистора в пару Ом? Научите, как расчитать. Те формулы, на которые я натыкался, вели речь исключительно о токе и для расчёта нужно было знать сопротивление "амперметра". Не уверен, что правильно понял, как их применить в моём случае.

ptr
Offline
Зарегистрирован: 28.05.2016

ADR пишет:

ptr, мне проще ещё резисторов в параллель поставить)) Если я правильно понял - конденсатор и параллельно включённый с ним резистор на 51К, поставить между А0 и GND?

А сколько Ом то мне нужно? Неужели будет какой-то прок от резистора в пару Ом?

Не надо параллельно кондесатору резистор ставить.

Чем меньше сопротивление шунта, тем меньше на нем падение напряжение. При одном и том же токе, необходимом для нагрузки, мы получаем меньшую рассеиваемую мощность на шунте. W=IU

При заявленом номинальном токе в 200ма получаем на шунте в 5 ом падение напряжения в 1 вольт. U=IR
Аналоговый вход ATMega имеет чуствительность даже к милливольту, если выбрать в ATMega опорными внутренние 1.1 вольта. Явное излишество со всех сторон.

А значит, уменьшаем сопротивление шунта в 10 раз до 0.5 Ома. Падение напряжения на нем составит 100 милливольт. Греться шунт будет в 10 раз меньше.

Резистор на вывод А0 оставляем как есть, 200К. А чтобы на ноге А0 не было пульсаций от ШИМ, мы на ногу ставим емкость 0.22 мкФ между A0 и землей. Время зарядки этой емкости до 64% от напряжения на шунте составит RC = ~0.05 (50 миллисекунд). С одной стороны, это существенно сгладит пульсации ШИМ, с другой, позволит нам быстро реагировать на увеличение тока в цепи и падения напряжения на шунте.

Но так как емкости 0.22 мкФ не у всех есть, а емкости 1мкФ можно выдернуть почти из любой платы, я и предложил использовать 1мкФ, уменьшив резистор с 200К до 51К, для сохранения тех же 50 миллисекунд.

 

 

ADR
Offline
Зарегистрирован: 13.09.2016

Я понял. Спасибо!