Archive for the 'electronics' Category

arduino: SD-card success!

Tuesday, March 13th, 2012

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

Lipo-Alarm für MultiWiiCopter

Wednesday, March 7th, 2012

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.

neue Kamera, neues Quadcopter Video

Wednesday, February 22nd, 2012

Dies ist jetzt meine fünfte mini-Kamera. Die ersten drei sind defekt, die noch funktionierende #3 verliert viele Frames – das nervt! Die neue ist eine HD Version #16. Sie lag gestern in meinem Briefkasten. Heute habe ich das erste Outdoor-Video gemacht und bin bisher sehr zufrieden.
www.chucklohr.com/808/

MWC fliegt wieder

Monday, January 30th, 2012

Nach dem Crash vor ein paar Tagen (siehe Video) habe ich den Quad weiter verbessert: Den Stecker von der WMP Platine habe ich entfernt und flexiblere Kabel nun von “oben” angelötet. Den dicken schwarzen Schaumstoff habe ich entfernt. Momentan habe ich von unten nach oben: Spiegeltape – Euro-Münze – Spiegeltape – Platine. Den vorderen Arm habe ich leucht-orange beklebt.
Aktuelle PID Werte:

        P      I      D
roll   2.2  0.017    24
pitch  2.1  0.016    24
yaw    7.4    0       0
RC-rate 1.0
expo    0.3

Mit weniger D (20?) war’s noch besser. Ich werde demnächst auch wieder probieren P wieder etwas zu erhöhe.
Schwingt nicht mehr(schweben indoor), driftet stark auf Yaw – kann man am Sender trimmen. Liegt vielleicht an meinen unterschiedlichen Propellern. roll & pitch sind schön sportlich, aber yaw ist total träge.

MWC: Software downgrade

Tuesday, January 24th, 2012

Beim MultiWiiCopter habe ich die Software von Version 1.9 auf 1.8patch2 geändert und 4 Füße aus EPP ‘dran geklebt.
aktuelle PID Werte: momentan nur P von 4,0 auf 3,0 reduziert, der Rest default.
Schwingt zeitweise noch ein bisschen, schwebt aber schon akzeptabel.
Gewicht:
226g ohne Akku
268g mit 2S 800mAh
298g mit 2S 1500mAh

MWC: PID Regler einstellen

Friday, January 20th, 2012

Gestern war ich schon ein bisschen frustriert, weil mein Quadcopter über Roll & Nick oszilliert und sich aufschaukelt. Inzwischen habe ich Werte erschwebt, die noch nicht toll sind aber immerhin ein stabiles Schweben ermöglichen. Manchmal schwingt er noch und manchmal bricht er ganz plötzlich in eine Richtung aus, aber so kann man schon mal im Wohnzimmer oder Garten schweben.

         P    I    D
nick    2.2  0.02  17
roll    2.1  0.02  17
yaw     7.1   0    0

Throttle PID attenuation: 1.0

Bisherige Erfahrung:
mehr P: schlecht
mehr I: schlecht
mehr D: gut

2S 800mAh Akku ist o.k. , aber mehr Kapazität wär’ schon besser.
3S Akku fliegt auch, aber nicht besser.

PID Links:
http://myhangar.de/parameter-einstellungen-mwc/
http://www.rcgroups.com/forums/showthread.php?t=1348268
http://www.rcgroups.com/forums/showthread.php?t=1375728
http://www.rcgroups.com/forums/showthread.php?t=1340771
http://www.rcgroups.com/forums/showthread.php?t=1261382&page=545#post17311692
http://www.rcgroups.com/forums/showthread.php?t=1405768
http://www.rcgroups.com/forums/showthread.php?t=1340771#post16587954
http://www.rcgroups.com/forums/showpost.php?p=17215161&postcount=7460

MultiWiiCopter: erste Hüpfer

Thursday, January 19th, 2012

mein MultiWii(Quad)Copter ist fast fertig.
Aktuelles Gewicht: 204g, mit 2S 800mAh Akku: 248g
Der Rahmen aus Holzleisten ist zwar schön leicht, aber nicht sehr verwindungssteif. Beim Test in der Hand und start vom Boden sieht und hört man, daß Motoren und Propeller vibrieren. Das gefällt den Gyro-Sensoren natürlich gar nicht und er lag schon das erste Mal auf dem Rücken. Mit den PID Werten habe ich noch nicht experimentiert. Ich werde jetzt erst mal die Propeller auswuchten und möglichst gerade biegen und eine Akku-Halterung bauen.

