Robofun 機器人論壇

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

馬達起始速度

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-4-22 17:07:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位師兄好              目前我正在製作一抬不循線自走車,但是在剛開始就面臨一個困難
就是剛起步時兩顆直流馬達的速度不相等,到達我要的速度時車子已經偏離軌道了
我是用PWM調整兩顆馬達的速度,並用光學編碼器回碩轉速調整頻寬
但是因為我的車子很重所以他到達穩定速度需要很長的時間
請問我該怎麼解決呢??
2#
發表於 2012-4-22 21:51:21 | 只看該作者
1.光學編碼器的解析度?
2.你的自走車是直驅還是帶減速機?
2.你的控制方式?
3#
 樓主| 發表於 2012-4-24 10:52:45 | 只看該作者
1.我光學編碼器是外掛的 解析度為500pulse
2.我是用馬達驅動ic驅動直流馬達
3.控制方式是用脈波頻寬調整
我是用encoder回傳馬達的轉速(這點已經成立),之後再跟我設定的轉速
做相減之後我用了兩種方式控制  PWM頻寬為 18KHZ
   1. ERROR_LEFT = 設定值 - ENCODER_LEFT           -------- 判斷轉速是否到達
       ERROR_RIGHT = 設定值 - ENCODER_RIGHT
       ERROR = ENCODER_LEFT - ENCODER_RIGHT  --------判斷兩輪速度是否有差距
       LEFT(PWM頻寬調整) = 初始速度 - ERROR_LEFT - ERROR;
       RIGHT(PWM頻寬調整) = 初始速度 - ERROR_RIGHT + ERROR;
   2. ERROR_LEFT = 設定值 - ENCODER_LEFT           -------- 判斷轉速是否到達
       ERROR_RIGHT = 設定值 - ENCODER_RIGHT
       P_LEFT = ERROR_LEFT
       I_LEFT =  ERROR_LEFT + I_LEFT
       D_LEFT = ERROR_LEFT - D_LEFT
       IF(I_LEFT >= 5)              
             I_LEFT = 5
       ELSE IF(I_LEFT <= -5)
             I_LEFT = -5
      ERROR_SUM = P_LEFT * KP + I_LEFT * KI + D_LEFT *KD
      LEFT = 初始速度  -  ERROR_SUM;  

第一種方式出發時會比較穩定,但是過程就開始偏離
第二種方式出發時會先衝很快(因為PID一開始為最高速) ,之後過程會比較穩定
但我的自走車必須要有穩定的上升速度,因此請問大大還有什麼方式可以更穩定的
控制馬達嗎??
4#
發表於 2012-4-25 10:53:19 | 只看該作者
回復 3# 幸福羔羊

你是用哪家的自走車?
像這樣的?
    http://blog.rotundu.eu/wp-content/uploads/2008/05/s_asuro.jpg
你必須先測試兩顆電機的差異性,
在同樣電壓下啟動的轉速是否相同?
5#
 樓主| 發表於 2012-4-25 15:37:35 | 只看該作者
我的自走車是自己用買馬達組裝的
馬達在同一個電壓下轉速幾乎差不多
但他們兩個起步卻差很多
請問我該怎麼解決呢??
6#
發表於 2012-4-25 21:26:30 | 只看該作者
回復 5# 幸福羔羊

你有沒有兩顆馬達對調看看?
就知道是否馬達的問題,
如果是固定那顆起步慢,
換一顆馬達就好了,
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-21 22:34 , Processed in 0.156952 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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