Documenting and sharing my story about building flight simulator from scratch
Sunday, 23 November 2014
Saturday, 25 October 2014
Back to cockpit designing
Printer failure dragged me out of the main goal for few days but was worth it. Print precision improved drastically.
I had to rethink whole concept of the air speed indicator. Idea was to use stepper motor to move needle to correct angle. Stepper motors are great for precise movement but they have one massive disadvantage, stepper doesn't "know" its own position. Can only move by certain angle from whatever starting position was. To fight issue I came up with idea to add two buttons underneath main face. Holding one of the buttons would simply move needle left/right to allow user to calibrate the needle. Would work but....setting it up every time would be annoying.
New idea.
By looking at the 3d printer I noticed "home" position of the steppers is set by a physical switches on the shafts. I want to avoid physical switches. Using phototransistor QRD1114 could be perfect for the job then. Planning to use it to detect when needle is in 0 knots position.
Features
• Phototransistor Output
• No-Contact Surface Sensing
• Unfocused for Sensing Diffused Surfaces
• Compact Package
• Daylight Filter on sens
Description
The QRD1113 and QRD1114 reflective sensors consist of an infrared emitting diode and an NPN silicon phototransistor mounted side by side in a black plastic housing. The on-axis radiation of the emitter and the on-axis response of the detector are both perpendicular to the face of the QRD1113 and QRD1114. The phototransistor responds to radiation emitted from the diode only when a reflective object or surface is in the field of view of the detector.
I had to rethink whole concept of the air speed indicator. Idea was to use stepper motor to move needle to correct angle. Stepper motors are great for precise movement but they have one massive disadvantage, stepper doesn't "know" its own position. Can only move by certain angle from whatever starting position was. To fight issue I came up with idea to add two buttons underneath main face. Holding one of the buttons would simply move needle left/right to allow user to calibrate the needle. Would work but....setting it up every time would be annoying.
New idea.
By looking at the 3d printer I noticed "home" position of the steppers is set by a physical switches on the shafts. I want to avoid physical switches. Using phototransistor QRD1114 could be perfect for the job then. Planning to use it to detect when needle is in 0 knots position.
Features
• Phototransistor Output
• No-Contact Surface Sensing
• Unfocused for Sensing Diffused Surfaces
• Compact Package
• Daylight Filter on sens
Description
The QRD1113 and QRD1114 reflective sensors consist of an infrared emitting diode and an NPN silicon phototransistor mounted side by side in a black plastic housing. The on-axis radiation of the emitter and the on-axis response of the detector are both perpendicular to the face of the QRD1113 and QRD1114. The phototransistor responds to radiation emitted from the diode only when a reflective object or surface is in the field of view of the detector.
Full spec here: https://www.fairchildsemi.com/datasheets/QR/QRD1114.pdf
Ordered few of these, cant wait for a delivery!
Ordered few of these, cant wait for a delivery!
Tuesday, 21 October 2014
3D Printer failure
Lesson learnt today. Always triple check your printer before next print. After many hours of printing some of the screws went loose, right, rear axle dropped, here is the outcome:
Looks like the only damage apart from scratched build plate is blocked up nozzle. Not bad!
Already ordered glass surface upgrade on ebay for £13.50. Its a glass sheet cut to size.
Monday, 20 October 2014
Busy days, way to busy to even think about this project. Ive found some time to design next version of the air speed indicator. Bad luck, yesterday I've lost 4 hours of my work due a crash of Fusion 360 :/ Cant blame Autodesk, its still very early version of this software. As a software engineer I entirely understand that this can happen. So designed it again, here's the result. 3D printing tomorrow.
Sunday, 12 October 2014
From 3d printing to working prototype
3D printer broke down Saturday so took some time to get it running again.
Printing front plate for air speed indicator. Its still very early design so not sharing update design yet.
This is how indicator looks like for now. Final thing will be of course black/dark gray. Also planning some sort of back light.
Is powered by 28BYJ-48 stepper motor.
Specification : http://robocraft.ru/files/datasheet/28BYJ-48.pdf
Have decided to use steppers instead of servo motors. Most servos only offering 180 degrees of movement so it was decision between making soft of gearbox or simply use little stepper. They are less than £4 with a driver board. Wow!
Printing front plate for air speed indicator. Its still very early design so not sharing update design yet.
This is how indicator looks like for now. Final thing will be of course black/dark gray. Also planning some sort of back light.
Is powered by 28BYJ-48 stepper motor.
Specification : http://robocraft.ru/files/datasheet/28BYJ-48.pdf
Have decided to use steppers instead of servo motors. Most servos only offering 180 degrees of movement so it was decision between making soft of gearbox or simply use little stepper. They are less than £4 with a driver board. Wow!
Managed to get a prototype working today after many hours of tweaking the code. There is massive issue with stepper motors. They move by number of steps, it takes time, so to update angle position you must estimate or calculate position by time every update. I will share full source code after fixing some timing issues and adding calibration system. At the moment system works in relation to starting position.
Friday, 10 October 2014
Designing Air Speed indicator
So yes, when I said I'm building flight simulator, I really meant I'm manufacturing as many parts as I can. I will share everything, files, ideas, photos etc.
First design piece is Air speed indicator plate. Size 60x60mm
Version 1 ready to 3d print file, download here: https://drive.google.com/file/d/0B09HXtw9sUPJT3k4VVpzVWE5M0U/view?usp=sharing
Autodesk Fusion
I have used Autodesk Fusion to design and export this part. Is very intuitive piece of software allowing you to design 3d parts without any 3d modelling knowledge. There is a trial version of this software available for free. Enjoy
More info here: http://www.autodesk.co.uk/products/fusion-360/overview
First design piece is Air speed indicator plate. Size 60x60mm
Version 1 ready to 3d print file, download here: https://drive.google.com/file/d/0B09HXtw9sUPJT3k4VVpzVWE5M0U/view?usp=sharing
Autodesk Fusion
I have used Autodesk Fusion to design and export this part. Is very intuitive piece of software allowing you to design 3d parts without any 3d modelling knowledge. There is a trial version of this software available for free. Enjoy
More info here: http://www.autodesk.co.uk/products/fusion-360/overview
Thursday, 9 October 2014
Teensy 3.1 and X-Plane 10 Hello world! Simplest communication example
Few steps how to make teensy talk to X-Plane easiest way possible.
Here are Teensy manufacturer steps to make this work, I have added some more info to make youre you wont have issues I got on the way:
Using Flight Sim Controls
When you select "Flight Sim Controls" from the Tools->USB Type menu, Teensy implements a special USB type intended to controlling flight simulator software.
A simulator plugin is used. Currently X-Plane is supported.
Download:
TeensyControls X-Plane Plugin 1.0 (32 bit only)
TeensyControls X-Plane Plugin 1.0 (32 & 64 bit, X-Plane 10.20 or greater)
Quick Installation Steps
Examples are available in File > Examples > Teensy > USB_FlightSim.
source: https://www.pjrc.com/teensy/td_flightsim.html
Very simple, however made me very happy.
Here are Teensy manufacturer steps to make this work, I have added some more info to make youre you wont have issues I got on the way:
Using Flight Sim Controls
When you select "Flight Sim Controls" from the Tools->USB Type menu, Teensy implements a special USB type intended to controlling flight simulator software.
A simulator plugin is used. Currently X-Plane is supported.
Download:
TeensyControls X-Plane Plugin 1.0 (32 bit only)
TeensyControls X-Plane Plugin 1.0 (32 & 64 bit, X-Plane 10.20 or greater)
Quick Installation Steps
- Extract the TeensyControls plugin and copy it to X-Plane's Resources/plugins folder.
- Install Teensyduino. Version 1.08 is the first to support Flight Sim Controls. (at this point works with Arduino 1.0.5, not latest 1.0.6)
- Run Arduino. Select Teensy in Tools > Boards and "Flight Sim Controls" in Tools > USB Type. (make sure you make this step properly, otherwise Arduino wont see Flight sim libraries)
- Open the blink example in File > Examples > Teensy > USB_FlightSim > BlinkTransponder.
Click "Upload" to program your Teensy board. - Run X-Plane. The LED should blink. (Optional) click Plugins > TeensyControls > Show Communication.
Examples are available in File > Examples > Teensy > USB_FlightSim.
source: https://www.pjrc.com/teensy/td_flightsim.html
Very simple, however made me very happy.
Soldering pins
Went to a shed to solder all major pins to Teensy. It looks ok taking teensy size and my shaking hands. I hope it works
It does work!
Teensy arrived!
I wasn't expecting delivery today but it happened! Teensy 3.1 is here.
Looks so tiny, is amazing how much power and possibilities can be fitted in something so tiny.
Next step - soldering the pins and "Hello world"!
Good review worth watching :
Looks so tiny, is amazing how much power and possibilities can be fitted in something so tiny.
Next step - soldering the pins and "Hello world"!
Good review worth watching :
Wednesday, 8 October 2014
Choosing nice easy start
As Teensy board is on its way is time for more planning. Im definitely creating an universal not 100% alike Cessna 182 cockpit. As a first cockpit instrument I want something easy, one way system. I think airspeed gauge would be a good start. Looks like all I need is a X-Plane writing to serial port using X-Plane's data refs reference:
Sim/cockpit2/gauges/indicators/airspeed kts pilot
For more data refs out references look here: http://www.xsquawkbox.net/xpsdk/docs/DataRefs.html
Following this design for a gauge backplate. Looks like need simple servo motor to map angle from date passed by X-Plane
Another great news! Ive bought 3d printer with three of my friends so manufacturing parts will be possible. At the moment we are printing some upgrade parts for a printer itself.
Gathering needed hardware
Lots of research done about communication between X Plane and Arduino.
Decided to use Teensyduino with Teensy 3.1 to speak with X-Plane directly through serial port.
Just purchased one, should arrive within 48 hours, so hopefully before the weekend!
Not bad, just £19.80 here http://www.hobbytronics.co.uk/teensy-v31?keyword=teensy
Download lint to Teensyduino: https://www.pjrc.com/teensy/td_download.html
More to come after delivery...
Greg.
Decided to use Teensyduino with Teensy 3.1 to speak with X-Plane directly through serial port.
Just purchased one, should arrive within 48 hours, so hopefully before the weekend!
Not bad, just £19.80 here http://www.hobbytronics.co.uk/teensy-v31?keyword=teensy
Download lint to Teensyduino: https://www.pjrc.com/teensy/td_download.html
More to come after delivery...
Greg.
Sunday, 5 October 2014
Hello world! About myself and the goal
Hi,
I'm Greg Lukosek, geek, software engineer, with mechanical engineering diploma and 3D Artist experience.
I had this idea in my mind for last years and finally decided to push this forward as soon as possible.
The goal is quite simple, however huge. Build home "budget" flight simulator cockpit taking user as close to real experience as possible. I literally have nothing started yet so will be posting my work and research from very start of the project. Please feel free to comment and throw some ideas, will really appreciate this.
Main Components:
Planning to use X-Plane 10 as a base sim software but might turn to Microsoft Flight Simulator at some point. Cockpit instruments will be powered by Arduino, or many of them talking to PC through Ethernet or USB. Plan was to build it in office room downstairs but after conversation with wife we decided that garden shed is a better option. Is quite a big one so might even build two seater cockpit, hmmm.
Next steps:
Need to pick an Aircraft i will base the cockpit on. I noticed most of the big builds are basted on big jets like 737 or 747. This is not what I want. I would rather build something smaller, single engine machine perhaps. Cessna 185 is in my mind. I like cockpit simplicity and easy of adding custom avionics. Not to mention I actually flew one of this in the past.
I'm Greg Lukosek, geek, software engineer, with mechanical engineering diploma and 3D Artist experience.
I had this idea in my mind for last years and finally decided to push this forward as soon as possible.
The goal is quite simple, however huge. Build home "budget" flight simulator cockpit taking user as close to real experience as possible. I literally have nothing started yet so will be posting my work and research from very start of the project. Please feel free to comment and throw some ideas, will really appreciate this.
Main Components:
Planning to use X-Plane 10 as a base sim software but might turn to Microsoft Flight Simulator at some point. Cockpit instruments will be powered by Arduino, or many of them talking to PC through Ethernet or USB. Plan was to build it in office room downstairs but after conversation with wife we decided that garden shed is a better option. Is quite a big one so might even build two seater cockpit, hmmm.
Next steps:
Need to pick an Aircraft i will base the cockpit on. I noticed most of the big builds are basted on big jets like 737 or 747. This is not what I want. I would rather build something smaller, single engine machine perhaps. Cessna 185 is in my mind. I like cockpit simplicity and easy of adding custom avionics. Not to mention I actually flew one of this in the past.
Subscribe to:
Posts (Atom)