Where is the best place to connect extra 3.3v analog sensors to ArduPilot?

I want to connect some extra analog sensors and am looking for advice.

I have the latest ArduPilot board, new (blue) Shield with pressure sensor (economic version -- no 3.3v regulator), and ublox GPS board + adaptor board.


Specifically, I want to connect the Breakout Board Expandable IMU ADXL330/LISY300 v2 to my system. It needs 3.3v and cannot take 5v power based on the data sheets I read. So, where is the best place to take power from for clean analog sensor?

For the analog sensor signals themselves, I assume I can connect them directly into the extra analog channels on my ArduPilot board. Any issues I should be aware of with this?

Any other related advice is appreciated! Thanks! FYI, I am also attempting to connect a ground distance sensor (IR or sonar) to design an autoland function.

Views: 60

Reply to This

Replies to This Discussion

You can't connect 3.3v sensors directly to the board. Although we have 3.3v power sources, you need to convert to the analog data signals, too, which requires a logic-level voltage convert. Our own IMUs will connect to ArduPilot via serial, which is at TTL level.
Thanks for the info Chris, but I don't understand... the ATmega328 datasheet says the ADC is 0-Vcc, so I am assuming I can hook up directly to the ADC to read the ADXL330/LISY300 analog sensors. Am I missing something?
Yes, you're going to miss half of the data range. You'll be able to read the data, and if you want you can just multiply it by some constant to bring it up to full range, but the resolution will suck since you're only using half the range. That might be okay for something like a speed sensor, where you don't need precision, but it will kill an IMU, I reckon.
Hi all,

I have Razor 6DOF IMU 3.3V (no onboard regulator)to hook to Ardupilot. But i made 3.3 V regulator powered IMU. Then I hooked A0 -A5 to read analog signal. Like Chris mentioned, resolution is for 5V so almost half missing plus if 3.3V is full range 1024 then i should read 3.3mV resolution. That is not the case with Ardupilot ATmega328(RED) board as VCC is 5V if powered from one of servo line.

I thought about cutting AREF (pin20) of ATmega328 from current VCC(5V) and hook to 3.3V but funny enough board designer placed the joint under the chip!!! so i can't cut it.

So what shall i do to read full range 3.3V IMU from Ardupilot.
The choices are power the whole ArduPilot board with 3.3V(at VCC next to FTDI serial pins) and isolate from servo power lines.But servo signals will have 3.3V during on time. Is my thinking correct or not??
@Chris ....why would it kill IMU?? just by hooking at analog inputs. After all isn't that what it is used for??

So pls advice what to do to read IMU RAZOR board from Ardupilot.
"kill" = won't be useful as an IMU with half-rez data.
Sorry........ miss understanding by me.... Chris!! I thought u meant It will damage IMU.
So do you think my idea of working VCC at 3.3V is good idea?? Would it damage Ardupilot board?? what do you suggest??

regards
PG
I don't think it would damage the board, but you'd probably get resets and other glitches.
Hi, I did similar scheme with the v1.5 red board. It does work once the program is set up.
Chris is correct of course about reading the analog outputs from the sensor board (they are 1.6v +- signal) with the 5v referenced a/d of the ardupilot, it will lose resolution. I did it anyway. Ideally the a/d of the arduino would be also referenced to the 3.3v level, but the ardupilot board is referenced to 5v for most typical things like the airspeed pressure sensor and the IR sensors. Ardu-IMU board has the analog inputs referenced to the 3.3v level, that would be the more ideal way.

Other issues:
the pressure sensor is hooked to a3 on the shield, so can't use that one. so you're left with only one analog input left. Maybe an ardupilot shield with a multiplexer for the analog inputs...., that'd be fancy.

I thought I'd be all fancy and use the self test during initialization or something. Hookup the ST self test pin, using D8, thought it was unused. with an extra pullup resistor from the ST to 3.3, using the extra holes on sensor board. if D8 set as input without pullup resistor, should let the ST pin on sensor board pull up and activate, and is D8 set as output low, it should allow normal operation of the sensor board. problem: I added that code, but didn't realize there's some code in the servo section that pulses D8 as a servo output. took me a while to figure that out. I think that code for D8 is not needed, or maybe that's for throttle control or a servo switch or something. At least in my case, removing makes it work. But, as overkill, I set that aside and figured don't really need to use the ST feature, so I cut the ST-D8 wire also. The moral of the story is to fully understand what the program is doing, and what pins are hooked up to what.

I put the sensor board with double stick tape under the shield, and hooked up the xyz accel to a1,a2,a4, and the gyro to a0, and powered from the gnd & 3.3 that are close to the D6 pin on shield.


When the program is right, it reads the accel & gyro ok, I haven't flown anything with it.

The gyro would be +- about 200 counts for +- 300 deg/sec, so yes only 400 counts out of the 1024 of the a/d are used, but it might work. The accels are less, 66 counts per gee, or +-184 counts per +-3g range, so only ~360 counts out of the 1024. So it's less, but I'll try it.

It would be best to have the ArduIMU setup. Short of trying to unsolder just the a/d vref pin and get 3.3v to it, don't think would be easy with the ArduPilot board.


AHAH. see D8 is the throttle output, I don't have a throttle so I don't care... see, I didn't hookup that blue blue under the Ardupilot board, and forgot about that. So all my bad for using the D8 pin to try to run the ST pin of sensor board. D11 may be the only other normally available output pin.

RSS

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The third round was a reliablilty/aerial photography round for both planes and copters, which is now closed. Stay tuned for the next round, beginning soon.

A list of all T3 contests is here

 

© 2012   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service