Ever wanted to know the stress on wings? Or forces when doing a sharp, long turn? Need to launch wingtip-smoke automatically with your scale-jet in sharp turns? Here’s a DIY sensor giving you that information!
Jeti G-Force Sensor
As it’s custom with DIY-sensors, dive into Ebay and get some parts:
- Arduino Pro Mini 3.3V 8Mhz (Or equivalent) Example link to Ebay here.
- ADXL345 module Example link to Ebay here.
- Little wire and shrink-wrap.
Parts are small, here’s a comparison to EC5 connectors:
Features and operating modes
Sensor has simple yet effective features:
- X-Axis G-force
- Y-Axis G-force
- Z-Axis G-force
- Either raw or filtered values
- User selectable decimals with display of 0.0G or 0.00G
G-Force measurement has a range of ±16G.
Connections
Connection are simple and if you have built any DIY-sensors before thay are familiar:
- ADXL345 VCC -> Arduino VCC
- ADXL345 GND -> Arduino GND
- ADXL345 SDA -> Arduino A4
- ADXL345 SCL -> Arduino A5
You also need the connection to Jeti receiver:
- Arduino 3 -> Receiver signal
- Arduino RAW -> Receiver positive
- Arduino GND -> Receiver negative
NOTE: Some boards have GRN where my boards have GND. Do NOT use GRN, use GND!
Schematic
Connection schematic below says it all:
IMPORTANT NOTE: Sensor is drawn to schematic as it is supposed to be installed in your model. That means installing ADXL345 on top of Arduino Pro Mini needs to be in the above orientation. The red arrow is flight direction forward!
Here is installation example when flight direction is up:
And side-view when flight direction is left:
Programming Jeti G-Force Sensor
Go and get the suitable .hex or .ino (Named RCT-G-Sensor) file from my Github here. Easiest method is RC-Uploader + .hex-file. With Arduino and .ino you need to use the libraries included in Github repository. For info on how to use these look in RFID-sensor how-to here.
Using G-Force Sensor with Jeti
Note that sensor needs to be installed with correct orientation. (Pictures above).
Calibration and settings
Go to Jetibox in your transmitter (Hardware Jetibox or transmitters Jetibox, both work), here we need to calibrate the sensor due some small differences in ADXL345-units. (I ordered 3 units since they don’t cost anything, one of them was way off, one had irregularity on Z-axis and one was nearly perfect).
Make sure your sensor is straight and on flat surface when calibrating! Do not move the sensor during calibration!
So, head on to Jetibox and MX-screen, then down and you are in the G-Force Sensor:
Pressing right will take you to settings and the first screen:
In first screen we are calibrating X-axis to 0.00G. On the bottom line on left we have the actual value sensor is reading, on the bottom line on the right is our correction value. Calibrating is easy, press UP and DOWN to change correction value. If actual value is below zero then correction value needs to go up and if actual value is above zero the correction value needs to go down. Note that small flicker with 0.01 precision is normal. Calibration is always done with 0.01 precision even when 0.0 precision is used in display.
When you have adjusted the X-axis to 0.0G press RIGHT to calibrate Y-axis the same way:
When done go RIGHT to calibrate Z-axis:
Note that since we have our sensor flat on the table the Z-axis is showing 1.00G. My sensor displayed 1.16G so I’m adjusting with correction value of -16 to get it to 1.00G.
Going further to right we have the option of using raw or filtered values. Filtering basically means it smooths spikes. (More info at the bottom of this page.)
Next setting to right is choice of decimals. You have the option of one or two decimals, value being shown as 0.0G or 0.00G:
Next option to right is to reset sensor to defaults. Pressing Down time will reset defaults, meaning raw values with one decimal. After this sensor will restart and you are in first screen:
Next menu to right is storing the changes you made. Pressing Down time will store all your settings and after sensor restart you are in first screen:
Calibration is done!
Using sensor values in transmitter
Here’s a screenshot of values on main screen:
Quite simple, G-force is measured up to positive or negative 16G in all axis. If you have your values going wrong way you most likely have your sensor installed wrong way in your model.
About raw vs. filtered values
Filtering means smoother values. Basically it removes spikes and smooths out curves a bit. There is a small drawback to this, it increases the lag but very little.
Here’s a log-example from test-version (Thanks to JSF-TC @RC-Groups) Most noticeable is the landing of plane at around 06:32:
Version history
- 1.0 Initial release
- 1.1 Negative correction bug fixed
- 1.2 New Jeti-libraries & new code-management
- 1.3 Removed angles, increased calibration precision, added filtering (Filtering-thanks to JSF-TC @RC-Groups!)
- 1.4 Improved serial timing – Changed “Up&Dn” in menus to “Down” due poor performance on Up-button in Jetibox
Disclaimer
Always make sure everything works as it should. Do not use faulty devices. neither RC-Thoughts and/or me are in any way liable or responsible for anything you do with your equipment or to others with equipment used as described here. You should never use LUA-apps for operation-critical functions.
If you find something that is not working or is behaving strangely please let me know. I’m a car-mechanic by training, not a programmer-geek :)
Most important thing
Is to have fun building and using, this will not bankrupt you in any way :)