龙芯1C机器人主控板PWM功能操作教程

  DIY, Linux, 电子, 科技, 计算机

龙芯1C机器人主控板共有32PWM输出,由板载的两颗PCA9685PW芯片提供,每颗芯片最大可输出16PWM信号。

详细使用方式如下:

一、准备工作

将各舵机的电源和信号线按线序插到主控板的插针上;

连接上调试串口;

接入主控版和舵机主电源;

检查舵机电源是否正常;

等待终端出现命令行界面;

二、系统PWM输出功能操作

1查询系统中探测到PWM芯片:

[root@Loongson-gz:/]# ls /sys/class/pwm

pwmchip0 pwmchip17

两颗PWM芯片在sysfs中分别对应pwmchip0pwmchip17两个目录(下面以pwmchip0为例)。

2列出pwmchip0下的文件接口:

[root@Loongson-gz:/]# ls /sys/class/pwm/pwmchip0

device export npwm subsystem uevent unexport

3请求并打开pwmchip0中的pwm0输出通道:

[root@Loongson-gz:/]# echo 0 > /sys/class/pwm/pwmchip0/export

[root@Loongson-gz:/]# ls /sys/class/pwm/pwmchip0

device export npwm pwm0 subsystem uevent unexport

[root@Loongson-gz:/]# echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable

每颗芯片有16PWM信号输出,对应的编号为0~15这里打开的是0

4设置pwm0输出信号的周期为20ms

[root@Loongson-gz:/]# echo 20000000 > /sys/class/pwm/pwmchip0/pwm0/period

注意这里的输入的时间单位是ns

5设置一个PWM周期中高电平所占的时间1.5ms

[root@Loongson-gz:/]# echo 1500000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle

设置完后,即可观察到连接到pwm0输出上的舵机发生了相应的转动;

根据不同的舵机这里设置的值可能不同,目前我们所使用的DS3115MG这个舵机的设置范围是450000~2650000

6关闭pwm0

[root@Loongson-gz:/]# echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable

[root@Loongson-gz:/]# echo 0 > /sys/class/pwm/pwmchip0/unexport

[root@Loongson-gz:/]# ls /sys/class/pwm/pwmchip0

device export npwm subsystem uevent unexport

三、另外一颗PWM芯片的使用步骤也和以上类似,在此不再赘述。

LEAVE A COMMENT

This site uses Akismet to reduce spam. Learn how your comment data is processed.