另外產生脈衝寬度調變(PWM)信號方式是利用 Microchip PIC24FJ64GA008 內的 Delay Timer 函數,在 20ms 內控制輸出昇降,同樣可以產生脈衝寬度調變(PWM)信號輸出,利用不同的 PWM 信號來驅動 TowerPro MG995 舵機(Servo)的轉動角度。
TowerPro MG995 舵機 PWM 測試程式二 LCD 顯示 |
Microchip
PIC24FJ64GA008 初始化程式:
TRISDbits.TRISD0 = 0; // RD0 Output
|
Microchip
PIC24FJ64GA008 主程式:
while(1){
for ( loop = 0; loop < loop1; loop++ ) {
LATDbits.LATD0 = 1; //
RD0 ON
delayUs(3200); // Center
// 2400<45 ms="" span="">45>
//
3040=90=1.55ms
// 3200=90=1.6ms
//
3600>90+45=2ms
//
4800<180 ms="" span="">180>
LATDbits.LATD0 = 0; // RD0 OFF
delayms(20);
}
for ( loop = 0; loop < loop1; loop++ ) {
LATDbits.LATD0 = 1; //
RD0 ON
delayUs(7200); // AntiClockwise
// 6400<90 ms="" span="">90>
LATDbits.LATD0 = 0; // RD0 OFF
delayms(20);
}
for ( loop = 0; loop < loop1; loop++ ) {
LATDbits.LATD0 = 1; // RD0 ON
delayUs(1400); // Clockwise
//
1400<90 ms="" span="">90>
LATDbits.LATD0 = 0; // RD0 OFF
delayms(20);
}
for ( loop = 0; loop < loop1; loop++ ) {
LATDbits.LATD0 = 1; //
RD0 ON
delayUs(160); //
Clockwise
LATDbits.LATD0 = 0; //
RD0 OFF
delayms(20);
}
}
|
TowerPro MG995 舵機 PWM 測試程式二電路(Schematic) |
TowerPro MG995 舵機 PWM 測試程式二 |
2016年 9月 28日 天氣報告
氣溫:29.6度 @ 22:50
相對濕度:百分之 61%
天氣:多雲
有趣~ 小弟也在製作機器人~ 不過我拆了幾個舵機在看了現在機器人設計以後推翻原本的架構~ 用了其他方法
回覆刪除不再使用舵機去堆砌機器人~ 準備直接以每個肢體為核心製作兩個舵機,放棄只能控制位置和產生一堆連接線的 PWM,改用汽車用的 Can Bug,用兩個 MLX90319 磁力傳感器,做為旋轉角度的傳感器,在每個肢體內建陀螺儀取得出力補償的資料,幾個部分我已經驗證過,準備繪製電路洗電路板了
修正一下是 can bus
回覆刪除不錯,期望你的製作來臨!希望多了解和學習。謝謝!
刪除