Projects

Tuesday 15 April 2014

We started soldering the first board

 
We have finally received all the components and we started soldering the first board today. We started with the FDTI and the Microcontroller. Things went smoothly and we checked, using a multimeter, that all the soldered connections have been done properly.
Just a little problem with the mini USB connector. Exactly “mini” USB and not “micro” as the ones we ordered. However the right ones should arrive in a couple of days.
Before the end of this week we should have finilized soldering the first board
 



Saturday 12 April 2014

Boards arrived !!!!






Last week we received the six boards we designed and manufactured using the OSH park organization.
They have a very professional aspect, does’ t it !!! Next week we are going to solder the components and sensors. We are quite confident of having a working prototype by end of April.
ejtIMU has integrates directly in the board a FDTI that shall permit everybody to connect the board through a USB and retrieve data from the 10 channels dedicated to: acceleration (3) gyro(3) compass(3) and finally the barometric altitude.
 
Keep on following this fully open hardware project



 


 

Sunday 30 March 2014

Boards dispatched

Nice, the six boards have been dispatched from USA on March 27th. They should arrive beginning next week and we can start soldering some of the components

Sunday 23 March 2014

Waiting for the boards

We are ready !!!
We have already submitted the board and now we are waiting for the manufacturing. We should receive 6 boards by the first week of April and afterwards we will start the componentes  soldering.
We have already received some of the components. In the picture you can see the barometers, the microcontroller and the FDTI microchip to connect directly the board to a normal PC.
We expect to have EJTimu operative by mid of April. EJTimu is a low cost Attitude and Heading Reference System (AHRS) allowing for loose attitude determination in the order of 1-2 degrees plus an accurate barometer and a FDTI to connect and operate the board from a normal PC.
This plug and play board is intended for rapid navigation algorithms prototype and validation to everyone who desires to operate an UAV, a DIY robot, a QUAD or Drone. Research institutes and academy people interested in integrating and validating algorithms by simply plugging a board.
Stay tuned EJTIMU shall be soon available


Saturday 1 March 2014

Video about trade off analysis of compasses


This video shows the comparison in performances among two magnetometers: MPU-9150 and HMC8553. Both the magnetometers are connected to a laptop and the heading angle is computed using data of the Earth magnetic field sensed by the compasses.

The heading angle is displayed through a python application which visualizes the heading oscillations due to the noisy signal coming from the compasses
 

MPU9150 vs HMC5883L: Trade-Off Analysis

Hello again!

As promised, here is the trade-off analysis comparing the magnetometer of the MPU-9150 chip, from Invensense, and the 3-axis digital compass HMC5883L, from Honeywell.

Our main doubt about the magnetometer of the MPU was the level of noise present in the measurements. The information was scarce (less than a third of a page in a 52 page document!) and we already knew the Honeywell sensor. So, as you saw in the last posts, we got a breakout of the MPU-9150 from Sparkfun and started measuring the magnetic fields around us!

The first thing to do was to calibrate both magnetometers at the same location. We did it in post processing and we are available to provide the calibration data, raw and already processed, if you would like it.

A point that became clear from the start was that the measurement range of the MPU magnetometer was not variable. We could not change it from the +-12 Gauss full scale! We no other choice, we left it as it was and set the HMC magnetometer to a full scale of +-1.3 Gauss. Our HMC magnetometer is inserted in a Mongoose board and we used this scale in other previous (unreported in the blog!) projects with good results.

From the start, we knew that the large measurement range could negatively impact the performance of the MPU's magnetometer. But one is only positive when something is actually tested!

The figure below illustrates the results of the calibrated data for both sensors during a static test. We subtracted the mean value of each axis so we could be compare them more easily.


As you can see, the noise intensity is much higher for the MPU magnetometer as its measurements envelope the ones from the HMC completely. The following table shows the standard deviation of the measurements on each axis, for the two devices. Remember that the test is a static one and all the variation seen is noise.


Device
X-axis
Y-axis
Z-axis
Standard deviation of the measurements, in milliGauss:
HMC5883L
2.0260
1.7958
3.4745
MPU-9150
9.3401
10.4099
11.5159
Standard deviation of the measurements, in % of FS:
HMC5883L
0.1558
0.1381
0.2673
MPU-9150
0.0778
0.0867
0.0960

Obviously, the standard deviation of the measurements of the MPU are larger, in terms of actual value in milliGauss, with an average of 10 mG, while the HMC presents noise with 2.5 mG average. However, if we look at the standard deviation as a percentage of the full scale of the sensors, we see a less intense noise from the MPU.

So, in conclusion, we decided to keep the HMC5883L 3-axis compass or get the HMC5983, which is basically the same sensor as the 58, but with a maximum output rate of 200 Hz (the one from the 58 is 75 Hz in continuous mode).

The MPU-9150, namely its magnetometer, does not meet our demands! It is a shame that the measurement range of the magnetometer cannot be changed to something less than 12 Gauss because we believe, from the results obtained, that the noise intensity and its accuracy would be better than the ones from HMC. In our opinion, the typical uses of this chip, namely in smartphones and tablets, requires the full scale to be large. This in order to coupe with the intense magnetic fields generated by the batteries and communication antennas. Another fallback, from our point-of-view, is the difficulty we found in communicating directly with the magnetometer. Since we are not interested in using the data fusion algorithms in the MPU chip, to be able to access the magnetometer data easily and fast is a very important factor to us.

We hope you find this analysis interesting and useful!

Cheers!

PS: Shortly, we will be posting a small video in which we show you how the difference in noise level between the devices influences the yaw determination. Keep an eye out! ;)

Wednesday 26 February 2014

MPU 9150: We are reading the magnetometer



Hi there. 
During the weekend we dedicated some time to integrate the MPU-9150 with Arduino Mega board to access the compass data. 

We needed to update the firmware wrt the one provided by Sparkfun. However after solving some problem we finally got the magnetometers measurements. 
We ended up using the code from Pansenti (just take note not to ask for too high output rates from the magnetometer, 50Hz is a good value).
If you want you can use the code made available at Sparkfun, you will have to make some corrections. Unlike all the other sensors and respective registers, the magnetometer writes to its data registers in little-endian! To correct the code, just swap the byte order at the function that reads the magnetometer. In the file MPU6050.cpp, in function getMotion9, change the lines 1729-1731 to:

*mx = (((int16_t)buffer[1]) << 8) | buffer[0];
*my = (((int16_t)buffer[3]) << 8) | buffer[2];
*mz = (((int16_t)buffer[5]) << 8) | buffer[4];

Here below you can find a simple video with the main steps we followed. 


Soon the comparison among the MPU-9150 and the HMC5883L compass performances!
Stay tunned!