Mini-FPV Camera

DSC01729

mini-fpv-camera

The Walkera Ladybird can carry 2 or 3 Gramms payload nicely. My little camera combo (Camera, 2.4Ghz transmiter, 5V voltage regulator) is 4.0 gr – that is still acceptable.

To connect to the groundstation receiver, the following frequency pairings work:

TX
1 2 3 4
RX
O : : :
0 0 0 1 0 0 0
1 0 0 1 0 0 1
0 1 0 1 0 1 0
0 1 0 0 0 1 1
0 0 1 1 1 0 0
1 0 1 0 1 0 1
0 1 0 0 1 1 0
0 0 0 0 1 1 1

camera unit

Advertisements

First LED blinkenlight with Raspberry PI

image

Today, my raspberry came alife. This is what I did:

  • Connect a 5V 1A pwer-supply to P1: pin2 (+5V) and pin6 (GND)
  • Connect LED with 2x 390 Ohm resistors between P1: pin7 (GPIO4) and pin9 (GND)
  • Prepare an SD-Card

$ wget http://downloads.raspberrypi.org/images/raspbian/2012-08-16-wheezy-raspbian/2012-08-16-wheezy-raspbian.zip
$ unzip 2012-08-16-wheezy-raspbian.zip
$ sudo dd bs=1M if=2012-08-16-wheezy-raspbian.img of=/dev/mmcblk0
$sync

  • Switch on power, enjoy boot messages, and several on-board LEDs coming alive.
  • Plug in ethernet

ssh -v pi@192.168.178.25
password: raspberry
$ sudo raspi-config
-> expand rootfs -> reboot
$ sudo apt-get install python-dev
$ wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.3.1a.tar.gz
$ tar xvf RPi.GPIO-0.3.1a.tar.gz;
$ (cd RPi.GPIO-0.3.1a; sudo python setup.py install)

  • Write a little script to do the blinking

$ vi blink.py

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)

GPIO.setup(7, GPIO.OUT)
while True:
   GPIO.output(7, GPIO.HIGH)
   time.sleep(0.1)
   GPIO.output(7, GPIO.LOW)
   time.sleep(0.2)

$ sudo sh -c ‘echo >> /etc/init.d/rc.local “/home/pi/blink.py &”‘
$ sudo reboot

Booting from power-up to running my blink.py now takes 30 seconds. Of course it is faster and more fun to directly play with the script, but then you need another sudo, so that the GPIO library has sufficient privileges for direct hardware access.

$ sudo python ./blink.py

Piece of cake (or pie, in this case).

Adding firewire ports to a Shuttle XS35V2

Cyberport, Reichelt, and others sell these inexpensive machines. The photo to the right shows the newly added firewire ports in the DVD-bay cover.

I’d like to use them for a dvswitch setup capturing live DV-video streams via firewire (ieee1394). The Shuttle XS35V2 is a good candidate, although it has no firewire ports. It is

  • inexpensive (ca. 150 EUR including CPU, excluding RAM)
  • small and lightweighted (1 Liter, 2kg)
  • fanless (which is important for some smaller conferences)
  • diskless, can boot from USB or SD-Card, if needed also from SSD.

The important modification is to add firewire support.
The machine has a miniPCI Express port allowing such additions. But the machine has no free slots in the chassis, as the port is meant for internal expansions like e.g.  WIFI, which is actually included. The new Firewire connectors will reside in the opening originally reserved for a DVD-Drive. We bought two things:

We also need:

  • 2 small washers: 1x 1.5mm (far from mPCIe)/ 1x 2mm (near mPCIe) M3 (for lowering the mainboard)
  • 2 plastic screws M3x20
  • 2 plastic nuts M3
  • 2 plastic spacers 13mm long, 6mm outer, 3.2mm inner diameter. (to mount the DawiControl card)
  • 1 flat 3mm plastic piece, 33mm x 21mm, for fixing the miniPCIe card.
  • 1 flat 1mm plastic piece 45mm x 57mm, for insulting the DawiControl card.
  • Optional:
    • 2  small plastic wedges 2m vs 1.5mm slanted M3 (for stablilizing the spacers)
    • Tool for pulling out one M2-insert
    • Small amount of heat-conductive paste for remounting the heat sink.

