Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 4635|回復: 6
打印 上一主題 下一主題

[求助] 如何同時控制伺服馬達

[複製鏈接]
konica777 該用戶已被刪除
跳轉到指定樓層
1#
發表於 2008-12-8 15:10:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
新手小弟想請問一個問題  ,  我是利用8051控制KONODO  2 HV 788,之前有問過控制速度的方法已經OK了,但是我現在是要同時控制兩顆以上做速度上的變化,下面是程式碼,用的PWM的方式,出現的問題就在當要開始控制兩個馬達的速度時(這裡  !!!!!!!!!!!!!!~~~~)只有R1這顆馬達會有動作R2是沒有反應的,這是為什麼???可請高手幫我解答~~謝謝!!         抱歉 描述不太清楚的地方請見諒

org 00h
mov r1,#00100000b
mov r2,#00000010b
jmp start
start:
   mov r4,#50
loop: ; 到起始位置 90度
   mov p1,r1
     call delay15
    mov p1,r2
   call delay15
   mov p1,#00000000b
   call delay200
   djnz r4,loop

;開始控制速度     !!!!!!!!!!!!!!~~~~
;動作1
mov r4 ,#1
Loop1:
mov r7, #1 ;代表0.02的倍數
mov p1,r1
call delay15 ;1.5ms
call delay002
mov p1,#00000000b
call delay200    ; 20ms
mov p1,r2
call delay15 ;
call delay002 ; 跟上面合起來是1.52ms
mov p1,#00000000b
call delay200    ; 20ms
djnz r4 , Loop1

.....接著就是動作2 動作3...30,這是我把起點到終點分了好幾段,已達到控制速度
nichal 該用戶已被刪除
2#
發表於 2008-12-8 15:59:00 | 只看該作者
大大您好
可能您對PWM的理解有一點點問題唷~~~
雖然說20mS要完成一個PWM 的cycle是對的
但是變成兩個或三個以後
還是一樣要在20mS完成
也就是您在PWM1完成後要接著PWM2
兩個時間加起來如果是30
那你接下來只能delay170
兩個時間加起來是50
那麼你就只能delay150
這樣有理解了嗎?
konica777 該用戶已被刪除
3#
 樓主| 發表於 2008-12-8 17:07:27 | 只看該作者
謝謝你的回答,不過我還是不太懂...
第一:如果pwm 輸出1 的部分是1.5ms 而剩下 輸出0的部分就必須是18.5ms 你的意思是這樣嗎??因為之前也有考慮這個問題,因為馬達一樣都能運轉所以並沒有別注意她  = =
第二: 其實我不知道我這樣速度的控制對還是不對,雖然有出現該有的效果...  照我上面程式出現的動作是兩顆馬達會先到90度的定位點,接著R1那顆馬達會有速度的變化並往我指定的位址轉動,但同時R2卻不動了,這樣的情形跟你說的有關連嗎???是否可以麻煩你在說清楚一點~~~ 謝謝
4#
發表於 2008-12-8 20:43:34 | 只看該作者
簡單的說

每顆馬達都要20ms餵它一次訊號(每個通道20ms要循環一次)

如果沒有20ms給它吃訊號它就會罷工....

這樣解釋不知道可以嗎?
nichal 該用戶已被刪除
5#
發表於 2008-12-8 20:45:28 | 只看該作者
大大您好
請您先試著將您的程式用圖畫出來
這樣或許您就比較知道我想表達的意思

正確的作法是畫圈的信號
您目前的寫法是畫叉的信號

至於第二個馬達完全不會動
還得看看您電路的接法
及完整的寫法如何才看得出來

未命名.JPG (16.24 KB, 下載次數: 259)

未命名.JPG
nichal 該用戶已被刪除
6#
發表於 2008-12-8 20:49:47 | 只看該作者

回復 4# 的帖子

就像wboe大大所說的一樣
依照您的寫法
第一個馬達應該是經過了40mS才又接收到下一個信號
理論上他是會罷工的
可是您又說他有動作
那麼個人覺得他的動作是不完整的

而第二個馬達既然有送正確的信號給他
就應該要會動
就算動得不完整也至少要動一下
完全不動也是不可能的
所以才說要檢查您的電路是如何配接的
7#
發表於 2008-12-8 23:49:36 | 只看該作者
可能原因是~~~

沒記錯~有些馬達 在20MS沒收到訊號。

他會亂跑,這可能就是樓主所說的~有動作但不完整。

這應該不能說有動作。應該說馬達誤判了!!你可以把訊號線  接地在拔起來測看看!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-25 12:45 , Processed in 0.222238 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表