Kategorien
DIY In eigener Sache

Arduino Fahrradcomputer – Teil 1

Vor ein paar Wochen habe ich mir überlegt, dass es doch eine feine Sache wäre mit einem Arduino, einem OLED Display und einem kleinen GPS Empfänger einen Selbstbau Fahrradcomputer am Lenker zu haben. Für das Tachogehäuse war es etwas zu viel Elektronik und so reifte der Plan das ganze in den Frontscheinwerfer zu integrieren.

Letzte Woche änderte sich der Plan. Warum nicht auch gleich einen Nabenmotor an Vorderrad und aus einem normalen Fahrrad ein E-Bike / Pedelec bauen? Der Motor wurde bestellt und jetzt ist mehr oder weniger alles da, was für eine erste Testversion nötig ist.

E-Bike Sketch_Steckplatine

Ein Schaltungsentwurf musste her und anstatt wild herumzuprobieren, habe ich mich dieses Mal für einen Entwurf mit Fritzing entschieden. Das hat hervorragend geklappt  und mir aufgezeigt, dass jeder Arduino Pin gebraucht werden wird.

Was soll dieser Fahrradcomputer am Ende können? Im Frontscheinwerfer wird der Arduino, ein GPS Empfänger, ein RF12 Transceiver (JeeNode kompatibel), ein OpenLog, ein LDR und natürlich die LED des Scheinwerfers untergebracht. Externe Sensoren und der Motor werden ebenso wie das Display und ein paar Buttons – der Plan ist einen alten Tacho als Gehäuse zu verwenden – über Stecker/Buchsen angebunden.

Der Strom für Arduino und Licht kommt aus einem 400 mAh Lipo der mit Ladeschaltung und kleinem Solarpanel in der Nähe des Frontscheinwerfers platziert wird. So kann man Computer und Licht auch verwenden, wenn man mal ohne großen Akku unterwegs ist.

Zur Motorsteuerung verwende ich einen ESC aus dem Modellbau. Ebenso wird es wohl ein großer Modellbau Akku werden, der mich antreibt. Warum? Weil es wesentlich kleiner und unauffälliger ist. Der Nachteil eines solchen ESC ist allerdings, dass er den Strom nicht begrenzen kann und so der Motor bei geringer Geschwindigkeit (Bergfahrten) überhitzen könnte. Deshalb soll der Stromverbrauch gemessen werden und über einen Regelkreis das Gas so weit wie nötig zurückgenommen werden.

Im Prinzip wird es so etwas wie der ForumsController aus dem Pedelec-Forum. Dort berichten einige, dass eine solche Steuerung (ESC) sehr laut sei. Kann ich aber momentan nicht bestätigen.

Ich bin sehr gespannt, ob und wie das alles funktionieren wird und vor allem wie unauffällig es später am Fahrrad wirkt. Einen ersten Test und damit auch Teil 2 wird es geben, wenn Gas geben und Licht ohne großen Akku funktioniert. Das Vorderrad dreht sich natürlich schon, fehlt also nur das Licht ;-)

Den mit Fritzing erstellten Schaltplan gibt es in der Einzelansicht des Artikels. Und ja, ich versuche wieder regelmäßiger mein Blog zu befüllen. Für manches ist Facebook doch nicht geeignet. Zwar gibt es dort mehr Interaktion, aber Texte sind kurz und nach ein paar Tagen sind die Einträge vergessen. Hier stehen sie für die Ewigkeit und können auch von Nicht-Facebook-Freunden gelesen werden. Bis zum nächsten Mal!

Kategorien
Geeky Nur mal so

Ode and den Arduino

Vor gar nicht so langer Zeit habe ich mir einen Arduino Nano zugelegt und damit ein wenig herumexperimentiert. Nichts großartiges, aber wenig später fand er dann seine Bestimmung als Steuerzentrale für meinen ersten Quadrocopter. Seitdem bin ich dem Arduino Konzept verfallen (ursprünglich mehr der PIC Fan) und benutze den kleinen 8-Bitter (mittlerweile auch als 32-bit Fassung erhältlich) für alles mögliche.

MEGA Flight-Controller

Natürlich als Steuerzentrale (Arduino Mega) für meinen aktuellen Quadrocopter. Ein Arduino befindet sich auch auf dem OpenLog, dass ich zum Mitschneiden von Flugtelemetrie benutze. Auch das Flugzeug hat einen Arduino als Steuerzentrale (Leonardo) und ein kleiner Arduino ist für das GPS zuständig. Auch meine geplante Bodenstation mit OSD aus den gesendeten Telemetriedaten basiert natürlich auf einem Arduino.

