Difference between revisions of "NanoHat Motor/zh"
(→安装NanoHAT-Motor-Python-Library) |
(→相关资料) |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
==介绍== | ==介绍== | ||
[[File:NanoHat Motor.jpg|thumb|NanoHat Motor]] | [[File:NanoHat Motor.jpg|thumb|NanoHat Motor]] | ||
− | *NanoHat Motor是一个简单易用的电机驱动模块,模块使用了NXP公司的PCA9685芯片和东芝公司的TB6612FNG芯片,通过I2C接口和NanoPi | + | *NanoHat Motor是一个简单易用的电机驱动模块,模块使用了NXP公司的PCA9685芯片和东芝公司的TB6612FNG芯片,通过I2C接口和NanoPi NEO通讯。 |
*每个模块可驱动四个5V PWM舵机模块和四个12V直流电机或者两个12V四线步进电机。用户可通过配置电阻更改模块的I2C从地址,从而堆叠使用多个模块以驱动更多的电机。 | *每个模块可驱动四个5V PWM舵机模块和四个12V直流电机或者两个12V四线步进电机。用户可通过配置电阻更改模块的I2C从地址,从而堆叠使用多个模块以驱动更多的电机。 | ||
− | *模块使用了TI公司的TPS54331电源转换芯片,能为NanoPi NEO/ | + | *模块使用了TI公司的TPS54331电源转换芯片,能为NanoPi NEO/Air/NEO2提供稳定、可靠的供电。 |
*板上还有一片32K的EEPROM芯片AT24C32D,你可以用它来存储一些有用的信息。 | *板上还有一片32K的EEPROM芯片AT24C32D,你可以用它来存储一些有用的信息。 | ||
*NanoHat Motor和NanoPi NEO/Air/NEO2的外形尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上使用。 | *NanoHat Motor和NanoPi NEO/Air/NEO2的外形尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上使用。 | ||
Line 19: | Line 19: | ||
===接口布局=== | ===接口布局=== | ||
− | |||
− | |||
− | |||
* '''24Pin引脚功能定义''' | * '''24Pin引脚功能定义''' | ||
::{| class="wikitable" | ::{| class="wikitable" | ||
Line 57: | Line 54: | ||
<br> | <br> | ||
+ | [[File:NanoHat Motor-layout.jpg |thumb|400px|NanoHat Motor接口布局]] | ||
+ | [[File:NanoHat Motor-02.jpg|thumb|frameless|400px|NanoHat Motor接口布局]] | ||
* '''2Pin电源端子定义''' | * '''2Pin电源端子定义''' | ||
::{| class="wikitable" | ::{| class="wikitable" | ||
Line 80: | Line 79: | ||
|4 || GND || 地 | |4 || GND || 地 | ||
|} | |} | ||
+ | [http://wiki.friendlyarm.com/wiki/images/f/f5/2.0mm_dip_4pin.jpg 2.0mm 4Pin PWM 舵机端子尺寸] | ||
* '''电机端子定义''' | * '''电机端子定义''' | ||
Line 96: | Line 96: | ||
==硬件连接== | ==硬件连接== | ||
− | ===连接NanoPi | + | ===连接NanoPi NEO/Air/NEO2=== |
− | NanoHat Motor模块和NanoPi NEO/Air/NEO2尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/ | + | NanoHat Motor模块和NanoPi NEO/Air/NEO2尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上使用。 |
参考下图连接模块:<br> | 参考下图连接模块:<br> | ||
− | [[File:NanoHat Motor_nanopi_NEO.jpg|frameless| | + | 应用实例一:NanoHat Motor模块连接NanoPi NEO,驱动4个5V PWM舵机和4个12V直流电机。<br> |
− | [[File:NanoHat Motor_nanopi_NEO_Air.jpg|frameless| | + | [[File:NanoHat Motor_nanopi_NEO.jpg|frameless|500px|NanoHat Motor_nanopi_NEO]]<br> |
− | + | 应用实例二:NanoHat Motor模块连接NanoPi NEO Air,驱动2个12V四线步进电机。<br> | |
− | + | [[File:NanoHat Motor_nanopi_NEO_Air.jpg|frameless|500px|NanoHat Motor_nanopi_NEO_Air]]<br> | |
− | [[File:NanoHat Motor_nanopi_NEO_Hat.jpg|frameless| | + | 应用实例三:两个不同I2C地址的NanoHat Motor模块堆叠连接NanoPi NEO,驱动4个5V PWM舵机和4个12V直流电机,和2个12V四线步进电机。<br> |
+ | [[File:NanoHat Motor_nanopi_NEO_Hat.jpg|frameless|500px|NanoHat Motor_nanopi_NEO_Hat]] | ||
==运行测试程序== | ==运行测试程序== | ||
Line 114: | Line 115: | ||
NanoPi NEO<br /> | NanoPi NEO<br /> | ||
NanoPi Fire<br /> | NanoPi Fire<br /> | ||
+ | NanoPi NEO2<br /> | ||
+ | NanoPi NEO Plus2<br /> | ||
其他开发板只能带有 I2C 接口,通过适当配置也能支持。 | 其他开发板只能带有 I2C 接口,通过适当配置也能支持。 | ||
− | |||
===安装NanoHAT-Motor-Python-Library=== | ===安装NanoHAT-Motor-Python-Library=== | ||
Line 125: | Line 127: | ||
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> | ||
Line 134: | Line 136: | ||
python DCTest.py <motor port> | python DCTest.py <motor port> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 其中,<motor port> | + | 其中,<motor port>为直流电机连接的端口。例如直流电机连接在M1接口,命令为python DCTest.py 1。 |
− | ==== | + | ====操作步进电机==== |
<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>为步进电机连接的端口。例如步进电机连接在M1 M2接口,命令为python StepperTest.py 1。 |
====操作舵机==== | ====操作舵机==== | ||
Line 148: | Line 150: | ||
python ServoTest.py <pwm port> | python ServoTest.py <pwm port> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 其中,<pwm port> | + | 其中,<pwm port>为舵机连接的端口。例如舵机连接在PWM6接口,命令为python ServoTest.py 6。 |
==相关资料== | ==相关资料== | ||
Line 154: | Line 156: | ||
*[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 舵机接口尺寸图]) |
Latest revision as of 02:00, 5 July 2018
Contents
1 介绍
- NanoHat Motor是一个简单易用的电机驱动模块,模块使用了NXP公司的PCA9685芯片和东芝公司的TB6612FNG芯片,通过I2C接口和NanoPi NEO通讯。
- 每个模块可驱动四个5V PWM舵机模块和四个12V直流电机或者两个12V四线步进电机。用户可通过配置电阻更改模块的I2C从地址,从而堆叠使用多个模块以驱动更多的电机。
- 模块使用了TI公司的TPS54331电源转换芯片,能为NanoPi NEO/Air/NEO2提供稳定、可靠的供电。
- 板上还有一片32K的EEPROM芯片AT24C32D,你可以用它来存储一些有用的信息。
- NanoHat Motor和NanoPi NEO/Air/NEO2的外形尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上使用。
2 特性
- 输入电压:12V
- 可驱动四个5V PWM舵机
- 可驱动四个12V直流电机
- 可驱动两个12V四线步进电机
- 板载32K的EEPROM
- I2C地址可自由配置,多个模块堆叠使用
2.1 接口布局
- 24Pin引脚功能定义
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
12Pin排针未使用,引脚功能定义在此不列举,请在NanoPi NEO/Air/NEO2维基页面查阅。
NanoPi NEO
NanoPi NEO Air
- 2Pin电源端子定义
Pin# Name Description 1 12V 12V电源输入 2 GND 地
- 4Pin PWM 舵机端子定义
Pin# Name Description 1 PWM* PWM*输出 2 NC 空 3 5V 5V电源输出 4 GND 地
- 电机端子定义
Name Description M1 直流电机1输出 或 步进电机1(1,2线)输出 M2 直流电机2输出 或 步进电机1(3,4线)输出 M3 直流电机3输出 或 步进电机2(1,2线)输出 M4 直流电机4输出 或 步进电机2(3,4线)输出
3 硬件连接
3.1 连接NanoPi NEO/Air/NEO2
NanoHat Motor模块和NanoPi NEO/Air/NEO2尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上使用。
参考下图连接模块:
应用实例一:NanoHat Motor模块连接NanoPi NEO,驱动4个5V PWM舵机和4个12V直流电机。
应用实例二:NanoHat Motor模块连接NanoPi NEO Air,驱动2个12V四线步进电机。
应用实例三:两个不同I2C地址的NanoHat Motor模块堆叠连接NanoPi NEO,驱动4个5V PWM舵机和4个12V直流电机,和2个12V四线步进电机。
4 运行测试程序
NanoHat Motor的测试程序包含在 NanoHAT-Motor-Python-Library 软件仓库里。
NanoHAT-Motor-Python-Library是一个Python类库,为舵机、直流电机和步进电机提供了非常便利的编程接口,提供单个和多个电机的高精度控制。
当前支持的开发板:
NanoPi NEO
NanoPi Fire
NanoPi NEO2
NanoPi NEO Plus2
其他开发板只能带有 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 sudo 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>为直流电机连接的端口。例如直流电机连接在M1接口,命令为python DCTest.py 1。
4.2.2 操作步进电机
cd ~/NanoHAT-Motor-Python-Library/examples python StepperTest.py <motor port>
其中,<motor port>为步进电机连接的端口。例如步进电机连接在M1 M2接口,命令为python StepperTest.py 1。
4.2.3 操作舵机
cd ~/NanoHAT-Motor-Python-Library/examples python ServoTest.py <pwm port>
其中,<pwm port>为舵机连接的端口。例如舵机连接在PWM6接口,命令为python ServoTest.py 6。
5 相关资料
- [Schematic](Schematic - NanoHat Motor.pdf)
- [Datasheet](PCA9685 datasheet)
- [Datasheet](TB6612FNG datasheet)
- [Dimension](2.0mm 4Pin PWM 舵机接口尺寸图)