Inhaltsverzeichnis:

Elektrofahrrad (EBike) Armaturenbrett und Batteriemonitor - Gunook
Elektrofahrrad (EBike) Armaturenbrett und Batteriemonitor - Gunook

Video: Elektrofahrrad (EBike) Armaturenbrett und Batteriemonitor - Gunook

Video: Elektrofahrrad (EBike) Armaturenbrett und Batteriemonitor - Gunook
Video: Katie Steiner hat die besten Gadgets fürs Auto! Bei PEARL TV (Dezember 2019) 4K UHD 2024, Juli
Anonim
Elektrofahrrad (EBike) Armaturenbrett und Batteriemonitor
Elektrofahrrad (EBike) Armaturenbrett und Batteriemonitor

Dieses Projekt ist eine Arduino-Schaltung, die Batteriespannung und -strom mit einem ACS 712-Modul überwacht. Die Messwerte werden über Bluetooth mit einem HC-05-Modul an ein Android-Gerät übermittelt. Grundsätzlich verdrahten Sie die negative Verbindung zwischen Ihrem Controller und der Batterie neu, um durch das ACS712-Modul zu gehen.

Die Android-App zeigt den Batteriestatus sowie die aktuelle Geschwindigkeit und zurückgelegte Strecke vom Android-GPS an

Das Android kann in einer wetterfesten Tasche am Fahrrad befestigt werden. Die Arduino-Schaltung ist fest in einer wetterfesten Box am Fahrrad in der Nähe des Akkus montiert.

