龍芯1C機器人主控板共有32路PWM輸出,由板載的兩顆PCA9685PW芯片提供,每顆芯片最大可輸出16路PWM信號。
詳細使用方式如下:
一、準備工作
將各舵機的電源和信號線按線序插到主控板的插針上;
連接上調試串口;
接入主控版和舵機主電源;
檢查舵機電源是否正常;
等待終端出現命令行界面;
二、系統PWM輸出功能操作
1、查詢系統中探測到的PWM芯片:
[root@Loongson-gz:/]# ls /sys/class/pwm
pwmchip0 pwmchip17
兩顆PWM芯片在sysfs中分別對應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信號輸出,對應的編號為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芯片的使用步驟也和以上類似,在此不再贅述。
-
機器人
+關注
關注
211文章
28642瀏覽量
208419 -
PWM
+關注
關注
114文章
5198瀏覽量
214882
發布評論請先 登錄
相關推薦
評論