Arduino Library für den Grove Led Bar

Ich habe den durchgeknallten Democode für die Grove Led Bar mal in eine saubere Arduino Library verpackt.

Für die Ansteuerung werden zwei Pins des Arduino benötigt. Einer für Data und einer für Clock.

Sweepdemo

Der Methode sendLED wird ein 16Bit-Wert zwischen 0 (alle aus) und 1023 (alle an) übergeben. Die einzelnen Bitwerte entsprechen den einzelnen LEDs.

Weiterlesen

megashieldn1

Seeedstudio Grove – Mega Shield

Als Anschlussbasis für alle Aktoren und Sensoren an den Arduino Mega habe ich mich für das Grove Mega Shield entschieden.

Anschlüsse

Alle Anschlüsse sind als 4-Pin ausgeführt. Die äusseren Pins sind gnd und vcc. Die beiden inneren je nach Anschluss (i2c, uart, digital, analog).

 

Links

Herstellerwiki: http://www.seeedstudio.com/wiki/Grove_-_Mega_Shield

Seeedstudio Grove – LED Bar

Heute kam eine kleine Lieferung an neuen Teilen. Darunter ein “Grove LED Bar” von Seedstudio.

10 Leds, 1x Rot, 1x Geld, 8x Grün. Also Perfekt um z.B. den Ladestand der Akkus anzuzeigen.

Der Beispielcode aus dem SeeedStudio-Wiki ist ein wenig, … crazy… Mal sehen wie schnell ich das Modul zum laufen bekomme.

Datenblatt zum Steuerchip: MY9221_DS_1.0

Update: Hier gibt es meine Arduino Library für das Ding

30A Stromsensor

Stromsensoren für die Motoren

 

Da der Sabertooth Motorcontroller mit 100 Euro so ziemlich das teuerste an der Bastelei ist, wollte ich eine Sicherheitsschaltung bauen die verhindert das der Controller überlastet wird. Sollte ein Rad blockieren können schnell Ströme entstehen die die angegebenen 25 Ampere locker übersteigen – Im schlimmsten Fall entsteht “Magic Smoke” und das Teil ist für die Tonne.

Die Überlegung: Beide Motoren bekommen Stromsensoren. Wenn einer der Sensoren über x Sekunden einen Strom über 25 Ampere misst, werden die Motoren sofort abgeschaltet.

 

ACS714 Stromsensor (-+30A)

Die Wahl fiel auf den ACS714 Stromsensor (Watterott). Das Modul kann Ströme bis 30 Ampere in beide Richtungen messen und den Messwert als analoge Spannung ausgeben. Die Versorgungsspannung beträgt 5V. Es gibt als Signal bei 0 Ampere eine Spannung von 2,5 Volt aus. Der Grund dafür liegt an der bidirektionalen Messung: Bei +30 Ampere werden 5V ausgegeben, bei -30 Ampere sind es 0V. Dieses ist wichtig da die Motoren auch als Generator funktionieren wenn diese manuell bewegt werden. Das Modul hat eine Auflösung von 66mV/A

Anschluss an den Arduino

Weiterlesen

Spannungssensor mit Anschlusskabeln und "gedipt"

Spannungüberwachung für den Robot

Wenn man Akkus als Versorgung nutzt, möchte man gerne wissen wieviel Saft die Zellen noch haben. Also schnell eine simple Spannungsüberwachung zusammengelötet.

Ich nutze zwei 12 Volt Bleigel-Akkus um auf die 24 Volt für die Motoren zu kommen. Der Mikrokontroller verträgt bis 5 Volt am Analogeingang. Direktes Messen ist also nicht, ohne “Magic Smoke” freizulassen 😉

Also bleibt noch der Weg über einen Spannungsteiler

Bei genau 24V komme ich also auf ca 3,9V am Analogeingang der Mikroprozessors. Der Teiler ist ein wenig größer dimensioniert da die beiden Akkus im geladenen Zustand auf über 13V kommen, was bedeutet das die Gesamtspannung auch mal auf 26-27 Volt gehen kann.

Ich muss allerdings noch testen wie sich das ganze verhält wenn der Motorregler bei Bremsvorgängen die Energie wieder zurück in die Akkus leitet. Wenn das über 30 Volt werden gibts es wieder ärger mit dem Mikrokontroller – und im schlimmsten Fall Magic Smoke.

Für meinen Aufbau habe ich den Teiler auf eine kleine Lochrasterplatine gelötet und mit Anschlusskabeln versehen.

Spannungsteiler auf Lochraster

Die Akkuanschlüsse haben Kabelschuhe bekommen, die Signalseite geht wieder auf ein Servokabel (nur GND und SIGNAL belegt). Um den Aufbau vor Schmutz und Nässe zu schützen noch in Plastidip verpackt und fertig :)

Spannungssensor mit Anschlusskabeln und “gedipt”