Irgendwann kamen dann noch JeeNodes dazu mit denen man – dank Funkverbindung – hervorragend verteilte Sensornetze basteln kann.

Langer Rede kurzer Sinn, wer mit Elektronik basteln will, besorgt sich einen Arduino und kann loslegen. Simples Produkt für wenig Geld. Top!

P.S.: 32-bit Microcontroller Startersets sind derzeit sogar günstiger zu haben, wenn man etwas mehr Power braucht. Man suche nach Platinen mit der Bezeichnung STM32, z.B. STM32F0-Discovery. Ist aber für den Anfang nicht ganz so leicht zu handhaben.

Kategorien
Quadrocopter

Platzprobleme auf dem Quadrocopter

Nun, nicht ganz „auf“ dem Quadrocopter … mehr auf seinen Microcontrollern. Der Kern des ganzen ist ein Arduino mit (ohne Bootloader) genau 30720 Bytes an verfügbarem Speicher. Multiwii stößt mit all den verbauten Sensoren, jetzt aber an die Grenzen des Möglichen. Gyro, Beschleunigungssensor, Magnetometer, Barometer, GPS und Sonar verbraucht 30438 Bytes. Und dabei kann die Software mit den Sonarwerten noch nicht einmal etwas anfangen (ich hoffe ich kriege da mit den 282 verbleibenden Bytes noch was hin).

Die GPS Funktionalität wäre auch gar nicht möglich gewesen, wenn ich nicht noch einen Attiny 2313 eingebaut hätte um das serielle GPS-Protokoll auf I²C umzuschreiben (Quelle: Tiny-GPS). Dort sind mit Sonarcode 2010 von 2048 Bytes belegt.

Also alles voll und kein Platz mehr für wirklich große Erweiterungen übrig, wie z.B. optischer Fluss für den Position Hold Modus, Wegpunkte (das könnte evtl. noch klappen, wer weiß), LED-Steuerung, etc.

Der nächste Quad/Whatever wird dann wohl nur die nötigsten Sensoren haben (ich nehme an Gyro und Beschleunigung reichen für was zum Spaß haben völlig aus) bzw. ein größeres Hirn benötigen. Dieser Quadrocopter bleibt erstmal so wie er ist, nachdem der Zusammenbau wieder so ein Gefummel war ;-) Flugtest sobald weniger Wind weht ;-)

Kategorien
Geeky

Ein einfaches Blutakoholmessgerät selbst bauen

Vor ein paar Tagen ist ein Alkohol Gassensor (MQ-3) in der Post gewesen und es hat nicht lange gedauert damit eine einfache Schaltung aufzubauen. Erst mit einem Arduino, aber das war dann doch etwas Overkill und so habe ich dann schlussendlich einen kleinen PIC (18LF1230) und ein paar LEDs genommen. Im Bild oben sieht man die Schaltung, unten im Artikel noch mal etwas näher. Den Code gibt es auf Github. Und damit mir keiner die Überschrift übel nimmt, natürlich misst das nicht den Blutalkoholgehalt, sondern den Alkoholgehalt der Atemluft.

Und natürlich lernt man bei so etwas auch immer etwas:

  1. Breadboards sind wirklich praktisch! Habe vorher immer alles auf Lochraster zusammengelötet, wenn ich nur mal kurz was testen wollte
  2. Sich alleine auf 0,8 Promille zu betrinken (der Kalibrierwert im Datenblatt, 0,84 Promille entsprechen 0,4 mg/L Alkohol in der Luft) ist kein Spaß, vor allem wenn es schnell gehen muss (3 Shots a 40 ml Wodka) ;-)
  3. Nach so einem Selbstest ist es äußerst schwer irgendetwas auszurechnen. Alle Ergebnisse waren für die Katz, aber zum Glück habe ich die Messwerte fein säuberlich aufgeschrieben. Glück gehabt!
  4. Geringe Mengen Alkohol im Mund sorgen für dramatisch höhere Messwerte. Deshalb immer gut den Mund ausspülen, wenn ihr nach einem Glas Wein sofort nach Hause fahrt und einen peinlichen Moment bei der Polizeikontrolle umgehen wollt.
  5. Benzin oder ein Edding sorgen auch für höhere Messwerte. Ich weiß nicht, ob die Geräte der Polizei das auch aufschnappen, aber es wäre auf jeden Fall schlauer die Eddingbemahlung im Gesicht vor einer Kontrolle abzuwaschen. Andererseits, wahrscheinlich seid ihr mit Edding Gesicht sowieso viel zu betrunken um überhaupt noch stehen, geschweige denn Auto fahren zu können ;-)


[Die bunten Drähte zwischen Sensor und Microcontroller sind für den Programmer]