Оглавление:

Приборная панель электрического велосипеда (EBike) и монитор батареи: 12 шагов (с изображениями)
Приборная панель электрического велосипеда (EBike) и монитор батареи: 12 шагов (с изображениями)

Видео: Приборная панель электрического велосипеда (EBike) и монитор батареи: 12 шагов (с изображениями)

Видео: Приборная панель электрического велосипеда (EBike) и монитор батареи: 12 шагов (с изображениями)
Видео: Обзор электрических питбайков Butch X1, X2 (2021) 2024, Июль
Anonim
Приборная панель и монитор аккумулятора электрического велосипеда (EBike)
Приборная панель и монитор аккумулятора электрического велосипеда (EBike)

Этот проект представляет собой схему Arduino, которая отслеживает напряжение и ток батареи с помощью модуля ACS 712. Результаты измерений передаются через Bluetooth с помощью модуля HC-05 на устройство Android. Обычно вы переключаете отрицательное соединение между контроллером и аккумулятором, чтобы оно проходило через модуль ACS712.

Приложение для Android отображает состояние батареи, а также текущую скорость и пройденное расстояние с помощью GPS-навигатора Android.

Android можно закрепить на велосипеде в водонепроницаемой сумке. Схема Arduino постоянно установлена в защищенном от непогоды боксе на велосипеде рядом с аккумулятором.

Код Android и Arduino доступен на github. (https://github.com/edj2001/BikeDashArduino и

github.com/edj2001/BikeDashAndroid. Вам также понадобятся библиотеки https://github.com/edj2001/AndroidBluetoothLibrar… и

Доступны коммерческие версии аналогичных продуктов, если это больше, чем вы можете справиться. Вы можете легко найти их, погуглив "bluetooth 36v ваттметр". Если вы посмотрите на некоторые изображения, вы увидите Arduino Pro Mini, блок питания DC-DC и модуль HC-05 (или -06) на задней панели.

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

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

Как всегда, эта информация предоставляется как есть, без каких-либо явных или подразумеваемых гарантий. Вы несете ответственность за все, что делаете с этой информацией. Я не буду нести никакой ответственности за любой ущерб. См. Раздел об отказе от ответственности в Условиях использования.

Шаг 1. Инструктируемые обновления

PeterB476 показал мне, что я пренебрегал включением шага для инициализации СППЗУ Arduino, поэтому я добавил его в инструкции.

Я также добавил 2 новые версии приложения на более позднем этапе. Они не были тщательно протестированы, но вы можете попробовать.

Шаг 2. Установите приложение для Android

Нет смысла продолжать остальную часть этого проекта, если приложение для Android не работает на вашем устройстве. К выпускам от github прикреплен apk android. Файл apk также прикреплен сюда. Убедитесь, что хотя бы часть приложения GPS работает, и вы можете попытаться подключиться к устройству Bluetooth.

Если вы хотите создать приложение самостоятельно, я предлагаю вам начать с момента «выпуска», потому что оно, вероятно, работало в какой-то момент, тогда как последняя «главная» ветвь может иметь обновления, которые не были протестированы.

Скопируйте файл apk на свое устройство. Вам нужно будет разрешить «Неизвестные источники» в настройках безопасности на вашем устройстве, так как apk не был получен из Google Play. Затем просто коснитесь файла apk на своем устройстве, чтобы установить его.

Очевидно, что приложению требуются разрешения Bluetooth для связи с Arduino и разрешения GPS для определения вашей скорости и пройденного расстояния.

Нажмите кнопку «пульт», чтобы попытаться подключиться к устройству bluetooth. Нажмите «сброс», чтобы сбросить пройденное расстояние до 0. Удерживайте поле «Battery Ah used», чтобы сбросить его после зарядки аккумулятора. Значение использованного Ач будет сохранено, если вы выключите и включите аккумулятор, не заряжая его.

Шаг 3: Соберите детали

Собирать детали
Собирать детали
Собирать детали
Собирать детали
Собирать детали
Собирать детали

Обратите внимание, что эти детали предназначены для батареи 36 В. Если у вас батарея 48 В, вам нужно будет заменить резистор 10 кОм на 11 кОм или 12 кОм, и вам понадобится другой преобразователь постоянного тока в постоянный.

1 Всепогодный кожух. Я использовал электрическую коробку из ПВХ размером 4x4x2 дюйма.

1 кусок вашего любимого стрипборда или протоборда

1 Arduino Pro Mini, 5 В, 16 МГц. Вы также можете легко собрать Arduino без платы, так как вам не нужен регулятор напряжения или интерфейс USB. Все, что вам нужно, это ATMEGA328P, кристалл на 16 МГц и несколько конденсаторов. Вы также можете использовать Arduino Nano, если у вас есть место в вашем корпусе. Nano больше, чем первые два варианта, но имеет встроенный интерфейс USB, если у вас нет последовательного преобразователя.

1 модуль ACS712 для соответствия текущему диапазону вашей батареи. Я использовал модуль на 20А для своей батареи на 8А.

1 модуль Bluetooth HC-05. Мне нравится разновидность ZS-040, шестиконтактная с кнопкой. На обратной стороне он будет маркирован ZS-040.

1 Источник питания постоянного и постоянного тока от 50 В до 5 В, если на вашем велосипеде установлена батарея на 36 В, которая будет примерно на 42 В. Если у вас аккумулятор на 48 В, он будет полностью заряжен на 56 или 57 В, поэтому вам может потребоваться другой источник питания. Сообщите нам, что вы используете, если найдете что-то на 60 В. Некоторые люди говорят, что большинство настенных бородавок USB работают от 48 В постоянного тока (и выше), но я не пробовал.

Резисторы 1/4 Вт: 1 x 2 кОм, 1 x 10 кОм, 2 x 1 кОм (увеличьте 10 кОм, если ваша батарея более 36 В).

Патрон встроенного предохранителя и предохранитель 2А.

прямые и прямоугольные полосы заголовка

Клеммные колодки 5,08 мм, 2 x 2

Многожильный провод 16AWG для соединения модулей.

Сплошной провод 22AWG для цепи Arduino

Клеммная колодка для подключения аккумулятора и велосипеда

Паяльник

припаять

Способ крепления Android-устройства к велосипеду.

Для программирования модуля Arduino и HC-05 вам также понадобится последовательный преобразователь usb в ttl 3,3 В (или, по крайней мере, программатор isp) и Arduino ide с https://www.arduino.cc/en/Main/Software. Этот проект был выполнен с версией 1.6.13, разные версии могут работать, а могут и не работать без изменений.

Шаг 4: Инициализируйте СППЗУ Arduino

Я не включил этот шаг в исходное руководство. Область EPROM, которая используется эскизом, должна быть инициализирована для правильной работы эскиза. Скетч можно было бы написать так, чтобы он делал это автоматически, но на данный момент это не так.

Если вы не работаете с исходным кодом Arduino, вы можете загрузить шестнадцатеричный файл, прикрепленный к этому шагу, на свой Arduino для инициализации EPROM.

Если вы работаете с исходным кодом arduino, в разделе setup () есть две строки, которые выглядят следующим образом:

// инициализировать EEPROM при первом запуске программы.

// updateEPROM ();

Если вы раскомментируете вторую строку, чтобы она выглядела так:

// инициализировать EEPROM при первом запуске программы.

updateEPROM ();

Загрузите этот скетч в Arduino и дайте ему поработать. EPROM будет инициализирован. Затем порекомендуйте линию для следующего шага.

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

Шаг 5: настройте Arduino

Загрузите код Arduino (прикрепленный шестнадцатеричный файл) в Pro Mini, используя либо Arduino IDE, либо avrdude отдельно. Обычно для этого используется преобразователь USB в последовательный порт, но также можно использовать программатор isp.

Опять же, если вы хотите скомпилировать его самостоятельно, начните с «релиза». В последней «главной» ветке могут быть непроверенные изменения.

Если вы заменили резистор 10 кОм на что-то более высокое, вам также нужно будет изменить постоянную делителя напряжения батареи в скетче. Измените 11.0 в строке "double VBmultiplier = 11.0;" чтобы соответствовать тому, что вы установили.

Шаг 6: Настройте модуль HC-05

Настроить модуль HC-05
Настроить модуль HC-05
Настроить модуль HC-05
Настроить модуль HC-05

Вам необходимо настроить скорость передачи на модуле HC-05. Также неплохо дать ему имя, которое вы сможете легко узнать позже (например, «ВЕЛОСИПЕД»).

Для этого вы также используете модуль последовательного преобразователя usb в ttl. Если у вас нет последовательного преобразователя, вы можете написать скетч для Arduino, чтобы настроить его, или я думаю, если у вас есть 2 модуля HC-05, вы можете соединить их вместе и использовать один для программирования другого (возможно).

По этому модулю есть отличная статья по адресу

Вам нужно настроить скорость передачи данных на 4800, чтобы соответствовать эскизу Arduino, и изменить имя на «BIKE» или что-то, что вы узнаете.

После настройки модуля вы можете подключить его к устройству Android в настройках Bluetooth.

Шаг 7: соберите схему

Я приложил для справки отсканированную от руки схему проводки, если кто-то достаточно амбициозен, чтобы красиво ее перерисовать, дайте мне знать:)

Сделайте следующие подключения:

(+) Батарея велосипеда сбоку от предохранителя и контроллера велосипеда.

Другая сторона предохранителя - к клемме IN преобразователя постоянного тока (+) и резистору 10K для входа напряжения батареи на Arduino.

(-) Батарея велосипеда к (-) IN на преобразователе и одной клемме питания ACS712.

На этом этапе убедитесь, что у вас есть 5 В от преобразователя постоянного тока, когда вы включаете аккумулятор, если вы еще этого не сделали.

Выключите аккумулятор и завершите подключения:

(+) OUT от преобразователя Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT от преобразователя к Arduino GND, HC05 GND, ACS712 GND, пин A2 Arduino.

HC05 TXD на вывод 7 Arduino

HC05 RXD из блютуз резисторного делителя.

Вывод 8 Arduino на резисторный делитель bluetooth.

ACS712 OUT на вывод A3 Arduino

Делитель напряжения батареи на вывод A1 Arduino

(-) от велосипедного контроллера ко второй силовой клемме ACS712.

Дополнительная кнопка сброса на самом деле не требуется, она может быть удобна, если вы хотите загрузить ее в Arduino после того, как она будет установлена на вашем велосипеде. Возможно, вы сможете дотянуться до кнопки сброса на Arduino или сбросить ее через последовательный интерфейс, если ваш pro mini это поддерживает.

Дважды проверьте свои соединения.

Шаг 8: предварительная проверка

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

Вы должны иметь возможность подключить bluetooth к велосипеду и увидеть напряжение батареи и, надеюсь, близкий к нулю ток батареи. Если вы можете раскрутить байк и увидеть изменение текущего показания, значит, все работает.

Приложение предполагает, что положительный ток разряжает аккумулятор, поэтому, если показания показывают отрицательный ток, когда вы раскручиваете велосипед, просто поменяйте местами два токовых провода на модуле ACS712.

Если вы не видите никаких показаний в приложении, вы можете посмотреть на индикаторы на модуле Bluetooth, чтобы убедиться, что он подключен и передает данные. Вы можете установить приложение Bluetooth-терминала на свое устройство, чтобы просматривать данные, отправляемые по цепи. Вы должны увидеть около 10 строк в секунду показаний тока и одну строку в секунду напряжения батареи и количества используемой батареи. Если вы ничего не видите, перепроверьте конфигурацию модуля HC05 и соединения между Arduino, резисторным делителем и выводом HC05 TXD.

Наконец, запустите велосипед достаточно долго, чтобы на индикаторе использованного аккумулятора отобразилось ненулевое значение. Затем нажмите и удерживайте этот номер, пока не появится тост, что использование было сброшено. Число должно вернуться к нулю. Если после нескольких попыток этого не произошло, еще раз проверьте подключения от терминала HC05 RXD к Arduino.

Шаг 9: Окончательная сборка

Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка

Установите все монтажное оборудование и установите схему Arduino на свой велосипед. Поместите свое устройство Android в сумку или другой держатель, и все готово!

На фотографиях показаны разряды аккумулятора на моем велосипеде и сумка для моего устройства Android.

