Difference between revisions of "Microduino-10DOF"

From Microduino Wiki
Jump to: navigation, search
(Features)
 
(35 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 +
{{Language|Microduino-10DOF}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
 
[[file:Microduino-10DOF-rect.jpg|400px|thumb|right|Microduino-10DOF]]
 
[[file:Microduino-10DOF-rect.jpg|400px|thumb|right|Microduino-10DOF]]
'''[[Microduino-10DOF]]''' module use IIC interface to connect with core module and integrates 4 kinds of sensors. MPU6050 uses to 3-axis gyroscope and 3-axis accelerometer, HMC5883L uses to 3-axis compass,BMP085 for temperature and pressure sensor. This module widely used in automation control, such as aeromodelling,self-balancing car.
+
'''[[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.
  
|-
 
|
 
 
==Features==
 
*Three kinds of sensors all use I2c interface to connect with core module which save the IO interface, widely used in embedded system;
 
*Small, cheap, stackable, opened platfrom;
 
*Open source hardware circuit design, compatible with the Arduino IDE development environment for programming;
 
*Defines unified interface Microduino specification and contain rich peripheral modules. Set up the quick connection with other Microduino modules and sensors easily and flexibly.
 
*2.54 pitch row female connector for easy integration into breadboard.
 
  
 
|-
 
|-
Line 22: Line 14:
 
'''Magnetic field intensity sensor:HMC5883L'''
 
'''Magnetic field intensity sensor:HMC5883L'''
  
*HMC5883L including the most advanced high-resolution HMC118X series magnetoresistive sensor;
+
*HMC5883L contains the most advanced high-resolution HMC118X series magnetic-resistive sensor;
*Honeywell patents with integrated amplifier, a drive automatic degaussing, offset calibration, the accuracy of the compass can be controlled analog to digital 12 bit converter in the 1 ° ~ 2 °;
+
*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 °;
*Simple I2C serial bus interface.
+
*A simple IIC serial bus interface.
  
  
  
'''Digital Pressure Sensors:BMP180'''
+
'''Digital Pressure Sensor:BMP180'''
  
*BMP180 comprising resistive pressure sensor, AD converter, and a control unit;
+
*BMP180 comprises a resistive pressure sensor, an AD converter, and a control unit;
*Wherein the control unit includes E2PROM and I2C interfaces. BMP180 transmission uncompensated temperature and pressure values. E2PROM stores 176bit individual standard data, the standard data for compensation of temperature dependence and the other sensor parameters.
+
**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 (above sea level corresponding -500m to +9000 m)
+
*Available range: 300hPa to 1100hPa (corresponding sea level to -500m -- +9000 m)
*Lowest absolute accuracy can be achieved 0.03hPa
+
*Lowest absolute accuracy can be achieved--0.03hPa
 
*UP = pressure data (16 to 19bit)
 
*UP = pressure data (16 to 19bit)
 
*UT = temperature data (0 to 15bit)
 
*UT = temperature data (0 to 15bit)
Line 39: Line 31:
 
'''Triaxial accelerometer + three-axis gyro sensor:MPU6050'''
 
'''Triaxial accelerometer + three-axis gyro sensor:MPU6050'''
  
*It integrates a 3-axis MEMS gyroscope, three-axis MEMS accelerometer, and a scalable digital motion processor DMP (Digital Motion Processor);
+
*It integrates a 3-axis MEMS gyroscope, a three-axis MEMS accelerometer, and a scalable DMP (Digital Motion Processor);
  
*Digital output 6 or 9 axis rotation matrix, quaternion, Euler angles format (EulerAngleforma) data fusion algorithms;
+
*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);
+
*With 131LSBs / °sec sensitivity and whole cell sensing range is ± 250, ± 500, ± 1000 and ± 2000 ° / sec of 3-axis angular velocity sensor (gyroscope);
*Programmable control and program control range of ± 2g, ± 4g, ± 8g and ± 16g 3-axis accelerometer;
+
*3-axis accelerometer is programmable control and the range is ± 2g, ± 4g, ± 8g and ± 16g;
*Remove the shaft between the accelerator and the gyro sensitivity, reducing the impact of setting given and sensor drift;
+
*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 reduce by useing Digital motion processing (DMP: DigitalMotionProcessing) engine
+
*The complexity of data fusion algorithms, sensors synchronization, load position sensors can be reduced by useing Digital motion processing (DMP: DigitalMotionProcessing) engine
*A digital output temperature sensor;
+
*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 I2C.
+
*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 53: Line 45:
 
[[File:10DOF-Pinout-1.jpg|800px|thumb|center|Microduino-10DOF-Pinout1]]
 
[[File:10DOF-Pinout-1.jpg|800px|thumb|center|Microduino-10DOF-Pinout1]]
  
==Documents==
 
* Snapshot of '''[[Microduino-10DOF]]''' schematic
 
:[[file:Microduino-10DOF-SCH.png|600px|thumb|left|Microduino-10DOF Schematic]]
 
<br style="clear: left"/>
 
:[[file:Microduino-10DOF-PCB.png|600px|thumb|left|Microduino-10DOFPCB]]
 
<br style="clear: left"/>
 
* '''[[Microduino-10DOF]]''' Eagle source file 【'''[[media:Microduino-10DOF.zip|download]]'''】
 
* '''[[Microduino-10DOF]]''' main chips and devices
 
** 3-axis gyroscope + 3-axis accelerometer: 【'''[[media:MPU6000andMPU6050.pdf|MPU6050]]'''】
 
** 3-axis compass: 【'''[[media:HMC5883L.pdf|HMC5883L]]'''】
 
** temperature + pressure sensor: 【'''[[media:BMP085.pdf|BMP085]]'''】
 
 
:[[file:Micromodule-10DOF-1.png|800px|thumb|left|Microduino-10DOF-Pinout]]
 
<br style="clear: left"/>
 
  
 
|-
 
|-
 
|
 
|
 
  
  
Line 76: Line 53:
  
 
'''Arduino Libraries and support packages'''
 
'''Arduino Libraries and support packages'''
 
+
*Microduino_10DOF:https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_05_Microduino_10DOF
*【BMP180 Library [[Media:github download]], [[Media:github download]] 】
+
*【BMP180 Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/BMP085 github Download]''' '''[https://github.com/adafruit/Adafruit-BMP085-Library github Download]''' 
*【HMC5883 LLibrary [[Media:github download]] 】
+
*【HMC5883L Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/HMC5883L github Download]'''
*【MPU6050 Library [[Media:github download]] 】
+
*【MPU6050 Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 github Download]'''
*【I2Cdev Library [[Media:github download]] 】
+
*【I2Cdev Library'''[https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/I2Cdev github Download]'''
*【U8glib Library [[Media:google download]] 】
+
*【U8glib Library'''[http://code.google.com/p/u8glib/ google Download ]'''
  
 
|-
 
|-
Line 90: Line 67:
 
'''Download'''
 
'''Download'''
  
*MultiWii and source code :[[File:MultiWii 2 2.zip]]
+
*MultiWii and source code :https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino%20Axis
*OLED test 10dof source code:[[File:Program Test 10DOF.zip]]
+
*OLED tests 10dof source code:[[File:Program Test 10DOF.zip]]
  
'''Use of open source of MWC test 10dof module'''
+
'''Use open source of MWC test 10dof module'''
  
*the hardware need to be prepare:Microduino FT232R、Microduino Core、Microduino 10dof;
+
*The hardware need to be prepared:Microduino FT232R、Microduino Core、Microduino 10dof;
*the software need to be prepare: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, the provide source code has already configuration for Microduino 10dof,Select board Microduino Core (Atmega328P@16M,5V),Can be 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;
*Then turn on the PC,for example Windows,Execution MultiWiiConf.exe which in MultiWiiConf \ application.windows32 directory,Select the corresponding serial port, click Start to test modules.
+
*Turn on the PC. Take the Windows as example,Execution "MultiWiiConf.exe" in MultiWiiConf \ application.windows32 directory,select the corresponding serial port, then click "Start" to test module.
  
'''OLED test 10dof module'''
+
'''Use OLED test 10dof module'''
  
*the hardware need to be prepare:Microduino FT232R、Microduino Core、Microduino 10dof、Microduino OLED;
+
*The hardware need to be prepare:Microduino FT232R、Microduino Core、Microduino 10dof、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 folder will be put in to library folder, which is the libraries within Arduino IDE installation folder;
+
*The downloaded libraries should be put into library folder within Arduino IDE's installation folder;
*start Arduino IED,Open Microduino provides test source code,Select board Microduino Core (Atmega328P@16M,5V),Can be downloaded directly;
+
*Start Arduino IED,Open the test code that Microduino provided,select board "Microduino Core (Atmega328P@16M,5V)",and then downloaded directly;
  
*OLED can be observed after the download 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 level, turn the module can be observed 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 the test used BMP180, observed 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 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.
  
  
 
|-
 
|-
 
|
 
|
 +
 +
==FQA==
 +
*How to run 10DOF test program in Mac?
 +
**Running a Mac Osx 10.9.3 with IDE 1.0.5 with boads.txt from Microduino see
 +
'''http://www.microduino.cc/wiki/index.php?title=Arduino_IDE_Microduino Hardware Support Package'''
 +
**Download test program from Microduino-10DOF
 +
'''http://www.microduino.cc/wiki/index.php?title=Microduino-10DOF'''
 +
**Modified somewhat and running on a Core+See Inclinomter
 +
'''https://plus.google.com/u/0/communities/117933845827174624649/stream/e9bf5dd3-74d2-4e17-af1c-8a54c6bfb9e8'''
  
 
==History==
 
==History==
*2013年4月8日 @老潘orz发现HMC5883L S1管脚未连接VDD。
+
*April 8,2013,@laoPanorz found SI pin doesn't connect to VDD in HMC5883l.
*2013年2月28日,测试版出炉,无大问题。
+
*Feb 28,2013, test release publish, no major issue.
*2013年2月18日,初版打样。
+
*Feb 18,2013, the first official release layout.
 
|-
 
|-
 
|
 
|
 +
 
==Pictures==
 
==Pictures==
 
:[[file:Microduino-10DOF-t.jpg|thumb|600px|center|Microduino 10DOF Front]]
 
:[[file:Microduino-10DOF-t.jpg|thumb|600px|center|Microduino 10DOF Front]]

Latest revision as of 22:57, 9 November 2016

Language: English  • 中文
Microduino-10DOF

Microduino-10DOFintegrates 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.


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)
  • Lowest absolute accuracy can be achieved--0.03hPa
  • 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 useing 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



Development

Arduino Libraries and support packages

Applications

Download

Use open source of MWC test 10dof module

  • The hardware need to be prepared:Microduino FT232R、Microduino Core、Microduino 10dof;
  • 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 example,Execution "MultiWiiConf.exe" in MultiWiiConf \ application.windows32 directory,select the corresponding serial port, then click "Start" to test module.

Use OLED test 10dof module

  • The hardware need to be prepare:Microduino FT232R、Microduino Core、Microduino 10dof、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

  • How to run 10DOF test program in Mac?
    • Running a Mac Osx 10.9.3 with IDE 1.0.5 with boads.txt from Microduino see

http://www.microduino.cc/wiki/index.php?title=Arduino_IDE_Microduino Hardware Support Package

    • Download test program from Microduino-10DOF

http://www.microduino.cc/wiki/index.php?title=Microduino-10DOF

    • Modified somewhat and running on a Core+See Inclinomter

https://plus.google.com/u/0/communities/117933845827174624649/stream/e9bf5dd3-74d2-4e17-af1c-8a54c6bfb9e8

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