Why our own PCB?
We chose to put all the intelligence of our system on the Gumstix. On the other side, we need sensors (like accelerometers, gyrometers or magnetometers), and there is no room for them either on the Gumstix or the Tobi extension board. We needed to design a board for retrieving all the necessary informations.
For getting all informations of the sensors, we use a STM32 microprocessor, because of the adequate number of connexions for our needs, and the fact that we already worked with it.
One of our principal worry was to have all the components necessary to a good IMU. It means accelerometers, gyrometers & magnetometers. For all of them, we chose digital devices, because of the easy way to use them. We have so a 3-axis accelerometer & three 1-axis magnetometers, used by FQA algorithm for the attitude determination, and a 3-axis gyroscope, used by Kalman. We only need 2 axis of the accelerometer, but it was cheaper to get one 3-axis than two 1-axis accelerometers. You can find the references of these sensors below.
For the altitude, we first got a barometer, but it didn’t offer enough precision. For those who might want to realize a such project, we advise to avoid such sensors for low altitude flights. We have then replaced it by a Sharp sensor, which gives us altitude determination when it’s between 1.5 and 5 meters from the ground by using infrareds measurements.
These sensors are connected to the STM32 by SPI (accelerometers & magnetometers), I2C (gyroscope), and analog entry for the Sharp.
The STM32 is also responsible of the communication with the motors, using I2C, and with the RF, using UART connection. He is connected to the Gumstix by UART.
Here are photos and schematics of our PCB.
One of the critical requirement for our PCB was to get the data of all sensors in a very short amount of time and in a synchronized way. We chose to use FreeRTOS as OS on our PCB, which gives us real-time performances. Moreover it is free to use (we just have to respect some conditions of the licence), and is relatively easy to deploy.
References of the sensors :
3-Axis accelerometer: LIS3LV02DL
X and Y magnetometers: Sen-XY
Z magnetometer: Sen-Z
PNI’s 11096 ASIC controller, for centralizing all the magnetometers into one device.
3-axis gyroscope: IMU-3000