Difference between revisions of "Microduino-Module Motion"

From Microduino Wiki
Jump to: navigation, search
(FQA)
 
(6 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
|
 
|
 
[[file:Microduino-10DOF-rect.jpg|400px|thumb|right|Microduino-10DOF]]
 
[[file:Microduino-10DOF-rect.jpg|400px|thumb|right|Microduino-10DOF]]
'''[[Microduino-Motion]]'''(Microduino-10DOF) integrates four sensors including one sensor of 3-axis gyroscope and 3-axis accelerometer(MPU6050), one magnetic field strength sensor(HMC5883L) and a digital barometer sensor(BMP180). This module adopts I2C interface, widely used in automation control, such as aeromodelling,self-balancing car.
+
Microduino-Motion(Microduino-10DOF) integrates four sensors including one sensor of 3-axis gyroscope and 3-axis accelerometer(MPU6050), one magnetic field strength sensor(HMC5883L) and a digital barometer sensor(BMP180). Adopting I2C interface, it can be widely used in automation control, such as aero modeling and self-balancing car.
  
  
Line 14: Line 14:
 
*Small, stackable, and economic.  
 
*Small, stackable, and economic.  
 
*Open hardware circuit design and Arduino compatible programming development environment.
 
*Open hardware circuit design and Arduino compatible programming development environment.
*With uniform Microduino interface standard and rich peripheral modules, it can have an easy and flexible connection with other Microduino modules and sensors.
+
*With a uniform Microduino interface standard and rich peripheral modules, it can easily connect with other Microduino modules and sensors.
 
*2.54mm (0.1 inch) pin pitch, compatible to bread boards and pegboards.  
 
*2.54mm (0.1 inch) pin pitch, compatible to bread boards and pegboards.  
 
|-
 
|-
Line 21: Line 21:
 
==Specification==
 
==Specification==
  
'''Magnetic field intensity sensor:HMC5883L'''
+
'''Magnetic field intensity sensor: HMC5883L'''
  
 
*HMC5883L contains the most advanced high-resolution HMC118X series magnetic-resistive sensor;
 
*HMC5883L contains the most advanced high-resolution HMC118X series magnetic-resistive sensor;
Line 29: Line 29:
  
  
'''Digital Pressure Sensor:BMP180'''
+
'''Digital Pressure Sensor: BMP180'''
  
 
*BMP180 comprises a resistive pressure sensor, an AD converter, and a control unit;
 
*BMP180 comprises a resistive pressure sensor, an AD converter, and a control unit;
Line 38: Line 38:
 
*UT = temperature data (0 to 15bit)
 
*UT = temperature data (0 to 15bit)
  
'''Triaxial accelerometer + three-axis gyro sensor:MPU6050'''
+
'''Triaxial accelerometer + three-axis gyro sensor: MPU6050'''
  
 
*It integrates a 3-axis MEMS gyroscope, a three-axis MEMS accelerometer, and a scalable DMP (Digital Motion Processor);
 
*It integrates a 3-axis MEMS gyroscope, a three-axis MEMS accelerometer, and a scalable DMP (Digital Motion Processor);
Line 46: Line 46:
 
*3-axis accelerometer is programmable control and the range is ± 2g, ± 4g, ± 8g and ± 16g;
 
*3-axis accelerometer is programmable control and the range is ± 2g, ± 4g, ± 8g and ± 16g;
 
*Reduces the impact of setting given and sensor drift by removing the shaft between the accelerator and the gyro sensitivity, ;
 
*Reduces the impact of setting given and sensor drift by removing the shaft between the accelerator and the gyro sensitivity, ;
*The complexity of data fusion algorithms, sensors synchronization, load position sensors can be reduced by useing Digital motion processing (DMP: DigitalMotionProcessing) engine
+
*The complexity of data fusion algorithms, sensors synchronization, load position sensors can be reduced by using Digital motion processing (DMP: DigitalMotionProcessing) engine
 
*A temperature sensor with digital output;
 
*A temperature sensor with digital output;
 
*Gyro operational current: 5mA, gyroscope standby current: 5uA; accelerator operation current: 500uA, accelerator power saving mode current: 40uA @ 10Hz up to 400kHz fast mode of IIC.
 
*Gyro operational current: 5mA, gyroscope standby current: 5uA; accelerator operation current: 500uA, accelerator power saving mode current: 40uA @ 10Hz up to 400kHz fast mode of IIC.
Line 56: Line 56:
 
==Documents==
 
==Documents==
 
* '''[[Microduino-Motion]]''' Eagle source file 【'''[[media:Microduino-10DOF.zip|download]]'''】
 
* '''[[Microduino-Motion]]''' Eagle source file 【'''[[media:Microduino-10DOF.zip|download]]'''】
* '''[[Microduino- Motion]]''' main chips and devices
+
* '''[[Microduino-Motion]]''' main chips and devices
 
** 3-axis gyroscope + 3-axis accelerometer: 【'''[[media:MPU6000andMPU6050.pdf|MPU6050]]'''】
 
** 3-axis gyroscope + 3-axis accelerometer: 【'''[[media:MPU6000andMPU6050.pdf|MPU6050]]'''】
 
** 3-axis compass: 【'''[[media:HMC5883L_en.pdf|HMC5883L]]'''】
 
** 3-axis compass: 【'''[[media:HMC5883L_en.pdf|HMC5883L]]'''】
Line 70: Line 70:
 
*Microduino-Motion:
 
*Microduino-Motion:
 
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_05_Microduino_10DOF
 
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_05_Microduino_10DOF
*【BMP180 Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/BMP085 github Download]''' '''[https://github.com/adafruit/Adafruit-BMP085-Library github Download]'''  】
+
*【BMP180 Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/BMP085 github Download]''''''[https://github.com/adafruit/Adafruit-BMP085-Library github Download]'''  】
 
*【HMC5883L Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/HMC5883L github Download]''' 】
 
*【HMC5883L Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/HMC5883L github Download]''' 】
 
