美好365app官方下载-beat365体育ios版下载-365bet手机客户端

13.电机驱动模块接口¶

13. 电机驱动模块接口¶ 野火 TB6612FNG 电机驱动模块是双驱动电机模块,可以控制两个直流电机的正反转和转速,每个驱动有 两个逻辑输入引脚、

13.电机驱动模块接口¶

13. 电机驱动模块接口¶

野火 TB6612FNG 电机驱动模块是双驱动电机模块,可以控制两个直流电机的正反转和转速,每个驱动有

两个逻辑输入引脚、一个 PWM 输入引脚和两个输出引脚,通过给两个逻辑输入引脚不同的电平来控制电

机的正反转,通过 PWM 输入引脚实现电机调速,STBY 待机引脚接低电平可以进入低功耗待机模式,内

置热关机电路和低电压检测电路。

鲁班猫扩展板板载一个电机驱动模块接口:

电机驱动模块接口支持板载5V或者外部12V给驱动模块VM供电,当接了12V电源,VM优先使用外部12V,去掉外部12V,VM则使用板载5V。可以通过拨码开关控制VM通断,拨到ON开启供电,拨到1断开供电:

电机驱动接口有两路PWM,分别是PWM0和PWM1:

以鲁班猫1为例,扩展板的PWM0和PWM1对应鲁班猫1的PWM9_M0、PWM10_M0:

执行如下命令修改/boot/uEnv/uEnv.txt,开启PWM9_M0、PWM10_M0插件:

1sudo vi /boot/uEnv/uEnv.txt

开启插件并重启开发板,登入系统后执行如下命令查看当前PWM设备:

1sudo cat /sys/kernel/debug/pwm

以上只开了PWM9_M0、PWM10_M0,如果还开了其他PWM,也是按大到小进行注册。上图是从下往上注册,也即先注册 屏幕背光 -> PWM9 -> PWM10。

1ls /sys/class/pwm/

根据注册顺序可知,PWM9是pwmchip1、PWM10是pwmchip2。

同时其他接口说明如下:

STBY:待机引脚,接低电平处于待机模式,接高电平开始工作,芯片内部默认下拉。

AIN1、AIN2、BIN1、BIN2:控制电机正反转。

以鲁班猫1为例,引脚对照说明如下:

电机驱动模块

扩展板

40pin

鲁班猫1

STBY

GPIO16

36

GPIO1_B0

AIN1

GPIO7

26

GPIO4_C4

AIN2

GPIO25

22

GPIO3_B0

BIN1

GPIO20

38

GPIO1_B1

BIN2

GPIO21

40

GPIO1_B2

将扩展板的AO1或BO1接电机正级,AO2或BO2接电机负极。

13.1. python代码测试¶

python测试代码为:lubancat_rk_code_storage/expansion_board/motor/motor.py

默认以鲁班猫1引脚为例,其他板根据实际修改motor.py:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28'''

filename : motor.py

'''

...

# motor controller gpionum

# A-D : 0-3

# number = group * 8 + x

# e.g. : B0 = 1 * 8 + 0 = 8

# C4 = 2 * 8 + 4 = 20

#

gpionum_motor_STBY = 8 # GPIO1_B0

gpionum_motor_AIN1 = 20 # GPIO4_C4

gpionum_motor_AIN2 = 8 # GPIO3_B0

gpionum_motor_BIN1 = 9 # GPIO1_B1

gpionum_motor_BIN2 = 10 # GPIO1_B2

# motor controller gpiochip

gpiochip_motor_STBY = "1" # gpiochip1

gpiochip_motor_AIN1 = "4" # gpiochip4

gpiochip_motor_AIN2 = "3" # gpiochip3

gpiochip_motor_BIN1 = "1" # gpiochip1

gpiochip_motor_BIN2 = "1" # gpiochip1

# motor controller pwmchip, pwm channel

motor_PWMA = PWM(1, 0) # pwmchip1, channel0

motor_PWMB = PWM(2, 0) # pwmchip2, channel0

...

将motor.py传到板卡,执行以下命令后台运行程序,并查看引脚状态:

1

2

3

4

5

