Turinys:

Elektrinio dviračio („EBike“) prietaisų skydelis ir akumuliatoriaus monitorius: 12 žingsnių (su nuotraukomis)
Elektrinio dviračio („EBike“) prietaisų skydelis ir akumuliatoriaus monitorius: 12 žingsnių (su nuotraukomis)

Video: Elektrinio dviračio („EBike“) prietaisų skydelis ir akumuliatoriaus monitorius: 12 žingsnių (su nuotraukomis)

Video: Elektrinio dviračio („EBike“) prietaisų skydelis ir akumuliatoriaus monitorius: 12 žingsnių (su nuotraukomis)
Video: Elektrinis motoroleris XZY EPICO 25km/h neregistruojamas www.heradas.lt 2024, Liepa
Anonim
Elektrinio dviračio (EBike) prietaisų skydelis ir akumuliatoriaus monitorius
Elektrinio dviračio (EBike) prietaisų skydelis ir akumuliatoriaus monitorius

Šis projektas yra „Arduino“grandinė, kuri stebi akumuliatoriaus įtampą ir srovę su ACS 712 moduliu. Matavimai perduodami „Bluetooth“ryšiu su „HC-05“moduliu į „Android“įrenginį. Iš esmės perjungiate neigiamą ryšį tarp valdiklio ir akumuliatoriaus, kad pereitumėte per ACS712 modulį.

„Android“programoje rodoma akumuliatoriaus būsena, taip pat dabartinis greitis ir nuvažiuotas atstumas naudojant „Android“GPS

„Android“galima pritvirtinti prie dviračio oro sąlygoms atspariame maišelyje. „Arduino“grandinė yra nuolat sumontuota ant oro sąlygų atsparioje dėžutėje ant dviračio šalia akumuliatoriaus.