*【MPU6050 Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 github Download]''' 】
 
*【MPU6050 Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 github Download]''' 】
Line 83: Line 83:
 
'''Download'''
 
'''Download'''
  
*MultiWii and source code
+
*MultiWii and source code:
 
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino%20Axis
 
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino%20Axis
*OLED tests 10dof source code:[[File:Program Test 10DOF.zip]]
+
*OLED tests 10dof source code: [[File:Program Test 10DOF.zip]]
  
 
'''Use open source of MWC test Microduino-Motion'''
 
'''Use open source of MWC test Microduino-Motion'''
  
*The hardware need to be prepared:Microduino USBTTL、Microduino Core、Microduino Motion;
+
*The hardware need to be prepared: Microduino USBTTL, Microduino Core, Microduino Motion;
*The software need to be prepared:MultiWii(Linux/Mac/Windows)、MultiWii source code(Arduino)、Arduino IDE(above 1.0 version);
+
*The software need to be prepared: MultiWii(Linux/Mac/Windows), MultiWii source code(Arduino), Arduino IDE(above 1.0 version);
*First use IED open MultiWii.ino in MultiWii directory,the project can be load directly. The provided source code has already been configured for Microduino 10dof.Select board "Microduino Core (Atmega328P@16M,5V)",and then downloaded directly;
+
*First use IED open MultiWii.ino in MultiWii directory,the project can be load directly. The provided source code has already been configured for Microduino 10dof.Select board "Microduino Core (Atmega328P@16M,5V)", and then downloaded directly;
*Turn on the PC: Take the Windows as the example,Execution "MultiWiiConf.exe" in MultiWiiConf \ application.windows32 directory,select the corresponding serial port, then click "Start" to test module.
+
*Turn on the PC: Take the Windows as the example,Execution "MultiWiiConf.exe" in MultiWiiConf \ application.windows32 directory, select the corresponding serial port, then click "Start" to test module.
  
 
'''Use OLED to test Microduino-Motion'''
 