6

7

8#后台运行

sudo python motor.py &

#查看PWM状态

cat /sys/kernel/debug/pwm

#查看引脚状态

cat /sys/kernel/debug/gpio

观察PWM和引脚状态如下:

将电机接到对应的接口,效果为电机会正反转转动:

13.2. c代码测试¶

C测试代码为:lubancat_rk_code_storage/expansion_board/motor/motor.c

默认以鲁班猫1引脚为例,其他板根据实际修改motor.c:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34/*

filename : motor.c

*/

...

/* gpiochip */

#define GPIOCHIP_MOTORCTRL_STBY "/dev/gpiochip1"

#define GPIOCHIP_MOTORCTRL_AIN1 "/dev/gpiochip4"

#define GPIOCHIP_MOTORCTRL_AIN2 "/dev/gpiochip3"

#define GPIOCHIP_MOTORCTRL_BIN1 "/dev/gpiochip1"

#define GPIOCHIP_MOTORCTRL_BIN2 "/dev/gpiochip1"

/* gpionum

*

* A-D : 0-3

* number = group * 8 + x

* e.g. : B0 = 1 * 8 + 0 = 8

* C4 = 2 * 8 + 4 = 20

*/

#define GPIONUM_MOTORCTRL_STBY (8)

#define GPIONUM_MOTORCTRL_AIN1 (20)

#define GPIONUM_MOTORCTRL_AIN2 (8)

#define GPIONUM_MOTORCTRL_BIN1 (9)

#define GPIONUM_MOTORCTRL_BIN2 (10)

/* pwmchip */

#define PWMCHIP_MOTORCTRL_PWMA "pwmchip1"

#define PWMCHANNEL_MOTORCTRL_PWMA "0"

#define PWMCHIP_MOTORCTRL_PWMB "pwmchip2"

#define PWMCHANNEL_MOTORCTRL_PWMB "0"

...

将motor.c传到板卡,执行以下命令编译运行程序:

1

2

3

4

5# 编译程序

sudo gcc -o motor motor.c -lgpiod

# 运行程序

sudo ./motor

← 上一篇: 为何总是怕麻烦?
下一篇: 让我康康是什么意思 →

相关推荐

将DOCX文件转换为PDF文件。

将DOCX文件转换为PDF文件。

选择文件 想要转换 分享 复制您可以使用免费的在线转换工具将docx格式的图像转换成pdf以及其他多种格式。 如何将 docx 转换为 pdf?第一步要下载

solove素乐充电宝质量怎么样是小米旗下的吗是品牌吗,亲自使用后评价

solove素乐充电宝质量怎么样是小米旗下的吗是品牌吗,亲自使用后评价

素乐(solove)这个品牌大家可能不是太熟悉,有些人可能在小米有品里见到过它家的电蚊拍,但是那只是因为它“有品”才放在了小米有品卖,

小米6哪个颜色不会掉漆

小米6哪个颜色不会掉漆

hebeilijinlon 已采纳 小米6可以选择黑色版本,由于黑色版本周围都是陶瓷,所以基本上是不会有掉漆的现象的,只会有由于跌落或者磕碰导致的划

冰箱拆机过程图(如何正确拆卸冰箱并避免损坏)

冰箱拆机过程图(如何正确拆卸冰箱并避免损坏)

关键词:冰箱拆机过程图 如果你需要搬家或是需要更换冰箱,你就需要拆卸你的冰箱。但是,拆卸冰箱并不是一项简单的任务,如果你不小心,

什么是众筹?如何成功开展众筹活动?

什么是众筹?如何成功开展众筹活动?

什么是众筹? 在一个发明和创造力没有限制的世界中,众筹的出现为传统的融资方式赋予了新的维度。通过利用团队合作的力量,这种现代融资

【拳皇15】SWC2023总决赛落幕 世界冠军揭晓

【拳皇15】SWC2023总决赛落幕 世界冠军揭晓

2024年3月15日至17日(当地时间)在洛杉矶举行的对战格斗游戏《拳皇15》世界大赛「SNK World Championship 2023(SWC 2023)」圆满落幕,Laggia选手获得冠