„Android“ir „Arduino“kodą galima rasti „github“. (https://github.com/edj2001/BikeDashArduino ir

github.com/edj2001/BikeDashAndroid. Jums taip pat reikės bibliotekų https://github.com/edj2001/AndroidBluetoothLibrar… ir

Yra komercinių panašių produktų versijų, jei tai yra daugiau, nei galite valdyti. Juos nesunkiai rasite googlindami „bluetooth 36v watt meter“. Jei pažvelgsite į kai kurias nuotraukas, galinėje pusėje pamatysite „Arduino Pro Mini“, DC-DC maitinimo šaltinį ir HC-05 (arba -06) modulį.

Jei kada nors susimąstote, kiek liko akumuliatoriaus arba kiek toliau galite naudoti akumuliatorių, ar jums reikia spausti pedalą arba sumažinti droselinę sklendę, kad pasiektumėte, kur einate, tai yra tai, ko jums reikia.

Kitas galimas pranašumas yra tai, kad galite nuspręsti išimti dviračio kompiuterį iš vairo, atlaisvindami šiek tiek vietos, nors dabar jūsų telefonas bus pritvirtintas prie jūsų dviračio.

Ši informacija, kaip visada, pateikiama tokia, kokia yra, be jokios tiesioginės ar numanomos garantijos. Jūs esate atsakingi už viską, ką darote naudodami šią informaciją. Aš jokiu būdu nebūsiu atsakingas už bet kokią žalą. Paslaugų teikimo sąlygų skyrių žr.

1 veiksmas: mokomi atnaujinimai

„PeterB476“man parodė, kad aš nepaisiau žingsnio, kaip inicijuoti „Arduino“EPROM, todėl pridėjau tai prie pamokomo.

Taip pat prie vėlesnio veiksmo pridėjau 2 naujas programos versijas. Jie nebuvo kruopščiai išbandyti, tačiau galite juos išbandyti.

2 veiksmas: įdiekite „Android“programą

Nėra prasmės tęsti likusio šio projekto, jei „Android“programa neveikia jūsų įrenginyje. Prie „github“leidimų pridėtas „Android“apk. Čia taip pat pridedamas apk failas. Įsitikinkite, kad veikia bent jau programos GPS dalis, ir galite pabandyti prisijungti prie „Bluetooth“įrenginio.

Jei norite sukurti programą patys, siūlau pradėti nuo „išleidimo“taško, nes jis tikriausiai tam tikru momentu veikė, o naujausiame „pagrindiniame“filiale gali būti atnaujinimų, kurie nebuvo išbandyti.

Nukopijuokite apk failą į savo įrenginį. Turėsite leisti „Nežinomus šaltinius“savo įrenginio saugos nustatymuose, nes apk nėra iš „Google Play“. Tada tiesiog bakstelėkite apk failą savo prietaise, kad jį įdiegtumėte.

Akivaizdu, kad programai reikalingi „Bluetooth“leidimai bendrauti su „Arduino“ir GPS leidimai, skirti nustatyti jūsų greitį ir nuvažiuotą atstumą.

Paspauskite „nuotolinio valdymo pulto“mygtuką ir pabandykite prisijungti prie „Bluetooth“įrenginio. Paspauskite „reset“, jei norite atkurti nuvažiuotą atstumą iki 0. Įkrovę akumuliatorių, laikykite akumuliatoriaus Ah naudoto lauko lauką, kad jį iš naujo nustatytumėte. Naudota Ah vertė išsaugoma, jei išjungiate ir įjungiate akumuliatorių jo neįkrovę.

3 žingsnis: Surinkite dalis

Surinkite dalis
Surinkite dalis
Surinkite dalis
Surinkite dalis
Surinkite dalis
Surinkite dalis

Atkreipkite dėmesį, kad šios dalys yra skirtos 36 V baterijai. Jei turite 48 V bateriją, turėsite pakeisti 10K rezistorių į 11K arba 12K, o jums reikės kito nuolatinės srovės keitiklio.

1 Neperšlampamas gaubtas. Aš naudojau 4x4x2 colių PVC elektros dėžutę.

1 gabalas jūsų mėgstamos „Stripboard“arba „Protoboard“

1 „Arduino Pro Mini“, 5V 16 MHZ. Taip pat galite lengvai sukurti „baredu arduino“, nes jums nereikia įtampos reguliatoriaus ar USB sąsajos. Viskas, ko jums reikia, yra ATMEGA328P, 16 MHz kristalų ir keli kondensatoriai. Taip pat galite naudoti „Arduino Nano“, jei korpuse yra vietos. „Nano“yra didesnis nei du pirmieji pasirinkimai, tačiau turi įmontuotą USB sąsają, jei neturite nuoseklaus keitiklio.

1 ACS712 modulis, atitinkantis dabartinį jūsų akumuliatoriaus diapazoną. Aš naudoju 20A modulį savo 8A baterijai.

1 „Bluetooth“„HC-05“modulis. Man patinka ZS-040 veislė, 6 kontaktų rūšis su mygtuku. Ant nugaros jis bus pažymėtas ZS-040.

1 50V iki 5V DC-DC maitinimo šaltinis, jei jūsų dviratis turi 36 V bateriją, kuri bus visiškai įkrauta apie 42 V. Jei turite 48 V bateriją, ji bus visiškai įkrauta 56 arba 57 V, todėl gali prireikti kitokio maitinimo šaltinio. Praneškite mums, ką naudojate, jei radote kažką 60V. Kai kurie žmonės sako, kad dauguma USB sienelių karpų veikia 48VDC (ir aukštesnėje), bet aš to nebandžiau.

1/4 W rezistoriai: 1 x 2K, 1 x 10K, 2 x 1K (padidinkite 10K, jei akumuliatoriaus įtampa didesnė nei 36V).

Linijinis saugiklių laikiklis ir 2A saugiklis.

tiesios ir stačios kampo antraštės

5,08 mm gnybtų blokai, 2 x 2

16AWG srieginė viela, skirta moduliams sujungti.

22AWG tvirta viela arduino grandinei

Akumuliatoriaus ir dviračio jungčių gnybtų bloko juosta

Lituoklis

lituoklis

Tai būdas prijungti „Android“įrenginį prie dviračio.

Norėdami užprogramuoti „Arduino“ir „HC-05“modulius, jums taip pat reikės 3,3 V USB į ttl nuoseklaus keitiklio (arba bent jau ISP programuotojo) ir „Arduino ide“iš https://www.arduino.cc/en/Main/Software. Šis projektas buvo atliktas naudojant 1.6.13 versiją, skirtingos versijos gali arba gali neveikti be pakeitimų.

4 veiksmas: inicijuokite „Arduino“EPROM

Aš pamiršau įtraukti šį žingsnį į pradinę instrukciją. Kad eskizas tinkamai veiktų, reikia inicijuoti eskizo naudojamą EPROM sritį. Eskizas gali būti parašytas taip, kad tai padarytų automatiškai, tačiau šiuo metu to nėra.

Jei nedirbate su „arduino“šaltinio kodu, galite atsisiųsti prie šio veiksmo pridėtą šešioliktainį failą prie „arduino“, kad inicijuotumėte EPROM.

Jei dirbate su „arduino“šaltinio kodu, sąrankos () skyriuje yra dvi eilutės, kurios atrodo taip:

// inicijuoti EEPROM pirmą kartą paleidus programą.

// atnaujintiEPROM ();

Jei atšauksite antrosios eilutės komentarą, kad jis atrodytų taip:

// inicijuoti EEPROM pirmą kartą paleidus programą.

atnaujinimasEPROM ();

Atsisiųskite eskizą į „arduino“ir leiskite jam veikti. EPROM bus inicijuotas. Tada pakartokite eilutę kitam žingsniui.

EPROM naudojamas atsiminti, kiek akumuliatoriaus buvo sunaudota, kad galėtumėte važiuoti dviračiu, sustoti ir išjungti akumuliatorių, o kai vėl įjungsite, jis prasidės nuo to, kur baigėte.

5 veiksmas: sukonfigūruokite „Arduino“

Atsisiųskite „Arduino“kodą (pridėtas šešioliktainis failas) į „Pro Mini“naudodami „Arduino IDE“arba „avrdude“. Paprastai tam naudosite USB į nuoseklųjį keitiklį, tačiau taip pat galite naudoti ISP programuotoją.

Vėlgi, jei norite ją surinkti patys, pradėkite nuo „išleidimo“. Naujausiame „pagrindiniame“filiale gali būti neišbandytų pakeitimų.

Jei pakeitėte 10K rezistorių į kažką didesnio, eskize taip pat turėsite pakeisti akumuliatoriaus įtampos daliklio konstantą. Pakeiskite 11.0 eilutėje "dvigubas VB daugiklis = 11.0;" kad atitiktų tai, ką įdiegėte.

6 veiksmas: sukonfigūruokite HC-05 modulį

Konfigūruokite HC-05 modulį
Konfigūruokite HC-05 modulį
Konfigūruokite HC-05 modulį
Konfigūruokite HC-05 modulį

Turite sukonfigūruoti duomenų perdavimo spartą HC-05 modulyje. Taip pat malonu suteikti jam vardą, kurį vėliau lengvai atpažinsite (pvz., „Dviratis“).

Tam taip pat naudojate serijinio keitiklio modulį iš USB į ttl. Jei neturite nuoseklaus keitiklio, galite parašyti eskizą „arduino“, kad jį sukonfigūruotumėte, arba manau, jei turite 2 HC-05 modulius, galite juos sujungti ir naudoti vieną, kad užprogramuotumėte kitą (galbūt).

Yra puikus šio modulio aprašymas adresu

Turite sukonfigūruoti duomenų perdavimo spartą iki 4800, kad ji atitiktų „Arduino“eskizą, ir pakeisti pavadinimą į „BIKE“arba kažką, ką atpažinsite.

Kai modulis sukonfigūruotas, galite jį suporuoti su „Android“įrenginiu „Bluetooth“nustatymuose.

7 žingsnis: Surinkite grandinę

Pridedu savo ranka nupieštos elektros instaliacijos schemos nuskaitymą, jei kas nors yra pakankamai ambicingas, kad gerai nupieštų, praneškite man:)

