Quelltext der Seite Epi-OSD/en
Wechseln zu:
Navigation
,
Suche
[[Bild:Header-osd-2.jpg]] '''This English page is provided by Wicherd, crashedagain & brashley - anybody who is willing to help is welcome!'''<br> [[Lizenz|please visit our license-site! You have to act according to our license!]] ==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 [[Epi-OSD|German EPI-OSD-Site]] for the latest news * 24.05.2010: Server-Update! ** You now can find all related firmwares here: [[Firmware#FW_f.C3.BCr_EPI-OSD|Firmware für das EPI-OSD]] 20.11.2008: Firmware 0.8.2.5 *Changes **A Command line was added. More at [[EPI_Shell]] **Data for the NC will no longer appear 14.09.2008: Firmware 0.8.2.3 available for download *Changes **The battery meter graphic was removed **Values for V, A, mA(h) were added **The Compass is now graphically displayed **General cleanup in the source code [[Bild: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 *Download at: http://mk-epi.de/OSD/HW02/FW_0_8 *This version is still a little experimental. Don’t get upset if it crashes 21.08.2008: Firmware 0.8.1 is available for download at http://mk-epi.de/OSD/HW02/FW_0_8 *There is now only one version. The RC-operation is switchable from the Menu *Extras: Will recognize the settings and then hide the non-relevant ones. **In case the settings are not recognized or under PC / BT operation, the last setting will be used. *The most important settings will be shown but only when PC/BT is switched off *The Variometer (rate of climb) and Altitude values are displayed further out *Null values are still displayed, this will be considered in the next FW [[Bild: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: *LiPo voltage (as bargraph) only in Volts - no bargraph with the latest firmware *Height *Heading *Flight time *Climb rate. Using the NaviCtrl board from [http://www.mikrokopter.de Mikrokopter] the following data can be shown: *Number of satellites *Lattitude *Longitude In case of interference (Tx/Rx?) the OSD flashes. The following display modes are available: *OSD off *OSD on *OSD on, horizon indication on *OSD on, climbe rate on These modes can be selected and set using a channel on the remote. ==EPI-Menu== Menu function with the following possible settings *PAL/NTSC (at the moment only PAL is selectable, see http://mk-epi.de/OSD/HW02/FW_0_8/NTSC/ for NTSC firmware version) *PC/BT ON, the OSD will not send data to the FC (allows PC/BT to work) *Kennung (Callsign) ON, will show the user's given Callsign **CaScAde was such a nice little program to write, see [[OSDCG - OSD Callsign Generator]], you can tinker and generate your own Callsign for the OSD *RC-Betrieb (RC-Operation) ON, the OSD mode is switchable by RC channel input The EPI-Menu is also described [[EPI-Menu|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. [[Bild:OSD MENU 2.JPG]] ==Communication== *Communicating with the Quadrocopter **Serial interface **SPI interface as Master or Slave *Communicating wit the PC **Serial interface with TTL level converter ( TTL level converter: e.g. Sercon ) *Communicating with the NaviCtrl **Serial interface 2 (STK500) on the EPI-OSD and the Debug-interface on the NaviCtrl **Pin 8 on the OSD (Stk500) **Pin 9 on the NaviCtrl (Debug-port) ==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 [[Bestellung|order-site]]. Picture of the Board <gallery>Bild:OSD_Platine.jpg| Bild:OSD-loet-foto.jpg|</gallery> ==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'') {| border=1 ! style="background-color:#f8f8ff;" |'''QTY''' ! style="background-color:#f8f8ff;" |'''Value''' ! style="background-color:#f8f8ff;" |'''Device''' ! style="background-color:#f8f8ff;" |'''Reference Designator''' ! style="background-color:#f8f8ff;" |'''[http://www.mouser.com/ Mouser] Part #''' |- |2 |75ohm |1206 SMD Chip Resistors 1/4watt 75ohms |''R1'', ''R2'' |[https://www.mouser.com/Search/ProductDetail.aspx?R=CRCW120675R0FKEAvirtualkey61300000virtualkey71-CRCW1206-75-E3 71-CRCW1206-75-E3] |- |1 |470ohm (could also be 1K) |0805 SMD Chip Resistors 1/8watt 470ohms |R14 |[https://www.mouser.com/Search/ProductDetail.aspx?R=CRCW0805470RFKEBvirtualkey61300000virtualkey71-CRCW0805470RFKEB 71-CRCW0805470RFKEB] |- |7 |1Kohm |0805 SMD Chip Resistors 1/10WATT 1KOHMS |''R3'', ''R4'', ''R5'', R11, R12, R24, R25 |[https://www.mouser.com/Search/ProductDetail.aspx?R=260-1.0K-RCvirtualkey21980000virtualkey260-1.0K-RC 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 |[https://www.mouser.com/Search/ProductDetail.aspx?R=292-10K-RCvirtualkey21980000virtualkey292-10K-RC 292-10K-RC] |- |1 |1N4004 MELF |Diode - Silicon 1N4004 1A |D1 |[https://www.mouser.com/Search/ProductDetail.aspx?R=FM4004-Wvirtualkey58300000virtualkey583-FM4004 583-FM4004] |- |2 |22pF |0805 SMD Monolithic Ceramic Chips 22pF |C6, C7 |[https://www.mouser.com/Search/ProductDetail.aspx?R=GRM2165C1H220JZ01Dvirtualkey64800000virtualkey81-GRM2165C1H220JZ 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'' |[https://www.mouser.com/Search/ProductDetail.aspx?R=C0805C104M5UACTUvirtualkey64600000virtualkey80-C0805C104M5U 80-C0805C104M5U] |- |3 |22uF |SMD Aluminum Electrolytic Capacitors 22UF 16V |''C10'', ''C11'', ''C17'' |[https://www.mouser.com/Search/ProductDetail.aspx?R=AFC226M16C12Tvirtualkey59850000virtualkey598-AFC226M16C12T 598-AFC226M16C12T] |- |1 |100uF |SMD Aluminum Electrolytic Capacitors 16V 100uF |''C9'' |[https://www.mouser.com/Search/ProductDetail.aspx?R=AVS107M16D16T-Fvirtualkey59850000virtualkey5985-AVS16V100-F 5985-AVS16V100-F] |- |1 |16MHz |SMD Microprocessor Crystals 16MHz |Q2 |[https://www.mouser.com/Search/ProductDetail.aspx?R=ECS-160-20-5PXvirtualkey59070000virtualkey520-CSM1600-20-X 520-CSM1600-20-X] |- |1 |27MHZ |Metal Can 27MHZ Crystals |Q1 |[https://www.mouser.com/Search/ProductDetail.aspx?R=ABL-27.000MHZ-B2Fvirtualkey52750000virtualkey815-ABL-27-B2F 815-ABL-27-B2F] |- |2 |100uH |SMD Chip Inductors 100uH |L1, L2 |'''Attention!''' note the power of the CAM/transmitter<br> [https://www.mouser.com/Search/ProductDetail.aspx?R=CM322522-101KLvirtualkey65210000virtualkey652-CM322522-101KL 652-CM322522-101KL] 100uH (for up to 100mA)<br> [https://www.mouser.com/Search/ProductDetail.aspx?R=LQH32CN220K23Lvirtualkey64800000virtualkey81-LQH32CN220K23L 81-LQH32CN220K23L] 22uH (for up to 250mA) |- |2 |2x5 |.100" Double row header 2x5-pol. |X3, X4 |[https://www.mouser.com/Search/ProductDetail.aspx?R=67996-110HLFvirtualkey64910000virtualkey649-67996-110HLF 649-67996-110HLF] |- |2 |6.2x6.5x3.1 |SMD Tactile Switches 6.2x6.5x3.1mm 100gf |S1, S2 |[https://www.mouser.com/Search/ProductDetail.aspx?R=SKHMQKE010virtualkey68800000virtualkey688-SKHMQKE010 688-SKHMQKE010] |- |2 |green |LED SMD Super Bright GREEN WATER CLEAR |LED1, LED3 |[https://www.mouser.com/Search/ProductDetail.aspx?R=APT2012SGCvirtualkey60400000virtualkey604-APT2012SGC 604-APT2012SGC] |- |2 |red |LED SMD Standard HI EFF RED WTR CLR |LED2, LED4 |[https://www.mouser.com/Search/ProductDetail.aspx?R=APT2012ECvirtualkey60400000virtualkey604-APT2012EC 604-APT2012EC] |- |1 |7805 |Linear Regulators 3-Terminal 1A "SMD-Like Mount" |''IC3'' |[https://www.mouser.com/Search/ProductDetail.aspx?R=KA7805ETUvirtualkey51210000virtualkey512-KA7805ETU 512-KA7805ETU] |- |1 |MAX7456 |MAX7456 |''U$1'' | [http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=MAX7456EUI%2B-ND MAX7456EUI+-ND] at digikey |- |1 |ATMEGA162-16AU |Microcontrollers - RISC 16kB Flash 0.5kB EEPROM 35 I/O Pins |IC1 |[https://www.mouser.com/Search/ProductDetail.aspx?R=ATMEGA162-16AUvirtualkey55650000virtualkey556-ATMEGA162-16AU 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 [http://www.mk-epi.de/index.php/Epi-OSD#St.C3.BCckliste 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 == <gallery>Bild:OSD-Schalt.jpg|Schematic of the EPI-OSD board - Click to enlarge Bild:OSD-loet.jpg|Solder side of the EPI-OSD board - Click to enlarge Bild:OSD-best.jpg|Component side of the EPI-OSD board - Click to enlarge Bild:OSD_Platine.jpg|Photo of the actual EPI-OSD board - Click to enlarge Bild:Anschluss-osd.jpg|Connection plan for the EPI-OSD board- Click to enlarge</gallery> ==How to build== For instructions: [[Löten_der_OSD_Platine/en| 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 *Attention Pony -Programmers In case of Read-/write errors and some odd effects using wires in different length: add the parameters shown below in the Pony.INI **AVRByteWriteDelay=30 'Delay to complete the write of a single word AVREraseDelay=100 'Delay to complete the erase of all the memory **'In case of ATmega increase also the following parameter: ATMegaPageWriteDelay=50 'Delay to complete the write of a page of flash memory ===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! <gallery>Bild:Capture 08092008 152531.jpg|Fuse-bits setting using Pony-Prog - Click to enlarge</gallery> 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/ * Logo1.hex * Logo2.hex * Logo3.hex * Logo4.hex * osdchar1.hex * osdchar2.hex * osdchar3.hex * osdchar4.hex * osdchar5.hex * osdchar6.hex * osd_char76_7a.hex * osd_char7b_7e.hex * osd_char0x00.hex 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 [[Firmware#FW_f.C3.BCr_EPI-OSD|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. * The Fuses are still set to the right values - nothing to do here. * Character- and logo-files have been programmed - the MAX7456 will hold the right characters - You don't have to do this twice. 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: * -p indicates the processor type * -c indicates the programming adapter -> in this case SerCon compatible. * -P indicates the connection to the PC -> in this case COM1 under Linux * -U conducts a saving process - ''Speichertyp''''':'''''Lesen/Schreiben''''':'''''Datenqelle/Ziel''''':'''''Typ der Quelle/Ziel''' * -v Output of more debug info 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:OSDv'''XXXXXX'''.hex:i avrdude -p m162 -c siprog -P /dev/ttyS0 -v -U eeprom:w:OSDv'''XXXXXX'''.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: * LED1 (green): ** on continuous = everything is fine! ** Flashing = Manual control * LED2 (red) : Flashing at 1Hz * LED3 (green): Flashing at cycle time of the OSD * LED4 (red) : Flashes when the data from the FC is being transferred. ===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: * Mode 1: OSD off * Mode 2: Logo is displayed * Mode 3: OSD display without HUD * Mode 4: OSD display with HUD * Mode 5: ----free----- * Mode 6: ----free----- ===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== {|border=0 |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: * ground speed * Receiver level * Serial Link OK * Compass heading * Variometer (sink/climb) * Altimeter (actual height) * Direction to home position * Distance to home position * Lipo-Voltage * Uptime (of the OSD) * Flight Time * Manual Control * Number of GPS-Sattelites * Coming Home / Position Hold active 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=/C-OSD/#_C-OSD_ http://svn.mikrokopter.de/mikrowebsvn/listing.php?repname=Projects&path=%2FC-OSD%2F#_C-OSD_]
Zurück zur Seite
Epi-OSD/en
.
Navigationsmenü
Meine Werkzeuge
Anmelden
Namensräume
Seite
Diskussion
Varianten
Ansichten
Lesen
Quelltext anzeigen
Versionsgeschichte
Mehr
Suche
Navigation
Hauptseite
Shop
Bestellseite
Lizenz
Technik
EPI-OSD
EPI-Strom
EPI-USB-Prog
Epilepsy
EPI-Tester
Software
Firmware
Partnershops
NG Hobbies CA
FlashRC FR
Elektro Modely CZ
AltiGator BE
Wiki
Aktuelle Ereignisse
Letzte Änderungen
Zufällige Seite
Werkzeuge
Links auf diese Seite
Änderungen an verlinkten Seiten
Spezialseiten
Seiteninformationen