'''Use OLED to test Microduino-Motion'''
  
*The hardware need to be prepare:Microduino USBTTL、Microduino Core、Microduino Motion、Microduino OLED;
+
*The hardware need to be prepare: Microduino USBTTL, Microduino Core, Microduino Motion, Microduino OLED;
*The software need to be prepare:Arduino IDE(above 1.0 version)、Microduino provide test source code(Arduino)、BMP180 Library、HMC5883 LLibrary、MPU6050 Library、I2Cdev Library、U8glib Library;
+
*The software need to be prepare: Arduino IDE(above 1.0 version), Microduino provide test source code(Arduino), BMP180 Library, HMC5883 LLibrary, MPU6050 Library, I2Cdev Library, U8glib Library;
 
*The downloaded libraries should be put into library folder within Arduino IDE's installation folder;
 
*The downloaded libraries should be put into library folder within Arduino IDE's installation folder;
*Start Arduino IED,Open the test code that Microduino provided,select board "Microduino Core (Atmega328P@16M,5V)",and then downloaded directly;
+
*Start Arduino IED,Open the test code that Microduino provided, select board "Microduino Core (Atmega328P@16M,5V)", and then downloaded directly;
  
*After the download, please pay attention to the OLED is complete:
+
*After the download, please pay attention to the OLED is complete:
**Top row is used to test HM5883L,The module is placed in the horizontal position, turn the module can be observed that pointer always points to an angle;
+
**Top row is used to test HM5883L, The module is placed in the horizontal position, turn the module can be observed that pointer always points to an angle;
 
**The middle row is used to test  BMP180, observing pressure and temperature data;
 
**The middle row is used to test  BMP180, observing pressure and temperature data;
 
**The last line is used to test MPU6050, tilt module,then you can observe the ball rolling toward the corresponding direction.
 
**The last line is used to test MPU6050, tilt module,then you can observe the ball rolling toward the corresponding direction.
Line 128: Line 128:
 
:[[file:Microduino-10DOF-b.jpg|thumb|600px|center|Microduino 10DOF Back]]
 
:[[file:Microduino-10DOF-b.jpg|thumb|600px|center|Microduino 10DOF Back]]
 
<br style="clear: left"/>
 