Der Android- und Arduino-Code ist auf github verfügbar. (https://github.com/edj2001/BikeDashArduino und

github.com/edj2001/BikeDashAndroid. Sie benötigen außerdem die Bibliotheken https://github.com/edj2001/AndroidBluetoothLibrar… und

Es gibt kommerzielle Versionen ähnlicher Produkte, wenn dies mehr ist, als Sie möglicherweise verarbeiten können. Sie können sie leicht finden, indem Sie "bluetooth 36v watt meter" googeln. Wenn Sie sich einige der Bilder ansehen, sehen Sie auf der Rückseite ein Arduino Pro Mini, ein DC-DC-Netzteil und ein HC-05 (oder -06) Modul.

Wenn Sie sich jemals fragen, wie viel Akku Sie noch haben oder wie lange Sie mit dem Akku noch fahren können, oder wenn Sie in die Pedale treten oder das Gas reduzieren müssen, um an Ihr Ziel zu gelangen, ist dies genau das Richtige für Sie.

Ein weiterer potenzieller Vorteil besteht darin, dass Sie den Fahrradcomputer möglicherweise vom Lenker entfernen, um Platz zu schaffen, obwohl Ihr Telefon jetzt stattdessen an Ihrem Fahrrad befestigt wird.

Wie immer werden diese Informationen ohne Gewähr bereitgestellt, weder ausdrücklich noch stillschweigend. Sie sind für alles verantwortlich, was Sie mit diesen Informationen tun. Ich übernehme keinerlei Verantwortung oder Haftung für Schäden jeglicher Art. Siehe den Abschnitt mit den Haftungsausschlüssen in den Nutzungsbedingungen.

Schritt 1: Instructable Updates

PeterB476 zeigte mir, dass ich es versäumt hatte, einen Schritt zur Initialisierung des Arduino-EPROMs einzubeziehen, also habe ich das dem instructable hinzugefügt.

Ich habe auch 2 neue Versionen der App zu einem späteren Schritt hinzugefügt. Sie wurden nicht gründlich getestet, aber Sie können sie ausprobieren.

Schritt 2: Android-App installieren

Es macht keinen Sinn, mit dem Rest dieses Projekts fortzufahren, wenn die Android-App auf Ihrem Gerät nicht funktioniert. Die Veröffentlichungen von github haben die Android-Apk angehängt. Die APK-Datei ist auch hier angehängt. Stellen Sie sicher, dass zumindest der GPS-Teil der App funktioniert, und Sie können versuchen, eine Verbindung zu einem Bluetooth-Gerät herzustellen.

Wenn Sie die App selbst erstellen möchten, empfehle ich Ihnen, mit einem "Release"-Punkt zu beginnen, da sie wahrscheinlich irgendwann funktioniert hat, während der neueste "Master" -Zweig möglicherweise nicht getestete Updates enthält.

Kopieren Sie die APK-Datei auf Ihr Gerät. Sie müssen in den Sicherheitseinstellungen Ihres Geräts "Unbekannte Quellen" zulassen, da die APK nicht von Google Play stammt. Tippen Sie dann einfach auf die APK-Datei auf Ihrem Gerät, um sie zu installieren.

Offensichtlich benötigt die App Bluetooth-Berechtigungen, um mit dem Arduino zu kommunizieren, und die GPS-Berechtigungen, um Ihre Geschwindigkeit und zurückgelegte Entfernung zu bestimmen.

Drücken Sie die Taste "Remote", um zu versuchen, eine Verbindung zu einem Bluetooth-Gerät herzustellen. Drücken Sie "Reset", um die zurückgelegte Strecke auf 0 zurückzusetzen. Halten Sie das Feld Akku Ah verbraucht, um es zurückzusetzen, nachdem Sie Ihren Akku geladen haben. Der verbrauchte Ah-Wert wird gespeichert, wenn Sie den Akku aus- und wieder einschalten, ohne ihn aufzuladen.

Schritt 3: Teile sammeln

Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln
Teile sammeln

Beachten Sie, dass diese Teile für eine 36-V-Batterie bestimmt sind. Wenn Sie eine 48-V-Batterie haben, müssen Sie den 10K-Widerstand auf 11K oder 12K ändern, und Sie benötigen einen anderen DC-DC-Wandler.

1 Wetterfestes Gehäuse. Ich benutzte einen 4x4x2 Zoll PVC-Schaltkasten.

1 Stück Ihres Lieblings-Stripboards oder Protoboards

1 Arduino Pro Mini, 5V 16 MHz. Sie können auch problemlos ein Bareboard-Arduino bauen, da Sie keinen Spannungsregler oder eine USB-Schnittstelle benötigen. Alles, was Sie brauchen, ist der ATMEGA328P, ein 16-MHz-Quarz und ein paar Kondensatoren. Sie können auch einen Arduino Nano verwenden, wenn Sie Platz in Ihrem Gehäuse haben. Der Nano ist größer als die ersten beiden Optionen, hat aber die eingebaute USB-Schnittstelle, wenn Sie keinen seriellen Konverter haben.

1 ACS712-Modul passend zur aktuellen Reichweite Ihrer Batterie. Ich habe ein 20A-Modul für meine 8A-Batterie verwendet.

1 Bluetooth-Modul HC-05. Ich mag die Variante ZS-040, die 6-polige Ausführung mit Druckknopf. Es wird auf der Rückseite mit ZS-040 bezeichnet.

1 50 V bis 5 V DC-DC-Netzteil, wenn Ihr Fahrrad über eine 36 V-Batterie verfügt, die etwa 42 V vollständig aufgeladen ist. Wenn Sie einen 48-V-Akku haben, ist dieser voll aufgeladen 56 oder 57 V, sodass Sie möglicherweise ein anderes Netzteil benötigen. Bitte teilen Sie uns mit, was Sie verwenden, wenn Sie etwas für 60V finden. Einige Leute sagen, dass die meisten USB-Wandwarzen mit 48 VDC (und höher) funktionieren, aber ich habe es nicht ausprobiert.

1/4W Widerstände: 1 x 2K, 1 x 10K, 2 x 1K (erhöhen Sie die 10K, wenn Ihre Batterie mehr als 36V hat).

Inline-Sicherungshalter und 2A-Sicherung.

gerade und rechtwinklige Kopfleisten

5,08 mm Reihenklemmen, 2 x 2

16AWG Litze zum Verbinden der Module.

22AWG Massivdraht für die Arduino-Schaltung

Klemmleiste für die Batterie- und Fahrradanschlüsse

Lötkolben

Lot

Eine Möglichkeit, Ihr Android-Gerät an Ihrem Fahrrad zu befestigen.

Um das Arduino- und HC-05-Modul zu programmieren, benötigen Sie außerdem einen 3,3-V-USB-zu-TTL-Seriell-Konverter (oder zumindest einen ISP-Programmierer) und die Arduino-IDE von https://www.arduino.cc/en/Main/Software. Dieses Projekt wurde mit Version 1.6.13 erstellt, verschiedene Versionen können ohne Änderung funktionieren oder nicht.

Schritt 4: Arduino-EPROM initialisieren

Ich habe es versäumt, diesen Schritt in das ursprüngliche instructable aufzunehmen. Der von der Skizze verwendete Bereich des EPROMs muss initialisiert werden, damit die Skizze ordnungsgemäß funktioniert. Die Skizze könnte geschrieben werden, um dies automatisch zu tun, aber zu diesem Zeitpunkt ist dies nicht der Fall.

Wenn Sie nicht mit dem Arduino-Quellcode arbeiten, können Sie die diesem Schritt beigefügte Hex-Datei auf Ihr Arduino herunterladen, um das EPROM zu initialisieren.

Wenn Sie mit dem Arduino-Quellcode arbeiten, gibt es im Abschnitt setup() zwei Zeilen, die wie folgt aussehen:

// initialisieren Sie das EEPROM, wenn das Programm zum ersten Mal ausgeführt wird.

//UpdateEPROM();

Wenn Sie die zweite Zeile auskommentieren, sieht sie so aus:

// initialisieren Sie das EEPROM, wenn das Programm zum ersten Mal ausgeführt wird.

updateEPROM();

Laden Sie diese Skizze auf das Arduino herunter und lassen Sie es laufen. Das EPROM wird initialisiert. Dann empfehlen Sie die Zeile für den nächsten Schritt.

Das EPROM wird verwendet, um sich zu merken, wie viel von der Batterie verbraucht wurde, damit Sie Ihr Fahrrad fahren, anhalten und die Batterie ausschalten können, und wenn Sie sie wieder einschalten, beginnt sie dort, wo Sie aufgehört haben.

Schritt 5: Arduino konfigurieren

Laden Sie den Arduino-Code (Hex-Datei im Anhang) auf den Pro Mini herunter, indem Sie entweder die Arduino IDE oder avrdude selbst verwenden. Normalerweise würden Sie dafür den USB-Seriell-Konverter verwenden, aber Sie könnten auch einen ISP-Programmierer verwenden.

Auch hier, wenn Sie es selbst kompilieren möchten, beginnen Sie mit einem "Release". Der neueste "Master"-Zweig enthält möglicherweise ungetestete Änderungen.

Wenn Sie den 10K-Widerstand auf einen höheren Wert geändert haben, müssen Sie auch die Batteriespannungsteilerkonstante in der Skizze ändern. Ändern Sie die 11.0 in der Zeile "double VBmultiplier = 11.0;" passend zu allem, was Sie installiert haben.

Schritt 6: HC-05-Modul konfigurieren

HC-05-Modul konfigurieren
HC-05-Modul konfigurieren
HC-05-Modul konfigurieren
HC-05-Modul konfigurieren

Sie müssen die Baudrate am HC-05-Modul konfigurieren. Es ist auch schön, ihm einen Namen zu geben, den Sie später leicht wiedererkennen (wie "BIKE").

Sie verwenden dafür auch das USB-zu-TTL-Seriell-Konverter-Modul. Wenn Sie keinen seriellen Konverter haben, können Sie eine Skizze für ein Arduino schreiben, um es zu konfigurieren, oder ich denke, wenn Sie 2 HC-05-Module haben, können Sie sie miteinander verbinden und eines verwenden, um das andere (vielleicht) zu programmieren.

Es gibt eine ausgezeichnete Beschreibung dieses Moduls unter

Sie müssen die Baudrate auf 4800 konfigurieren, um der Arduino-Skizze zu entsprechen, und den Namen in "BIKE" oder etwas, das Sie erkennen, ändern.

Sobald das Modul konfiguriert ist, können Sie es in Ihren Bluetooth-Einstellungen mit Ihrem Android-Gerät koppeln.

Schritt 7: Schaltung zusammenbauen

Ich habe einen Scan meines handgezeichneten Schaltplans als Referenz beigefügt, wenn jemand ehrgeizig genug ist, um ihn schön neu zu zeichnen, lassen Sie es mich bitte wissen:)