Procedure 

  1. Open the chassis, remove top and bottom cover.
    Unscrew the SD-Card board.
  2. Gently pull off the yellow bios battery from its sticker,
  3. … fit it under the sdcard board, so that it is out of the way,
  4. secure the sdcard-board with two screws.
    .
  5. unscrew the wifi-card, slide it out  of the miniPCIe port.
  6. gently peel off the patch antenna (unscrew the usb connector for better access).
    .
  7. lower the mainboard near the miniPCIe port, so that the ribbon cable connector of the riser card has enough space. This is tricky as some screws are inaccessible due to the heatsink:
    1. Remove the heatsink. 5 screws. There is conductive paste between heatsink and CPU. Do not touch. You may want to reuse the conductive paste by spreading it towards the center with a clean tool. Or simply apply some new paste. The photo shows the heatsink half-transparent.
    2. Losen the mainboard, move it a few milimeters towards the baseplate mount. This gives access to two screws that fix the metal carrier in the plastics frame. Marked in red in the photo. Unscrew, slide washers 1.5mm and 2mm between metal and plastics. Fix the screws again.
    3. Fix mainboard.
    4. Remount heatsink with fresh (or carefully reused) heat-transfer paste.
      .
  8. Drill two holes for mounting the DawiControl card, see cut marks in the red circles.
  9. Level the area around the mounting holes with an 8mm milling cuter (or optionally use small wedges.)
  10. Cut a rectangular opening in the inner plastic support to allow the cable of the riser card to pass to the other side. See cut marks around the red rectangle.
  11. Cut away or shorten the plastic part where the mini-wifi-card was secured with a screw. (Pull out the M2-insert first, to make that plastic cutting easier, if you have the tool)
    .
  12. Attach a 3mm adapter piece to the riser-card, so that two nearby mounting holes can be used to secure the riser card. Push the other end of the ribbon cable through the rectangular hole.
  13. Turn the Shuttle around. Test the place for the FireWire card.
  14. Glue the 1mm protective platic piece to the metal mesh of the cover.
  15. Plug the ribbon cable into the small PCI express connecter board. Plug in the Firewire card to that port. Mount the FireWire card using two distance rolls.
  16. Close covers. Done!

Pin out of USB RS232 cables

RS232 is not really the right term here. None of these cables produce the inverted 12V signals for proper R232. They do 5V TTL levels (or 3.3V with 5V compartibility) just as an FTDI chip would do. This works great for direct connection with the UART of an Atmel Microcontroller.

Nokia CA-42 / DKU-5

This cable has 7 wires, but only 4 are connected. The Photo below shows where I did cut open the soft plastics (between sticker and tail) to reach the place of the PCB, where the unused pins are. I’ve connected some of the unused wires to give me a cable with handshake signals.

I keep forgetting the pin out all the time. Here is the color codes stored for eternity:

Black:    (7) GND

Blue:      (3) RxD to USB Host

White:    (2) TxD from USB Host

Orange: (10) +5V

Green:    (9) [DTR/RTS] from USB Host

Red:       (8) DCD to USB Host

Brown:    (5) ???

The question marks are some Handshake signals. The numbers in parenthesis are the pin numbers on one of the PCBs I have disassembled.
Retail price May 2013: ca. 3.33 EUR

MQ Power USB Datenkabel für Siemens DCA-510 S55 / SL55

This is a newer cable for a Siemens S55 Phone. The cable has only for wires, although the PCB has a 5th pin for a handshake signal.

Yellow: Ground

Red:     +5V

Green: RXD

Blue:    TXD

— :      DTR

This cable sends continuous garbage to the USB-Host, if the green wire is left floating. You can prevent this, by dropping e.g. a 430K Ohm SMD resistor (not shown above) between the soldering pads of RxD and GND.

As of May 2013, this cable can be bought for as low as 1.49 EUR; google for the german title above.

Ladybird with Devention 2402D and Expo-Settings

The Ladybird is a nice little Quadcopter, that is great for indoor and outdoor flying, it is only 32g and very stable. In its most basic package it comes ready to fly with a Devo 2402D Transmitter. This Transmitter is okay’ish, except for one misfeature, that makes it hard to control the quadcopter: The stick-response for nick and roll is much too strong. After some practicing, I found that I would only use the 10% around neutral of the nick-roll stick for normal flying. This is not user friendly. It calls for an expo setting, so that it is less sensitive around the neutral values, but still has the full range when needed for acrobatics.

Being a computer transmitter, I spent some time in the settings menu looking for expo settings or dual range. It is disappointing, there is nothing useful there. They only left a very basic reverse switch per channel, everything else got stripped out of the software. Walkera obviously wants me to do some cursing, and then grudgingly spend good money on a better transmitter. I decided against that, with a smile.

The graph below shows (bright blue curve) that it is possible to create an expo-curve in hardware, by adding two SMD-Resistors per potentiometer!

The Potentiometers in the 2402D have 5kohms. Choosing R=4k7 creates a moderate expo curve, 3k3 or 2k7 would make stronger expo curves, but I found the response with 4k7 quite right. Please also keep in mind, that the lower you choose R, the more current is drawn from the batteries. Soldering SMD Resistors onto the potentiometers is not quite trivial, the photo below shows the placement marked with little pink circles. Normal wired resistors would do fine too. I just happend to have them around as SMD.

