Elektronik basteln

April 10th, 2012 electronics

Momentan macht es mir gro??e Freude alten LED- und LC-Displays, die hier schon sehr lange ‘rumliegen, mit Hilfe von Atmega/arduino neues Leben einzuhauchen.

Zu Beginn etwas einfaches: TIL311 Hexadecimal Display With Logic original aus der 80ern.
Da ich nur ein einstelliges Display habe, habe ich “latch strob input”(Pin 5) mit GND verbunden. Mit Pin 8 – blanking input kann man das Display dunkel schalten, blinken lassen oder vielleicht sogar mit PWM dimmen.

Nächstes Versuchsobjekt: ein einzeiliges LCD aus einem Faxgerät. Für das 14-pol Flachbandkabel hatte ich keine Pinbelegung. Also habe ich mir eine Seite aus dem Datenblatt des Controller-Chips “LC7985A” ausgedruckt und die interessanten Anschlüsse durchgepiepst:

1 DB6
2 DB7
3 DB4
4 DB5
5 DB
6 DB
7 DB
8 DB
9 RW -> GND
10 E -> Atmega B3, arduino 11
11 V5 -> GND
12 RS -> Atmega B4, arduino 12
13 GND
14 VDD +5V

V5 ist vermutlich für Kontrast zuständig. Ich musste es mit GND verbinden, damit es funktioniert. Software-seitig kann man die übliche LiquidCrystal Library verwenden: 4 bit Daten + RS + E

Ausblick:
* 2-zeiliges LED Display aus 16 Stück DLO3416
* LCD aus einem Nokia 3310 (3,3V)
* LCD keypad shield

Verschlei?? am HK450GT

April 8th, 2012 fly

Mal wieder ist eine Welle so dünn geworden, dass sie in ihrem Lager schlackert. Diesmal nicht am Motor sondern am Heckabtrieb. Im unteren Lager ist noch alles ok, aber beim oberen war es so schlimm, dass das Lager nach unten aus dem Lagerbock gefallen ist. Das kleine Zahnrad hat dann das Hauptzahnrad berührt und Plastikstaub erzeugt. Glücklicherweise konnte ich noch normal landen.
Um diese Einheit zu ersetzen muss man 15! Schrauben lösen.

Netzwerk Monitoring mit xymon

April 6th, 2012 debian, linux

Bisher habe ich für Server- und Netzwerk-Monitoring überwiegend munin verwendet. Munin zeigt viele rrd Graphen für den aktuellen Tag, Woche, Monat, Jahr.

xymon (aka Hobbit oder bb) zeig auf der Startseite zunächst keine Graphen sondern nur farbige Smilies nach dem Ampel-Schema. So hat man mehr Server & Dienste auf einmal im Blick. Klickt man auf ein Smilie, dann bekommt man den Graphen für die letzten 48h und weiteren Detail Infos. Bei “trends” kann man selber interaktiv den Zeitraum wählen, den man sich anschauen möchte.

Konfiguration
Ich habe xymon Server & client bisher nur auf einem Host installiert. Die anderen Geräte überwacht xymon mit ping oder ping auf einen Dienst, z.B. ssh

Dazu habe ich die zu überwachenden Geräte in
/etc/hobbit/bb-hosts
eingetragen. z.B.

192.168.10.78 host78 # ssh

