Jump to content

dave windymiller

Members
  • Posts

    414
  • Joined

  • Last visited

Everything posted by dave windymiller

  1. Hi FlyinFlynn Looks good. Interested to hear how it goes with both gps'. Ive ordered a ESP32C3 to play with and a smaller sd card too (i used what i had in "stock"!)! Point to note that the my original sketch was evolved to suit the barely adequate memory of the nano, particularly with respect to the writing of strings of data. Making a single string with several appended variables pushed it over the edge with erratic results. Your processor wont have that issue! Re flight coach, i have looked for hardware requirements for it but yet to find any (the first link from Peter Jenkins doesnt work for me!) Any info would be appreciated. cheers
  2. altimeter.inoaltimeter-serial.ino Max speed and altitude o meter files
  3. Attached Sketches (or programs for us oldies) gps_1s.ino gps_1s_serial.ino gps_var_rate.ino gps_var_rate--serial.ino
  4. “Max speed and altitude o meter” Whilst talking to a fellow model aircraft flyer about GPS’s etc, his view was that he cant be bothered to faf about with computers and just wanted a max speed and altitude indicator “so I don’t have to put my phone inside my funjet”. I figured this wouldn’t be hard as it is similar to my max altitude recorder (my first tinkering with Arduinos) and adding a GPS would get the speed data. This is the same circuit less the SD card reader and with an 0.91inch SSD1306 128 x 64 OLED module (address 0x3C) connected to the same connections as the BMP280. Ive written the software based on a once per second GPS data rate. As with the full-blown logger, the software also has a “serial version”, which is more for interest/testing/setting up purposes with its typical output as shown below (sat on my bench going nowhere!). Only a few satellites picked up so not full accuracy at this point! After power up, the display shows Max speed 0mph and Max alt 0ft. These values increase as the data does and is only updated if the values are higher until the reset is pressed. Max speed and height circuit. Library files for the display https://github.com/adafruit/Adafruit_SSD1306/archive/refs/heads/master.zip https://github.com/adafruit/Adafruit_Sensor/archive/refs/heads/master.zip
  5. Hi. Yes i will post the codes, just havent got that far yet! ------------------- The map wont display it until you tick the data file you imported in “Temporary Places” on the left hand panel (below). You can now zoom in and see the height and speed data on the map. Move mouse with LH button pressed to pan about. Middle button / roller pressed to rotate the view (as if looking out of a plane window!). RH button zooms in / out. Below is test data from me driving. You can click on any data point to see the info. Colour is speed and line markers are the height. The fastest speed is in red! Slowest is blue. You can open any new dataset and apply the .kst file to format it. Note – there is a bug in Google Earth that fails to show the height when recalling a style template .kst file. Simple Fix - When you apply the style template .kst file that you previously saved, also tick the “edit selected template” box. You don’t have to save it again but this tick makes the height display correctly for some reason! If you want to change the “style template” settings either create a new .kst file or tick the “edit selected template” when you select an existing template (.kst file). Make your changes to display the data with revised ‘style’ (you can choose to save it or not). You can open more than one GPS file and select which one to view with a tick in the data (LH “Places” panel). Google earth is not particularly easy to use but the above will get you started!
  6. To view data, use Google Earth Download & open Google Earth. Remove the SD card and insert into an SD reader on your PC. In Google Earth, use - File – Import – {select the file from the memory card reader Dataxx.csv}. Ensure “Delimited” and “Comma” are ticked then press “Finish”. It will ask , “Do you want to apply a style template to the features you ingested?” Create a new template and you will get:- In “Color” 1) Set “color from field”. 2) Select “speed” as the field. 3) Set the start colour to blue and the end colour to red. 4) Change the number of “buckets” to a high number say 50 (this is the number of shades between blue and red!). Note - you cant have more buckets than you have number of different speeds in your data! 5) Press “height” tab. In “Height” 1) Select “Set height from field” 2) Select “Height” as the field. 3) Select “Continuous” 4) Slide the slider so the maximum height to be displayed is approximately the same as the maximum in the data for realistic height display on the map (you can make it bigger if you want to exaggerate the altitude display?). 5) Select feet (the gps records hight in feet on the SD card). 6) Press OK. 7) Save the setup file as a name e.g. “height and speed.kst” More to follow!!!
  7. Making the GPS unit I will describe the latest version which consisted of :- 1) Arduino Nano £3.50 (CH340 versions need ch341 driver loading onto the PC 1st - https://www.wch-ic.com/downloads/CH341SER_EXE.html ) 2) BMP280 board 5V £3.50 (either 4 pin or 6 pin version but must be 5v) 3) SD card read/writer board 5V £2.50 4) Neo7M c/w antenna £8.50 5) Veroboard & wires 6) SD card 32gb or less (fat32 formatted) My module was powered by a 400mA AAA NiMh and will run all day on one charge. Ive tested it down to 3.5v so could be powered from a 1S lipo, balance lead or 3 cell nimh! I recommend that the power source is independent from the Rx battery for obvious reasons! I used Veroboard with the tracks cut using a drill bit and wire links added to achieve the circuit as shown below. I only soldered in the pins required on the Arduino Nano rather than all of them which simplifies things. If you add wires to run underneath the Nano, make sure they are insulated to avoid risk of shorting to the Nanos underside. A 4.8v to 3.8v supply can be used as shown but its also possible to connect 6-10V to pin “Vin”. The Nano generates 5 volts through a voltage regulator which then connects via the “5V” pin to the other boards as shown. The risk here is a mistake with 10V may burn out one or all of the boards (best get it working on 5V first). Also note – the Nano’s voltage regulator isn’t designed to power other modules so run it on the lowest voltage possible to avoid overheating. The 5V (vss) and gnd power connections are self-evident and connect to all boards. Below are the other connections. From To Nano D2 SD card reader CS (chip select) Nano D3 GPS TX Nano D4 GPS RX Nano D11 SD card reader Mosi Nano D12 SD card reader Miso Nano D13 SD card reader Sck Nano A4 BMP Sda Nano A5 BMP Scl The Nano has a reset button and pressing this when its running will close down the current data file, open a new one and reset altitude to zero. This is useful just before a launch! I used a nylon screw/nut through the case, left with some slack so pressing the screw head hits the button! It can be first built on plug in bread board first just to get it working of course! Software Software version “gps_var_rate_serial.ino” and “gps_var_rate.ino” I decided to have the software sample at 4 hz but write at a variable rate to the SD card. Every 1 second up to a speed of 75 mph, every 0.5 second up to 150 mph and every 0.25 seconds above 150 mph. These thresholds values can of course be altered! To overcome the issue of cheap modules “forgetting” their settings, the sample rate and GPS baud rate are programmed into the GPS module from the Arduino during each reboot. This also saves having to pre-program them manually before use! To accommodate the faster sample rate, the gps baud rate is set to (38400) and the serial data output is at 230400 baud. This version will not work on a Fake Neo.6m (rebadged Techtotop TD1030 GPS). Software version “gps_1s_serial.ino” and “gps_1s.ino” This software uses a GPS that samples once per second and a gps baud rate of 9600 (the default settings). Suitable for a GPS module that cant be adjusted and is ok for slow to medium speed models. The serial data output is at 115200 baud and should work on all Ublox GPS modules (and their fakes). I have noticed that spirited aerobatics can temporarily affect GPS reception but this is usually only a few data points affected (the data freezes briefly!). The software need various libraries installed into the Arduino IDE to work. https://github.com/mikalhart/TinyGPSPlus/archive/refs/heads/master.zip https://github.com/greiman/SdFat/archive/refs/heads/master.zip https://github.com/adafruit/Adafruit_BMP280_Library/archive/refs/heads/master.zip If you don’t know how to install library files, see https://support.arduino.cc/hc/en-us/articles/5145457742236-Add-libraries-to-Arduino-IDE in particular the bit about importing .zip files. Each version of the software has 2 options, one that reports the data as a serial stream as well as onto the SD card. The other version only stores data to the SD card. The serial version shows the data live to the Arduino IDE’s “serial monitor”. The non-serial versions have this disabled simply to give a bit more headroom for the software memory on the Arduino and is best for the version that will fly! Using the Serial monitor With the dataloggers Arduino attached to the PC via a USB lead and the Arduino IDE program running, press the serial logger (top right of the screen and looks like a magnifying glass with a dot in), check its connected to the correct COM port (Tools > port) and set the baud rate to 115200 or 230400 depending on software version. You should see the data appear line by line each second on the screen. You can see its altitude vary if you lift it up a few feet. If its gibberish you have the wrong baud rate!
  8. Checking if your GPS is a fake! Connect the GPS to Ublox software using an FTDI board and once its communicating, ensure the default 9600 baud is set. Select View – Text Console and you should see the gps communicating its NEMA messages that look like:- You need to reboot the gps whilst its still connected so its easiest with a FTDI board where you can just briefly disconnect the +5v wire between ftdi and gps. Clear the screen of text and reconnect the +5v. and you get something like at the start of the data stream:- $GPTXT,01,01,02,u-blox ag – www.u-blox.com*50 $GPTXT,01,01,02,HW UBX-G70xx 00070000 FF7FFFFFo*69 $GPTXT,01,01,02,ROM CORE 1.00 (59842) Jun 27 2012 17:43:52*59 $GPTXT,01,01,02,PROTVER 14.00*1E $GPTXT,01,01,02,ANTSUPERV=AC SD PdoS SR*20 $GPTXT,01,01,02,ANTSTATUS=DONTKNOW*33 This is a genuine u-blox Neo7m i.e. UBX-G70xx (note - some fake NEO8m chips are actually relabelled NEO7m chips which are at least 7 years older) Or you may get:- $TDINF,Techtotop Multi-GNSS Receiver*63 $TDINF,T3,RomFw,1.1(48),Aug 12 2016 16:57:35*02 $TDINF,GNSS=BDS+GPS,ANT=Integrate*6A The response from a fake Neo-6m (Techtotop TD1030 processor) which has probably a iffy looking label! Or you may find the first 3 lines of $GPTXT are missing so you don’t know what it is! Like I said, even the fake ones work ok at 1hz! A fake neo8m that turns out to be a Neo7m would work fine even at higher sample rates but its not the point as it’s a misrepresented sale! – send it back! SD card & card read/write module & Data file The 32 gb or less micro SD card has to be formatted to FAT32. A disk of 1gb is more than enough so an old card is perfect. Obviously, you also need an SD card reader or a converter to USB to get the data onto your PC too. Around £2.00 from ebay if you haven’t got one! The time-data beamed from space is accurate to fraction of a second compared with a radio time signal clock but the hour is in universal time UTC (same as GMT). I add an hour in the code so it displays as BST as I’m more likely to fly in summer. I could add a switch (summer/winter) but decided it was unnecessary. If you are elsewhere in the world, you can add whatever to the hour code to get your time correct. The software automatically starts a new file on the SD card each time its rebooted. These are named “Data00.CSV” up to “Data99.CSV”. After 100 files, you need to wipe the card for it to write again. The raw data can be read by a text editor or into Excel as it’s a .CSV file (comma separated values) which means each data item is separated by a comma and Excel starts a new column. Below is a typical data file taken from car ride up a hill sampling at 4hz (0.25 second intervals) hence the 1/100ths column showing steps of 25. When the datafile is “ingested” into Google Earth the data can be visualised and coloured to suit e.g. for height, speed, time etc. Height can be visualised with vertical bars. In the first post theres a pic of my jet taking off at Buckminster last year (at 1hz). I will explain how to set up Google Earth later.
  9. GPS module Bit of a minefield these modules are. There are loads of different versions on ebay – Neo6, Neo7 & Neo8’s. They all seem to work at default 1hz sampling rate but they should be able to sample much faster. Many don’t remember their settings and default back to 1hz. Some remember their settings but this info is retained by a charged capacitor and is lost after a few days. This is down to the modules being low cost and in some cases, the chips being fakes?? Quite what the full story is re fake chips I don’t know but they all generally work ok at 1hz sampling rate! Some boards wont allow you to change sampling rates and these are definitely fake being TD1030 gps modules re-labelled (badly – see pic). Given their cheap price, they do seem to work reasonably well at 1hz however. The GT-U7 (Neo-7m based) seems to work well and seems to remember its settings and is smaller. There are also the newer Neo-8 modules that ebay sell which I haven yet tried but should be ok (if genuine)! The newest Neo9 modules are less readily available and are more money ~ £30 upwards – again not yet tried one. Neo-6m Neo-7m v2 GT-U7 (Neo 7m based – smaller) Fake neo-6m. Original sticker outline visible and an uneven surface from old glue! For smaller slower models, the default setting of 1 per second data rate is fine but on a jet at 200mph a long distance can be travelled in 1 second and a path that crosses many other paths during a flight can difficult to visualise on a screen. Interrogating the GPS module using UBLOX software. Using Ublox software https://www.u-blox.com/en/product/u-center. This software allows you to interrogate the modules (even fake ones) and display live information on its many screens. It also allows many alterations to its operating parameters such as baud rate, sample rate plus much more. Some GPS modules have a USB connector and these connect directly to the usb on the PC with a suitable lead. If it doesn’t have a usb connector, you also need an “USB To TTL FT232RL FTDI Serial Adapter Converter” (approx. £4) and connect it as shown (make sure its set to 5V on the jumper). FTDI - GPS VCC - VCC Gnd - Gnd Rx - Tx Tx - Rx Leave other FTDI pins disconnected. Once the UBLOX software is running and the GPS is powered up, wait for the GPS to find satellites (LED on GPS starts to blink). This works inside a house if near a window. It may take several minutes first time round. Make sure the antenna is ceramic side up and don’t let it touch the circuit boards. If it doesn’t communicate to the PC, check these settings on the UBLOX software:- Receiver > Connection and Receiver > Port. You may have to tell it what Com port its connected to (its never Com1) and its baud rate which is 9600 by default unless you change it. Once communicating, you can play with the software to get a feel of the gps module. The next bit is for information only as my software does this automatically on reboot but its interesting to play with however. Make sure the baud rate is returned to 9600 or 38400 if you change it otherwise my software may not be able to talk to it! To alter the scan rate, go to:- View > configuration view Look down the list to find “Rate (Rates)” and you will see its set up for 1000ms. Adjust this to 250ms for 4 scans per second. Then click “send” button. Having done this, you need to speed up the comms rate as there is too much data for 9600 baud (data is jumpy and erratic on the screen). Look down the list to find “PRT (ports)” and you will see its set up for a baud of 9600. Adjust this to 38400. Then click “send” button. Finally go to “CFG (Configuration)” and check that the “save current configuration” is ticked and press “send” button again. You should see the barcharts updating much quicker having done this. There are many other things to play with but that’s beyond this project and me!!!
  10. Arduino based GPS flight logger - Dave Windy Miller What follows is quite in depth but hopefully clear enough to someone with a bit of Arduino experience and I can answer any queries you may have! I thought I would share with you my experiments with a flight logger made for less than £25 that includes GPS coordinates, GPS speed and barometric height. All this data is written to an SD card that can be read by Google Earth. This is my original logger built with a Neo-6m gps module built into a Futaba receiver case and attached to a ply base for attachment into my “Hotspot” turbine jet. I have since dropped the small oled display. A smaller version would be possible with a purpose build pcb c/w the processor chip The data is recorded onto SD card and can be subsequently imported into google earth and displayed as a flight path. Whilst altitude can be obtained from the GPS, ive found this is less than reliable with the altitude changing by 50ft or more just because the satellite count changes! A BMP280 chip can be set to be zero at the point of reboot and show altitude above launch in feet and is reportedly good for +/- 1ft which is 0.5% error over 400ft but read below re atmospheric pressure effects! For info:- Barometric chip bmp280 The height to pressure response is a curve but for our range of altitudes it is linear for all intents. The barometric pressure affects the readings with a drop of 1mb equalling ~28 feet in altitude. The difference between low pressure and high pressure weather can be equivalent to an altitude change of 2000 ft or more! Ideally, you would set the barometric pressure and height above sea level each time its used but this is a faf. To avoid this, I set the height to zero on power up so all altitude change is relative to this point until its reset (as it’s a near enough linear response). Any barometric changes during a 5 minute fight are generally negligible unless there’s a severe storm looming! If it drifts negative before take-off (baro pressure increasing), the software resets this to zero so as it stands my software would need a modification if used on a slope soarer flying below you! The pressure these sensors detect has to be static pressure and not be affected by the air velocity. Whilst this is difficult to quantify, mounting the sensor in an inlet duct or in front of a fan impellor for example isn’t a good idea. If possible, mount it in, say a cockpit that isn’t greatly affected by the airspeed / throttle position. The barometer chip I used is a BMP280 although a BME280 will work as will a BMP280/AHT20 dual module (all must be 5V versions). There are two address for these chips so you may need to edit the line in the code:- bmp.begin(0x76); for BMP & BME 280 which is the normal default bmp.begin(0x77); for the BMP280/AHT20 combined. Some are 4 pin and some are 6 pin. Both work, just ignore the pins not shown in the circuit diagram
  11. Im interested in trying a ht1818z3g5l gps module so will order one for that price (next winters project!)! Re the sampling rate, my view is im not after absolute accuracy of the flight speed at all times so banking turns im not to worried. After a dive and horizontal high speed pass my jet clocked up to 235 mph on one pass (tailwind!). I figure 0.25 seconds between points at high speed is good enough. I could push it to 0.1s but would need a faster processor. I will post my stuff on the "electronics" area. I found it interesting digging under the gps bonnet!
  12. I have made one using Arduino, gps position/ speed with barometric altimeter which costs about 20 quid for the bits. Was thinking of detailing it on this site if anyones interested? I use this in my Hotspot jet so size wasnt a key requirement but it could be shrunk with a proper pcb c/w processor chip. I have since removed the display and now vary the sampling rate up to 4 times a second depending on speed. CSV data can be read into Google earth as seen below!
  13. Just seen this thread so heres my two from a few years back (reposted here for completion!). Curare is now being repainted after a "mishap" and the magic is a little tired so will be refurbished one day soon! The original built up curare wing (built in 1983 ish) is on the magic with altered wingtips. Both started life with Webras but now has OS65 on the curare and Novorossi 61r on the magic.
  14. Welcome Dave. Just to let you know, that my Mig 1.42 you saw at Ashbourne still hasnt flown for more than 30 seconds! When i can be bothered it will have its uc ripped out and a dolly made.
  15. Ive had exactly that on a dynamix carb. Suspect the needle was off a different engine but I had a spare. Had a similar thing with a Enya with too short a needle. I put the needle assembly in a lathe and pushed the needle out from the body a few mm using the tailstock which worked. It stayed well locked to the body despite being moved so that may be worth a try?
  16. I bought a P51 fun fighter only last week off them
  17. Yes Frank, it has and has chambers. H2 surging is a common issue made worse by slackness in the transmission! It also gets worse at prolonged low speeds when it gets hot through lack of airflow. One fix is a revised carb kit from the US but this made my bike lose its mojo. I try not to do prolong low speed, thrash it is the way!! (@15-20mpg). Great fun on a track.
  18. My kawa H2 (750 two stroke triple engine without reeds) struggles at a steady 30 without having to slip the clutch. Not sure how it will fare at a constant 20! Gonna try it anyway next year so watch out Machyllenth 🙂
  19. Glad it worked for you. The radar screen i did doesn't scan on the screen in true life I believe. I'm sure others would correct me if wrong. I would have to see a display functioning and have the time, need & desire to replicate it (which i dont!). Its very possible but not by me as i want to get on with my other long suffering projects! Its a good way to learn by trying different approaches and start simple before adding the bells and whistles. (try having a line that moves in a scanning motion on its own, no other detail!). There are many examples on the web of watch screens with hands that move. You could try one of these then simplify it to gain understanding of the method and perhaps alter it to suit? An animation on these screens sizes would probably be acceptable if there were say only 10 discrete lines stepping across the screen(?). The line could be yellow (say) and when the next line is to be drawn, draw lines over the old yellow line with colours that match what should be underneath. I believe some approaches can read the colours (colour codes) along a path and save them to redraw it again later? I suspect you would have to use one of the faster processors so it can update the screen seamlessly. Best of luck Dave
  20. Lucozade "Gives you energy" translates to "loads of calories" which doesnt sell it so well! "Sports drink" is ok though!
  21. First model was a rubber powered Veron Sentinel in ~1976. First radio model was a Snipe, not the KK version but a single channel 049 powered model from aeromodeller feb 1970. Built when i was 16 in 1979. This had home built 27mhz radio designed by Cliff Stapelton from the electronics lab at Nottingham Uni and also an Enya 09-III engine (which pepped it up a bit!). I was very lucky befriending Cliff who walked me through building the 3ch radio. I still use it today on a replica of the snipe after i lost the original a couple a years back.
  22. I suspect its designed for a 1.5v non rechargeable battery? A lithium AA might be able to cope but my vote is for a 2v lead acid
×
×
  • Create New...