Difference between revisions of "NanoHat Motor"

From FriendlyELEC WiKi
Jump to: navigation, search
(安装NanoHAT-Motor-Python-Library)
(Resources)
 
(5 intermediate revisions by 3 users not shown)
Line 81: Line 81:
 
|4    || GND  || Ground   
 
|4    || GND  || Ground   
 
|}
 
|}
 +
[http://wiki.friendlyarm.com/wiki/images/f/f5/2.0mm_dip_4pin.jpg 2.0mm 4Pin PWM Steering Motor Connector Pin File in PDF]
  
 
* '''Motor Connector Pin Description'''
 
* '''Motor Connector Pin Description'''
Line 115: Line 116:
 
NanoPi NEO<br />
 
NanoPi NEO<br />
 
NanoPi Fire<br />
 
NanoPi Fire<br />
 +
NanoPi NEO2<br />
 +
NanoPi NEO Plus2<br />
  
 
As for other FriendlyElec's nano boards as long as they have an I2C interface you can make them work with this module by making some wiring.
 
As for other FriendlyElec's nano boards as long as they have an I2C interface you can make them work with this module by making some wiring.
Line 125: Line 128:
 
git clone https://github.com/friendlyarm/NanoHAT-Motor-Python-Library
 
git clone https://github.com/friendlyarm/NanoHAT-Motor-Python-Library
 
cd NanoHAT-Motor-Python-Library
 
cd NanoHAT-Motor-Python-Library
python setup.py install
+
sudo python setup.py install
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===NanoHAT-Motor-Python-Library的基本使用===
+
===Use of NanoHAT-Motor-Python-Library===
====操作直流电机====
+
====Control DC Motor====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
cd ~/NanoHAT-Motor-Python-Library/examples
 
cd ~/NanoHAT-Motor-Python-Library/examples
 
python DCTest.py <motor port>
 
python DCTest.py <motor port>
 
</syntaxhighlight>
 
</syntaxhighlight>
其中,<motor port>为电机连接的端口。
+
"<motor port>" is a motor's port
  
====操作步进马达====
+
====Control Step Motor====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
cd ~/NanoHAT-Motor-Python-Library/examples
 
cd ~/NanoHAT-Motor-Python-Library/examples
 
python StepperTest.py <motor port>
 
python StepperTest.py <motor port>
 
</syntaxhighlight>
 
</syntaxhighlight>
其中,<motor port>为马达连接的端口。
+
"<motor port>" is a step motor's port
  
====操作舵机====
+
====Control Steering Motor====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
cd ~/NanoHAT-Motor-Python-Library/examples
 
cd ~/NanoHAT-Motor-Python-Library/examples
 
python ServoTest.py <pwm port>
 
python ServoTest.py <pwm port>
 
</syntaxhighlight>
 
</syntaxhighlight>
其中,<pwm port>为舵机连接的端口。
+
"<pwm port>" is a steering motor's port
  
==相关资料==
+
==Resources==
 
*[Schematic]([http://wiki.friendlyarm.com/wiki/images/2/2d/SCHEMATIC1_NanoHat_Motor_v1.0_1703.pdf Schematic - NanoHat Motor.pdf])
 
*[Schematic]([http://wiki.friendlyarm.com/wiki/images/2/2d/SCHEMATIC1_NanoHat_Motor_v1.0_1703.pdf Schematic - NanoHat Motor.pdf])
 
*[Datasheet]([http://www.nxp.com/documents/data_sheet/PCA9685.pdf PCA9685 datasheet])
 
*[Datasheet]([http://www.nxp.com/documents/data_sheet/PCA9685.pdf PCA9685 datasheet])
 
*[Datasheet]([http://wiki.friendlyarm.com/wiki/images/6/62/TB6612FNG_datasheet_en.pdf TB6612FNG datasheet])
 
*[Datasheet]([http://wiki.friendlyarm.com/wiki/images/6/62/TB6612FNG_datasheet_en.pdf TB6612FNG datasheet])
 +
*[Dimension]([http://wiki.friendlyarm.com/wiki/images/f/f5/2.0mm_dip_4pin.jpg 2.0mm 4Pin PWM Steering Motor Connector Pin File in PDF])
 +
 +
==Update Log==
 +
===April-20-2017===
 +
* Released English Version

Latest revision as of 01:59, 5 July 2018

查看中文

1 Introduction

NanoHat Motor
  • The NanoHat Motor is a motor module with I2C. It uses NXP’s PCA9685 and Toshiba’s TB6612FNG.
  • A single module can drive four 5V PWM steering motors and four 12V DC motors or four 5V PWM steering motors and two 12V four-wire step motors. You can drive more motors by stacking multiple modules with different I2C addresses together.
  • It uses TI's TPS54331 device to provide stable power source.
  • An onboard 32K EEPROM AT24C32D can save user data,
  • The NanoHat Motor has the same form factor as the NanoPi NEO and can be stacked on a NanoPi NEO.

2 Hardware Spec

  • Input Voltage: 12V
  • Capable of driving four 5V PWM steering motors
  • Capable of driving four 12V DC motors
  • Capable of driving two 12V four-wire step motors
  • Onboard 32K EEPROM
  • Stackable and Configurable I2C address

NanoHat Motor-PCB

2.1 Diagram, Layout and Dimension

NanoHat Motor Layout
NanoHat Motor
  • 24-Pin Pin Description
Pin# Name Pin# Name
1 SYS_3.3V 2 VDD_5V OUT
3 I2C_SDA 4 VDD_5V OUT
5 I2C_SCL 6 GND
7 NC 8 NC
9 GND 10 NC
11 NC 12 NC
13 NC 14 GND
15 NC 16 NC
17 SYS_3.3V 18 NC
19 NC 20 GND
21 NC 22 NC
23 NC 24 NC

None of the pins except 5V and GND in the 12-Pin connector is connected.
NanoPi NEO NanoPi NEO Air

  • 2-Pin Connector Pin Description
Pin# Name Description
1 12V 12V Input
2 GND Ground
  • 4Pin PWM Steering Motor Connector Pin Description
Pin# Name Description
1 PWM* PWM * Output
2 NC Not Connected
3 5V 5V Output
4 GND Ground

2.0mm 4Pin PWM Steering Motor Connector Pin File in PDF

  • Motor Connector Pin Description
Name Description
M1 DC Motor #1 output/Step Motor #1 (Wire 1 & 2) output
M2 DC Motor #2 output/Step Motor #1 (Wire 3 & 4) output
M3 DC Motor #3 output/Step Motor #2 (Wire 1 & 2) output
M4 DC Motor #4 output/Step Motor #2 (Wire 3 & 4) output

3 Hardware Setup

3.1 Connect NanoHat Motor to NanoPi NEO

The NanoHat Motor has the same form factor as the NanoPi NEO and can be stacked on a NanoPi NEO Here are some hardware setups:
NanoHat Motor_nanopi_NEO NanoHat Motor_nanopi_NEO_Air NanoHat Motor_nanopi_NEO2
The I2C address on the module can be reset by adjusting the onboard resistor. You can stack multiple motor modules together with different I2C addresses. Here is a hardware setup:
NanoHat Motor_nanopi_NEO_Hat

4 Run Test Program

The NanoHat Motor's test program is included in the NanoHAT-Motor-Python-Library.

The NanoHAT-Motor-Python-Library is a Python library which provides various APIs for motor control.

Applicable Boards:
NanoPi NEO
NanoPi Fire
NanoPi NEO2
NanoPi NEO Plus2

As for other FriendlyElec's nano boards as long as they have an I2C interface you can make them work with this module by making some wiring.

4.1 Install NanoHAT-Motor-Python-Library

To make a NEO work with the motor module you need to install this library on NEO. You can install the library by logging into your NEO via ssh and type the following commands:

sudo apt-get install python-dev python-smbus git
cd ~
git clone https://github.com/friendlyarm/NanoHAT-Motor-Python-Library
cd NanoHAT-Motor-Python-Library
sudo python setup.py install

4.2 Use of NanoHAT-Motor-Python-Library

4.2.1 Control DC Motor

cd ~/NanoHAT-Motor-Python-Library/examples
python DCTest.py <motor port>

"<motor port>" is a motor's port

4.2.2 Control Step Motor

cd ~/NanoHAT-Motor-Python-Library/examples
python StepperTest.py <motor port>

"<motor port>" is a step motor's port

4.2.3 Control Steering Motor

cd ~/NanoHAT-Motor-Python-Library/examples
python ServoTest.py <pwm port>

"<pwm port>" is a steering motor's port

5 Resources

6 Update Log

6.1 April-20-2017

  • Released English Version