Съдържание:

Табло за управление на електрически велосипед (EBike) и монитор на батерията: 12 стъпки (със снимки)
Табло за управление на електрически велосипед (EBike) и монитор на батерията: 12 стъпки (със снимки)

Видео: Табло за управление на електрически велосипед (EBike) и монитор на батерията: 12 стъпки (със снимки)

Видео: Табло за управление на електрически велосипед (EBike) и монитор на батерията: 12 стъпки (със снимки)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноември
Anonim
Табло за управление на електрически велосипеди (EBike) и монитор на батерията
Табло за управление на електрически велосипеди (EBike) и монитор на батерията

Този проект е схема на Arduino, която следи напрежението и тока на батерията с модул ACS 712. Измерванията се съобщават чрез Bluetooth с модул HC-05 на устройство с Android. По принцип пренасочвате отрицателната връзка между вашия контролер и батерията, за да преминете през модула ACS712.

Приложението за Android показва състоянието на батерията, както и текущата скорост и изминатото разстояние от Android GPS

Android може да бъде монтиран на мотора в устойчива на атмосферни влияния чанта. Веригата Arduino е постоянно монтирана в устойчива на атмосферни влияния кутия на мотора близо до батерията.

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

github.com/edj2001/BikeDashAndroid. Ще ви трябват и библиотеките https://github.com/edj2001/AndroidBluetoothLibrar… и

Налични са търговски версии на подобни продукти, ако това е повече, отколкото бихте могли да се справите. Можете лесно да ги намерите, като потърсите в „google google“bluetooth 36v watt meter”. Ако погледнете някои от снимките, ще видите Arduino Pro Mini, DC-DC захранване и HC-05 (или -06) модул на гърба.

Ако някога се чудите колко батерия ви е останала, или колко още можете да отидете на батерията, или ако трябва да педалирате или намалите газта, за да стигнете докъдето отивате, това е, от което се нуждаете.

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

Както винаги, тази информация се предоставя такава, каквато е, без каквато и да е гаранция, изрична или подразбираща се. Вие носите отговорност за всичко, което правите с тази информация. Няма да нося отговорност или отговорност по никакъв начин за каквито и да било щети. Вижте раздела за отказ от отговорност в Общите условия.

Стъпка 1: Инструктивни актуализации

PeterB476 ми показа, че съм пропуснал да включа стъпка за инициализиране на Arduino EPROM, затова добавих това към инструкцията.

Също така добавих 2 нови версии на приложението към по -късна стъпка. Не са тествани старателно, но можете да ги опитате.

Стъпка 2: Инсталирайте приложението за Android

Няма смисъл да продължавате с останалата част от този проект, ако приложението за Android не работи на вашето устройство. Изданията от github имат приложен apk за android. APK файлът също е прикачен тук. Уверете се, че поне GPS частта на приложението работи и можете да опитате да се свържете с Bluetooth устройство.

Ако искате сами да създадете приложението, предлагам ви да започнете с точка за „освобождаване“, защото вероятно в даден момент тя работи, докато най -новият „главен“клон може да има актуализации, които не са тествани.

Копирайте apk файла на вашето устройство. Ще трябва да разрешите „Неизвестни източници“в настройките за сигурност на вашето устройство, тъй като apk не идва от Google Play. След това просто докоснете apk файла на вашето устройство, за да го инсталирате.

Очевидно приложението изисква разрешения за Bluetooth за комуникация с Arduino и GPS разрешения за определяне на вашата скорост и изминато разстояние.

Натиснете бутона „дистанционно“, за да опитате да се свържете с Bluetooth устройство. Натиснете "нулиране", за да нулирате изминатото разстояние до 0. Задръжте полето Използвана батерия Ah, за да го нулирате, след като заредите батерията. Използваната стойност на Ah ще бъде записана, ако изключите и включите батерията, без да я зареждате.

Стъпка 3: Съберете части

Събирайте части
Събирайте части
Събирайте части
Събирайте части
Събирайте части
Събирайте части

Обърнете внимание, че тези части са за 36V батерия. Ако имате 48V батерия, ще трябва да смените 10K резистора на 11K или 12 K и ще ви е необходим различен DC-DC преобразувател.

1 Устойчив на атмосферни влияния корпус. Използвах 4x4x2 инчова PVC електрическа кутия.

1 парче от любимата ви лента или протоборд

