Epi-OSD/en

Aus Das Epilepsy Wiki
Wechseln zu: Navigation, Suche

Header-osd-2.jpg

This English page is provided by Wicherd, crashedagain & brashley - anybody who is willing to help is welcome!

please visit our license-site! You have to act according to our license!

Inhaltsverzeichnis

History

This project is started and maintained by Akku, Oschni and Wowie (Wolfgang Wierczeyko).

Updates

As it is difficult to keep 2 pages up to date, please make sure you see the German EPI-OSD-Site for the latest news


20.11.2008: Firmware 0.8.2.5


14.09.2008: Firmware 0.8.2.3 available for download

OSD 0 8 2 3kl.jpg


28.08.2008: Firmware 0.8.2. The FC now beeps as usual when the RX signal is lost


21.08.2008: Firmware 0.8.1 is available for download at http://mk-epi.de/OSD/HW02/FW_0_8

Setting2kl.jpg

General

The Epi-OSD is an optional add-on for Quadrocopters. It’s use is to overlay the flight data into the camera view via OSD. This includes an indication of Climb-rate. This climb rate is both shown in the OSD and represented as an audio signal. The OSD is based on the MAXIM-Chip: MAX7456. Data gets transmitted through a SPI-port and is converted using an Atmel ATMegas 162 for the OSD-Chip.

The following data will be shown:

Using the NaviCtrl board from Mikrokopter the following data can be shown:

In case of interference (Tx/Rx?) the OSD flashes.

The following display modes are available:

These modes can be selected and set using a channel on the remote.

EPI-Menu

Menu function with the following possible settings

The EPI-Menu is also described here

Menu Navigation Using the Buttons

By pressing S1 while the motors are stopped you can activate the Menu. The selection will show on the OSD similar to selection on the TV at home. Pressing S2 moves through the items in the Menu and then pressing S1 alows you to change the selected item. To exit move to the Exit item and press S1 to select.

Datei:OSD MENU 2.JPG

Communication

Communication with the FC

The EPI-OSD board communicates with the FC using the serial interface. It receives the values of the connected sensors this way. If you want to use the Altitude and Variometer (rate of clime) feature then you must have the air pressure sensor connected and working on your FC. The sensor then needs to be turned on in MK-Tools otherwise no altitude data will be transmitted to the EPI-OSD board.

If you want to use the mk3mag together with the FC (no NC) and the EPI-OSD, then you just need to make a ribbon cable with 3 clamp on connector and hook all three boards together.

The Board and "How-to-get-it"

The board is tested and you can order it via the order-site.

Picture of the Board

Parts-list

Attention!

Depending on the amount of power your camera and transmitter consume, it may be necessary to use a different inductor at L1, L2.

If the attached gear uses more than 250mA, the you need to connect them to the +Lipo (12v) or the +5v source.


(Italic named parts are on the bottom-side)

QTY Value Device Reference Designator Mouser Part #
2 75ohm 1206 SMD Chip Resistors 1/4watt 75ohms R1, R2 71-CRCW1206-75-E3
1 470ohm (could also be 1K) 0805 SMD Chip Resistors 1/8watt 470ohms R14 71-CRCW0805470RFKEB
7 1Kohm 0805 SMD Chip Resistors 1/10WATT 1KOHMS R3, R4, R5, R11, R12, R24, R25 260-1.0K-RC
7 10Kohm 0805 Chip Resistors 1/10WATT 10KOHMS R6, R7, R8 R9, R10, R13, R15 - R7 and R8 only populate when you have problems 292-10K-RC
1 1N4004 MELF Diode - Silicon 1N4004 1A D1 583-FM4004
2 22pF 0805 SMD Monolithic Ceramic Chips 22pF C6, C7 81-GRM2165C1H220JZ
13 0.1uF 0805 SMD Ceramic Chip Capacitors 0.1uF C1, C2, C3, C4, C5, C8, C12, C13, C14, C15, C16, C18, C19 80-C0805C104M5U
3 22uF SMD Aluminum Electrolytic Capacitors 22UF 16V C10, C11, C17 598-AFC226M16C12T
1 100uF SMD Aluminum Electrolytic Capacitors 16V 100uF C9 5985-AVS16V100-F
1 16MHz SMD Microprocessor Crystals 16MHz Q2 520-CSM1600-20-X
1 27MHZ Metal Can 27MHZ Crystals Q1 815-ABL-27-B2F
2 100uH SMD Chip Inductors 100uH L1, L2 Attention! note the power of the CAM/transmitter

