1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7681|回復(fù): 13
收起左側(cè)

stc15單片機(jī)控制舵機(jī) 如何做到分辨率1度

[復(fù)制鏈接]
ID:621707 發(fā)表于 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;
        TH0=0xff;
        if(count<Ucount)
            PWM_1=1;
    else
            PWM_1=0;
        if(count<Ucount1)
            PWM_2=1;
    else
            PWM_2=0;
        count++;
        count%=400;                          
}

管腳設(shè)定為強(qiáng)推挽輸出,定時(shí)器中斷時(shí)間為50us,設(shè)定Ucount,Ucount1的值為30則舵機(jī)運(yùn)行到90度,值為10和50運(yùn)行到0度和180度,舵機(jī)運(yùn)行分辨率為4.5度

如果按照我這思路繼續(xù)寫運(yùn)行分辨率為1度 51hei截圖20200407144237.png 定時(shí)器初值就得設(shè)置為小數(shù),求該如何解決,或者有沒有其他的寫法

回復(fù)

使用道具 舉報(bào)

ID:405033 發(fā)表于 2020-4-7 16:53 | 顯示全部樓層
首先你得知道你的舵機(jī)的分辨率。。。有些舵機(jī)例如SG90是不能精確到1°的,只能到一點(diǎn)多°,你可以去看看,串口舵機(jī)比PWM舵機(jī)一般精確度高,有一些4096的pwm舵機(jī)例外,所以你首先得看看舵機(jī)能不能1°,再來考慮程序。
回復(fù)

使用道具 舉報(bào)

ID:621707 發(fā)表于 2020-4-7 19:34 | 顯示全部樓層
瘋子本人 發(fā)表于 2020-4-7 16:53
首先你得知道你的舵機(jī)的分辨率。。。有些舵機(jī)例如SG90是不能精確到1°的,只能到一點(diǎn)多°,你可以去看看, ...

型號(hào)RDS3115mg,就是在網(wǎng)上也找不到資料。。。
回復(fù)

使用道具 舉報(bào)

ID:622351 發(fā)表于 2020-4-7 22:30 | 顯示全部樓層
https://forum.arduino.cc/index.php?topic=315211.0

一份arduino的資料,僅供參考
回復(fù)

使用道具 舉報(bào)