1 Arduino Pro Mini, 5V 16 MHZ. Можете също така лесно да изградите arduino без дъска, тъй като не се нуждаете от регулатор на напрежението или usb интерфейс. Всичко, от което се нуждаете, е ATMEGA328P, 16MHZ кристал и няколко кондензатора. Можете също така да използвате Arduino Nano, ако имате място в заграждението си. Nano е по -голям от първите два избора, но има вграден USB интерфейс, ако нямате сериен конвертор.

1 модул ACS712, който съответства на текущия обхват на вашата батерия. Използвах 20A модул за моята 8A батерия.

1 модул за Bluetooth HC-05. Харесва ми сорта ZS-040, 6-пинов вид с бутона. Той ще бъде обозначен като ZS-040 на гърба.

1 50V до 5V DC-DC захранване, ако вашият велосипед има 36V батерия, която ще бъде около 42V напълно заредена. Ако имате 48V батерия, тя ще бъде напълно заредена 56 или 57V, така че може да се нуждаете от различно захранване. Моля, уведомете ни какво използвате, ако намерите нещо за 60V. Някои хора казват, че повечето USB брадавици работят на 48VDC (и по -високи), но аз не съм го пробвал.

1/4W резистори: 1 x 2K, 1 x 10K, 2 x 1K (увеличете 10K, ако батерията ви е повече от 36V).

Редови държач за предпазител и предпазител 2A.

ленти за заглавки с прав и прав ъгъл

5.08 мм клемни блокове, 2 x 2

16AWG многожилен проводник за свързване на модулите.

Твърд проводник 22AWG за веригата arduino

Клемна лента за свързване на батерията и велосипеда

Поялник

спойка

Начин за монтиране на вашето Android устройство към вашия велосипед.

За да програмирате модула Arduino и HC-05, ще ви е необходим и 3.3V usb to ttl сериен конвертор (или поне isp програмист) и Arduino ide от https://www.arduino.cc/en/Main/Software. Този проект е направен с версия 1.6.13, различни версии могат или не могат да работят без промени.

Стъпка 4: Инициализирайте Arduino EPROM

Пропуснах да включа тази стъпка в оригиналната инструкция. Областта на EPROM, която се използва от скицата, трябва да бъде инициализирана, за да може скицата да работи правилно. Скицата може да бъде написана, за да го направи автоматично, но в този момент не го прави.

Ако не работите с изходния код на arduino, можете да изтеглите шестнадесетичния файл, прикачен към тази стъпка, към вашия arduino, за да инициализирате EPROM.

Ако работите със изходния код на arduino, има два реда в раздела setup (), които изглеждат така:

// инициализираме EEPROM при първото стартиране на програмата.

// updateEPROM ();

Ако разкомментирате втория ред, така че да изглежда така:

// инициализираме EEPROM при първото стартиране на програмата.

updateEPROM ();

Изтеглете тази скица в arduino и я оставете да работи. EPROM ще бъде инициализиран. След това препоръчайте реда за следващата стъпка.

EPROM се използва, за да запомните колко от батерията е била използвана, така че да можете да карате колелото си, да спрете и изключите батерията, а когато я включите отново, тя ще започне от мястото, където сте спрели.

Стъпка 5: Конфигурирайте Arduino

Изтеглете кода на Arduino (приложен шестнадесетичен файл) към Pro Mini, като използвате самия Arduino IDE или avrdude. Обикновено бихте използвали usb към сериен конвертор за това, но можете да използвате и isp програмист.

Отново, ако искате да го компилирате сами, започнете с "освобождаване". Най -новият "главен" клон може да има непроверени промени.

Ако сте променили 10K резистора на нещо по -високо, ще трябва да промените и константата на делителя на напрежението на батерията в скицата. Променете 11.0 в реда "двоен VBmultiplier = 11.0;" да отговаря на всичко, което сте инсталирали.

Стъпка 6: Конфигурирайте модул HC-05

Конфигурирайте HC-05 модул
Конфигурирайте HC-05 модул
Конфигурирайте HC-05 модул
Конфигурирайте HC-05 модул

Трябва да конфигурирате скоростта на предаване в модула HC-05. Също така е хубаво да му дадете име, което лесно можете да разпознаете по -късно (като "BIKE").

Използвате модула за сериен конвертор usb to ttl и за това. Ако нямате сериен конвертор, можете да напишете скица за arduino, за да го конфигурирате, или предполагам, че ако имате 2 модула HC-05, можете да ги свържете заедно и да използвате един за програмиране на другия (може би).

