一、舵機(jī)原理
如下圖所示,本次例程使用的是SG90 9g舵機(jī)
SG90舵機(jī)應(yīng)用
SG90舵機(jī)目前在高檔遙控玩具,如航模、包括飛機(jī)模型、潛艇模型、遙控機(jī)器人中已經(jīng)使用得比較普遍。
SG90舵機(jī)導(dǎo)線
SG90舵機(jī)上有三根線,分別是GND(棕色線)、VCC(紅色線)和SIG(黃色線),也就是地線、電源線和信號線。
SG90舵機(jī)工作原理
控制信號由接收機(jī)的通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms 的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動。SG90舵機(jī):屬于模擬舵機(jī),需要一直發(fā)送信號。
SG90舵機(jī)舵機(jī)的控制
舵機(jī)的控制一般需要一個20ms 左右的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms 范圍內(nèi)的角度控制脈沖部分。以180 度角度伺服為例,那么對應(yīng)的控制關(guān)系是這樣的:
0.5ms ---------- 0 度;500us
1.0ms ---------- 45 度;
1.5ms ---------- 90 度;
2.0ms ---------- 135 度;
2.5ms ---------- 180 度;
小型舵機(jī)的工作電壓一般為4.8V 或6V,轉(zhuǎn)速也不是很快,一般為0.22/60 度或0.18/60 度,所以假如你更改角度控制脈沖的寬度太快時,舵機(jī)可能反應(yīng)不過來。如果需要更快速地反應(yīng),就需要更高的轉(zhuǎn)速了。
二、PWM輸出原理
PWM,英文名Pulse Width Modulation,是脈沖寬度調(diào)制縮寫,它是通過對一系列脈沖的寬度進(jìn)行
調(diào)制,等效出所需要的波形(包含形狀以及幅值),對模擬信號電平進(jìn)行數(shù)字編碼。
頻率ARR、占空比CRRx
頻率是指每秒鐘信號從高電平到低電平再回到高電平的次數(shù),為一個PWM波周期的倒數(shù)。
頻率是系統(tǒng)時鐘控制,
占空比是指高電平持續(xù)時間比一個周期持續(xù)的時間。通過控制占空比,來控制輸出的等效電壓。
所以對于方波的話,頻率和占空比就確定了一個波。
三、例程配置
通常,我們在單片機(jī)中會使用定時器中斷來實現(xiàn)pwm波中高低電平的轉(zhuǎn)換,以及控制一個pwm波周期。
在單片機(jī)的io口中,并不是每一個io口都能輸出pwm,所以我們要打開數(shù)據(jù)手冊
能看到PB14的功能復(fù)用
在本次基于CW32030c8單片機(jī)例程中,選擇使用高級定時器,并且使用CH2B通道 ,即ATIM_CH2B
計算周期:用到的PLCK---8MHZ
然后8倍預(yù)分頻得到1MHZ,因為舵機(jī)中的周期為20ms,所以需要得到20ms的周期:
1/1mhz得到機(jī)器周期,通過配置高級定時器的重裝載值A(chǔ)RR:19999(從0計數(shù)),機(jī)器周期乘以重裝載值,剛好等于20ms,這樣我們就設(shè)計好了周期,
在函數(shù)中設(shè)置比較值,也就能控制占空比了。
四、重要代碼
voidATIM_IRQHandlerCallBack(void)//高級定時器中斷處理回調(diào)函數(shù) { staticuint16_tduration=0; staticuint8_tcnt=1; staticuint8_tdir=0; if(ATIM_GetITStatus(ATIM_IT_OVF))//獲取ATIM中斷標(biāo)志位即溢出 { ATIM_ClearITPendingBit(ATIM_IT_OVF);//清除ATIM中斷標(biāo)志位即歸零 if(cnt++>50)//20msx50=1000ms1秒一次 { cnt=1; if(!dir)//判斷狀態(tài) { duration+=500;//每次提高占空比2.5%,500/20000 if(duration>=2500)//舵機(jī)占空比最高12.5%,即2500 { dir=1;//改變方向 } } ATIM_SetCompare2B(duration);//輸出占空比 } } if(ATIM_GetITStatus(ATIM_IT_C2BF))//通道CH2B比較匹配標(biāo)志中斷 { ATIM_ClearITPendingBit(ATIM_IT_C2BF);//清除ATIM中斷標(biāo)志位 } }
來源:CW32生態(tài)社區(qū)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理3
審核編輯 黃宇
-
舵機(jī)控制
+關(guān)注
關(guān)注
3文章
46瀏覽量
22646 -
CW32
+關(guān)注
關(guān)注
1文章
242瀏覽量
1105
發(fā)布評論請先 登錄
單片機(jī)默認(rèn)時鐘和啟動文件講解 單片機(jī)庫函數(shù)和寄存器講解

基于武漢芯源CW32F030C8T6直流無刷電機(jī)評估開發(fā)板的介紹
基于CW32F030單片機(jī)的模式二便攜充電槍應(yīng)用介紹
【CW32飯盒派開發(fā)板試用體驗】CW32F030C8T6的開發(fā)板開箱視頻
STM32F030C8T6微控制器的主要特性介紹
信立誠科技主推低成本高性價比HC32F030J8TA-LQFP48可替換STM32F030C8T6

基于CW32F030C8T6的無刷直流電機(jī)驅(qū)動系統(tǒng)

基于武漢芯源CW32F030C8T6直流無刷電機(jī)評估開發(fā)板的介紹

基于CW32F030單片機(jī)的模式二便攜充電槍應(yīng)用介紹

武漢芯源半導(dǎo)體基于CW32F030C8T7永磁同步電機(jī)無感FOC控制方案全新亮相!

【CW32模塊使用】SG90舵機(jī)

評論