|
|
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
Is this still the same project that we started this thread with as in this schematic? - Thanks, Rick |
|
|
||
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
Would it be possible for you post the schematic and code you are working with so far, even though it is not polished ? Even though it is not perfected....it is fun to follow I have a https://www.sparkfun.com/products/9168 so maybe I could incorporate it also for others to follow ![]() Thanks again for sharing, Rick |
|
|
||
|
|
||
|
|
Quote:
![]() I'm not quite sure what I'll do with the project yet, but there is already quite a few MAX7456 OSD's out there if you need some inspiration. |
|
|
||
|
|
||
|
|
Quote:
|
|
|
||
|
|
||
|
|
Quote:
![]() Remember the reset-line must be pulled high on your board. The code from Sparkfun gives a good idea about the communication with MAX7456. It's not copy-paste compatible with Arduino, but close ![]() https://www.sparkfun.com/products/9168 I plan to release everything sooner or later, but not until I have a descent version available. Schematic will be available when the PCB arrives and have been confirmed to work |
|
|
||
|
|
||
|
|
Quote:
https://www.sparkfun.com/products/9168 |
|
|
||
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Well, I have looked at the schematic and code at the bottom of Sparkfuns page but it appears I am missing some knowledge on connecting it and getting the code to compile with the arduino -
So I am looking for some help Have you got something that works with the arduino and sparkfuns board?
|
|
|
|
|
||
|
|
Quote:
|
|
|
||
|
|
||
|
|
Quote:
|
|
|
||
|
|
|
|
|
narh, what the heck.. For those of you who want to have a look, feel free. But please be aware that it's in no way meant as a release-version
It should by no mean be used as a fully working version (though it most likely does work flawless ). A few notes on schematic... - MAX7456 crystal must be 27 MHz, - C5 and C6 must be 47 uF - Crystal-caps depends on the crystal. - RSSI, current-sensor and RX+TX series resistor is just "random value" to get the footprint. - Decoupling capacitors on Vcc (buttom right) is just to get the footprint for PCB-design. I will use what I have around and find suitable. R5 and R6 should be 75 ohm resistors (video-impedance). I just put 82 ohm as the 75-ohm value wasn't in my library. A few notes on firmware - Very early version not tested very well. LOS limit moved to around 50 kilometers LOS will change from meters to km when above 10 km UART uses interrupt for best performance. Serial.print can't be used Only ~30% memory used so far, plenty of space left. ![]() If you have any questions or need help with the code, please wait until an actual release with a bit of explanation etc ![]() https://dl.dropbox.com/u/3947315/MAX7456_OSD.rar PCB-design etc. will most likely be available later. The main firmware is pretty much done - so I'm open to ideas |
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Awesome work Dennis
![]() Attached is a picture of the components which would be awesome to use if compatible with your program ! I'm hoping one of your (smarter then I) readers can use this image to sketch in the wires illustrating the connections, while you are continuing to polish your project. Rick |
|
|
|
|
||
|
|
Quote:
I will later add some gyro and accelerometer support and a little filter to keep it running smooth. Sending data to the ground is not really an option with MAX7456. Using the audio-channel is a possibility, but as I use Lawmate, I don't really have good audio-channel to use. |
|
|
||
|
|
||
|
Joined Jul 2008
236 Posts
|
Quote:
Haven't checked, but I think MAX7456 does not support VBI, so there's no ability to send data through video channel also - and I guess that cheap EasyCap ripoffs will struggle with VBI decoding. |
|
|
||
|
|
||
|
|
Quote:
|
|
|
||
|
|
||
|
|
Quote:
![]() You should note that you will get some chinese-characters, until you load my character-set for MAX7456 (included in the code but out-commented as they only have to be uploaded once). Connect it like this, upload the code and you should see the magic start . You don't need a camera connected, it will automatic generate sync-pulses etc. if no video-signal is present. MAX7456 -> Arduino CS - > PB2 (10) SDIN - > PB3 (11) SDOUT - > PB4 (12) SCLK - > PB5 (13) GND - > GND 5 V - > 5 V Reset - > Vcc - if anyone plan to actually test the software, please let us know how it works |
|
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Dennis,
Again, it all compiled first time !!!! - amazing job !!! You would not believe how many things I have tried that would not compile. ![]() This evening, if all goes well, I plan to hook it up like this (see attached photo), unless I have something wrong ? Rick |
|
|
|
|
||
|
|
Quote:
![]() Your drawing looks right - just remember to connect GPS TX and RX to RX and TX on Arduino to get data. The signal from the current-sensor should also be connected, but start with just Arduino and MAX7456 shield. |
|
|
||
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
I came home and wired it up. Before I plugged the OSD into the video stream, I made sure I had a good picture with the camera etc. Then I plugged in the OSD and no change. So I redid the diagram just to be sure and rewired it....still no numbers etc. Hmm...I'm suspicious of the connections to the mini pro. I can't make sense of the your original schematic verses what you emailed me here? Looks like HSYNC, VSYNC and LOS all need to go to VCC through 1K resistors ....yes? MAX7456 -> Arduino CS - > PB2 (10) SDIN - > PB3 (11) SDOUT - > PB4 (12) SCLK - > PB5 (13) GND - > GND 5 V - > 5 V Reset - > Vcc |
|
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Hey Dennis,
It also compiled first time with Arduno Uno V3 However same results - ie. no numbers Hooked it up as follows MAX7456 -> Arduino UNO CS - > PB2 (2) SDIN - > PB3 (3) SDOUT - > PB4 (4) SCLK - > PB5 (5) GND - > GND 5 V - > 5 V Reset - > Vcc Rick |
|
|
|
|
||
|
|
Quote:
When you tested with Uno, did you connect directly to the USB-port (for power) or same problem with 5 volt connected to Raw? I will just check my connections when I get home.. (Just to be sure, you should be using 16 MHz crystal and not 8MHz) |
|
|
|
|
|
|
Just checked schematic..
http://arduino.cc/en/uploads/Main/Ar...-schematic.pdf The pro mini schematic don't use the same pinout.. Explains the problem. I think your Uno is a better candidate. |
|
|
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Uno and MAX
Quote:
Dennis, OK...when I get a few minutes I will hook it all up like this (see pict) and power it from the USB for now. I'll let you know what I find ![]() Rick |
|
|
||
|
|
||
|
|
Quote:
If you can't get it working, lI can try to dig out some of the old code I have laying about for arduino. Its been over a year since I played with the MAX board, but it shouldn't be that difficult to get a picture from it when hooked up to the DUE. - Thomas |
|
|
||
|
|
||
|
|
Quote:
Nevertheless - it's worth a try |
|
|
||
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
OK - hooked it up as in the last schematic - started with a good video - then I inserted our project - no difference - I did note that when only the output to the screen was connected the screen went from no signal to a gray screen when connected - then when I hook up the camera the screen shows what the camera see's - no OSD yet ?
|
|
|
|
|
||
|
|
Quote:
|
|
|
||
|
|
||
|
|
Quote:
![]() It's mainly the MAX7456 chip that's a bit tricky. I have a new PCB-design that was ordered some time ago. It have been shipped and will hopefully arrive next week. |
|
|
||
|
|
|
|
|
Just checked the connections again and compared with Arduino Uno schematic, my schematic and the breakout-board for MAX7456. As far as I can see that should be correct.
If you see a few posts back (okay, perhaps a lot) you can see that I also had the MAX7456 connected to the same pins on my Arduino-board Edit: Hard to see the exact connections, but as you can see I used pin 13, 12, 11 and 10.
|
|
|
|
|
|
|
|
Perfect
![]() I'll later post a little more details etc. on the project - mind if I use your picture now that you have confirmed that it works? Now, to get rid of the chinese-letters, in the main function you can find 3 if-sentences called if (1==0) { bla bla } If you first change the 2 first to 1==1 upload the code and wait 10-20 seconds (it will upload text-characters etc). Make them 1==0 again and then do it with the last one upload and set it to 1==0 again. Not user-friendly, but hey, you are using a pretty early version
|
|
|
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
Of course you can use any of these pictures - I consider them more yours then mine anyway I could never have done this !! I'll keep updating the schematic as we add the components.What do you mean, "you are using a pretty early version". If you are talking the MAX7456, it is new ! - just received it a few days ago for this project ![]() Ya this Chinese letter thing is not too friendly - let me try and see if I can do it ![]() I see you included a bunch of stuff for it in your download. We really need to make it easier for simple folks like me ![]() Rick |
|
|
||
|
|
||
|
|
Quote:
You don't need all the extra material I have included, all the characters, arrows etc. is already included in the code ![]() By pretty early version I referred to the software-version |
|
|
||
|
|
|
|
|
Rick, you can upload this version.
It will automatic upload the characters for MAX7456. Just note that MAX7456 must be connected while you program the controller ![]() https://dl.dropbox.com/u/3947315/MAX7456_OSD_2.rar |
|
|
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
I can't figure the pins - guess I need to study them a bit more ? For example GPS -> Arduino UNO GND - > GND 5 V - > 5 V IN - > PD1 (??) OUT - > PD0 (??) Rick |
|
|
||
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Dennis,
V2 compiles first time with both mini pro and uno and looks excellent as in the pict I posted previously I'm assuming V2 loaded the English text with the mini pro because I had only done it manually with the Uno - so I think it worked perfectly ![]() When I input video, it threw the text around (see Pict). - problem maybe ntsc verses pal? Also I hooked gps-out to rx0 uno and gps-in to tx1 uno and "still waiting" I believe the baud rate for my gps is 38400 - change the 9600 in config.h //#define BAUD 9600 #define BAUD 38400 not sure if that was the right place to change things ? Tried mini pro again - tried to read Arduino Mini Pro schematic - (hard to understand for me ![]() UNO -> MINI PRO cs=pb2=pin 10 -> pin 12 ? sdin=pb3=pin 11 -> pin 11 ? sclk=pb5=pin 13 -> pin 9 ? sdout=pb4 =pin 12 -> pin 10 ? Didn't work - gray screen // General configuration #define VideoSignalType_PAL //#define VideoSignalType_NTSC // Unit system #define UnitSystem METRIC ///#define UnitSystem IMPERIAL // gps baud rate Rick |
|
|
||
|
|
Quote:
TX -> RX RX -> TX The pin-config for MAX7456 is the same for most Arduinos, just to mention the most used boards; Arduino Uno, Arduino duemilanove and Arduino Nano (which I would pick). Arduino mini pro uses pin 9, 10 and 11 - but it doesn't seems like SS is available. It can probably be fixed with another software-version, but I would suggest using Arduino Nano instead. |
|
|
||
|
|
||
|
|
Quote:
(just move all 3 connections 1 place) A0 = Battery voltage (from resistor divider) A1 = RSSI A2 = Current sensor It can be changed in software, but that's what I'll be using as default. Please be aware that the voltage you have connected from the current-sensor MUST be connected with a voltage-divider. Otherwise you will end up with a dead Arduino. ![]() (Vin is battery-voltage, Vout goes to A0 pin on Arduino. For max 4S li-po, with good safety margin, something like R1= 10K ohm and R2 = 3.3 K ohm could be a possibility) |
|
|
||
|
|
||
|
|
Quote:
![]() The "jumping text" is caused by wrong PAL/NTSC settings. NTSC/PAL settings is not implemented, same goes for unit-system If you actually plan to hook it up and do a real test - please let me know and I'll fix you a software-version with NTSC ASAP. |
|
|
||
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
You said, "If you actually plan to hook it up and do a real test - please let me know and I'll fix you a software-version with NTSC ASAP." A Nano should be here Monday and I hope to have everything running with the Uno, then I can load it all onto the Nano and fly - Any other ideas beside the baud rate that would prevent the gps from working now? I have a couple of these http://www.digikey.com/product-searc...ds=620-1238-nd Do you think one of these would work better then the other sensor I have been showing in the schematics? Not sure what size Cf and Rf is supposed to be? Rick |
|
|
|
||
|
|
Quote:
In that case, yes . The hardware and software is pretty much ready for a test-flight, just need some sparetime ![]() If you look at the last couple of posts you'll notice, that I have done a little more than a quick test. |
|
|
|
||
|
|
Quote:
The schematic you have drawn for Arduino Nano should be right ![]() Nano uses same pins as Uno, duem etc: D13 = SCK D12 = MISO D11 = MOSI D10 = SS The voltage-divider is also connected right ![]() You can connect the voltage from urrent-sensor to Vin (called Raw sometimes) if you want to use the onboard regulator. The current-sensor from Allegro is pretty bad at driving capacitive load, so you will need a large capacitor and pretty small capacitor. Can't remember the values, but did a quick calculation and showed a simulation a while ago. |
|
|
||
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
I have both and just soldered the ACS756 as you see in the pict. I need to solder the capacitors ect after I figure which size CF and RF as in the schematic (see report 2164 above)? The specs say, "CF is for optimal noise management, with values that depend on the application". So what does that mean ? Not sure if it would wire up the same nor if the code would work as is. And I'm not sure how we would compare ? Rick |
|
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
You said, "You can connect the voltage from urrent-sensor to Vin (called Raw sometimes) if you want to use the onboard regulator." Are you suggesting powering the Arduino's with a 3 or 4 cell ~ 11 + Volts? I guess I have been concerned about frying the little guys. And I heard switching BEC's are more efficient (for the larger V drops) then the linear voltage regulators (used by the Arduino's). So,,,,I have been using switching 5 ~ 5.5 V BEC regulators to power Arduino's. I got concerned and looked into when I saw folks frying their $200 APM2 boards Maybe my concern is not valid ?Don't linear voltage regulators get hot going from 11 + down to 5 ? Rick |
|
|
||
|
|
||
|
|
Quote:
In the Performance Characteristics charts on the datasheet it shows that using a 10nF capacitor for CF, there is a maximum of 10mv noise (pretty much nothing since the Atmega328 ADC has increments of about 40mv). In the Common Operating Characteristics chart, it shows that the Output load capacitance shouldn't exceed 10nF, so CF should be 10nF or lower. RF seems to be a simple current limiting resistor so the output of the IC doesn't burn. I would just use something around 1k ohm, its not a particularly critical value at all (correction, see post 1944). |
|
|
|
||
|
Danmark, Midtjylland, Galten
Joined Oct 2011
205 Posts
|
Quote:
Rick... Have a look here: http://www.rcgroups.com/forums/showp...postcount=1944 Looks like a 10 nF capacitor and a 10 K resistor will be close. |
|
|
|
||
|
|
Quote:
![]() They do get hot, but it depends a lot on the load and input-voltage. But just stick to the BEC/UBEC, that's the best solution |
|
|
||
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Having trouble getting MAX7456_OSD_2.rar to see gps - The gps is working fine with the "TinyGPS" program -
I have set the baud rate in V2 to 38400 as in the "TinyGPS" program. This is the gps I have (see attached). Maybe there is the DIYdrone firmware that is allowing it to work with the TInyGPS but not the MAX7456_OSD_2. I see if working with Remzibi's OSD that DIY says one should install the Factory default firmware - It says, "Factory default firmware (If you're using Remzibi's OSD, you should use this!" maybe the problem?
|
|
|
|
|
||
|
|
Quote:
|
|
|
||
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
Thanks Dennis ![]() Updated the gps firmware. It appears V2 see's the gps now (see pict)I'm hoping the flight video w/coordinates will help if the copter/plane goes down in the woods Can we toggle on/off? Rick |
|
|
||
|
|
||
|
|
Quote:
![]() The delay is mainly to make sure the GPS have a good fix before setting home-postion. It can be changed in config-file. GPS-coordinates is not exactly on top of the TO-DO list. It will require a lot of new small characters (or using same large font as the one that's used now). |
|
|
||
|
|
|
|
Joined Aug 2011
55 Posts
|
On this DIY OSD, is everything connected the same way as the Minim OSD?
Like, would this work? http://dx.com/p/minimosd-ardupilot-m...rotocol-149351 its only $27, with FTDI!!!!!!!!! |
|
|
|
|
San Marcos, CA
Joined Aug 2009
2,570 Posts
|
MinimOSD is for Mavlink only .. it doesn't have any processing .. it's just a display board and all data needs to be transmitted calculated...
I am currently in the process of hacking the MinimOSD and rewrote the entire software :-) Tested today and I flew 22000mph :-D I got a the wrong conversion value .. hehe .. more in my thread "Hack the MinimOSD" - search on RCG .. it's late and I am lazy :-D Happy Holidays! |
|
|
|
|
||
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
Quote:
Dennis, I hooked things up as in the schematic for the UNO and plugged a 3 cell into the current sensor after I soldered in the resistors (see Pict). On the other end of the sensor I plugged in a 5 volt BEC which powered the UNO, GPS and MAX. The CUR on the OSD=0.0 ...maybe it is too small to measure? but I would think it might be 0.1 or something. I'll have to hook up a motor tomorrow to see if it measures any higher current. The MAH is 0.0 . I'll leave this connected for a while to see if it measures anything The VLT on the OSD =4.8 ~ 4.9. I was expecting it to be the pack voltage + 12 Volts? Any ideas? Rick |
|
|
|
|||
|
|
Quote:
Quote:
It behaves a little weird, but I believe that's just caused by the settings on MAX7456 |
||
|
|||
|
|
|
|
|
Rick, in config you have to change
#define VOLT_GAIN 1 It should match your voltage-divider. If you used 3.3K and 10K try with something like 5.12 The value is calculated something like this; // Calculated by (1024)/(50*divider) Edit: Think I might have done it different this time, might by 1/x instead. That gives something like 0.195 in your case |
|
|
|
|
|
Guys, to keep this thread on track for those making the OSD this thread was originally about, I've created a new thread for the MAX7456 version.
A lot earlier than planned, but the last many pages of this thread is MAX7456 talk ![]() http://www.rcgroups.com/forums/showt...0#post23349412 |
|
|
|
|
|
|
Germany, Berlin
Joined Aug 2012
7 Posts
|
Hi Dennis!
Thanks for your time that takes this project. My question is, if you could give some short advice to me for exploring the distorted display like in the attached picture. The artificial horizon is okay even the attitude (0 0 0 °) - so what can i do? |
|
|
|
|
||
|
|
Quote:
![]() What hardware do you use? LM1881 or analog comparator? If you use LM1881 it should do all the work. If it's the analog comparator, have you checked the potentiometer etc? |
|
|
||
|
|
|
|
Germany, Berlin
Joined Aug 2012
7 Posts
|
I use the LM1881 on a breadbord.
I wonder, why a "middle" area is working but not the upper and the lower?! Could that be a timing problem? I use the newest (repacked) software. Ah, and maybe this is important: I do not have no "sensores" attached to Conn2 - no battery no gps, no rssi. |
|
|
|
|
|
|
|
Dennis, please may I ask you to give me an example of how to set up a Pin change Interrupt handler within the DIY ODS code? I know about using external Pins two and three but I also understand any of the other pins can be configured for an internal interrupt on change.
Here is an Library for Pin change however, I don't want to use the library but inline C code. Hope that makes sense. http://arduino.cc/playground/Main/PinChangeIntExample Thank you. |
|
|
|
|
|
|
Joined May 2010
72 Posts
|
I had this problem when I started using an edited version of the 0.18 firmware. The problem is that your lines are too "wide" - you are drawing pixels outside the screen. Decrease some delays, remove pixels, or remove som time consuming calculations to fix it.
|
|
|
|
|
|
|
|
I am, I've been trying to figure this out myself but I can't get the video tracking quite right.
I'm using the lm1881 and it's all just breadboarded up now, source camera is a keychain 808 #16v2, new firmware, all that jazz. I cannot seem to get the current and voltage reading section onto the screen, I've seen it down there with flickering but when everything clears up its gone. Is there a certain line of code I need to alter in order to, well, decrease vertical spreading? What's the reasoning for moving on to this later MAX7456 in a nutshell? |
|
|
|
|
||
|
Joined May 2010
72 Posts
|
Quote:
The code for the original OSD is also quite messy and takes up a lot of space. It consists of a lot of "should I put a pixel here or not?". In some cases this is nice, as you can draw anything on the screen. But you don't have time or space to do more advanced things. |
|
|
||
|
|
|
|
United States, AZ, Prescott Valley
Joined Feb 2012
177 Posts
|
In a nut shell:
They are two separate OSD projects. This one is very simple, inexpensive and limited while still being an excellent DIY Open source OSD - (if it fails the rest of the system can keep running ie very safe) The other project, the DIY MAX7456 OSD is almost unlimited, with a lot of extra CPU-time to do whatever you want. It incorporates a different set of hardware and various optional sensors. (If if fails most likely your flying craft will too ![]() Both excellent and amazing projects and both can be built by a novice such as myself
|
|
|
|
|
||
|
|
Quote:
![]() As you can sort of see the current and voltage line that's normally along the bottom has offset and started showing from the top of the screen. Once I "jiggle my connections" I will eventually get this image which comes in clear but is missing the bottom portion of the overlay. ![]() Any ideas? |
|
|
||
|
| Thread Tools | |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Discussion Diy osd | karl k | Video Piloting (FPV/RPV) | 2 | May 03, 2011 12:31 AM |
| Idea New DIY OSD? | atari7202 | Video Piloting (FPV/RPV) | 1 | Mar 25, 2011 12:08 AM |
| Discussion see my own diy OSD video | Passion | Aerial Photography | 7 | May 27, 2010 01:28 AM |
| Discussion REAL homebrew DIY OSD - Check it out! | jafoca | Video Piloting (FPV/RPV) | 8 | Jun 29, 2009 06:52 PM |
| Discussion picoOSD DIY PIC12F683 based OSD in C | kbosak | Video Piloting (FPV/RPV) | 6 | Jan 31, 2008 07:47 AM |