Užmegzkite šiuos ryšius:

(+) Dviračio akumuliatorių į vieną saugiklio ir dviračio valdiklio pusę.

Kita saugiklio pusė į nuolatinės srovės keitiklį (+) IN gnybtas ir 10K rezistorius akumuliatoriaus įtampos įvedimui „Arduino“.

(-) Dviračio akumuliatorių į (-) IN keitiklyje ir vieną ACS712 maitinimo gnybtą.

Šiuo metu įsitikinkite, kad įjungę akumuliatorių turite 5 V įtampą iš nuolatinės srovės keitiklio, jei to dar nepadarėte.

Išjunkite akumuliatorių ir prijunkite:

(+) OUT iš keitiklio Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT iš keitiklio į Arduino GND, HC05 GND, ACS712 GND, Arduino kaištis A2.

HC05 TXD į „Arduino“kaištį 7

HC05 RXD iš „Bluetooth“rezistoriaus daliklio.

„Arduino“kaištis 8 į „Bluetooth“rezistorių daliklį.

ACS712 OUT į „Arduino“kaištį A3

Akumuliatoriaus įtampos skirstytuvas į „Arduino“kaištį A1

(-) nuo dviračio valdiklio iki antro ACS712 maitinimo terminalo.

Papildomo atstatymo mygtuko tikrai nereikia, tai gali būti patogu, kai norite atsisiųsti į „arduino“, kai jis bus įdiegtas jūsų dviračiu. Galbūt galėsite pasiekti arduino atstatymo mygtuką arba iš naujo nustatyti jį iš nuosekliosios sąsajos, jei jūsų „pro mini“jį palaiko.