Вы можете увидеть небольшую плату для подключения делителя напряжения батареи и ACS712, установленную так, чтобы я мог дотянуться до винтов клеммной колодки после установки всего. Bluetooth-модуль HC-05 снова в правом углу.

Белая клеммная колодка имеет все подключения аккумулятора и контроллера велосипеда к цепи.

Если бы мне пришлось сделать это снова, я бы определенно объединил делитель напряжения батареи и ACS712 на одной дочерней плате. Я также мог бы попытаться установить модуль Bluetooth на дочерней плате под Arduino.

Шаг 10: Дальнейшие шаги

Приложение для Android потребует много работы. Я хотел бы добавить некоторые изменения цвета в зависимости от диапазонов измерений. Я также хотел бы добавить указание на то, что измерение не обновляется в приложении. Вы также можете добавить несколько графических датчиков. Даже красивый значок стал бы большим улучшением.

Лучшая функция - это «оценка до полного разряда», которая сообщит вам расстояние, которое вы можете пройти с оставшейся батареей, и больше ли это расстояние до пункта назначения. Поскольку я обычно езжу либо на работу, либо домой, я думаю, что в приложении должны храниться «путевые точки» GPS с указанием оставшегося расстояния до дома и среднего заряда батареи в этой путевой точке. Возможно, вы также могли бы что-то сделать с подключением для передачи данных, но обычно у меня его нет.

Я хотел бы перейти от библиотеки bluetooth в этом приложении к более развитой, например, с автоматическим переподключением.

Если вы построите это, вы можете рассмотреть возможность добавления аппаратного фильтра нижних частот к измеряемому току и измерения его отдельно, чтобы использовать его для расчета общего использованного заряда. При низких нагрузках, менее 4А или около того, измерение сильно варьируется, +/- 1А. Я не уверен, что это просто проблема измерения или сила тока меняется так сильно, как колесо вращается. В любом случае, отдельное измерение среднего тока за секунду или две может помочь с точностью. Вы можете просто отобрать пробу тока быстрее и сделать это с помощью программного обеспечения, но я не знаю, насколько быстро вам нужно отобрать пробу. Я полагаю, что установка осциллографа на сигнал может помочь выяснить, как быстро его отбирать.

Вы можете добавить такие вещи, как трубка Пито для измерения скорости ветра (для этого уже есть инструкция).

Вы можете добавить управление дроссельной заслонкой с обратной связью из Arduino.

Если вам всегда нужен USB-источник питания на своем велосипеде, вы можете легко проложить кабель от преобразователя 5 В постоянного тока для Arduino до места, где вам нужно подключение к USB-источнику питания.

Шаг 11: вопросы и комментарии

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

Не просите меня прислать вам код, это все на github. Получите это оттуда. Вам даже не нужна учетная запись github.

Пожалуйста, не спрашивайте меня, как что-то сделать в Android Studio или Arduino. Я, наверное, не знаю. Опять же, просто погуглите.

На самом деле не спрашивайте меня о продуктах Apple, я понятия не имею.

Если приложение не работает на вашем устройстве, извините. Но я, наверное, не знаю, как это исправить, чтобы это произошло. Он работает на моем телефоне, это все, что мне нужно.

Хотя предложения по улучшениям приветствуются, я, вероятно, никогда не буду их реализовывать, у меня есть другие вещи, к которым можно перейти. Я, наверное, никогда даже не буду реализовывать свои собственные предложения. Лучше всего разветвить код на github и добавить что-нибудь самостоятельно. Если вы это сделаете, сообщите людям об этом здесь, чтобы они могли использовать ваш код вместо моего.

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

Шаг 12. Обновление приложения для тестирования

Это обновленные версии приложения.

Цифры намного больше. Появилась новая иконка. Кнопки "подключить" больше нет. Используйте опцию «подключение - безопасность» в правом верхнем углу меню.

Эта версия также должна работать с пряниками Android версии 2.3. Работает на моем lg P500 Optimus One.

Версия "app-settings-debug.apk" имеет меню настроек, позволяющее установить емкость вашей батареи, чтобы оставшийся процент рассчитывался правильно. Полностью не протестирован.

Рекомендуемые: