Jump to content
elektro-skateboard.de

Nunchuk (Wireless) + Arduino + Android


barney

Empfohlene Beiträge

Hallo,

 

wie in der Überschrift zu erahnen ist, möchte ich die drei genannten Komponenten einsetzen. Nunchuk + Arduino ist erstmal gelöst.

 

-> Jetzt kommt die Stufe II.

 

Bluetooth-Modul habe ich geordert und werde es am Arduino anschließen.

 

Jetzt meine Frage an alle:

 

Wer spricht (schreibt) ggf. fließend Android?

 

Ich habe keine wirkliche Lust auch noch Java lernen zu müssen.

 

Folgende Funktionen möchte ich erst mal umsetzen:

1. Spannung (Akku)

2. Strom (Motor)

3. Temperaturanzeige (Akku)

 

Später:

4. Leistungsanzeige (Wh / Ah)

5. Restleistung

6. Reichweiten Abschätzung

7. Graphen des Energieverbrauches in Abhängigkeit der Strecke.

 

Wer kann mir dabei helfen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Seit drei Tagen konnte ich mein Arduino + Bluetooth nicht richtig mit dem Handy verbinden. Foren, Doku und dann die Erleuchtung :D

 

Das BT-Modul muss zweimal mit VDD versorgt werden. Arrrg (Scheinbar habe ich eine neue Version vom Modul)

 

Jetzt steht die Verbindung zum Handy!

Mal sehen, ob ich jetzt schneller vorankomme.

 

Grüße

 

Barney

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

anbei ein Foto vom Aufbau und eine erste Demo Version.

Die Kopplung mit Handy funktioniert und das Board sendet auch Daten.

 

Grüße

 

Barney

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Ich muss die Steuerung von barney mal bald testen, die Android Steuerung ist noch nicht present. Nur die nunchuck Steuerung per bt mit dem board. Das ist schon mal 1a. Metroboard mässig, evtl. Noch direkter als bei meinem Meteoboard.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Sonni,

 

Klasse Sache! hast du dir eine Androidapp dafür geschrieben?

 

Nein, ich verwende für mein Android Handy die App "GetBlue Demo" für die ersten Tests. Damit kann ich Telnet Like die Daten anzeigen lassen, oder welche an das Board versenden. Finde ich sehr komfortabel.

Ich habe mir auch die Entwicklungsumgebung für Android schon installiert und erste Tests gemacht. Da dies aber nicht meine Welt ist, benötige ich Hilfe. Wie es der Zufall wollte, benötigt gerade ein Kumpel eine Arduino Programmierung, die ich gerade umsetze. Und dieser jeniger hat schon eine App für Andriod geschrieben. Er hat mir zugesagt, mich moralisch zu unterstützen.

 

Trotzdem halte ich meinen Aufruf aufrecht, bei der Programmierung der Android App zu helfen.

 

Mach unbedingt ein paar Fotos oder ein kleines Video :)

 

Da habe ich ein Problem. Das Handy, wo die App drauf läuft, ist auch das Handy, womit ich das ganze filmen könnte. So ne Art Henne Ei Situation.

Bilder: Was hättest du denn gerne im Detail?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich muss die Steuerung von barney mal bald testen, die Android Steuerung ist noch nicht present. Nur die nunchuck Steuerung per bt mit dem board. Das ist schon mal 1a. Metroboard mässig, evtl. Noch direkter als bei meinem Meteoboard.

 

 

An alle, die das probieren wollen:

Ich sage ja schon: "Mann muss Opfer bringen" :D -> hier in diesem Fall Chrizz :devil:

 

Ich habe die Programmierung auf dem Labortisch durchgeführt. Ich habe mir sehr viel Mühe gegeben, Sicherheitsfunktionen einzubauen.

Aber ich gehe davon aus, dass es noch einige Service Packs geben wird. Als Motorsteuerung habe ich ein Servo für die Visualisierung des Ergebnis genommen. Dies ist nun mal keine Motorsteuerung! :devil:

Also nicht an der dicht befahrenden Straße das Ganze ausprobieren, sondern in freier Umgebung.

 

Ich konnte vor wenigen Tagen mal mein Motor fliegend aufbauen und damit testen. Dummerweise, meinte der Motorcontroller erst mal angelernt werden zu müssen, was gründlich schief ging. Wenn man das Programmiergerät nicht hat, wird mittels Hebelweg des Nunchuk die Programmierung durchgeführt. Dummerweise, habe ich den Nunchuk gesmooth. Damit kann ich keine Extrema sofort vorgeben und der Motor-Controller lernt nur Mist dabei. Also muss ich das Programm für die Programmierung (meines) des Motor-Controllers modifizieren, damit es klappt.

 

Hier würde das Android Handy sehr helfen. Einfach den Ardurino in den Motor-Controller-Programming-Mode versetzen und gut ist.

 

Viele Grüße

 

Barney

Link zu diesem Kommentar
Auf anderen Seiten teilen

Trotzdem halte ich meinen Aufruf aufrecht, bei der Programmierung der Android App zu helfen.

 

Hi Barney,

 

ich habe leider aktuell Null Zeit, mich mit dem Einen oder dem Anderen zu befassen (µC/Android), das wird auch vorerst so bleiben. Ist zwar fest eingeplant, jedoch vermutlich erst Winter 2013. :D

 

Es war ursprünglich vor 2 Jahren geplant, wurde jedoch durch ein windiges Unternehmen zerstört. Und seitdem habe ich genug andere Dinge, welche Vorrang haben.. :skep:

 

Was die Reglerprogrammierung angeht: Diese läuft zumeist nach einem bestimmten Schema ab - oder ist sowieso im Regler deaktivierbar oder einstellbar.

 

Gerade bei hochqualitativen (aber teueren) Brushlessreglern eine einfache Sache, bei den RC-Teilen hingegen nicht immer einfach zu umgehen.

 

Viele Grüße,

 

Wolf

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Hi Sonni,

 

der Link funktioniert nicht, aber ich habe das Modul bei •••• gefunden. Sieht erstmal gut aus. Zur genauen Beurteilung müsste ich es testen, ob es sich wie meins verhält. Da ich nur den Seriellen "Durchreiche" Modus verwende, sollten aber keine Komplikationen auftreten. Ggf. musst du das Programm wegen einer anderen Baudrate anpassen.

 

Auf jeden Fall sind die Anschlüsse deutlich angenehmer als das, was ich verwende.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welche Temperatursensoren hast du für den Motor und den Akku vorgesehen ?

 

10k ntc?

 

Externe Links nur für Mitglieder sichtbar

 

Was hälst du von der Spannungserfassung jeder Zelle? sind zu wenige Input pins vorhanden oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welche Temperatursensoren hast du für den Motor und den Akku vorgesehen ?

 

10k ntc?

 

Externe Links nur für Mitglieder sichtbar

 

Digitalthermometer TO92 +-0,5'C 1-Wire ;DALLAS

DS 18B20+ bei für ca. 2,50€ /Stück

 

Habe ich schon zuhause liegen, muss ich noch testen, ob die Ressourcen reichen.

 

Was hälst du von der Spannungserfassung jeder Zelle? sind zu wenige Input pins vorhanden oder?

 

Ja leider, dafür aber ein anderes Schmankerl:

 

Current-Sensor w/Hall-IC -50...+50A BF:gebogen

ACS 756SCA-050B

8,90 € bei Segor

 

Damit möchte ich den Strom messen und die Akkuleistung berechnen. Spannungsmessung muss ich aus durchführen, darum kein analoge Temperaturmessung sondern digital!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Strommesser, geil!

aber wenn dann die 200 A Ausführung wenn ich schon nen 150 A Regler habe ^^ den 50 A Sensor knallt der doch sicher in den Himmel.

 

