龍芯1C機器人主控板共有32路PWM輸出,由板載的兩顆PCA9685PW芯片提供,每顆芯片最大可輸出16路PWM信號。
詳細使用方式如下:
一、準備工作
將各舵機的電源和信號線按線序插到主控板的插針上;
連接上調(diào)試串口;
接入主控版和舵機主電源;
檢查舵機電源是否正常;
等待終端出現(xiàn)命令行界面;
二、系統(tǒng)PWM輸出功能操作
1、查詢系統(tǒng)中探測到的PWM芯片:
[root@Loongson-gz:/]# ls /sys/class/pwm
pwmchip0 pwmchip17
兩顆PWM芯片在sysfs中分別對應(yīng)pwmchip0和pwmchip17兩個目錄(下面以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
每顆芯片有16路PWM信號輸出,對應(yīng)的編號為0~15,這里打開的是0號;
4、設(shè)置pwm0輸出信號的周期為20ms:
[root@Loongson-gz:/]# echo 20000000 》 /sys/class/pwm/pwmchip0/pwm0/period
注意這里的輸入的時間單位是ns;
5、設(shè)置一個PWM周期中高電平所占的時間為1.5ms:
[root@Loongson-gz:/]# echo 1500000 》 /sys/class/pwm/pwmchip0/pwm0/duty_cycle
設(shè)置完后,即可觀察到連接到pwm0輸出上的舵機發(fā)生了相應(yīng)的轉(zhuǎn)動;
根據(jù)不同的舵機這里設(shè)置的值可能不同,目前我們所使用的DS3115MG這個舵機的設(shè)置范圍是450000~2650000;
6、關(guān)閉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芯片的使用步驟也和以上類似,在此不再贅述。
-
機器人
+關(guān)注
關(guān)注
210文章
27882瀏覽量
204777 -
PWM
+關(guān)注
關(guān)注
114文章
5065瀏覽量
212346
發(fā)布評論請先 登錄
相關(guān)推薦
評論