Difference between revisions of "NanoHat Motor/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(硬件连接)
(相关资料)
 
(31 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 NEO/Air/NEO2通讯。
+
*NanoHat Motor是一个简单易用的电机驱动模块,模块使用了NXP公司的PCA9685芯片和东芝公司的TB6612FNG芯片,通过I2C接口和NanoPi NEO通讯。
 
*每个模块可驱动四个5V PWM舵机模块和四个12V直流电机或者两个12V四线步进电机。用户可通过配置电阻更改模块的I2C从地址,从而堆叠使用多个模块以驱动更多的电机。
 
*每个模块可驱动四个5V PWM舵机模块和四个12V直流电机或者两个12V四线步进电机。用户可通过配置电阻更改模块的I2C从地址,从而堆叠使用多个模块以驱动更多的电机。
*模块使用了TI公司的TPS54331电源转换芯片,能为NanoPi NEO/Air提供稳定、可靠的供电。
+
*模块使用了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:
  
 
===接口布局===
 
===接口布局===
[[File:NanoHat Motor-layout.jpg |thumb|600px|NanoHat Motor接口布局]]
 
[[File:NanoHat Motor-02.jpg|thumb|frameless|600px|NanoHat Motor]]
 
 
 
* '''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 NEO/Air/NEO2===
+
===连接NanoPi NEO/Air/NEO2===
NanoHat Motor模块和NanoPi NEO/Air/NEO2尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上。
+
NanoHat Motor模块和NanoPi NEO/Air/NEO2尺寸和接口完全相同,可直接堆叠在NanoPi NEO/Air/NEO2上使用。
 
参考下图连接模块:<br>
 
参考下图连接模块:<br>
[[File:NanoHat Motor_nanopi_NEO.jpg|frameless|600px|NanoHat Motor_nanopi_NEO]]
+
应用实例一:NanoHat Motor模块连接NanoPi NEO,驱动4个5V PWM舵机和4个12V直流电机。<br>
[[File:NanoHat Motor_nanopi_NEO_Air.jpg|frameless|600px|NanoHat Motor_nanopi_NEO_Air]]
+
[[File:NanoHat Motor_nanopi_NEO.jpg|frameless|500px|NanoHat Motor_nanopi_NEO]]<br>
[[File:NanoHat Motor_nanopi_NEO2.jpg|frameless|600px|NanoHat Motor_nanopi_NEO2]]
+
应用实例二:NanoHat Motor模块连接NanoPi NEO Air,驱动2个12V四线步进电机。<br>
可通过配置电阻更改模块的I2C从地址,从而堆叠使用多个模块以驱动更多的电机,参考下图连接模块:<br>
+
[[File:NanoHat Motor_nanopi_NEO_Air.jpg|frameless|500px|NanoHat Motor_nanopi_NEO_Air]]<br>
[[File:NanoHat Motor_nanopi_NEO_Hat.jpg|frameless|600px|NanoHat Motor_nanopi_NEO_Hat]]
+
应用实例三:两个不同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]]
 +
 
 +
==运行测试程序==
 +
 
 +
NanoHat Motor的测试程序包含在 NanoHAT-Motor-Python-Library 软件仓库里。
 +
 
 +
NanoHAT-Motor-Python-Library是一个Python类库,为舵机、直流电机和步进电机提供了非常便利的编程接口,提供单个和多个电机的高精度控制。
 +
 
 +
当前支持的开发板:<br />
 +
NanoPi NEO<br />
 +
NanoPi Fire<br />
 +
NanoPi NEO2<br />
 +
NanoPi NEO Plus2<br />
 +
 
 +
其他开发板只能带有 I2C 接口,通过适当配置也能支持。
 +
 
 +
===安装NanoHAT-Motor-Python-Library===
 +
通过ssh,或者串口终端进入开发板的命令行,执行以下命令安装:
 +
<syntaxhighlight lang="bash">
 +
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
 +
</syntaxhighlight>
 +
 
 +
===NanoHAT-Motor-Python-Library的基本使用===
 +
====操作直流电机====
 +
<syntaxhighlight lang="bash">
 +
cd ~/NanoHAT-Motor-Python-Library/examples
 +
python DCTest.py <motor port>
 +
</syntaxhighlight>
 +
其中,<motor port>为直流电机连接的端口。例如直流电机连接在M1接口,命令为python DCTest.py 1。
 +
 
 +
====操作步进电机====
 +
<syntaxhighlight lang="bash">
 +
cd ~/NanoHAT-Motor-Python-Library/examples
 +
python StepperTest.py <motor port>
 +
</syntaxhighlight>
 +
其中,<motor port>为步进电机连接的端口。例如步进电机连接在M1 M2接口,命令为python StepperTest.py 1。
  
==编译运行测试程序==
+
====操作舵机====
 +
<syntaxhighlight lang="bash">
 +
cd ~/NanoHAT-Motor-Python-Library/examples
 +
python ServoTest.py <pwm port>
 +
</syntaxhighlight>
 +
其中,<pwm port>为舵机连接的端口。例如舵机连接在PWM6接口,命令为python ServoTest.py 6。
  
 
==相关资料==
 
==相关资料==
 +
*[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://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

English

1 介绍

NanoHat Motor
  • 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地址可自由配置,多个模块堆叠使用

NanoHat Motor-PCB

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

NanoHat Motor接口布局
NanoHat Motor接口布局
  • 2Pin电源端子定义
Pin# Name Description
1 12V 12V电源输入
2 GND
  • 4Pin PWM 舵机端子定义
Pin# Name Description
1 PWM* PWM*输出
2 NC
3 5V 5V电源输出
4 GND

2.0mm 4Pin PWM 舵机端子尺寸

  • 电机端子定义
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
应用实例二:NanoHat Motor模块连接NanoPi NEO Air,驱动2个12V四线步进电机。
NanoHat Motor_nanopi_NEO_Air
应用实例三:两个不同I2C地址的NanoHat Motor模块堆叠连接NanoPi NEO,驱动4个5V PWM舵机和4个12V直流电机,和2个12V四线步进电机。
NanoHat Motor_nanopi_NEO_Hat

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 相关资料