(# ssh ist kein Kommentar, sondern ein Dienst, der überwacht werden soll)
Wenn man in der Datei etwas ändert wird es sofort erkannt, man muss nichts neu starten.

Damit ich die Status-Seite auch von anderen Rechnern aus ansehen kann, habe ich entsprechende
Allow from ...” Zeilen
in
/etc/apache2/conf.d/hobbit
eingetragen. (danach apache neu starten)

Um einzelne Prozesse auf meinem Server zu überwachen, habe ich diese in
/etc/hobbit/hobbit-clients.cfg
eingetragen, z.B.

PROC cron HOST=myhost
PROC dhcpd HOST=myhost

atmega/arduino Basteltag

April 1st, 2012 electronics

Gestern bin ich bei den Projekten “serieller Datenlogger” und “Höhenlogger” ein bisschen weiter gekommen. BMP085_Example_Code.pde läuft auf einem Atmega8 mit 8MHz, internal Oscillator. Lesen & schreiben auf SD Karte läuft bis jetzt nicht mit Atmega8 oder Atmega32. Für den Atmega8 ist die SD-Library zu gro?? und beim Atmega32 ist die Pin-Zuordnung anders. Atmega168 oder 328 hatte ich gerade keinen zur Hand.

Funktion    | Atmega8  | Atmega32 | arduino
----------------------------------------------------
SS            PB2        PB4        digital 10
MOSI          PB3        PB5        digital 11
MISO          PB4        PB6        digital 12
SCK           PB5        PB7        digital 13

SCL           PC5        PC0        analog input 5
SDA           PC4        PC1        analog input 4
----------------------------------------------------

Fuses für Atmega8
* mit 16MHz Quarz, 512 words bootloader: lfuse=df hfuse=ca
* 8Mhz internal Oscillator: lfuse=e4 hfuse=d8

siehe auch: arduino-0023/hardware/arduino/boards.txt
http://www.engbedded.com/fusecalc

Festspannungsregler für 3,3V:
LM117DT
78M33
LM3940-3.3
LF33
MCP1700-3302E

Nase, nicht-Nase

March 27th, 2012 fly

Heute ging ich relativ spät zum fliegen: eine Stunde vor Sonnenuntergang.
Nach langer Zeit mal wieder 2 Flüge incl. 2 Autorotationen mit dem Blade400.

Mit dem Quadcopter hatte ich heute keine Probleme beim Sinkflug.

Neuer Quadcopter-Trick: “Nase, nicht-Nase” – Aus dem Nasenschweben heraus einen halben Flip über Roll, danach einen halben Flip über Nick. Ergebnis: Heckschweben.
Variante 1: die gleiche Figur aus den Seitenschweben heraus – Ergebnis: Seitenschweben in die andere Richtung.
Variante 2: erst den halben Flip über Nick und dann über Roll.

Video von Sonntag:

3 neue Videos!

March 18th, 2012 fly

Samstag:
stark bewölkt, vereinzelte Regentropfen. Das erste Mal Quadcopter Flips & Loopings im Garten. Mit dem mcpx nur ein Flug: Blattlagerwelle ist sehr krumm. 4 x 450er Klon/BeastX am Feld. 1 x den Protos mini eines Freundes geflogen. Fliegt sich phantastisch gut. Liegt es an dem Heli oder den hochwertigen Komponenten, die er verbauat hat (YGE Regler, MKS Servos, AC3X) – Vermutlich beides. Ich sollte auch mal wieder meine FBL-Spinblades fliegen und vielleicht auch mal Align 3G-Blätter probieren.

Sonntag:
stark bewölkt, vereinzelte Regentropfen. 9x mcpx im Garten: Rückenkreise, Rückenflug-Achten, inverted Funnel, Flips aus dem Nasenschweben.

und hier 3 neue Quadcopter-Videos:

endlich Sonne

March 14th, 2012 fly

Endlich Sonne … noch nicht viel aber schon genug für die ersten 2 Flüge im T-Shirt in diesem Jahr. Es war auch das erste Mal am Erdbeerfeld in diesem Jahr. Hiermit ist meine persönliche Saison 2012 offiziell eröffnet! 🙂 Es war sehr sehr schön.

5 x Quadcopter: neue Tricks: mehrfach-Flips, um-die-Ecke Flips, z.B. halber Flip nach rechts und dann halber Flip nach vorne.

4 x 450er Klon/BeastX: möglichst nicht wegdriften bei Flips in alle Richtungen, das erste Mal Tick-Tock mit den Kufen zu mir. Rollen, 2-Zeiten Rollen und gro??e Loopings. Piroflips mit weniger collective Pitch.

7x mcpx: Rückenflug-Kreise und -Achten in alle Richtungen, vorwärts und rückwärts. Rollen, ganze und halbe Flips mit weniger collective Pitch.

arduino: SD-card success!

March 13th, 2012 electronics

Mein erstes Projekt, welches komplett mit 3,3V läuft. Ich habe keinen 3,3V Festspannungsregler auf Lager aber einen DC-DC Wandler den ich auf 3,30V einstellen konnte. Ein Atmega328 läuft mit 16MHz Quarz, daran angeschossen mein USB-serial Kabel und mein DIY micro-SD card slot: Ein handelsüblicher microSD nach SD Adapter steckt in einem alten ISA Steckplatz-Sockel. Vermutlich kann ich die 6 Kabel auch direkt an den Adapter anlöten und somit viel Platz sparen.
Die Brücke für GND von Pin 3 auf 6 ist übrigens in dem Adapter schon eingebaut.
In den Beispiel-Sketches “DumpFile” und “ReadWrite” musste ich jeweils
den ChipSelect Ausgang bei SD.begin() von 4 auf 10 ändern.

Binary sketch size: 11698 bytes (of a 30720 byte maximum)

Pinbelegung (ohne Gewähr)

micro-SD card
-------------
1 n.c.
2 CS
3 DI
4 +3,3V
5 CLK
6 GND
7 DO
8 n.c.

SD card
-------
9 n.c.
1 CS
2 DI
3 GND
4 +3,3V
5 CLK
6 GND
7 DO
8 n.c.

SD-Card    Arduino (Atmega)
---------------------------
+3,3V      +3,3V
GND        GND  
CLK        Digital 13, SCK (PB5)
DO         Digital 12, MISO (PB4)
DI         Digital 11, MOSI (PB3)
CS         Digital 10,      (PB2)

http://www.dharmanitech.com/2009/01/sd-card-interfacing-with-atmega8-fat32.html

http://www.frank-zhao.com/cache/fat_sd.php

http://www.avrprojects.info/avr-interfacing/reading-and-writing-sd-card-using-atmega16/

http://elasticsheep.com/2010/01/reading-an-sd-card-with-an-atmega168/

atmega with SD card

Bastelwetter

March 11th, 2012 fly

EasyGlider entstaubt, das Heck repariert (mit Carbonstäben verstärkt), Vorne mehr Platz für 3S2200 Akku geschaffen und FPV-Cam in die Haube eingebaut. Was noch fehlt: 5.8GHz Video-Sender, Antenne, Pylon für Motor.

Zagi Nurflügler(4/2010) restauriert: kleinerer Motor (CF 2805), neuer Motorträger aus Holz (10 gramm) denn die Klebstellen am GFK Motorträger haben nie gehalten. Motor sitzt jetzt etwas weiter vorne (Schwerpunkt!) Akku und Regler auch kleiner & leichter, 2S800 statt bisher 3s800.
Abfluggewicht: 287g – vermutlich hecklastig! Gewicht mit HD-Kamera: 303g – Schwerpunkt dann hoffentlich o.k. 33g leichter als vorher. Testflug morgen.

Lipo-Alarm für MultiWiiCopter

March 7th, 2012 electronics, fly

Damit ich die Lipo-Spannungs-??berwachungsfunktion der Software nutzen kann, habe ich aus 2 Stück 68kOhm Widerständen einen symmetrischen Spannungsteiler an + und – (GND) vom Akku angeschlossen. Bei 2S Akkus entspricht die gemessene Spannung (Arduino Eingang A3) in etwa der Spannung einer Zelle, also zwischen 3,0 und 4,2V. Am Ausgang D8 habe ich eine LED mit 150 Ohm Vorwiderstand nach GND angeschlossen.

Nun musste ich etwas rechnen und mit einem leeren & vollen Akku ausprobieren.
Hier das Ergebnis für config.h:


// vbat = [0;1023]*16/VBATSCALE
#define VBAT // comment this line to suppress the vbat code
//#define VBATSCALE 131 // change this value if readed Battery voltage is different than real voltage
#define VBATSCALE 333
#define VBATLEVEL1_3S 33 // 3,3V
#define VBATLEVEL2_3S 31 // 3,1V
#define VBATLEVEL3_3S 33 // 3,0V
#define NO_VBAT 16 // Avoid beeping without any battery

In der GUI wird nun korrekt die Hälfte der AKkuspannung und somit die durchschnittliche Zellenspannung angezeigt. Die LED fängt bei Spannungen unter 3,3V an zu blinken (z.B. pitch pumping) und geht auch wieder aus, wenn der Akku weniger belastet wird (z.B. schweben, Landung). Mit sinkender Akkuspannung blinkt die LED immer schneller und heller.

Barometer & Magnetometer Sensoren sind schon bestellt. Zum fliegen absolut nicht nötig, aber ich habe Lust damit zu experimentieren.