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