If you want to experiment with different resistor values yourself, find the spreadsheet attached here. Besides an expo-curve with parallel resistors, it also supports a flattened dual rate curve by adding resistors in series to the potentiometer. -> expo_poti.ods

CAUTION: The potentiometers are not used up to their full travel. Thus, the min and max values also change with this mod.
We do not intend to change min & max, and we should not, as the full range is needed for flight mode switching. When the instructions say move elevator 4 times up and down, the movement is not recognized if the travel is limited too much.
With 4k7ohm resistors, the min value is 8% instead of 0%, the max value is 94% instead of 100% and I am unable to switch flightmodes. With 6k6ohm resistors the the range is 6% to 98%, and flight mode switching works.

It’s hackweek time again!

For converting your ladybird into a flying SUSE Hackweek8 Log, follow these instructions:

The final result can be seen at: youtube.com/watch?v=I3mMbkKFepQ

Pitch Rotor Montage

Teilefertigung war gestern. Nun kommen noch einige ‘langweilige’ Teile, und dann wird sich zeigen, ob alles auch montierbar ist.

Blatthalter Paßstücke

Blatthalter Paßstücke

In den Blatthaltern sind 10mm Durchmesser Längsbohrungen, um die Schrauben der Blattlagerwelle und deren Kugellager zu erreichen. Die Gabelweite der Blatthalter is 5mm. Früher hatte ich spezielle Aluscheiben auf die Blattwurzeln aufgeklebt, um ein genau planparalleles Maß von 7mm zu erzeugen. Mit diesen Blatthaltern geht das nicht mehr. Die Blattwurzeln haben ohne jede Verstärkung schon 5mm Dicke. Daher werden jetzt Alu-Teile mit Gleitflächen in die Rundungen eingelegt.

Rohrschellen

Rohrschellen

Diese Rohrschellen sind eine Weiterentwicklung der jetzigen Klemmbleche, welche durch die vielen Einzelteile die Montage der Arme (12mm Durchmesser Alu-Rohr vom Baumarkt) erschweren. Die neuen Schellen sind einseitig und aus einem Stück, so daß die Befestigung an Zentralstück bzw. Grundplatte unabhängig wird von der Rohrklemmung, welche sogar mit Schraubensicherung eingeklebt werden kann. Die Montage im Zentralstück besteht nun nur noch aus 2 Schrauben, von denen eine als Drehpunkt die andere als Fixierung dient. Damit werden die Arme schwenkbar.

Naben, Wellen, Abtandsbuchsen

Naben, Wellen, Abtandsbuchsen

Die Hauptwellen bestehen aus 6mm Durchmesser massivem Silberstahl, 76mm lang. Das ist  sehr ähnlich der Heckrotorwelle des Logo XXtreme, aber ein gutes Stück kürzer, und damit nicht ganz so schwer. Verkauft mir jemand gehärtete Hohlwellen?

Die Naben sind aus Aluminium gedreht, mit Spannstiften fixiert und verklebt. Nach dem aushärten des Klebers kommen die montierten Wellen noch einmal auf die Drehbank, um Planfläche und Zentrierung fertig zu drehen.
Die Abstandsröllchen kommen zwischen die Flanschkugellager, damit das obere Lager nicht nach unten rutschen kann.

5 fertig montierte Rotorköpfe. Heureka.

5 fertig montierte Rotorköpfe. Heureka.

Montage ist recht trickreich. Die Domlager ruhen auf jeweils 4 kurzen Alu-Säulen, mit 2.5mm Innengewinde von unten und oben. Damit sind 8 Schrauben M2.5 nötig um alle Teile zusammenzuhalten. Die unteren 4 Schrauben sind nur erreichbar, wenn die Haupwelle gezogen wird. Falls das ein Problem werden soll, werde ich ein Loch ins Hauptrad bohren, genau am Rand zur Nabe.

Die oberen 4 Schraubenköpfe sind mit einem langen Inbus-Schlüssel erreichbar, der an den Blatthaltern vorbei durch die Servowippe hindurch erreicht werden kann. Dazu müssen sowohl der Rotorkopf als auch die Servowippe in geeignete Positionen geschwenkt werden. Damit sowohl die Nutensteine aus dem Weg fahren, als auch die Anlenkung der Blatthalter nicht im Weg ist.

Die Alu Winkel für Servo und Gegenlager werden zwischen Domlager und Säulen geklemmt. Die Bohrungen in den Winkeln sind weit genug, um Servoachse und Gegenlager zu justieren.

Die vielen Kabel im Bild sind: 3 Phasen Motor, Servokabel und Beleuchtung. Die Servokabel benötigen noch Verlängerungen, dann kann der elektrische Test beginnen. Testflug.