ID:275826 發(fā)表于 2020-4-8 07:54 | 顯示全部樓層
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控制,這是相對于傳統(tǒng)的模擬舵機(jī)的主要區(qū)別,但是控制方式是相同的,都是PWM脈寬型調(diào)節(jié)角度,周期20ms,占空比0.5ms~2.5ms的脈寬電平對應(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ù)值對應(yīng)舵機(jī)控制輸出角度的占空比0.5ms~2.5ms的范圍,這樣該款數(shù)字舵機(jī)的控制精度理論值可達(dá)到0.09度,而實(shí)際由于舵機(jī)齒輪組間的間隙存在,該款舵機(jī)的最小控制精度能達(dá)到0.9度以下,相對于上位機(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
回復(fù)

使用道具 舉報(bào)

ID:405033 發(fā)表于 2020-4-8 09:51 | 顯示全部樓層
1948594382 發(fā)表于 2020-4-7 19:34
型號(hào)RDS3115mg,就是在網(wǎng)上也找不到資料。。。

你去找店家要資料呀,而且我看了下這舵機(jī)是數(shù)字舵機(jī),精度可以達(dá)到0.9°,所以實(shí)現(xiàn)一次一度應(yīng)該沒問題的
回復(fù)

使用道具 舉報(bào)

ID:621707 發(fā)表于 2020-4-10 10:22 | 顯示全部樓層
瘋子本人 發(fā)表于 2020-4-8 09:51
你去找店家要資料呀,而且我看了下這舵機(jī)是數(shù)字舵機(jī),精度可以達(dá)到0.9°,所以實(shí)現(xiàn)一次一度應(yīng)該沒問題的

真的寫的出來嗎,我改用小數(shù)控制也失敗了,0度到180度對應(yīng)的是舵機(jī)脈寬范圍:500-2500us,平均分180份后是1.11111111。。。。
回復(fù)

使用道具 舉報(bào)

ID:405033 發(fā)表于 2020-4-10 16:21 | 顯示全部樓層
1948594382 發(fā)表于 2020-4-10 10:22
真的寫的出來嗎,我改用小數(shù)控制也失敗了,0度到180度對應(yīng)的是舵機(jī)脈寬范圍:500-2500us,平均分180份后 ...


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控制,這是相對于傳統(tǒng)的模擬舵機(jī)的主要區(qū)別,但是控制方式是相同的,都是PWM脈寬型調(diào)節(jié)角度,周期20ms,占空比0.5ms~2.5ms的脈寬電平對應(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ù)值對應(yīng)舵機(jī)控制輸出角度的占空比0.5ms~2.5ms的范圍,這樣該款數(shù)字舵機(jī)的控制精度理論值可達(dá)到0.09度,而實(shí)際由于舵機(jī)齒輪組間的間隙存在,該款舵機(jī)的最小控制精度能達(dá)到0.9度以下,相對于上位機(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ù)

使用道具 舉報(bào)

ID:621707 發(fā)表于 2020-4-12 14:17 | 顯示全部樓層
瘋子本人 發(fā)表于 2020-4-10 16:21
RDS3115雙軸數(shù)字舵機(jī),是一款為機(jī)器人專門設(shè)計(jì)的數(shù)字舵機(jī),扭矩15kg@6V(實(shí)際扭力),運(yùn)行噪音低、平穩(wěn)且 ...

為什么要糾結(jié)于舵機(jī)啊,不行就換一個(gè)行的不就好了嗎?問題是代碼寫不寫得出來,我能寫出分辨率為3.6的程序,看網(wǎng)上寫的程序控制分辨率都比我的大
回復(fù)

使用道具 舉報(bào)

ID:405033 發(fā)表于 2020-4-14 09:54 | 顯示全部樓層
1948594382 發(fā)表于 2020-4-12 14:17
為什么要糾結(jié)于舵機(jī)啊,不行就換一個(gè)行的不就好了嗎?問題是代碼寫不寫得出來,我能寫出分辨率為3.6的程 ...

        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ù)

使用道具 舉報(bào)

ID:621707 發(fā)表于 2020-4-14 16:19 | 顯示全部樓層
瘋子本人 發(fā)表于 2020-4-14 09:54
TIM1_PWM_Init(9999,143);//不分頻。PWM頻率=72000/(899+1)=80Khz
        TIM_SetCompare2(TIM3,749+ ...

感謝你的回答,stm32我正準(zhǔn)備學(xué)習(xí)中,但現(xiàn)在我做任務(wù)的要求是用晶振頻率為11.0592mhz的STC15F2K60S2單片機(jī)編寫,我再想想其他辦法
回復(fù)

使用道具 舉報(bào)

ID:342451 發(fā)表于 2020-4-14 19:21 | 顯示全部樓層
舵機(jī)50HZ的頻率下,將PWM分的更細(xì)一點(diǎn),應(yīng)該是可以滿足要求的
中斷服務(wù)函數(shù)//50us
{

}
回復(fù)

使用道具 舉報(bào)

ID:342451 發(fā)表于 2020-4-14 19:27 | 顯示全部樓層
舵機(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ì)分度越高,控制精度越高
回復(fù)

使用道具 舉報(bào)

ID:621707 發(fā)表于 2020-4-15 15:20 | 顯示全部樓層
之一知足 發(fā)表于 2020-4-14 19:27
舵機(jī)頻率固定的50HZ
中斷服務(wù)函數(shù)//50us
{

將400的值改為1800才能達(dá)到分辨率1度,但是這款晶振為11.0592mhz的單片機(jī)的定時(shí)器不能設(shè)置為20ms中斷1800次,所以感覺無解
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表