Pass auf das dein Board am ende keine künstliche Intelligenz entwickelt :D

Programmier am besten noch ein Navi ein :)

 

Kannst ja dann bescheid sagen ,wenn du weißt ob die Sensoren funktionieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Strommesser, geil!

aber wenn dann die 200 A Ausführung wenn ich schon nen 150 A Regler habe ^^ den 50 A Sensor knallt der doch sicher in den Himmel.

Nö, das ist ja das Gute an der Hall Methode, der müsste erst wegschmelzen (ACS756CA)! Hier ist die Dimensionierung auf den typischen Nennstrom wichtiger als ein evtl. Spitzenstrom. In deinem Fall müsste ich nochmal darüber nachdenken.

 

Pass auf das dein Board am ende keine künstliche Intelligenz entwickelt :D

Programmier am besten noch ein Navi ein :)

Wer sagt denn, dass da noch jemand auf dem Board steht. Mein Arbeitstitel für mein Board lautet T1000.

 

Kannst ja dann bescheid sagen ,wenn du weißt ob die Sensoren funktionieren.

Yo!

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Hi,

 

die neueste Version der Motoransteuerung per Nunchuk ist fertig:

 

1. Der Quellcode wurde vereinfacht und besser kommentiert

2. Das Kompilat ist jetzt deutlich kleiner durch umstellen der Variablen von int auf byte.

3. Arduino Servo Lib wurde durch PWM Timer1 ersetzt. Dadurch konnte der Kompilierte Code um 20% verkleinert werden. Die Auflösung für den Motorsteller wurde mal 10 größer.

4. Bluetooth läuft jetzt auch und gibt die Temperatur für mehrere DS1820 Sensoren aus, sowie Spannung, Strom und Leistung (noch nicht normiert!)

5. ISR (Timer 2) für ein festes Zeitraster der Abläufe. D.H.:

- 60mal die Sekunde der Nunchuk abgefragt und der Motorstellwert entsprechend angepasst. (Achtung die Werte z.B. für die Dämpfung haben sich verändert!)

- 10mal die Sekunde wird die Spannung und der Strom gemessen.

- 1mal die Sekunde die Temperatur gemessen und alle Werte ausgegeben

6. Optionen die nicht vorhanden sind, können in der ISR auskommentiert werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dann kann ich endlich den Flux-Generator ins Board bauen und habe Kontrollmöglichkeiten auf meinem Handy ! Geil !

Ich baue mir eine 36V Kiste mit der Steuerung und Nunchuck. Die Eigenbaubretter & Steuerungen überholen hier bald sämtliche Hersteller von der Qualität, den Funktionen und techn. Daten :D

So ein Smartphoneconnect ans Board mit Leistungsinfos auf dem Schirm ist schon Luxus.

 

Da gibt's einen schwarzen 10KV Motor bei Hobbyking, falls jemand POWER benötigt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sehr sehr cool.

Ich werde das Update hoffentlich noch diese Woche installieren, spätestens nach meinem Urlaub. Bin schon ganz gespannt, bis dahin sollte auch mein Bluetooth slave da sein.

 

 

Edit:

Wow ich sehe ja gerade dass da die komplette Telemetrie schon integriert ist :o ich bin sehr gespannt!

 

Welche Arbeit darin steckt, weiß wohl nur Barney.

Gruß sonni

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Sonni,

 

zum Thema Telemetrie:

 

Was meinte ich mit "Strom und Spannung" sind noch nicht normiert?

Die beiden Analog-Digital-Umsetzer im Atmel-Microcontroller lösen mit 10Bit auf. Da die Referenzspannung bei ca. 5V liegt bedeutet dies, das jedes Bit eine Wertigkeit von ca. 5mV hat. Da meine Akkus voll geladen ca. 28V haben, werde ich meine Messschaltung auf 30V auslegen. Damit hat jedes Bit eine Wertigkeit von ca. 30mV. Diese Umrechnung (Gewichtung) ist als Faktor in der Spannung noch nicht berücksichtigt. (Für die Spannung und den Strom werde ich noch drei Konstanten anlegen)

 

Der Strom ist noch interessanter:

Der Hall-Stromsensor, den ich verwende liefert bei 0A die Mittelspannung der Versorgungsspannung ab. D.h. bei einer Versorgungsspannung von 5V, hat 0A ein Spannungsäquivalent von 2,5V. Bei

50A -> 5V

0A -> 2,5V

-50A -> 0V

Wer einen Regler hat, der rekuperieren kann, erzeugt negative Verbrauchswerte! Diese würde in der Leistungsberechnung berücksichtigt werden!

 

Stromformel für den 50A Hall-Sensor:

 

U = (Imess * 20) - 2,5V

 

Die Konstanten, werden heißen:

SpannungsFaktor = 0,03; // Umrechnungsfaktor Spannung

StromFaktor = 20; // Umrechnungsfaktor Strom 50A =^ 2,5V = 20

Strom0A = 2,5; // 0A Messspannung

 

Um nicht mit Nachkommazahlen arbeiten zu müssen, überlege ich noch, ob ich mit mA und mV arbeite.

 

Leistungsanzeige:

Die aufintegrierte Leistung muss noch mit einen Zeitfaktor Multipliziert werden!

 

Optimierung der Programmierung:

Die Bluetooth-Schnittstelle wird mittels SoftSerial angesteuert. Leider hat der Arduino nur eine Serielle-Schnittstelle und diese wird zum Programmieren gebraucht. Da diese nach dem Programmieren brach liegt, habe ich vor diese für das Bluetooth-Modul zu nutzen. SoftSerial ist nicht Ressourcen optimal und wird wie der Name schon sagt, durch Software emuliert. Ist das BT-modul direkt an der Hardware Serial Schnittstelle angeschlossen, so lässt sich die Arduino nicht mehr programmieren. Lösung sind hier zwei Jumper-Brücken. Für die Programmierung wird das BT-Modul von der Schnittstelle getrennt und nach der Programmierung wieder angeschlossen. Debug Ausgaben würden zukünftig über Bluetooth erfolgen. (Finde ich viel besser :D)

 

Edit:

Der Unterschied liegt bei 1400 Byte Kompilat!

 

Android-Software:

Ich bin momentan der Ansicht, keine eigene Software zu schreiben. Die Anzeige mit GetBlue reicht mir vorerst völlig aus.

bearbeitet von barney
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

gerade habe ich die Auflösung der Strommessung nachgerechnet:

 

Bei einen Messbereich von 50A mit den Hallsensor ACS756SCA-050B wird je 1A/40mV Spannungsdifferenz erzeugt:

 

Berechnung Annahmen:

Messbereich Stromsensor +- 50A mit 40mv/A -> +-2V

Auflösung Atmel 10Bit (0..1023)

Messereich Atmel 0..5V

 

Berechnung:

1024/5V * 2V -> ca. 410 Bit für 50A -> ca. 120mA/Bit

 

Bei 24V Akkuspannung -> 24V * 120mA -> 3W Auflösungsvermögen/Bit

 

Es kann einen maximale Leistung von 1200W (24V * 50A) gemessen werden, mit einer Auflösung von 3W.

 

Fazit:

Für die Leistungsmessung und Reichweitenabschätzung sollten keine allzu hohen Erwartungen gestellt werden (wird nicht Metergenau sein:D). Es wird für die ungefähre Restkapazitätsabschätzung aber völlig ausreichen.

 

Barney

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

sehr cool! Ich warte schon sehensüchtig auf mein Bluetoothmodul. 3W Auflösung ist doch völlig okay! bin gespannt ob du an die grenzen der 50 A stößt wenn du mal unter Belastung testest .

 

Gruß sonni.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tritt dem Gespräch bei

Du kannst jetzt posten und dich später registrieren. Wenn du bereits einen Account hast kannst du dich hier anmelden.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...