久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

關(guān)于模型的PWM

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月03日   【字體:

模型的PWM不是各位電子高手所習(xí)慣的幾KHZ的PWM信號,模型用的頻率要慢很多,但是原理上是一致的。模型的PWM頻率很低,幾乎都是用軟件+定時器做的。在說之前,首先要提到一個東西,模型的標(biāo)準(zhǔn)接收機(jī)。這個是用于接收遙控信號,并且 “直接” 給多個通道的舵機(jī)/電調(diào)輸出PWM信號的。它的輸出標(biāo)準(zhǔn),是我們用單片機(jī)輸出PWM信號控制商品舵機(jī)/電調(diào)的參考。
我來說說它每個通道的輸出標(biāo)準(zhǔn)
輸出頻率 50Hz
高電平時間 0.5~1.5ms (或0.5~2.5ms 取決于操控者手上的發(fā)射機(jī))
高電平電壓 5V 

先說輸出頻率,這個頻率50HZ最為標(biāo)準(zhǔn),但是也有些商品接收機(jī)超過50HZ的,有的可以達(dá)到70HZ,所以說這個多一點,少一點,對于標(biāo)準(zhǔn)的舵機(jī)/標(biāo)準(zhǔn)電調(diào)沒有影響。

再說高電平時間,電調(diào)/舵機(jī)都是以高電平時間長度判斷量的大小的。高電平0.5ms在電調(diào)上,代表油門為0%,相應(yīng)的1.5ms或者2.5ms對應(yīng)油門為100%。但是要注意,這個也不是絕對的,電調(diào)為了保證PWM的值在油門行程以內(nèi),可能大約小于20%的都認(rèn)為是油門0,從20%開始, 大于80%的時候認(rèn)為是達(dá)到100%了。實際給操作者的感覺就是,操作桿上的20~80%的行程就對應(yīng)油門0~100%了。其實這個沒什么影響,對于電調(diào),就按0.5~1.5ms做就好,對于舵機(jī)就按0.5~1.5ms(對應(yīng)0~90度)或者0.5~2.5ms(對應(yīng)0~180度)做就好。

然后說說高電平的電壓,這個我沒有實際測量過,5V肯定可以,3.3V就不行了,至少我手上的XXD電調(diào)就不認(rèn)了。商品電調(diào)很多都是用AVR M8做控制的,我雖然不懂AVR,但是混了那么久,也知道AVR M8是5V的單片機(jī)了。至于得不得,那你可以自己去試了,我建議,務(wù)必要用各種方法把它弄到標(biāo)準(zhǔn)的5V。方法很多,上拉電阻可以,三極管可以,電平轉(zhuǎn)換芯片可以,百度一下“單向電平轉(zhuǎn)換”很多方法,怎么做由你的。不做的話,假設(shè)你碰運氣驅(qū)動了這個牌子的舵機(jī),插上另一個牌子的就沒反應(yīng)..這也是有可能的。

說完標(biāo)準(zhǔn),再說不標(biāo)準(zhǔn),現(xiàn)在的商品電調(diào),大多可以用超過50HZ的PWM去輸出,比如300HZ,400HZ,如果初始化的時候行程設(shè)置在0.5~2.5ms 400HZ理論上到頂了...至于為什么,你算算2.5ms * 400 等于多少就懂了。再往上就要各位自己測試過了。好贏可以,中威特可以,XXD也可以。

還有一個不標(biāo)準(zhǔn),大約5、6年前出的一種舵機(jī),叫“數(shù)字舵機(jī)”或者“數(shù)位舵機(jī)”或者“數(shù)碼舵機(jī)”都是一個意思,它的特性同上,也可以工作在幾百HZ的PWM,買的時候要注意,不是數(shù)字舵機(jī)的話,你接上超過100HZ的PWM,肯定亂串(100HZ只是個大概值,普通舵機(jī)的還是以50HZ為準(zhǔn))。數(shù)字舵機(jī)精度相對較高,因為它的工作周期快,精度設(shè)置得比較高也不容易產(chǎn)生抖舵的情況。弄電子的DX都懂...這個不會增加什么成本,所以數(shù)字舵機(jī)也不貴。剛出來的時候,它是給模型直升機(jī)的高端陀螺儀(都是用ADI的芯片啊>_<!!)用的,可以更好地“鎖尾”,這種舵機(jī)因為沒什么技術(shù)含量,現(xiàn)在都白菜價了。
推薦買“數(shù)字”+“金屬齒”+“空心杯”的舵機(jī),這個就比較貴了,如果減去空心杯,就便宜很多。

