The New Propeller Viper IMU XL
Anubisbot
Posts: 112
Hi all, i am working on a project for a Auto flight control based on the propeller.
Year right u say there are so many IMU's and flight controllers out there, but all are not like this one.
First this one is a 2 board stack, board 1 has the prop and all connections to the outside and board 2 has all the sensors.
As sensors goes, there are xyz Gyro, xyz acceleration, compass, Barometric pressure, Temp& Humidity all on one board.
The boards have the size 2"x2" (50mmx50mm).
One of the best benefits is, it is small and flat , due to no extra board for Z and Yaw, so there are no wankey boards what need to be mounted in 90*
The sensor board is all digital interfaces, (ISP, 3wire serial, and i2c) so the IMU board it self can be dropped in other solutions very easy.
The main board with the prop, has
3x servos out
1x RC reciver IN (Sum signal )
6x i2c (Motor out for i2c brushless motor driver for plane,helicopter, quadcopter and tricopter.)
1x GPS port (5 pin 3.3V)
1x xbee port(6pin 5-7V so the exbee board it self needs power converter to 3.3)
1x usb (for prpeller programing and debugging)
The 6 i2c ports run from the same pins. The unused ports can be used for
other I2c Modules, but they need there own power supply.
So here are the sensor part list :
1x x,y Gyro IDG300 from Sparkfun.com
1x z Gyro Lisy300Al from Sparkfun.com
1x xyz Acceleration sensor Lis3LV02DQ from Spark......
1x Compass HMC6352 from Spark....
1x SCP1000 Barometric sensor from Spark...
1x SHT1X temperature and humidity from Spark.....
So if some one else can review the design from the sensor board, since many eyes find better errors, and also
i will make ten pairs of boards, so i only need 2 sets, and will have 8 left over. for sale if someone is interested in it please let me know.
Since all the sensors are tiny tiny small, i will get my board soldered from aether sparkfun, when they would do it ? or from a different Fab house.
So when some one is interested you and me could save when they do the boards at the same time. The parts on the sensor board are about 170$
I used the schematics from sparkfun breakout boards. So if u see a error please let me know. I will post later the design from the main board also, just need to finish some stuff up.
Best regards Anubisbot
Year right u say there are so many IMU's and flight controllers out there, but all are not like this one.
First this one is a 2 board stack, board 1 has the prop and all connections to the outside and board 2 has all the sensors.
As sensors goes, there are xyz Gyro, xyz acceleration, compass, Barometric pressure, Temp& Humidity all on one board.
The boards have the size 2"x2" (50mmx50mm).
One of the best benefits is, it is small and flat , due to no extra board for Z and Yaw, so there are no wankey boards what need to be mounted in 90*
The sensor board is all digital interfaces, (ISP, 3wire serial, and i2c) so the IMU board it self can be dropped in other solutions very easy.
The main board with the prop, has
3x servos out
1x RC reciver IN (Sum signal )
6x i2c (Motor out for i2c brushless motor driver for plane,helicopter, quadcopter and tricopter.)
1x GPS port (5 pin 3.3V)
1x xbee port(6pin 5-7V so the exbee board it self needs power converter to 3.3)
1x usb (for prpeller programing and debugging)
The 6 i2c ports run from the same pins. The unused ports can be used for
other I2c Modules, but they need there own power supply.
So here are the sensor part list :
1x x,y Gyro IDG300 from Sparkfun.com
1x z Gyro Lisy300Al from Sparkfun.com
1x xyz Acceleration sensor Lis3LV02DQ from Spark......
1x Compass HMC6352 from Spark....
1x SCP1000 Barometric sensor from Spark...
1x SHT1X temperature and humidity from Spark.....
So if some one else can review the design from the sensor board, since many eyes find better errors, and also
i will make ten pairs of boards, so i only need 2 sets, and will have 8 left over. for sale if someone is interested in it please let me know.
Since all the sensors are tiny tiny small, i will get my board soldered from aether sparkfun, when they would do it ? or from a different Fab house.
So when some one is interested you and me could save when they do the boards at the same time. The parts on the sensor board are about 170$
I used the schematics from sparkfun breakout boards. So if u see a error please let me know. I will post later the design from the main board also, just need to finish some stuff up.
Best regards Anubisbot
Comments
This would work great for my boat autopilot (but I cannot afford to be distracted any further) :-(
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Prop Tools under Development or Completed (Index)
· Emulators (Micros eg Altair, and Terminals eg VT100) - index
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz
The reason i made this 2 boards is because the most out there are 5DOF or have no such thing as compass on board, and if you get all parts as breakout board you pay way more and
you get a construct of ting boards what shake and vibrate in extreme maneuvers.
I need the boards for a tricopter but with 2 motor on each end for the counter rotation. Thats why the main board has 6 i2c ports.
I want to build this www.draganfly.com/uav-helicopter/draganflyer-x6/
Thats why there is a xbee port, since i want to build my own remote controll for it what also shows you on a small touch screen the IMU data.
Best regards Anubisbot
John Abshier
And i thought i still could compensate the readings with the data of the gyros and accs and gps
Best regards Anubisbot
And thats the pin list :
P0: INT Acceleration sensor
P1: SDA Acceleration sensor
P2: SCL Acceleration sensor
P3: Status Led Green
P4: Xbee pin1
P5: Xbee pin2
P6: Xbee pin3
P7: Xbee pin4
P8: SCL Motors I2C
P9: SDA Motors I2C
P10: Sum Signal In RC
P11: LED1 Green IMU Board
P12: LED2 Red IMU Board
P13: SCL Barometric Sensor( i2c)
P14: SDA Barometric Sensor (i2c)
P15: DR Data Ready Barometric Sensor
P16: SCL Compass Sensor (i2c)
P17: SDA Compass Sensor (i2c)
P18: SDA Temperature & Humidity Sensor(3wire Serial)
P19: SCL Temperature & Humidity Sensor (3wire Serial)
P20: Servo1
P21: Servo2
P22: Servo3
P23: GPS RX
P24: GPS TX
P25: CS Gyro's ADC (3wire Serial)
P26: DIO Gyro's ADC (3wire Serial)
P27: CLK Gyro's ADC (3wire Serial)
P28: SCL Propeller Rom
P29: SDA Propeller Rom
P30: TX to USB Chip ( Debug Mode)
P31: RX to USB Chip ( Debug Mode)
This should help to better understand what conects to where : )
I really appreciate the help on this
Best regards Anubuisbot.
http://www.sparkfun.com/commerce/product_info.php?products_id=244
This may be obvious, but how are you able to get around mounting the third axis at 90deg? All the other 6DOF boaards I have seen show this morphology.
Are you using the Mikrokopter controllers? I wasn't sure what update speed is needed for a tricopter - what Hz do you anticipate running the ESC's at? JackCrossfire and others seem to be getting by with non i2c controllers on quads and tri designs, but I'm unsure how their stability compares with a faster Hz: http://www.rcgroups.com/forums/member.php?u=115141
Regarding pressure, have you compared the SCP with the freescale sensors used by SLUGS autopilot and Paparazzi? I believe they include a differential sensor on their boards too. BTW, the SCP1000 will be next to impossible to solder by hand - you will need to reflow it. Since there are ten boards you will likely cut a stencil though anyway(?). I have access to a laser cutter, so I planned to just cut stencils for which ever board I build.
>get my board soldered from aether sparkfun
I'm not sure they offer this service, or at least not when I inquired a few weeks ago. Are you getting the boards from BatchPCB or GoldPhoenix?
Are the Eagle files available or is this a commercial product you are developing?
I've been considering a multi rotor UAV too (probably a tri), but likely with an ARM7 - might postpone learning the Prop until after the PropII is released - I am rather new to microcontrollers, and undecided whether to jump in with the Prop. How would the 8 cogs of the Prop map out in your software design?
Sorry for all the questions - I might be interested in your boards though, if I can make sense of everything.
About the 3axis sensor Micromag, i wanted to have all on one pcb with no breckout boards And the 3 axis is not needed due to the fact that most flight of a quad or tri copter is most of the time in horizontal [noparse]:)[/noparse] hopefully
About thepart how to get rid of the extra board for the Yaw gyro is to use the dual gyro what gives you xy flat to the mounting plane and the single gyro for the yaw has the center through the ic so its flat on one pcb.
The SCP1000 was chosen due to it fast rate and easy interface, and yes all those parts are impossible to solder by hand, thats why i will make a solder paste stencil and reflow ( hot air them).
I dont use eagle files, but yes you can get Geber files or target3001 files, no its not commercial, it will be open source.My main goal is it to get away from the flying stick designs and will make a need stylish CFK shell for it .
No sparkfun has no such service, they told me to take a look at the soldering tutorials haha [noparse]:)[/noparse]
I get my PCB's from a fabhouse in china, i deal with them for over 3 years, and thequality is great and also the service.
I am looking and researching tjhis project now for over 2 years, and i must say the pro in combination with this planned IMU board, will give more power than the ARM7 solutions.
And also there are great sourcecode sample and this forum.
My tricopter design will have 6 motors and will run them over i2c its faster than pwm and gives better response.
Since each arm will have 2 propeller counter rotating there will be no need for a servo to yaw the copter. and also if one motor fails it still flys.
The biggest challenge will be to build and design the Xbee remote with the touch screen and the flight sticks and switches.
I also hope that the xbee module will be able to send out all the info from the copter and at the same time get the control commands from the remote.
My cog plan looks som like this in my head [noparse]:)[/noparse]
1 cog: Main loop ( for flight stabilization of the motors and input from RC / Xbee/ Navigation cog)
1 cog: Read and pass Gyro and Acc readings
1 cog for the rest of senors
2 cogs for Xbee data in out (if flying with RC remote only one cog)
1 cog for navigation gps data in and way points
But this is all done when i have my boards////
Best regards Anubisbot
>I dont use eagle files, but yes you can get Geber files or target3001 files
I'm just learning Eagle, but I assume these formats would allow me to open and work with the files in Eagle w/o any information loss?
>I get my PCB's from a fabhouse in china, i deal with them for over 3 years, and thequality is great and also the service.
So, do you plan to assemble the boards yourself? I don't mind assembling on my own since I'm just learning reflow and would like the practice.
>Since each arm will have 2 propeller counter rotating there will be no need for a servo to yaw the copter. and also if one motor fails it still flys.
Besides the failsafe in the event of a motor failure (which I assume is very rare), and no yaw servo, do the 6 motor designs provide any advantage? Would they have shorter run times than the 3 motor alternative? On rcgroups I saw several 3 rotor tricopter designs, and one guy (Nexus21214) built a 6 rotor and then moved to a 3 rotor design citing (I believe) stability issues. However, there must also be a reason that draganflyer chose this design over 3 rotors too ? JackCrossfire's designs moved away from counter rotating props too, he stated that thrust vectoring is more efficient than counter rotating props and gives 10% greater run time because of lower weight and each power plant operating at a more efficient RPM. I've also generally read on the rcgroups forums that counter rotating prop designs when applied to other craft (e.g. planes) don't provide any advantages (aside from failure redundancy). This isn't a criticism, aside from reading a few posts on rcgroups, I knew nothing about R/C until a few days ago - so, I'm just trying to understand the reasoning behind different designs, and your decision to select a 6 rotor.
Did you select an i2c motor controller yet? I wasn't sure if you would be getting Mikrokopter boards made at the same time.
>The biggest challenge will be to build and design the Xbee remote with the touch screen and the flight sticks and switches.
Do you plan to use a propeller for this too? I would guess to perform mapping, you would need an OS - maybe a beagleboard w/ linux?
>I also hope that the xbee module will be able to send out all the info from the copter and at the same time get the control commands from the remote.
I'm not sure I understand, are you concerned with saturating the bandwidth of the xbee? - my understanding is that it is 115 kbps and other uav platforms seem to be fine with this rate (?)
>1 cog: Main loop ( for flight stabilization of the motors and input from RC / Xbee/ Navigation cog)
I assumed all the cogs would be saturated, but it seems you have two to spare. Do you plan to put all of the IMU processing into the "Main loop" cog. From the limited reading I've done on IMU and Kalman filtering on the Prop, it seemed multiple cogs were needed: http://forums.parallax.com/forums/default.aspx?f=25&m=237900&g=320285#m320285
Thanks!
ian
Post Edited (ianw) : 1/28/2009 7:26:14 AM GMT
Yes the geber files can be imported into eagle, or download the freen version of target3001
Yes it seams like i will assemble my board by my self, so if you want to do that to no problem.
I know some gave up with conterrotating props, its not easy to trim them but when once setup its great, u save power since u can runn smaller motors , and
the good thing is the board has 5 ports so u can run it in 1,2, 3, 4 and 6 bladed configuration.
I was thinking of the Microcopter boards for the motordriver. over i2c.
Yes i want to use a propeller for the remote too.
The remote does not need to map, the only thing it should display is the Data rom the motors and Sensors, and also it should be switch able to cam view
Or a mix of both.
Yes right now i have some spare cogs, but your right i will use them as needed and yes navigation will take a few more cogs.
So i just ordered the parts from Spark, to check on the pcb layout if i didnt mess the footprints up.
The parts were 216$ for all sensors and 50ch GPS, except the SCP1000D11 and the Prop they will score again 55$.
the boards are 190$ for the 20 boards with silk screen and stop mask.
so for about 300$ its possible to build this MCU and IMU Boards. When you solder your self.
But i will get my self a solder stencil kit what will comes fro 99$ but i heard they work good, and they are made out of metal, so they are reusable.
Best regards Anubisbot
Best regards AnubisBot
And after looking a bit longer and better at the pictures from the dragonflyer X6 i saw they are using xbee modules too for there remote : ) cool but they have painted the modules so you dont see it right away in the pictures [noparse]:)[/noparse]
More to come best regards Anubisbot
2. i find the mini plug is to instable when testing the unit on a test stand, and its a pain when the cable falls out due to gravity and vibration.
Beside that, i wonder if a co processor for float math and GPS string Nema parser would bring more free cogs and better speed in the main controll ??????
Since i just make the 3rd board what will have the xbee module on and the GPS i am thinking of using this co processor ??
http://www.sparkfun.com/commerce/product_info.php?products_id=8450 and put one of those on the 3rd pcb together with the gps. since this chip has gps in
i could use the gps pins from the main board to the chip ??
Best regards
Anubisbot
If I can't make sense of the cog memory/cycle to code mapping needed for a propeller tricopter autopilot, I may just be interested in the IMU board.
1) magnetometers:
from the magnetometer readings for a tricopter posted by Jack crossfire here:
http://www.rcgroups.com/forums/attachment.php?attachmentid=2310600
http://www.rcgroups.com/forums/attachment.php?attachmentid=2309156
the z-axis component has quite a bit of variance relative to the x-y axis and influences the collective measurement being used, so would seem to be necessary (?)
I wasn't sure which 3 axis sensor you were considering (HMC5843 or HMC6343), but the pinout of both three axis sensors seems to be different from the two axis HMC6352:
http://www.ssec.honeywell.com/magnetic/products.html
so, if I wanted to use a three axis compass it would not be a simple swap, but a different pcb run - are you convinced a three axis compass is not needed?
I think you were referencing the more expensive HMC6343 as a three axis magnetometer option, this chip also includes 3 axis accelerometers, so perhaps the Lis3LV02DQ accelerometer would no longer be needed?
2)first pcb run:
I've never designed a board before, but I'm told the first iterations have a high probability of becoming coasters. So, rather than 10 boards and a steel stencil, would a smaller pcb run for the first iteration make more sense (e.g. from batch pcb)?
3) prop based ground controller:
I'm assuming you want to use an NTSC overlay on the video coming from the tricopter , with a playstation controller or similar input for manual control? The prop based ground station seems like it may work very well.
4) mini usb
I had this question too. I've had the opposite problem, my big connectors are always a little looser, and my mini seems more secure - maybe it's a function of who manufactured the connector?
5)Have you considered the linear ADC chips that interface via i2c? There are some good to 24 bit precision. http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1155,C1001,C1152,P1771
6) uM-FPU
I posted in the Kalman thread where you also discussed this issue.
Best regards
ian
Post Edited (ianw) : 2/3/2009 9:38:36 PM GMT
so i have the boards orderd, and i will see if they work out or not , the imu is on its onw pcb so if i need to go with a different MCU layout or processor, that will be no big deal.
I made more coasters while back when i was making my own pcb,'s but since i go with my Fab house in china, i had only i setup what was waste.
About the 3 axis compas is not needed, since the only reason you would want one is when u fly a rocket, but since you only be in a Cretan degree angle you will be good with the acc and 2axis comaps + gps, in a klaman filter for yaw.
i will make the 3rd board after i made a test run with the xbee modules that are on its way by post [noparse]:)[/noparse]
And i also have sourced the remote joysticks from my old remote, and also i found out that the 2.8 inch oled display is way cheaper at the place how makes them, sparkfun does rip of on this.
www.4dsystems.com.au/prod.php?id=34
So i will first while i wait for my pcbs to arrive in 10 to 14 days, test the TX\RX via xbee and sending and controling servos and see if there is to much slag or not?.
I want to send data for 10 channels (Pitch, Roll, Yaw,Gas, Auto Sw, Servo1,Servo2,Servo3, SW1,SW2)
all values should be send as byte. since the stabilization of the copter does most of the flying work , we will be good with 0-125 and 125-250 for the input of the flight sticks.
and form the copter is the data sneding to the emote like (GPS Dtata, Motor Power Data,Signal Strength, ACC Data, Also Gyro, Barometric sensor data, temperature. compass ) those will be 16 bit
So i hope to have at least 30 Updates per second from the remote to the copter. but test will show [noparse]:)[/noparse]
When i make the 3rd board for the xbee to me stacked onto and maybe the fpu ic for the gps and so i also will make a usb dongle with a xbee slot for the ground pc station to control the copter...
Ok i keep you updated here...
Best regards\
Anubisbot
>2.8 inch oled display
That is a nice display, with the touchscreen it could provide a nice interface. Will you be able to map video captured on the trirotor through the prop controlling the oled though? I wasn't sure if the prop could keep up with the video signal (and overlays) on that OLED. I've been considering this product from sparkfun for a head's up display (NTSC 432*240) and the screen size should be within the prop's abilities: http://www.sparkfun.com/commerce/product_info.php?products_id=8750
I've seen this thread on video overlays: http://forums.parallax.com/forums/default.aspx?f=25&m=319580&g=320305#m320305
but wasn't sure if Bean's module would allow overlay on 20fps+ video - the demo shows only static images
>sending and controling servos
>I want to send data for 10 channels (Pitch, Roll, Yaw,Gas, Auto Sw, Servo1,Servo2,Servo3, SW1,SW2)
What are the servos for? I thought all control was through varying the speed of the six brushless motors
I noticed you had multiple pins allocated to the different i2c devices. Since i2c is a bus topology(?), can each device (barometric and other sensors) pipe everything via 2 pins that represent SCL/SDA? i2c runs at 400kHz, so this should be plenty fast. Or, am I misunderstanding something that would not allow this? I've never worked with i2C devices before
Best regards
ian
Post Edited (ianw) : 2/5/2009 12:26:35 AM GMT
One other note, you may want to consider the newer IDG-500 instead of the IDG-300:
http://www.sparkfun.com/commerce/product_info.php?products_id=9070
http://www.invensense.com/products/idg_500.html
I think the IDG-300 is being phased out of production
I checked the datasheets and they aren't pin compatible though, the IDG-500 is smaller
same price for both
Sorry I didn't catch this before you sent out the PCB order...
Post Edited (ianw) : 2/6/2009 5:07:45 AM GMT
Beside that, i have recived the Senors from sparkfun, but i must say, the packing from sparkfun is terrible , since they put the parts only in one bag, and it seems they are just open stored at there place[noparse]:)[/noparse]
So they need all to be backed bevore soldering, thats a good thing at digikey they pack them moisture tight with indicator [noparse]:)[/noparse]
So i just need to wait for the pcb's to arrive in a few days.
Beside that i have got the gps module and started playing with it, and for fun writing a test nema phraser in VB.Express [noparse]:)[/noparse] was fun
And it was then also cool to see if my calculations would be right from the Long, Lat, so i used Nasa Worldwind and yes i was spot on my room wow.
So i hope that may be today there are the xbee modules in the post [noparse]:)[/noparse] And i can start then playing with them for the remote setup.
Also i want to test the gps with the xbee on the RC plane i have to see if the transmission is good at high speeds for 90mph.
And in Nasa Worldwind you can capture and see the data in real time and for free, not like google earth.
The servo ports are for the camera servos for tilt and pan, and a 3rd for what ever un never know when u need one.
Yeay i will use the Fpu for the gps in and phrasing since so i save one cog and get floating point math for the gps navigation.
The rest i will see as i go programming.
>>will use the Fpu for the gps in and phrasing since so i save one cog and get floating point math for the gps navigation
I wasn't sure if you were still following this thread:
http://forums.parallax.com/forums/default.aspx?f=25&m=237900&g=323090
shanghai_fool commented that GPS processing ties up the FPU's ability to perform other calculations, so he may not stick with it - something to consider
Jason_Dorie posted a modded IMU object too, it fits everything into 3 cogs - (1) ADC (2) FMath and (3) IMU/Kalman - but I think it is set up for 5DOF
http://forums.parallax.com/forums/default.aspx?f=25&m=320271
Post Edited (ianw) : 2/6/2009 6:55:43 PM GMT
I got the xbee modules and after a few minutes of playing with them, i managed to get the gps send the datat over xbee to my worldwind software.
So today i will wire the gps with xbee to my RC plane and will make a test flight to see GPS realtime data on the screen.
I just want to cnc machine a housing for it, so i i would crash the plane the good parts survive.
So right now its waiting and testing until the pcb come
Best regards Anubisbot
or maybe the other way around? use the fpu for the Kalman. the code posted by cessnapilot seems to be good, and he posted an updated gps object for the prop too - I assume you would be using the SPI interface to the FPU
>>So today i will wire the gps with xbee
Which Xbee frequency and gps did you decide to go with? This recent 10 Hz unit from Sparkfun seemed interesting: http://www.sparkfun.com/commerce/product_info.php?products_id=9060
I plan to try the 900 MHz xbee
Best regards ian
Post Edited (ianw) : 2/9/2009 12:05:54 AM GMT
good job, is it possible to get the eagle files for the imu board ?
Can you please share the link from soldering and assembling factory ?
thanx
If you also are intrestedin building a Qaudcopter Or a Tricopter, have a look at our blog. we still seeking more pepole to work on this project.
http://diydrones.com/profile/ViperUAVTricopter
Best regards Oliver
Earl
Earl
Great project, Anubisbot!
I have been interested in building a tricopter UAV with contra-rotating props like the draganflyer for some time, and have been collecting information, and testing out parts such as Accelerometers, Compasses, GPS, XBees, motors and props, etc. I have not tested only gyros. As such, I would like to participate in this effort, and subscribe to purchasing the boards that are developed, as well ... if the total cost is affordable. I have used Props and XBee modules in several other robot building projects. I am an engineer (mech, aerospace and elec/electronics) and a robotics hobbyist, so I may be able to contribute to the development.
Someone raised the issue of contra-rotating props not being very effective with regard to weight, thrust and stability. There was some concern expressed elsewhere about hydrodynamic interference between the two props when they are close together in co-axial systems with the props mounted directly behind each other. This is not as much a problem if the two props are separated by a relatively large distance as in the draganflyer design, and as contemplated by Anubisbot.
I am concerned with the small number of servo ports available in this two board design for all the sensors that a UAV would need above and beyond those required to fly and navigate. If an additional serial port is made available, that port could be used to interface to a dedicated small servo controller board (Such as Parallax's new Prop based Servo Controller with 16 servo ports).
Anubisbot, what made you not use the 3.3V MCU board power for the XBee? Since the MCU is a Prop, dpoing that would have eliminated power and logic voltage shifting needs entirely, albeit at the expense of accomodating a much greater current demand (depending on the XBee used).
Ananda
May I ask which service you are referring to? A physical address or even at least a link would be helpful.
Thanks...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH