|
發布時間: 2020-4-7 14:46
正文摘要:要求舵機運行分辨率為1度(意思應該是舵機轉動180次為180度吧),跟蹤精度±2度 這是我部分控制雙舵機的程序: void Timer0() interrupt 1 { TL0=0xd2; &n ... |
之一知足 發表于 2020-4-14 19:27 將400的值改為1800才能達到分辨率1度,但是這款晶振為11.0592mhz的單片機的定時器不能設置為20ms中斷1800次,所以感覺無解 |
|
舵機頻率固定的50HZ 中斷服務函數//50us { t++; if(t<pwm)io=1; if(t>=pwm)io=0; if(t==400)t=0;//400*50us=20ms 50hz } 單片機能力所限吧,400這個值越大,細分度越高,控制精度越高 |
|
舵機50HZ的頻率下,將PWM分的更細一點,應該是可以滿足要求的 中斷服務函數//50us { } |
瘋子本人 發表于 2020-4-14 09:54 感謝你的回答,stm32我正準備學習中,但現在我做任務的要求是用晶振頻率為11.0592mhz的STC15F2K60S2單片機編寫,我再想想其他辦法 |
1948594382 發表于 2020-4-12 14:17 TIM1_PWM_Init(9999,143);//不分頻。PWM頻率=72000/(899+1)=80Khz TIM_SetCompare2(TIM3,749+mosss*5);//實現一度旋轉 其實不是糾不糾結的問題,我只是想告訴你,有些人會嫌換舵機成本的問題(時間成本、精力成本的問題),所以不會優先考慮換舵機,而是考慮改程序;當然換舵機可以實現也是一種可行的方法,我當時用STM32寫的舵機一度是可實現的,甚至是0.5°,所以我是說可實現的,但是你換舵機也是好方法。 |
瘋子本人 發表于 2020-4-10 16:21 為什么要糾結于舵機啊,不行就換一個行的不就好了嗎?問題是代碼寫不寫得出來,我能寫出分辨率為3.6的程序,看網上寫的程序控制分辨率都比我的大 |
1948594382 發表于 2020-4-10 10:22 RDS3115雙軸數字舵機,是一款為機器人專門設計的數字舵機,扭矩15kg@6V(實際扭力17kg@7.2v),運行噪音低、平穩且線性度高,可控角度范圍180度,斷電可360度旋轉,特別適合機器人的各關節活動。 使用說明: 該款數字舵機內部伺服控制板采用單片機MCU控制,這是相對于傳統的模擬舵機的主要區別,但是控制方式是相同的,都是PWM脈寬型調節角度,周期20ms,占空比0.5ms~2.5ms的脈寬電平對應舵機0度~180度角度范圍,且成線性關系。 與模擬舵機的最大區別是帶位置鎖定功能,給一次PWM脈寬,舵機輸出角度可鎖定,直到下次給不同的角度脈寬或者斷電才可以改變角度(模擬舵機則不具有該功能, 模擬舵機要鎖定位置需要不停的提供pwm信號). 另外控制精度高、線性度好,與控制協議嚴格一致,輸出角度準確且響應速度快是數字舵機品質好的重要原因。通常舵機控制器采用500~2500數值對應舵機控制輸出角度的占空比0.5ms~2.5ms的范圍,這樣該款數字舵機的控制精度理論值可達到0.09度,而實際由于舵機齒輪組間的間隙存在,該款舵機的最小控制精度能達到0.9度以下,相對于上位機軟件滑竿控制量的最小調節單元值為10,舵機才有明顯的轉動反應。 舵機嚴禁過載, 堵轉會有燒舵機電路板跟馬達的的風險! 舵機RDS3115(含金屬支架齒輪) 扭力15KG 轉角270度 通用規范 溫度范圍:- 20°C~60° 工作溫度范圍:- 10°C~50° 工作電壓:6V ~ 8.4V 。 這個是我在網上找的管與你這個型號的舵機的描述,這樣來看的話,他是可以實現的。 |
瘋子本人 發表于 2020-4-8 09:51 真的寫的出來嗎,我改用小數控制也失敗了,0度到180度對應的是舵機脈寬范圍:500-2500us,平均分180份后是1.11111111。。。。 |
1948594382 發表于 2020-4-7 19:34 你去找店家要資料呀,而且我看了下這舵機是數字舵機,精度可以達到0.9°,所以實現一次一度應該沒問題的 |
| RDS3115雙軸數字舵機,是一款為機器人專門設計的數字舵機,扭矩15kg@6V(實際扭力17kg@7.2v),運行噪音低、平穩且線性度高,可控角度范圍180度,斷電可360度旋轉,特別適合機器人的各關節活動。 使用說明: 該款數字舵機內部伺服控制板采用單片機MCU控制,這是相對于傳統的模擬舵機的主要區別,但是控制方式是相同的,都是PWM脈寬型調節角度,周期20ms,占空比0.5ms~2.5ms的脈寬電平對應舵機0度~180度角度范圍,且成線性關系。 與模擬舵機的最大區別是帶位置鎖定功能,給一次PWM脈寬,舵機輸出角度可鎖定,直到下次給不同的角度脈寬或者斷電才可以改變角度(模擬舵機則不具有該功能, 模擬舵機要鎖定位置需要不停的提供pwm信號). 另外控制精度高、線性度好,與控制協議嚴格一致,輸出角度準確且響應速度快是數字舵機品質好的重要原因。通常舵機控制器采用500~2500數值對應舵機控制輸出角度的占空比0.5ms~2.5ms的范圍,這樣該款數字舵機的控制精度理論值可達到0.09度,而實際由于舵機齒輪組間的間隙存在,該款舵機的最小控制精度能達到0.9度以下,相對于上位機軟件滑竿控制量的最小調節單元值為10,舵機才有明顯的轉動反應。 舵機嚴禁過載, 堵轉會有燒舵機電路板跟馬達的的風險! 舵機RDS3115(含金屬支架齒輪) 扭力15KG 轉角270度 通用規范 溫度范圍:- 20°C~60° 工作溫度范圍:- 10°C~50° 工作電壓:6V ~ 8.4V |
|
https://forum.arduino.cc/index.php?topic=315211.0 一份arduino的資料,僅供參考 |
瘋子本人 發表于 2020-4-7 16:53 型號RDS3115mg,就是在網上也找不到資料。。。 |
| 首先你得知道你的舵機的分辨率。。。有些舵機例如SG90是不能精確到1°的,只能到一點多°,你可以去看看,串口舵機比PWM舵機一般精確度高,有一些4096的pwm舵機例外,所以你首先得看看舵機能不能1°,再來考慮程序。 |