652-CM322522-101KL 100uH (for up to 100mA)
81-LQH32CN220K23L 22uH (for up to 250mA)

2 2x5 .100" Double row header 2x5-pol. X3, X4 649-67996-110HLF
2 6.2x6.5x3.1 SMD Tactile Switches 6.2x6.5x3.1mm 100gf S1, S2 688-SKHMQKE010
2 green LED SMD Super Bright GREEN WATER CLEAR LED1, LED3 604-APT2012SGC
2 red LED SMD Standard HI EFF RED WTR CLR LED2, LED4 604-APT2012EC
1 7805 Linear Regulators 3-Terminal 1A "SMD-Like Mount" IC3 512-KA7805ETU
1 MAX7456 MAX7456 U$1 MAX7456EUI+-ND at digikey
1 ATMEGA162-16AU Microcontrollers - RISC 16kB Flash 0.5kB EEPROM 35 I/O Pins IC1 556-ATMEGA162-16AU
2 SMC BUE-90 BU-SMC-V (Or solder cable directly) X1, X2 SMC BUE-90

For the Reichelt parts list please see the German page here.

MBChris: Reichelt Parts list (Attention WITHOUT MAX7456 and alternative Inductors!) https://secure.reichelt.de/?;ACTION=20;LA=5010;AWKID=78045;PROVID=2084

Schematic and Assembly Plan

How to build

For instructions: Soldering the OSD Board/en (there you will aslo find the assembly plans)

Programming with Ponyprog

!!! Important !!! Always power on OSD and FC at the same time when connected together - otherwise the FC will not work!

Having Troubles?

If you have problems during programming the EPI-OSD then you should try and us a shorter ribbon cable. There have been some people that have had problems with cable longer than 0.5m

Regarding this problem, Heling wrote the following in the Forum: Thanks Heling

Basics regarding Flashing

The easiest is to use “Pony-Prog’ and the MK SerCom (note: the jumper needs to be in)

The 10-pin ribbon cable is connecter between ISP1 on the SerCom and X4 (ISP) on the EPI-OSD. Attention! Watch pin 1!

Please make sure that the Fuse-bits are set correctly. JTAGEN should for sure be deactivated, otherwise the buttons won’t work. It is recommended to activate EESAVE, that way after ver 0.7 you wont have to load the EEPROM every time. We also recommend to set the brown-out detection to 2.7V so the atMega will perform a Reset with lower Voltages.

The correct Fuse-bit settings are then: 0xFB, 0xD7, 0xFF. (Ext, High, Low)

Important with Pony-Prog: The program needs to be calibrated to the computer before the first programming otherwise the timings will not be correct and this usually means you will need to solder in a new ATmega…


Then load the following files at http://www.firmware.mk-epi.de/osd/Zeichensatz/


These are not firmware, we have to load some nice characters into the Max first… While loading this, hook up a monitor to the output of the OSD-board.

Now flash the Logo1.hex file into the Atmel and look closely at the monitor. After a bit you will see a similar picture emerge on the monitor, then you can move on to the flash the other 3 firmware Logo files. You then repeat the process for all the osdchar-firmware.


Important: All of this firmware should only be loaded/run once. These programs load the character set into the Max and the Max only has a few write cycles.


This process s repeated until logo/osdchar files are loaded/run. You should no longer see the Chinese character pop up on the screen.

Now choose one of the other OSD firmwares from the appropriate directory and flash it into the Atmel.


Performing Firmware-Updates

To perform a firmware-update you don't have to perform the above mentioned procedure.

Exception: If the Version of the running firmware is < 0.8.n, You have to flash the osd_char_xxx Programms, because some new signs have been designed for the compass e.G.

It is important here to wait after flashing until the AtMega has been flashing the MAX7456 - signed by flashing the red LED.

So for upgrading the Firmware you only have to flash the new Firmware-hex (and possibly a regarding *.eep-File) into the Atmel. The Hex-File using the "Write Program Memory"-button and the .eep using the "Write Data memory"-button.

Programming with avrdude