Android

Wednesday, January 4th, 2012

Neues Gerät, neues Hobby. Der Gerät: HTC Wildfire S, das Hobby: OpenStreetMap. Ich laufe oder fahre mit dem Rad durch den Ort, logge mit der Software Open GPS Tracker, ab morgen mit OSMTracker und mappe dann zuhause mit JOSM. Mit G-Mon kann man auch WLANs tracken/mappen – Hab ich noch nicht probiert, nur einmal kurz Wigle Wifi aber das scheint sich nicht mit Open GPS Tracker zu vertragen.

DIY arduino

Thursday, December 22nd, 2011

Bisher habe ich nur Atmega32 und Atmega8 verwendet. Letzteren auch mal mit arduino Bootloader. Atmega32 wird von arduino nicht unterstützt – es gibt patches, hab ich noch nicht probiert.

Heute gehts darum aus einem Atmega328P-PU einen arduino “pro” zu machen. Hardwareseitig habe ich ihn mit 5V und einem 16MHz Quarz versorgt. Ich folge einem Video-Tutorial auf Youtube(s.u.)

avrdude -c usbasp -p m328p -t

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f
avrdude> part
>>> part

AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

avrdude> dump hfuse
>>> dump hfuse
0000 da
avrdude> dump lfuse
>>> dump lfuse
0000 ff
avrdude> dump efuse
>>> dump efuse
0000 05
avrdude> quit


avrdude -c usbasp -p m328p -U hfuse:w:0xDA:m
avrdude -c usbasp -p m328p -U efuse:w:0x05:m
avrdude -c usbasp -p m328p -U lfuse:w:0xFF:m
avrdude -c usbasp -p m328p -U ATmegaBOOT_168_atmega328.hex

danach leuchtet PD1(TX) für ca. 1s das ist der Bootloader.
Mit angeschlossenem seriellem Kabel (USB Handy Datenkabel)
leuchtet PD0(RX)
Upload aus arduino IDE:
* richtige Board wälen: Tools->Board->Pro or Pro Mini 16MHZ Atmega328
* Tools->Serial Port: /dev/ttyUSB0
* upload-icon klicken und sofort danach am Board Reset drücken.

Multi-Wii-Copter

Monday, December 19th, 2011

Ich hatte schon länger überlegt, mir mal ein Multi-Rotor Fluggerät zu bauen. Was mich bisher davon abhielt: die Kosten für 4 Motoren + 4 Regler + FlightControlUnit. Eines Tages habe ich den Tricopter entdeckt, der mit 4 billig-gyros funktionierte. Das sah schon mal interessant aus: relativ billige Elektronik und nur 3 Motoren & Regler.
Abgesehen von den Kosten hatte & habe ich noch Bedenken, dass es schnell langweilig wird: mangels negativ-Pitch sind viele Kunstflug-Figuren nicht möglich.
Zahlreiche Videos von zeigen, dass es trotzdem viel Spaß machen kann. Klarer Vorteil: keine
Energieverluste durch Getriebe, Heckrotor und Kopfmechanik.
Das Open-Source Hard- und Software Projekt MultiWiiCopter finde ich auch sehr attraktiv, denn ich bastle gerne mit arduino und Atmel Microcontrollern.

Status
* WiiMotionPlus Platine ausgebaut und mit Kabeln versehen
* Mini Arduino Pro ist bestellt
* 4 Stück 10A HK SS Regler und Propeller sind bestellt

Es fehlen noch Motoren und der Rahmen.

Gedanken zum Rahmen
Ich habe Alu, GFK und eine Kiefernholzleiste gewogen. Holz war mir Abstand das leichteste – ist überall leicht zu bekommen, leicht zu verarbeiten und preiswert.
Alternative Ideen: CFK Rechteckrohr oder Alu-Heckrohre vom HK250

UPDATE:
Hab mir gerade eine Skizze für den Rahmen gemacht. Für maximal 9″ Propeller.
Rahmengröße: 40x40cm
Abstand der Motorwellen: 36cm
bei 8″ Propellern hat man dann ca 4,5cm Abstand zwischen den Rotorkreisen und in der Kreuzmitte ca. 14x14cm Platz.

Kiefernleiste 10x5mm: 25g/m -> ca. 80g für 4 Arme mit je 2 Leisten
1 Motorträger 45x30x1mm GFK: 3,2g
1 Motorträger 45x30x3mm Sperrholz: 2,6g