關(guān)于商品電調(diào)的初始化和啟動
要注意,電調(diào)的調(diào)試需要遙控器,或者自制一個已經(jīng)能輸出0.5~1.5msPWM的“東西”
這個初始化過程,xxd好像沒要我初始化,但是好贏和中威特好像是要的,至于怎么初始化,注意看說明書,或者賣家寶貝下面的幾行字.很容易的.看過就懂了。
初始化,要設(shè)置的好像是行程,電池保護(hù),剎車之類的,需要的話,我再講。但是手上只有XXD的電調(diào),所以要講也只能結(jié)合網(wǎng)上的說明書講了。

商品電調(diào)為了安全,上電的時候必須保證油門為最小值 0%,等到電機(jī)唱完歌后才能開始控制PWM輸出油門。另外,如果在上電的時候,油門推到最大值,將進(jìn)入設(shè)置狀態(tài)。這點是編程的時候需要注意的

商品電調(diào)都帶有5V的輸出,一般都是兩個疊在一起的小7805降壓降出來的,這個是給舵機(jī)和接收機(jī)供電用的,大概可以提供1A左右的電流。我們用單片機(jī)控制的話,不需要供電的時候,一定要記得把電調(diào)輸出的電源正極咔嚓掉,不然你的電路可能會有危險!這個必須記得!

題外話,對于四軸類飛行器,我推薦的設(shè)置:鋰電保護(hù) 剎車開 直升機(jī)啟動模式關(guān),對于固定翼類的,剎車可以關(guān)掉,直升機(jī)關(guān)掉(其實拿來就用就好,不用設(shè)置)

相比之下,舵機(jī)就不需要注意那么多,隨心所欲用就好

說了那么多廢話,總結(jié)一下,要注意的就是:
1.高電平電壓 5V
2.數(shù)字舵機(jī)+普通電調(diào) PWM頻率400以下都OK
3.高電平時間 0.5~1.5ms 或0.5~2.5ms (模型里一般都用前者,后者機(jī)器人用得比較多)
4.電調(diào)啟動要注意等那么幾秒
5.電調(diào)有供電的功能,要小心

反正保持標(biāo)準(zhǔn),就能通吃所有的商品電調(diào)/舵機(jī)

如果按這樣一小段程序的樣子寫,應(yīng)該可以實現(xiàn)對單通道電調(diào)/舵機(jī)的控制了。我大概按思路現(xiàn)場寫的,只說明原理,因為delay_us這樣的函數(shù),在標(biāo)準(zhǔn)51上,應(yīng)該做不到,速度太慢。
void main()
{
int i = 1000;
while(1)
{
P1_0 = 1;
delay_us(500); //即最前面的0.5ms高電平,這段是固定的
delay_us(i); //通過調(diào)節(jié)i的范圍 0~1000可以對應(yīng)0.5~1.5ms的PWM,
P1_0 = 0;
delay_us(20000 - 500 - i); //這是低電平時間,要把整個周期控制在50HZ
}
}

按以上程序的樣子寫,雖然可以做到調(diào)節(jié)PWM控制舵機(jī)/電調(diào)了,但是現(xiàn)實中明顯不可能這樣做,因為單片機(jī)還要做別的事,而且只輸出一個通道PWM根本做不出四軸。

我就把我做過或者思考過的兩種做多通道商品舵機(jī)/電調(diào)用的PWM的方法給大家說說,然后對比一下各自的優(yōu)缺點,我也很期待各位能分享一下其他的方法~