Dar kartą patikrinkite savo ryšius.

8 žingsnis: išankstinis patikrinimas

Šiuo metu galite įjungti grandinę ir patikrinti, ar rodmenys rodomi „Android“programoje.

Turėtumėte sugebėti prijungti „Bluetooth“prie dviračio ir pamatyti akumuliatoriaus įtampą ir, tikiuosi, beveik akumuliatoriaus srovę. Jei galite susukti dviratį ir pamatyti dabartinį rodmenų pasikeitimą, viskas veikia.

Programa daro prielaidą, kad teigiama srovė išeikvoja akumuliatorių, taigi, jei rodant rodoma neigiama srovė, kai sukate dviratį, tiesiog pakeiskite du ACS712 modulio srovės laidus.

Jei programoje nematote jokių rodmenų, galite pažvelgti į „Bluetooth“modulio lemputes, kad įsitikintumėte, jog jis prijungtas ir perduoda duomenis. Savo įrenginyje galite įdiegti „Bluetooth“terminalo programą, kad pamatytumėte iš grandinės siunčiamus duomenis. Turėtumėte matyti apie 10 eilučių per sekundę dabartinių rodmenų ir vieną eilutę per sekundę akumuliatoriaus įtampos ir sunaudoto akumuliatoriaus kiekio. Jei nieko nematote, dar kartą patikrinkite HC05 modulio konfigūraciją ir jungtis tarp arduino, rezistoriaus daliklio ir HC05 TXD terminalo.

Galiausiai, važiuokite dviračiu pakankamai ilgai, kad akumuliatoriaus ekrane būtų rodoma ne nulinė vertė. Tada ilgai paspauskite tą skaičių, kol skrebučiai pasirodys, kad naudojimas buvo iš naujo nustatytas. Skaičius turėtų grįžti į nulį. Jei po kelių bandymų nepavyksta, dar kartą patikrinkite jungtis iš HC05 RXD terminalo į „Arduino“.

9 žingsnis: galutinis surinkimas

Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas
Galutinis surinkimas

Įdiekite visą tvirtinimo įrangą ir pritvirtinkite arduino grandinę prie savo dviračio. Įdėkite „Android“įrenginį į maišelį ar kitą laikiklį ir viskas paruošta!

Nuotraukose pavaizduotas mano dviračio akumuliatorius ir mano „Android“įrenginio krepšys.

Jūs galite pamatyti mažą plokštę, skirtą akumuliatoriaus įtampos skirstytuvams ir ACS712, sumontuotą taip, kad viską surinkęs galėčiau pasiekti gnybtų bloko varžtus. „HC-05“„Bluetooth“modulis vėl yra dešiniajame kampe.

Balta gnybtų juosta turi visas baterijos ir dviračio valdiklio jungtis prie grandinės.

Jei turėčiau tai padaryti dar kartą, aš tikrai sujungčiau akumuliatoriaus įtampos daliklį ir ACS712 tame pačiame dukterinės plokštės gabale. Taip pat galiu pabandyti prijungti „Bluetooth“modulį prie dukterinės plokštės po arduino.

10 žingsnis: būsimi žingsniai

„Android“programai gali prireikti daug darbo. Norėčiau pridėti keletą spalvų pakeitimų pagal matavimų diapazonus. Taip pat norėčiau pridėti nuorodą, kad matavimas programoje neatnaujinamas. Taip pat galite pridėti keletą grafinių matuoklių. Net graži piktograma būtų didelis pagerėjimas.