<br style="clear: left"/>
* Testing video: [http://v.youku.com/v_show/id_XNTIzMTY3MTU2.html Microduino-10DOF MPU6050 Testing]
+
 
  
 
|-
 
|-
 
|
 
|

Latest revision as of 10:18, 9 September 2016

Language: English  • 中文
Microduino-10DOF

Microduino-Motion(Microduino-10DOF) integrates four sensors including one sensor of 3-axis gyroscope and 3-axis accelerometer(MPU6050), one magnetic field strength sensor(HMC5883L) and a digital barometer sensor(BMP180). Adopting I2C interface, it can be widely used in automation control, such as aero modeling and self-balancing car.


Features

  • Adopt three I2C-communicating sensors, saving IO interfaces.
  • Small, stackable, and economic.
  • Open hardware circuit design and Arduino compatible programming development environment.
  • With a uniform Microduino interface standard and rich peripheral modules, it can easily connect with other Microduino modules and sensors.
  • 2.54mm (0.1 inch) pin pitch, compatible to bread boards and pegboards.

Specification

Magnetic field intensity sensor: HMC5883L

  • HMC5883L contains the most advanced high-resolution HMC118X series magnetic-resistive sensor;
  • Integrated circuit with Honeywell patents includes an amplifier, automatic degaussing actuator, offset calibration and a 12-bit AD converter which can control the accuracy of the compass to the range of 1 ° ~ 2 °;
  • A simple IIC serial bus interface.


Digital Pressure Sensor: BMP180

  • BMP180 comprises a resistive pressure sensor, an AD converter, and a control unit;
    • The control unit includes E2PROM and I2C interfaces. BMP180 transmits uncompensated temperature and pressure values. E2PROM stores 176bit individual standard data, which are used for compensation of temperature dependence and other sensor parameters.
  • Available range: 300hPa to 1100hPa (corresponding sea level to -500m -- +9000 m)
  • Absolute accuracy can be 0.03hPa to the lowest.
  • UP = pressure data (16 to 19bit)
  • UT = temperature data (0 to 15bit)

Triaxial accelerometer + three-axis gyro sensor: MPU6050

  • It integrates a 3-axis MEMS gyroscope, a three-axis MEMS accelerometer, and a scalable DMP (Digital Motion Processor);
  • Digital output for 6 or 9 axis rotation matrix, quaternion, Euler angles format (EulerAngleforma) data fusion algorithms;
  • With 131LSBs / °sec sensitivity and whole cell sensing range is ± 250, ± 500, ± 1000 and ± 2000 ° / sec of 3-axis angular velocity sensor (gyroscope);
  • 3-axis accelerometer is programmable control and the range is ± 2g, ± 4g, ± 8g and ± 16g;
  • Reduces the impact of setting given and sensor drift by removing the shaft between the accelerator and the gyro sensitivity, ;
  • The complexity of data fusion algorithms, sensors synchronization, load position sensors can be reduced by using Digital motion processing (DMP: DigitalMotionProcessing) engine
  • A temperature sensor with digital output;
  • Gyro operational current: 5mA, gyroscope standby current: 5uA; accelerator operation current: 500uA, accelerator power saving mode current: 40uA @ 10Hz up to 400kHz fast mode of IIC.
Microduino-10DOF-Pinout1

Documents


Development

Arduino Libraries and support packages

  • Microduino-Motion:

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_05_Microduino_10DOF

Application

Download

  • MultiWii and source code:

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino%20Axis

Use open source of MWC test Microduino-Motion

  • The hardware need to be prepared: Microduino USBTTL, Microduino Core, Microduino Motion;
  • The software need to be prepared: MultiWii(Linux/Mac/Windows), MultiWii source code(Arduino), Arduino IDE(above 1.0 version);
  • First use IED open MultiWii.ino in MultiWii directory,the project can be load directly. The provided source code has already been configured for Microduino 10dof.Select board "Microduino Core (Atmega328P@16M,5V)", and then downloaded directly;
  • Turn on the PC: Take the Windows as the example,Execution "MultiWiiConf.exe" in MultiWiiConf \ application.windows32 directory, select the corresponding serial port, then click "Start" to test module.

Use OLED to test Microduino-Motion

  • The hardware need to be prepare: Microduino USBTTL, Microduino Core, Microduino Motion, Microduino OLED;
  • The software need to be prepare: Arduino IDE(above 1.0 version), Microduino provide test source code(Arduino), BMP180 Library, HMC5883 LLibrary, MPU6050 Library, I2Cdev Library, U8glib Library;
  • The downloaded libraries should be put into library folder within Arduino IDE's installation folder;
  • Start Arduino IED,Open the test code that Microduino provided, select board "Microduino Core (Atmega328P@16M,5V)", and then downloaded directly;
  • After the download, please pay attention to the OLED is complete:
    • Top row is used to test HM5883L, The module is placed in the horizontal position, turn the module can be observed that pointer always points to an angle;
    • The middle row is used to test BMP180, observing pressure and temperature data;
    • The last line is used to test MPU6050, tilt module,then you can observe the ball rolling toward the corresponding direction.


FQA

History

  • April 8,2013,@laoPanorz found SI pin doesn't connect to VDD in HMC5883l.
  • Feb 28,2013, test release publish, no major issue.
  • Feb 18,2013, the first official release layout.

Pictures

Microduino 10DOF Front


Microduino 10DOF Back