Делаем индикатор заряда и пробега для электро машины

в 17:03, , рубрики: arduino, attiny, ATtiny85, diy или сделай сам, DYI, сделай сам, электромобиль, метки: , , , , ,

Делаем индикатор заряда и пробега для электро машины
Кому нужен и удобен индикатор заряда батареи в %? На самом деле нам надо знать, как далеко мы сможем проехать на батарее без подзарядки. Давайте сделаем такой индикатор. Он может показывать сколько вы уже проехали (секунд/минут/метров) после полной зарядки а также сколько ещё осталось проехать (метров/секунд/минут) а также общий пробег. Заодно мы на наглядном примере разберёмся с использованием супер Микро Arduino контроллеров семейства ATtiny.
Полученное устройство можно использовать на любых детских машинках (например Power Wheels) и, так или иначе на любых электромобилях, электро-квадрациклах, электро-велосипедах, электро-мопедах и электро-машинах для гольфа. Наше устройство будет считать время (в секундах) которое был включен мотор. Подразумевается что средняя скорость примерно одинаковая и всегда нажат полный газ. Потом эти секунды запоминаются и переводятся в метры и километры по запрограммированной формуле.
У разных машин разные батареи. Наше устройство будет работать от 6 до 24 вольт.
И так что-же отображается:
1) Текущий (после полной зарядки батареи) пробег в метрах с точностью до десятков метров.
2) Текущий (после полной зарядки батареи) пробег в часах минутах и секундах с точностью до десятков секунд.
3) Расстояние на которое хватит батареи (используя предварительно выверенное и прописанное время в секундах работы мотора с заряженной батареей) в метрах с точностью до десятков метров.
4) Общее количество мото-часов за все время (как у самолётов)
5) Общий пробег за все время (как у машин)
6) Текущее напряжение на батарее. По нему тоже можно судить о разряде.
Конечно, ёмкость батареи со временем уменьшается. Также есть саморазряд и ухудшение производительности при низких температурах.
Этот проект преследовал две упомянутые выше цели. Мне интересно было разобраться с ATtiny и надоело толкать сына, на разряженном электро квадрике, до дома. ATtiny на порядок дешевле своих больших Arduino собратьев. И часто в проектах где 8кб и 5 GPIO достаточно совершенно незачем палить из пушки по воробьям. У нас конечно получился перекос в том что мы сэкономили на контроллере зато заплатили в три дорого китайцам за индикатор с I2C.
Что нам потребуется: текстолитовая учебная платка 4х4см с шагом 2.54 мм, 5 сопротивлений, 3 диода, 2-3 конденсатора, кнопка сброса, тумблер вкл/выкл, панелька DIP на 8 ног, один крен на 5 вольт и возможно один на 12, один чип ATtiny85 (программируемый например через обычное Arduino из стандартного IDE) и один 8 сегментный светодиодный индикатор на 4 цифры с I2C интерфейсом. Стоимость последнего сильно перевешивает всё остальное и может доходить до 400р. Я покупал на ибее. Всего получается 450-500р
Вот схема устройства и фотографии ручной разводки:
Делаем индикатор заряда и пробега для электро машины
Четыре светодиода это для подсветки габаритов. Зимой темнеет рано и для безопасности лучше чтобы вашего ребенка несущегося по улице было видно из далека.

Код, нужные библиотеки и прошивки https://github.com/chouckz/PowerWheelsOdomiter
tinyI2C уже подправлена для работы на 8МГц.
Гид о том как программировать ATtiny85 http://www.youtube.com/watch?feature=endscreen&v=30rPt802n1k&NR=1
Единственное не забудьте предварительно залить boot loader на 8МГц.

Типовые схемы детских электро-машин:
http://www.modifiedpowerwheels.com/forum/topic.asp?TOPIC_ID=2236
http://www.modifiedpowerwheels.com/forum/topic.asp?TOPIC_ID=1075

Вот что получилось:
Видео

Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины
Делаем индикатор заряда и пробега для электро машины

Автор: chouck

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js