Geriausia savybė būtų „apskaičiuoti ištuštinimą“, kuri nurodytų atstumą, kurį galėtumėte nuvažiuoti likusia baterija, ir ar tai būtų daugiau nei atstumas iki kelionės tikslo. Kadangi paprastai važiuoju į darbą arba į namus, mano mintis yra, kad programoje būtų saugomi GPS „kelio taškai“, turintys likusį atstumą iki namų ir kiek vidutiniškai sunaudojama akumuliatoriaus taško. Jūs tikriausiai taip pat galėtumėte ką nors padaryti naudodami duomenų ryšį, bet aš paprastai to neturiu.

Norėčiau pereiti nuo šios programos „Bluetooth“bibliotekos prie labiau išplėtotos, pvz., Automatinio prisijungimo.

Jei tai kuriate, galite apsvarstyti galimybę prie išmatuotos srovės pridėti aparatūros žemo dažnio filtrą ir išmatuoti jį atskirai, kad būtų galima apskaičiuoti visą naudojamą įkrovą. Esant mažoms apkrovoms, mažesnėms nei 4A, matavimai labai skiriasi, +/- 1A. Nesu tikras, ar tai tik matavimo problema, ar srovė keičiasi tiek, kiek sukasi ratas. Bet kokiu atveju gali būti tiksliau atlikti atskirą vidutinės srovės matavimą per sekundę ar dvi. Galite tiesiog imti srovę greičiau ir tai padaryti programinėje įrangoje, bet aš nežinau, kaip greitai turėsite imti mėginius. Manau, kad ant signalo įdėjus osciloskopą, būtų galima išsiaiškinti, kaip greitai jį paimti.

Vėjo greičiui matuoti galite pridėti tokių dalykų kaip Pitoto vamzdis (tam jau yra instrukcija).

Galite pridėti uždaro ciklo droselio valdiklį iš arduino.

Jei visada norėjote dviračio USB maitinimo šaltinio, galite lengvai paleisti kabelį iš 5 V nuolatinės srovės keitiklio, skirto „arduino“, bet kur, kur jums reikia USB maitinimo jungties.

11 žingsnis: klausimai ir komentarai

Jei turite bendrų klausimų apie bet kurį iš čia esančių elementų, geriausia tiesiog google jį, o ne užduoti klausimus čia. Nė vienas iš elementų nėra kritiškas, beveik neabejotinai galite pakeisti ką nors kita ir atlikti darbą.

Neprašykite man atsiųsti kodo, viskas yra „github“. Gaukite jį iš ten. Jums net nereikia „github“paskyros.

Neklauskite manęs, kaip ką nors padaryti „Android Studio“ar „Arduino“. Turbūt nežinau. Vėlgi, tiesiog google.

Tikrai neklauskite manęs apie jokius „Apple“produktus, aš neįsivaizduoju.

Jei programa neveikia jūsų įrenginyje, atsiprašau. Bet aš tikriausiai nežinau, kaip tai ištaisyti, kad taip būtų. Tai veikia mano telefone, tai viskas, ko man reikia.

Nors pasiūlymai dėl patobulinimų yra laukiami, tikriausiai niekada jų neįgyvendinsiu, turiu kitų dalykų, kuriuos turėčiau pereiti. Turbūt niekada net neįgyvendinsiu savo pasiūlymų. Geriausias pasirinkimas yra susieti kodą „github“ir pridėti dalykų patys. Jei tai padarysite, praneškite čia žmonėms, kad jie galėtų naudoti jūsų kodą, o ne mano.

Jei jau sukūrėte geresnę versiją, paskelbkite nuorodą į ją čia, kad kiti apie tai žinotų. Aš neįsižeisiu. Aš mielai paimsiu jūsų versiją ir pradėsiu ją naudoti.

12 veiksmas: programos atnaujinimas testavimui

Tai atnaujintos programos versijos.

Skaičiai daug didesni. Yra nauja piktograma. Nėra jokio „prisijungimo“mygtuko. Naudokite parinktį „prisijungti - saugu“viršutiniame dešiniajame kampe esančiame meniu.

Ši versija taip pat turėtų grįžti prie „Android“2.3 versijos meduolių. Jis veikia mano lg P500 Optimus One.

„App-settings-debug.apk“versijoje yra nustatymų meniu, leidžiantis nustatyti akumuliatoriaus talpą, kad likęs procentas būtų teisingas. Jis nebuvo visiškai išbandytas.

Rekomenduojamas: