Система Антипробуксовки для самодельной багги 4*4
- Войдите на сайт для отправки комментариев
Чт, 24/11/2016 - 05:31
Хочется реализовать такую систему, датчик вращения на каждом из колес (индуктивный), раздельное торможение каждого из 4-х колес(посредством доработанного блока ABS).
Требуется измерять частоту вращения 4 колес, и если одно колесо имеет большую частоту, выдавать сигнал пропорциональный разнице, для управления тормозом этого колеса.
Насколько я понимаю мне 4 сигнала от датчиков необходимо обработать, затем сравнивать частоту от каждого датчика с 3-мя остальными (усредненные).
Arduino Nano потянет такие вычисления? Я не програмист, в тонкостях не силен.
По скорости вычисления - потянет.
А вот по количеству выводов...
Вам нужно знать направление вращения колеса или Вы его знаете? Если нужно, на каждое колесо по 2 цифровых входа.
Вам нужно управлять направлением вращения колес? А скоростью? На каждое колесо по 2-3 пина.
Это уже 16-20 пинов. Причем, на части из них обязательно должен быть ШИМ.
Вы планируете подключать какие-либо еще датчики или индикаторы?
В прнинципе, все эти проблемы решаются при помаощи дополнительных специализированных микросхем. Но что лучше: Uno+дополнительные микросхемы или Mega - решать Вам.
есть еще вариант. драйвера все i2c, это всего два пина. плюс 4 пина на прерывания. но просто прерывания без опыта настроить только 2. поэтому можно мультиплексор это 1 прерывание плюс 2 пина управление мультиплексором
Для энкодеров достаточно удобно использовать PCINT, а этого в 328 на каждой ноге.
А I2C - дополнительная периферия. Один из вариантов "дополнительных специализированных микросхем".
удобно, но насколько возможно для тех кто не умеет. с 2 и 3 пином все достаточно просто
хотя возможно просто такие дурацкие примеры, что тяжело понять как это работает
насчет специализированных да, но все относительно проще
В готовых системах ABS, ASP для измерения частоты вращения колеса используют по 1му датчику на колесо. Напраление всегда в одну сторону (ну не может 600кг машина ехать вперед а колеса вращать в другую сторону). Таким образом 4 цифровых входа по идее достаточно.
По выходам, управлять нужно 1м клапаном на колесо(Но импульсно что бы скорость колеса была не нулевой), и мотор - насосом для нагнетания тормозной жидкости. Длительность импульса управления тормозом завистит от времени за которое скорости всех колес выровняются.
Скажем 1 колесо-частота 300гц, 2е - 300Гц, 3е -300Гц, 4е -400Гц.
Включаем Насос-мотор и одновременно с этим подаем импульсный сигнал на клапан 4 притормаживая его. Как только частота всех колес равна, отключаем насос-мотор и клапан торможения 4.
Следовательно необходимо 4 выхода на клапана и 1 выход для насос-мотора.
Итого нужно 4 цифровых входа и 5 цифровых выходов.
Если говорю много непонятных терминов извините))
Так измерять частоту будет норм?
Мой Nano имеет только 2 пина для внешних прерываний, а мне нужно 4.
Это можно обойти или прийдется брать Mega ? По изначально неверному пути.
Еще есть PCINT. В Nano на любой ноге.