第一種,是我正在用的,用單片機(jī)的定時器,輸入每個高電平的時間然后拉高引腳開始計時,到時間后拉低引腳,然后在中斷里切換到下一個通道,繼續(xù)拉高引腳重復(fù)上一步,純中斷操作。
第二種,是我打算要做的,用單片機(jī)定時器做大概10us的中斷,一開始直接拉高每個通道的電平,然后每10us把所有通道的值減一,然后判斷哪一個通道的值為0了,就拉低電平。

兩種方法都能實現(xiàn)多通道PWM信號輸出,但是各自的優(yōu)點缺點都很明顯。

第一種
優(yōu)點:精度高,因為是用定時器計時可以做到遠(yuǎn)高于8位的精度(我這里10~12位)。每個通道逐個掃描(這也算優(yōu)點?)。耗費單片機(jī)時間少,對系統(tǒng)負(fù)荷很輕,在我的飛控里,這片單片機(jī)同時負(fù)責(zé)姿態(tài)計算,浮點和三角函數(shù)都用了..

缺點:輸出的通道少,50HZ的頻率時只能輸出 13個(0.5~1.5ms)或者8個(0.5~2.5ms)通道,具體為什么,你算算13*1.5 還有8*2.5等于多少就知道了。50HZ,就是要在20ms內(nèi)把所有通道都掃描一次。同時,也使得PWM頻率提不上去,反應(yīng)遲鈍對于飛控來說,的確很棘手。

第二種
優(yōu)點:支持通道可以達(dá)到數(shù)十個(假如每2.5ms輸出8個通道,20ms內(nèi)就可以掃描8組通道,一共就可以輸出64個通道!!)。輸出PWM的頻率可以很高(可以做到理論最大值)。

缺點:占用單片機(jī)時間很集中(集中在輸出高電平的時候)。10us(按0.5~1.5ms對應(yīng)只能做到7位不到的精度)的定時器中斷,不是一般的51能辦到的,我用的C8051F 50MIPS都很吃力。

總結(jié)以上,第一種方式,適合給同時做連續(xù)采集傳感器信息,需要連續(xù)計算的單片機(jī)用,而第二種因為占用時間太集中,更適合單獨做成舵機(jī)驅(qū)動模塊,機(jī)器人方面應(yīng)用應(yīng)該會多一些...

新手習(xí)慣用while循環(huán)來定時,這樣非常容易抖舵,只要有中斷,就會開始抖,不用說也知道原因了吧?要解決其實很簡單的,只要用硬件定時器就可以了。

另外,控制商品電調(diào)/舵機(jī),八位精度足以。我試過一個“標(biāo)準(zhǔn)舵機(jī)”,我的八位精度PWM從100慢慢跳到107之后,他才給我羞澀地動了一格...

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 亚洲一区二区三区四区五区中文 | 99精品网 | 福利视频一区二区三区 | 久久成人免费视频 | 91精品国产一区二区三区香蕉 | 久久精品视频在线观看 | 91精品国产91久久久久久不卞 | 欧美一区二区视频 | 成人影院在线观看 | 日韩在线高清 | 国产在线区 | 久久一热 | 日韩视频一区二区三区 | 少妇久久久久 | 亚洲精品二区 | 国产精品日日摸夜夜添夜夜av | 超碰在线网站 | 国产精品一区二区av | 国产女人与拘做视频免费 | 99reav| 色狠狠一区 | 亚洲男人天堂av | 欧美又大粗又爽又黄大片视频 | 欧美午夜一区 | 日韩在线观看一区 | 久久精品小短片 | 日本视频免费 | 国产精品黄视频 | 国产视频一区在线 | 黄色av网站在线免费观看 | 成人亚洲网 | 亚洲精品9999| 久久99视频精品 | 亚洲另类春色偷拍在线观看 | 五月网婷婷 | caoporn国产| 亚洲精品乱码久久久久久按摩观 | 久久国产一区二区 | 国产一二三区电影 | 91精品久久久久久久 | 天天插天天射天天干 |