Stellen Sie folgende Verbindungen her:

(+) Fahrradbatterie an einer Seite der Sicherung und des Fahrradcontrollers.

Andere Seite der Sicherung zum DC-Wandler (+)IN-Anschluss und 10K-Widerstand für den Batteriespannungseingang auf Arduino.

(-) Fahrradbatterie an (-)IN am Konverter und einem ACS712-Stromanschluss.

Stellen Sie an dieser Stelle sicher, dass Sie 5 V von Ihrem DC-Wandler haben, wenn Sie Ihre Batterie einschalten, falls Sie dies noch nicht getan haben.

Schalten Sie den Akku wieder aus und schließen Sie die Anschlüsse:

(+)OUT vom Konverter Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT vom Konverter zu Arduino GND, HC05 GND, ACS712 GND, Arduino Pin A2.

HC05 TXD auf Arduino-Pin 7

HC05 RXD vom Bluetooth-Widerstandsteiler.

Arduino Pin 8 zum Bluetooth-Widerstandsteiler.

ACS712 OUT an Arduino-Pin A3

Batteriespannungsteiler zu Arduino Pin A1

(-) vom Bike Controller zum zweiten Stromanschluss am ACS712.

Der zusätzliche Reset-Knopf ist nicht wirklich erforderlich, er kann nur praktisch sein, wenn Sie ihn nach der Installation auf Ihrem Fahrrad auf das Arduino herunterladen möchten. Möglicherweise können Sie die Reset-Taste auf dem Arduino erreichen oder Sie können sie über die serielle Schnittstelle zurücksetzen, wenn Ihr Pro Mini dies unterstützt.

Überprüfen Sie Ihre Verbindungen.

Schritt 8: Vorläufige Überprüfung

An diesem Punkt können Sie den Stromkreis einschalten und überprüfen, ob Sie in der Android-App Messwerte erhalten.

Sie sollten in der Lage sein, das Bluetooth mit dem Fahrrad zu verbinden und die Batteriespannung und hoffentlich nahe Null Batteriestrom zu sehen. Wenn Sie das Fahrrad hochdrehen und die aktuelle Messwertänderung sehen können, funktioniert alles.

Die App geht davon aus, dass ein positiver Strom die Batterie entlädt. Wenn der Messwert beim Hochfahren des Fahrrads einen negativen Strom anzeigt, tauschen Sie einfach die beiden Stromkabel am ACS712-Modul aus.

Wenn Sie in der App keine Messwerte sehen, können Sie anhand der Lichter am Bluetooth-Modul überprüfen, ob es verbunden ist und Daten überträgt. Sie können eine Bluetooth-Terminal-App auf Ihrem Gerät installieren, um die von der Schaltung gesendeten Daten anzuzeigen. Sie sollten etwa 10 Zeilen pro Sekunde mit aktuellen Messwerten und eine Zeile pro Sekunde für die Batteriespannung und die verbrauchte Batteriemenge sehen. Wenn Sie nichts sehen, überprüfen Sie die Konfiguration des HC05-Moduls und die Verbindungen zwischen dem Arduino, dem Widerstandsteiler und dem HC05 TXD-Anschluss.

Lassen Sie das Fahrrad schließlich so lange laufen, bis ein Wert ungleich Null in der Batterieverbrauchsanzeige angezeigt wird. Drücken Sie dann lange auf diese Nummer, bis der Toast erscheint, dass die Nutzung zurückgesetzt wurde. Die Zahl sollte auf Null zurückkehren. Wenn dies nach einigen Versuchen nicht der Fall ist, überprüfen Sie die Verbindungen vom HC05 RXD-Terminal zum Arduino.

Schritt 9: Endmontage

Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage
Endmontage

Installieren Sie alle Befestigungsteile und montieren Sie die Arduino-Schaltung an Ihrem Fahrrad. Befestigen Sie Ihr Android-Gerät in einer Tasche oder einem anderen Halter und schon kann es losgehen!

Die Bilder zeigen die Akkustiche an meinem Fahrrad und die Tasche für mein Android-Gerät.

Man sieht die kleine Platine für die Batteriespannungsteileranschlüsse und den ACS712 so montiert, dass ich nach der Montage alles an die Klemmenblockschrauben erreichen kann. Das Bluetooth-Modul HC-05 befindet sich wieder in der rechten Ecke.

Die weiße Klemmleiste hat alle Anschlüsse der Batterie und des Fahrradcontrollers an den Stromkreis.

Wenn ich es noch einmal machen müsste, würde ich definitiv den Batteriespannungsteiler und den ACS712 auf derselben Tochterplatine kombinieren. Ich könnte auch versuchen, das Bluetooth-Modul auf einem Daughterboard unter dem Arduino zu montieren.

Schritt 10: Zukünftige Schritte

Die Android App könnte viel Arbeit vertragen. Ich möchte einige Farbänderungen basierend auf den Bereichen für die Messungen hinzufügen. Ich möchte auch einen Hinweis hinzufügen, dass eine Messung in der App nicht aktualisiert wird. Sie können auch einige grafische Anzeigen hinzufügen. Sogar ein schönes Icon wäre eine große Verbesserung.

