3D Robotics

Here's how to connect the FMA XY and Z sensors. [Note: the sensors come from FMA with a thin film (usually red) over the thermopile lenses. You have to remove the film before using them.] The basic connections are as shown in this picture:

Cut one of the cables that comes with the FMA XY sensor in half and pull the four wires apart for about two inches. Strip their ends by about a quarter of an inch. Do the same for the Z sensor (you can cut off the fourth wire, the one furthest from the red one, off at the sensor level since it isn't used on that sensor). Twist the red wires and the one next to it from each sensor together, since they'll be sharing a connector. Now it's time to slip on heat shrink tubing. If you have some red tubing, put it on the two twisted-together second wires in from the sides of the cables with the red strip, to mark the positive power cable (yes, that's confusing. V+ isn't the wire with the red strip--it's the wire next to it!). Black tubing goes on the two twisted-together red cables (which are Ground, which is confusingly the red one). Slip tubing on the other three wires, two from the XY and one from the Z senors. At this point the instructions depend on whether you're powering the board from the Rx/ESC, as most people are, or if you're powering the board via the BATT pins. The following is for the standard boards using Rx/ESC power. Notes for BATT power are below in [brackets]. Solder each wire or pair of wires on a five-pin male machine pin header like the below (use the picture above to get the order right, and solder the two ground and V+ wires together at each of those two pins). If you haven't already done so, also solder a five pin female machine pin header in the five holes made by ArduPilot's Batt -,+ and Analog 0,1,2 holes. By combining all the sensor wires in one strip, we can ensure that we'll have the best, strongest connection:

How did we get that otherwise unused Batt + pin on ArduPilot to actually be +5v? By soldering a wire on the bottom from the VCC pin in the FTDI row!

[If you are powering the board from the BATT pins, you'll need to attach the sensors differently. Solder a three-hole female header in the Analog 0,1 and 2 holes, and a two-hole header in the VCC and GND holes in the FTDI row. Solder the three sensor data lines to a three-pin male header in the same order as above, and combine the V+ and GND power lines from the two sensors to a two-pin male header. Connect the matching male and female headers.] Note that for the 2.1 version of the software, the sensor should be placed diagonally on the aircraft so the cable plug is facing backwards (towards the tail) and the FMA logo is at the front, as shown in the picture at the top. If you want the cable facing forwards, you can change that in the code. (look for "#define REVERSE_X_SENSOR 1 //1 = cable behind, 0 = cable front" in the first tab) Here's a diagram that shows how everything hooks up:

Here's a very simple program that will test all your sensor (XY and Z). Just load it on ArduPilot (make sure the board is powered and the GPS is not connected). With the FTDI cable connected, click on the serial monitor icon in Arduino and make sure the speed is set for 9600. The program will prompt you to tilt the sensor in certain directions and then strike any key and hit return when you're ready to take the X and Y sensor readings. Remember that sensor readings inside and near heat sources (like your hand) are nothing like the real thing outside. But it's still a good way to confirm that your sensor is working right.
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Moderator
    Why did my last comment back to you come up with a message saying it needed to be reviewed before it would be posted? Who does that review? I'll try again.

    As a technician I deduced that the changes you posted were as you explained but I wasn't POSITIVE, so I asked. I do find a bit of concern w/this project as it remindes me of the paparazzi project. As a newb that place has just so much detail that it's overwhelming to begin an us newbs often just give up because unlike you, they are not as prone to reply to newb questions. For that we are all thankfull. I worry that the pace of this project will never allow for the time to complete the 'full manuals' as you awsome guys just keep coming up with more and more great stuff... Sometimes I don't like to ask questions like the one I did because it takes you away from answering more important q's from others.
    - Mahalo
  • 3D Robotics
    Sorry Brian, we're running as fast as we can here and haven't released full manuals yet, so it's post by post at the moment (and you'll note that this post is to prepare for software that we haven't even released yet, so you're really on the cutting edge here).

    But I'm still a little confused. Is that you find the instruction above unclear, or are you worrying that the instructions are missing something? To answer your specific question, I have moved all the sensor pins to the analog pin row, include V+ and GND, combing the power pins of both sensors into one. We don't use the machine pin headers in VCC and GND in the FTDI row anymore. So the picture above is of a ArduPilot 1.0 board that has been migrated to ArduPilot 2.1 and now has some machine pin sockets that are no longer used.
  • Moderator
    Thanks Chris, please don't take this post as any kind of jab.

    You see where I became confused is from past updates. Setting up from ArduPilot 1.0 to 2 for example. You assumed that the instructions for setup of new board have been completed per 1.0 guidelines. So folks followed the update instructions on new boards and then asked questioned. You told them that they also needed to complete the initial 1.0 configuration. They assumed/You assumed. This time I assumed that because 2.0 used the vcc and gnd machine headers that 2.1 would need them as well.

    Your instructions are very clear but I assumed that we still needed them and that wasn't supported by the pictures, so I asked. I also was assuming that if parts/pieces no longer need to be added to the board that you'd put that into the post. Our perspectives differ "Catchup versus Innovator" I'm looking at what all do I need to do to setup my new board versus adding/updating an existing one.
  • 3D Robotics
    Brian, the post explains all that. Could you pleaser read it again and see if you still have questions?
  • Moderator
    Are the VCC and GND machine header pins still used to power both the XY and Z sensors? To me it looks like the xy &z connectors are shareing one set of pins now?
  • 3D Robotics
    @Magnus: The Paparazzi team has.
  • is there someone that has done any DIY z sensor?
    is there any component list and the circuit board?

    thanks
  • 3D Robotics
    The sensor headers in that picture are machine pin. The ones for the servos on the right are regular. Machine pin headers have a tighter, more solid fit.
  • Just curious- why do you specify machine pin headers? The headers in the picture appear to be regular not machine pin.
  • Can you post a screenshot for the small load way-point program ?

    Thx benjamin.
This reply was deleted.