NanoHat Motor
From FriendlyELEC WiKi
Contents
1 Introduction
- 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
2.1 Diagram, Layout and Dimension
- 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
- 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_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:
4 运行测试程序
NanoHat Motor的测试程序包含在 NanoHAT-Motor-Python-Library 软件仓库里。
NanoHAT-Motor-Python-Library是一个Python类库,为舵机、直流电机和步进电机提供了非常便利的编程接口,提供单个和多个电机的高精度控制。
当前支持的开发板:
NanoPi NEO
NanoPi Fire
其他开发板只能带有 I2C 接口,通过适当配置也能支持。
4.1 安装NanoHAT-Motor-Python-Library
通过ssh,或者串口终端进入开发板的命令行,执行以下命令安装:
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 python setup.py install
4.2 NanoHAT-Motor-Python-Library的基本使用
4.2.1 操作直流电机
cd ~/NanoHAT-Motor-Python-Library/examples python DCTest.py <motor port>
其中,<motor port>为电机连接的端口。
4.2.2 操作步进马达
cd ~/NanoHAT-Motor-Python-Library/examples python StepperTest.py <motor port>
其中,<motor port>为马达连接的端口。
4.2.3 操作舵机
cd ~/NanoHAT-Motor-Python-Library/examples python ServoTest.py <pwm port>
其中,<pwm port>为舵机连接的端口。
5 相关资料
- [Schematic](Schematic - NanoHat Motor.pdf)
- [Datasheet](PCA9685 datasheet)
- [Datasheet](TB6612FNG datasheet)