Има отлична информация за този модул на

Трябва да конфигурирате скоростта на обмен на 4800, за да съответства на скицата на Arduino, и да промените името на "BIKE" или нещо, което ще разпознаете.

След като модулът бъде конфигуриран, можете да го сдвоите с вашето Android устройство в настройките на вашия Bluetooth.

Стъпка 7: Сглобете веригата

Приложих сканиране на моята ръчно нарисувана електрическа схема за справка, ако някой е достатъчно амбициозен да го прекрои добре, моля да ме уведомите:)

Направете следните връзки:

(+) Велосипедна батерия от едната страна на предпазителя и контролера на велосипеда.

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

(-) Велосипедна батерия към (-) IN на конвертора и един захранващ терминал ACS712.

В този момент се уверете, че имате 5V от вашия DC преобразувател, когато включите батерията си, ако все още не сте го направили.

Изключете отново батерията и завършете връзките:

(+) OUT от конвертор Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT от преобразувател към Arduino GND, HC05 GND, ACS712 GND, Arduino щифт A2.

HC05 TXD към Arduino пин 7

HC05 RXD от делител на Bluetooth резистор.

Arduino щифт 8 към делител на Bluetooth резистор.

ACS712 OUT към Arduino щифт A3

Делител на напрежението на батерията към щифт A1 на Arduino

(-) от Bike Controller към втори захранващ терминал на 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 в това приложение към по -развита, която има автоматично повторно свързване например.

Ако изградите това, може да помислите за добавяне на хардуерен нискочестотен филтър към измерения ток и да го измервате отделно, за да използвате за изчисление на общия използван заряд. При ниско натоварване, по-малко от 4A или така, измерването варира в широки граници, +/- 1A. Не съм сигурен дали това е просто проблем с измерването или токът се променя толкова много, колкото се върти колелото. Във всеки случай, отделно измерване на средния ток за секунда или две може да помогне с точност. Можете просто да вземете проба от текущия по -бързо и да го направите в софтуер, но не знам колко бързо ще трябва да вземете проба. Предполагам, че поставянето на осцилоскоп върху сигнала може да ви помогне да разберете колко бързо да го вземете.

Можете да добавите неща като тръба Pitot за измерване на скоростта на вятъра (вече има инструкции за това).

Можете да добавите контрол на дросела със затворен цикъл от arduino.

Ако винаги сте искали USB източник на захранване на мотора си, можете лесно да прокарате кабел от 5V DC конвертора за arduino до където и да имате нужда от USB захранващата връзка.

Стъпка 11: Въпроси и коментари

Ако имате общи въпроси относно някой от елементите тук, най -добре е просто да го потърсите в Google, вместо да задавате въпроси тук. Нито един от елементите не е критичен, почти сигурно можете да замените нещо друго и да свършите работата.

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

Моля, не ме питайте как да направя нещо в Android Studio или на Arduino. Вероятно не знам. Отново, просто го потърсете в Google.

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

Съжалявам, ако приложението не работи на вашето устройство. Но вероятно не знам как да го поправя, така че да стане. Работи на телефона ми, това е всичко, от което се нуждая.

Въпреки че предложенията за подобрения са добре дошли, вероятно никога няма да ги приложа, имам други неща, към които да премина. Вероятно никога няма да приложа собствените си предложения. Най -добре е да раздвоите кода на github и сами да добавите неща. Ако го направите, моля, уведомете хората тук, за да могат да използват вашия код вместо моя.

Ако вече сте създали по -добра версия, моля, публикувайте препратка към нея тук, така че другите да знаят за нея. Няма да се обидя. С удоволствие ще взема вашата версия и ще започна да я използвам.

Стъпка 12: Актуализация на приложението за тестване

Това са актуализирани версии на приложението.

Цифрите са много по -големи. Има нова икона. Вече няма бутон "свързване". Използвайте опцията „свързване - защитено“от менюто в горния десен ъгъл.

Тази версия също трябва да работи обратно към Android версия 2.3 натруфен. Работи на моя LG P500 Optimus One.

Версията "app-settings-debug.apk" има меню с настройки, което позволява да се настрои капацитетът на батерията ви, така че остатъчното изчисление да е правилно. Не е напълно тестван.

Препоръчано: