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.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • 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.
  • 3D Robotics
    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.
This reply was deleted.

Activity