An alternative to using PonyProg (eg for Linux) is the console tool “avrdude”. Here we also use the 10-pole Ribbon wire to connect ISP1 on the Sercon and X4 (ISP) on the EPI-OSD - Important! ensure correct connection to pin 1!

Testing the connection between PC and Microcontroller:

avrdude -p m162 -c siprog -P /dev/ttyS0  -U lfuse:r:-:i -v 

Quick explanation:

Then we will get the actual lfuse settings. Avrdue, thanks to the –v option, will report back all the set fuse bits. If you get a timeout here then something is not right with your communication and you should NOT continue with programming. You will need to make sure you start avrdude as “root” or at least “sudo” so that it has the rights to access the COM-port.

avrdude: safemode: lfuse reads as FF 
avrdude: safemode: hfuse reads as D7
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK

Next we set the Fusebits for the OSD-Board:

avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U lfuse:w:0xFF:m -U hfuse:w:0xd7:m

Warning – There has been a change of the Fusebits, from version 0.7, JTAGEN must be deactivated to ensure that the menu works correctly and that the buttons are recognised. The above mentioned Fusebits are already correct. Should there be problems setting the fusebits – can be recognised by "verify Error", the entire chip should be deleted. For this, Avrdude offer option -e ( erases Flash+EEPROM )

avrdude -p m162 -c siprog -P /dev/ttyS0 -v -e

Following this we feed the Microcontroller as described above, with the various signs and graphics followed ultimately with the controller software. The actual flashing progress is nicely demonstrated by avrdude with progress bars. Following the Flashing of the individual files, please always check that avrdude did not output any errors and wait briefly until the controller utomatically resets and until the attached monitor displays a type of OSD. If no monitor is available, the process can also be checked by waiting for the red led to start flashing again. However, using a monitor is simply more fun as you can actually see the progress and you get reassurance that each stage has been successful. In the following example it is assumed that hex files are in the current working order.

avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:Logo1.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:Logo2.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:Logo3.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:Logo4.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:osdchar1.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:osdchar2.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:osdchar3.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:osdchar4.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:osdchar5.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:osdchar6.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U flash:w:OSDvXXXXXX.hex:i
avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U eeprom:w:OSDvXXXXXX.eep:i

Goal achieved: MAX7456 provided with graphics and Atmega with OSD-Firmware.

Communication with the EPI-OSD

The EPI-OSD speaks

Meaning of the LEDs:

The EPI-OSD Listens

The EPI-OSD listens to one of the channels from the transmitter (PPM signal). To do this we attach the relevant receiver channel or FC output onto solder pad “PPM”. Only attach the PPM-Signal – no GND and certainly No 5V! (Otherwise things will start to break!) If this channel has a 6 stage switch, it is possible (provided that the correct firmware is in use) to switch between the various modes of the EPI-OSD.

The modes are:

OSD Shell

If you connect the Sercom to the ODS and use a terminal program (for example the “Terminal-and-Flash” screen from MK-Tools), then you can use the OSD shell to configure or set the Call Sign. When you turn on the ODS it will provide a short text over the serial port.

This function is for firmware 0.8.2.5 and later.

You can find the manual here: EPI_Shell

Videos

{{#ev:rcmovie|d26eb03e91d5741a4a3b}}


{{#ev:rcmovie|e324677837d348a13310}}

Switching the Modi on the OSD.

Technical Data

dimension of the board: 50,5 x 50,5 mm²
Mounting-holes: fitting to the FC
voltage supply: 8-15V DC (It is possible to use a 4S-Lipo, but than you shoult mount the 7805 onto a heatsink!)
current needed: ca. 200mA (without camera / video-downlink)
weight: aprox. 19g (with golden connectors / without wires)

C-OSD - the open-source Software for the EPi-OSD

description

C-OSD is not a own project - it is more an alternative open-source firmware for the EPI-OSD.

The hardware is therefore the EPI-OSD-hardware.

Features are nearly the same, displayed will be:

Additionally after the flight there will be displayed some statistics

Forums-Thread

(in german): http://forum.mikrokopter.de/topic-8592.html

Homepage of the Projekt

(in english): http://www.mylifesucks.de/oss/c-osd/

SVN Source Repository

http://svn.mikrokopter.de/mikrowebsvn/listing.php?repname=Projects&path=%2FC-OSD%2F#_C-OSD_

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Shop
Technik
Software
Partnershops
Wiki
Werkzeuge