Die beste Funktion wäre eine "Schätzung bis zum Leeren", die Ihnen die Entfernung anzeigt, die Sie mit Ihrem verbleibenden Akku zurücklegen könnten, und ob dies mehr als die Entfernung zu Ihrem Ziel ist. Da ich normalerweise entweder zur Arbeit oder nach Hause fahre, denke ich daran, GPS-"Wegpunkte" in der App gespeichert zu haben, die die verbleibende Entfernung bis nach Hause enthalten und wie viel Batterie an diesem Wegpunkt durchschnittlich verbraucht wird. Du könntest wahrscheinlich auch etwas mit einer Datenverbindung machen, aber normalerweise habe ich keine.

Ich würde gerne von der Bluetooth-Bibliothek in dieser App zu einer weiter entwickelten Bibliothek wechseln, die beispielsweise über eine automatische Wiederverbindung verfügt.

Wenn Sie dies erstellen, können Sie erwägen, einen Hardware-Tiefpassfilter für den gemessenen Strom hinzuzufügen und ihn separat zu messen, um ihn für die Berechnung der Gesamtladung zu verwenden. Bei niedrigen Lasten von weniger als 4 A oder so variiert die Messung stark, +/-1 A. Ich bin mir nicht sicher, ob es nur ein Messproblem ist oder sich der Strom so stark ändert, wenn sich das Rad dreht. In jedem Fall kann eine separate Messung des durchschnittlichen Stroms über ein oder zwei Sekunden bei der Genauigkeit helfen. Sie könnten den Strom einfach schneller abtasten und dies in Software tun, aber ich weiß nicht, wie schnell Sie abtasten müssen. Ich denke, ein Oszilloskop auf das Signal kann helfen, herauszufinden, wie schnell es abgetastet wird.

Sie könnten Dinge wie ein Pitot-Rohr hinzufügen, um die Windgeschwindigkeit zu messen (dafür gibt es bereits eine Anleitung).

Sie könnten eine Drosselklappensteuerung mit geschlossenem Regelkreis vom Arduino hinzufügen.

Wenn Sie schon immer eine USB-Stromquelle an Ihrem Fahrrad haben wollten, können Sie einfach ein Kabel vom 5V-DC-Wandler für das Arduino dorthin führen, wo Sie den USB-Stromanschluss benötigen.

Schritt 11: Fragen und Kommentare

Wenn Sie allgemeine Fragen zu einem der Artikel hier haben, googeln Sie am besten einfach, anstatt hier Fragen zu stellen. Keines der Elemente ist kritisch, Sie können mit ziemlicher Sicherheit etwas anderes ersetzen und die Arbeit erledigen.

Bitten Sie mich nicht, Ihnen den Code zu senden, es ist alles auf github. Holen Sie es von dort. Sie brauchen nicht einmal ein Github-Konto.

Bitte fragen Sie mich nicht, wie man etwas in Android Studio oder auf Arduino macht. Ich weiß es wahrscheinlich nicht. Einfach nochmal googeln.

Fragt mich wirklich nicht nach Apple-Produkten, ich habe keine Ahnung.

Wenn die App auf Ihrem Gerät nicht funktioniert, tut es mir leid. Aber ich weiß wahrscheinlich nicht, wie ich es reparieren soll, damit es funktioniert. Es funktioniert auf meinem Handy, das ist alles was ich brauche.

Verbesserungsvorschläge sind zwar willkommen, werde sie aber wohl nie umsetzen, ich habe andere Dinge zu tun. Eigene Vorschläge werde ich wohl nie umsetzen. Am besten geben Sie den Code auf github ab und fügen Dinge selbst hinzu. Wenn Sie dies tun, teilen Sie dies bitte den Leuten hier mit, damit sie Ihren Code anstelle meines Codes verwenden können.

Wenn Sie selbst bereits eine bessere Version erstellt haben, posten Sie bitte hier einen Verweis darauf, damit andere davon erfahren. Ich werde nicht beleidigt sein. Ich nehme gerne Ihre Version und beginne sie zu verwenden.

Schritt 12: App-Update zum Testen

Dies sind aktualisierte Versionen der App.

Die Zahlen sind viel größer. Es gibt ein neues Symbol. Es gibt keinen "Verbinden"-Button mehr. Verwenden Sie die Option "Verbinden - Sicher" aus dem Menü in der oberen rechten Ecke.

Diese Version sollte auch auf Android Version 2.3 Lebkuchen zurückgehen. Es funktioniert auf meinem LG P500 Optimus One.

Die Version "app-settings-debug.apk" verfügt über ein Einstellungsmenü, mit dem Sie die Kapazität Ihres Akkus so einstellen können, dass die prozentuale Restberechnung korrekt ist. Es wurde nicht vollständig getestet.