專利名稱:雙制控制全數(shù)字航模舵機的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種雙制控制全數(shù)字航模舵機,具體地說是一種適用于人形機器人、 仿生機器人、機器魚、高級航模等應用領(lǐng)域的舵機。
背景技術(shù):
舵機一般是由控制芯片和電路,減速齒輪組,直流電機,電位器以及外殼組裝而成。而其核心是控制硬件和(或)軟件。傳統(tǒng)模擬舵機的工作原理是PWM(脈沖寬度調(diào)制) 信號從接收通道進入信號解調(diào)電路,解調(diào)后獲得偏置電壓。該電壓與電位器的電壓比較后獲得電壓差并輸出,送入電機驅(qū)動電機轉(zhuǎn)動。此類舵機是模擬的,即沒有單片機的控制,通過接收外部PWM信號,來調(diào)整舵機的轉(zhuǎn)角。其主要問題包括利用占空比的變化改變舵機的位置,存在精度和健壯性上的不足,易產(chǎn)生舵機的抖動現(xiàn)象,舵機容易燒毀,出現(xiàn)掃齒現(xiàn)象; 只能接收上位機的單向控制信號,不能向上位機反饋信息,從而給機器人的調(diào)試和程序設(shè)計帶來不便;不帶位置鎖存功能,需要上位機不斷發(fā)送位置信息來保持當前位置,從而增加上位機負擔等問題。伴隨著科學技術(shù)的不斷發(fā)展,舵機的應用越來越廣,出現(xiàn)一些利用單片機來接收上位機的串口(RS232和RS485)信號,并轉(zhuǎn)換成PWM信號來進行控制的舵機,然而這些舵機在空載的時候,沒有動力傳到舵機馬達。當有信號輸入使舵機移動,或者舵機的搖臂受到外力的時候,舵機會作出反應,向舵機馬達輸出驅(qū)動電壓。當加大每一個脈沖的寬度的時候, 如電子變速器的效能就會出現(xiàn),直到最大的動力/電壓傳送到馬達,馬達轉(zhuǎn)動使舵機搖臂指到一個新的位置。然后,當舵機電位器告訴電子部分它已經(jīng)到達指定的位置,那么動力脈沖就會減小脈沖寬度,并使馬達減速。直到?jīng)]有任何動力輸入,馬達完全停止??墒?,一個短促的動力脈沖,緊接著很長的停頓,并不能給馬達施加多少激勵,使其轉(zhuǎn)動。這意味著如果有一個比較小的控制動作,舵機就會發(fā)送很小的初始脈沖到馬達,這是非常低效率的。這種舵機不足之處是①控制方式單一,采用雙工通訊,使得上位機與舵機控制芯片的串口通信接口利用不充分;②舵機速度單一,不可分級調(diào)試;③軟件方面不能進行舵機內(nèi)部程序讀取,需使用ISP下載線,增加控制板電路復雜性;④舵機內(nèi)部參數(shù)不可調(diào),不能適用更多的應用。
發(fā)明內(nèi)容
本發(fā)明的目的是為了解決上述問題,設(shè)計一種采用單片機進行數(shù)字控制的雙制控制全數(shù)字航模舵機,提供舵機與上位機間的PWM和RS232兩種模式兼容的通信,并且只用單根信號線實現(xiàn)這種通信,提高控制精確及舵機調(diào)速單元高度集成等問題。為了達到上述目的和解決上述問題,本發(fā)明采取的技術(shù)方案是提供一種雙制控制全數(shù)字航模舵機,包括有信號轉(zhuǎn)換器、單片機、驅(qū)動電路、電機、減速齒輪組、電位器和外殼,所述的信號轉(zhuǎn)換器采用單線雙??刂平涌谶B接上位機,接收上位機傳送過來的角度編碼PWM信號或RS232信號,轉(zhuǎn)換成新的角度編碼PWM信號或TTL電平,保存在單片機中用以控制舵機;所述的單片機選用ATmegaS芯片,含有運算存儲單元、AD轉(zhuǎn)換器和電機驅(qū)動PWM 信號模塊;ATmegaS芯片上的普通I/O接口串接電機驅(qū)動集成電路、直流電機、減速齒輪組和電位器,再連接到ATmegaS芯片上的AD轉(zhuǎn)換器的ADC輸入通道;所述的信號轉(zhuǎn)換器、單片機、電機驅(qū)動集成電路、直流電機、減速齒輪組和電位器安裝在外殼內(nèi)。本發(fā)明所述的數(shù)字航模舵機中單片機也采用單線雙??刂平涌冢ㄟ^控制芯片中的程序可在單線上既接收角度編碼PWM信號,也接收RS232信號,從而實現(xiàn)了傳統(tǒng)舵機與現(xiàn)代舵機的有機結(jié)合,由于只使用單根信號線,使接口簡單。對于兩種信號,單片機使用軟硬件智能區(qū)分。本發(fā)明的航模舵機所述的單片機通過RS232/編碼PWM接口與外部的上位機軟件通信,實現(xiàn)舵機程序升級,對存儲在單片機中的可電擦寫存儲器內(nèi)的舵機的死區(qū)范圍、 位置范圍、PD控制參數(shù)信息進行修改,通過控制指令控制舵機的轉(zhuǎn)角及速度,其中轉(zhuǎn)角范圍-90°到+90°,速度255級可調(diào),對應于轉(zhuǎn)速低限3. 75° /s,高限沈0° /s。本發(fā)明的數(shù)字航模舵機可與外部上位機通信,實現(xiàn)舵機內(nèi)部程序的讀取和修改。 所述的單片機通過接收上位機的角度編碼PWM信號或RS232信號,產(chǎn)生新的角度編碼PWM 信號或TTL電平來控制舵機,通過上位機修改舵機EEPROM使舵機內(nèi)部控制參數(shù)可調(diào),并可針對不同的應用需要,實時修改舵機內(nèi)部控制參數(shù),達到最佳的控制效果;同時通過上位機的軟件控制使舵機轉(zhuǎn)速可調(diào),即舵機可按指定的速度旋轉(zhuǎn)到指定的角度,從而進一步降低了上位機控制的負擔。本發(fā)明的航模舵機,所述的單片機通過AD轉(zhuǎn)換器的ADC通道與電位器相連,單片機的AD轉(zhuǎn)換器將電位器所代表的角度模擬信號轉(zhuǎn)換為數(shù)值信號,然后將此角度信息通過 PWM/RS232接口以數(shù)字形式反饋給上位機,使上位機獲取舵機當前的角度位置信息。因此, 本發(fā)明的航模舵機具有位置反饋功能,可為控制舵機的上位機提供實時舵機角度信息這一特點,將大大方便人形機器人、機械手的動作交互設(shè)計。本發(fā)明雙制控制全數(shù)字航模舵機具有如下優(yōu)點
1、本發(fā)明的航模舵機結(jié)構(gòu)簡單,體積小,采用單根信號導線雙??刂平涌?,使接口更簡單,同時實現(xiàn)了在單線上既可接收角度編碼PWM信號,也可接收RS232信號,兼容性強,實現(xiàn)了傳統(tǒng)模擬舵機與現(xiàn)代數(shù)字舵機的完美結(jié)合。2、本發(fā)明的航模舵機轉(zhuǎn)速共255級可調(diào),即舵機可按指定的速度旋轉(zhuǎn)到指定的角度,從而進一步降低了上位機控制的負擔;本發(fā)明的航模舵機內(nèi)部控制參數(shù)可調(diào),可針對不同的應用需要,實時修改舵機內(nèi)部控制參數(shù),以達到最佳的控制效果。3、本發(fā)明的航模舵機使用方便,通過上位機與舵機通信可讀取舵機內(nèi)部程序,而不需使用ISP下載線進行相關(guān)操作;通過利用本舵機速度可調(diào)特性實現(xiàn)動作的柔和與逼真;另外本舵機具有舵機位置反饋功能,為舵機控制的上位機提供當前舵機的角度位置信息,而角度信息可獲取這一特點可以幫助機器人得到更優(yōu)的動作模態(tài),以方便人形機器人、 機械手的動作的交互設(shè)計。4、本發(fā)明的航模舵機可靠性高、功耗低、智能性高,使用更安全可靠,采用單片機進行數(shù)字控制,在精度和健壯性上都有很大的提高,克服了傳統(tǒng)舵機的抖動現(xiàn)象。
4
圖1為本發(fā)明雙制控制全數(shù)字航模舵機系統(tǒng)的結(jié)構(gòu)框圖。圖2為本發(fā)明航模舵機系統(tǒng)的程序流程圖。圖3為本發(fā)明舵機系統(tǒng)單片機中的16位定時器/計數(shù)器捕捉PWM信號原理圖。圖4為本發(fā)明中PWM信號處理程序流程圖。圖5為本發(fā)明中USART接收結(jié)束中斷響應程序流程圖。上述圖中1 上位機、2 單根信號導線、3 信號轉(zhuǎn)換器、4 單片機、5 運算存儲單元、6 電機驅(qū)動PWM信號模塊、7 電機驅(qū)動集成電路、8 直流電機、9 減速齒輪組、10 電位器、11 =AD轉(zhuǎn)換器、12 外殼、13 脈沖的下降沿、14 脈沖的上升沿。
具體實施例方式下面結(jié)合附圖和實施例對發(fā)明作進一步詳述。實施例1 本發(fā)明一種雙制控制全數(shù)字航模舵機,結(jié)構(gòu)如圖1,包括有單根信號導線2、信號轉(zhuǎn)換器3、單片機4、電機驅(qū)動集成電路7、直流電機8、減速齒輪組9、電位器10和外殼12,所述的信號轉(zhuǎn)換器3采用單根導線2的雙??刂平涌谶B接外部的上位機1,接收上位機傳送過來的角度編碼PWM信號或RS232信號,轉(zhuǎn)換成新的角度編碼PWM信號或TTL電平,保存在單片機4中用以控制舵機;所述的單片機4選用ATmegaS芯片,含有運算存儲單元5、AD轉(zhuǎn)換器11和電機驅(qū)動PWM信號模塊6 ; ATmegaS芯片上的普通I/O接口串接電機驅(qū)動集成電路7、直流電機8、減速齒輪組9和電位器10,再連接到ATmegaS芯片上的AD轉(zhuǎn)換器11的ADC輸入通道;所述的信號轉(zhuǎn)換器、單片機、電機驅(qū)動集成電路、直流電機、減速齒輪組和電位器安裝在外殼12內(nèi)。參見圖2,為本發(fā)明的航模舵機系統(tǒng)的軟件流程,首先當舵機上電以后,舵機內(nèi)單片機4會啟動初始化程序,對其上的I/O端口、定時器/計數(shù)器、USART相關(guān)寄存器以及舵機中的AD轉(zhuǎn)換器進行初始化,同時讀取EEPROM中的數(shù)據(jù)寫入SRAM中,對內(nèi)存進行初始化; 然后開啟全局中斷;接著單片機的整個程序?qū)⒉蹲讲煌愋偷闹袛噙M行判斷,并根據(jù)不同的信號進行相關(guān)處理,主要是通過響應需要等待的單片機內(nèi)16位定時器/計數(shù)器捕捉中斷和USART接收結(jié)束中斷兩種不同的中斷機制來實現(xiàn)與上位機的PWM和RS232通信,得到上位機1的指令,一方面通過響應固有的ADC轉(zhuǎn)換結(jié)束中斷而獲取舵機位置信息反饋給上位機,另一方面通過捕捉響應8位定時器/計數(shù)器的溢出中斷,根據(jù)從上位機1獲取的目標信息,結(jié)合獲取的當前舵機位置信息,采用PID算法實現(xiàn)完成舵機的速度位置運動的控制。如圖3所示,是本發(fā)明的航模舵機系統(tǒng)中單片機4內(nèi)的16位定時器/計數(shù)器捕捉PWM信號原理圖,圖中為單片機4內(nèi)的16位定時器/計數(shù)器捕捉PWM信號,在一個脈沖的下降沿13捕捉,記下ICRltop值設(shè)置為上升沿捕捉,在同一個脈沖的上升沿14捕捉中斷處理,記下ICRltop值設(shè)置為下降沿捕捉,獲得兩次ICRltop值的差值即是捕捉到的PWM信號占空比。參見圖4,為本發(fā)明中PWM信號處理程序流程。軟件部分通過單片機4內(nèi)的16位定時器/計數(shù)器捕捉中斷實時接收P麗信號的機制(原理參見圖3),得到舵機內(nèi)部電路對應的占空比,然后針對不同的PWM信號控制舵機進行不同的操作處理。當PWM信號的高電平時長在Riiin (0.5ms) 和Pmax (2. 5ms)之間時,控制舵機轉(zhuǎn)角;而當PWM信號的占空比
5小于 Pmin 時,根據(jù)協(xié)議對不同的數(shù)值(Pulse_l=50us, Pulse_2=100us, Pulse_3=150us, Pulse_4=200us)進行不同的事情處理,其中當占空比為Pulse_l時反饋舵機當前角度,占空比為Pulse_2、Pulse_3、Pulse_4時分別修改舵機的PID算法相關(guān)參數(shù),如P值,D值,死區(qū);占空比大于Pmax的則不予以處理。參見圖5,為本發(fā)明中USART接收結(jié)束中斷響應程序流程,軟件部分USART結(jié)束中斷處理程序的內(nèi)部結(jié)構(gòu)包括“接收數(shù)據(jù),判斷指令類型,得到參數(shù),執(zhí)行指令”四個部分,單片機通過RS232信號接口接收上位機指令,對獲取的指令數(shù)據(jù)進行類型判斷,而后根據(jù)指令格式獲取參數(shù),最后控制電機驅(qū)動集成電路7執(zhí)行指令。USART接收中斷響應結(jié)束。實施例2 應用實施例1本發(fā)明的雙制控制全數(shù)字航模舵機,上位機1發(fā)送指令設(shè)置速度為第255級,單片機4接收指令,將存儲速度SRAM的地址處進行更新,單片機將在更新舵機位置的時候,讀取舵機速度,通過PWM信號設(shè)置舵機速度為最高為沈0° /s。實施例3 應用實施例1本發(fā)明的雙制控制全數(shù)字航模舵機,上位機1發(fā)送指令設(shè)置速度為第1級,單片機4接收指令,將存儲速度SRAM的地址處進行更新,單片機將在更新舵機位置的時候,讀取舵機速度,通過PWM信號設(shè)置舵機速度為最低為3. 75° /s。本發(fā)明的雙制控制全數(shù)字航模舵機可以用于人形機器人、機器魚以及各種仿生機器動物的組成,通過利用本舵機速度可編程調(diào)試特性實現(xiàn)動作的柔和性與逼真;而位置信息可獲取這一特點可以幫助機器人得到更優(yōu)的動作模態(tài)。本發(fā)明的舵機可廣泛應用于各個模態(tài)的機器人、高級航模的研究與開發(fā)。
權(quán)利要求
1.一種雙制控制全數(shù)字航模舵機,包括有信號轉(zhuǎn)換器、單片機、驅(qū)動電路、電機、減速齒輪組、電位器和外殼,其特征在于所述的信號轉(zhuǎn)換器采用單線雙??刂平涌谶B接上位機, 接收上位機傳送過來的角度編碼PWM信號或RS232信號,轉(zhuǎn)換成新的角度編碼PWM信號或 TTL電平,保存在單片機中用以控制舵機;所述的單片機選用ATmegaS芯片,含有運算存儲單元、AD轉(zhuǎn)換器和電機驅(qū)動PWM信號模塊;ATmegaS芯片上的普通I/O接口串接電機驅(qū)動集成電路、直流電機、減速齒輪組和電位器,再連接到ATmegaS芯片上的AD轉(zhuǎn)換器的ADC輸入通道;所述的信號轉(zhuǎn)換器、單片機、電機驅(qū)動集成電路、直流電機、減速齒輪組和電位器安裝在外殼內(nèi)。
2.根據(jù)權(quán)利要求1所述的雙制控制全數(shù)字航模舵機,其特征在于所述的單片機通過 RS232/編碼PWM接口與外部的上位機軟件通信,實現(xiàn)舵機程序升級,對存儲在單片機中的可電擦寫存儲器內(nèi)的舵機的死區(qū)范圍、位置范圍、PD控制參數(shù)信息進行修改,通過控制指令控制舵機的轉(zhuǎn)角及速度,其中轉(zhuǎn)角范圍-90°到+90°,速度255級可調(diào),對應于轉(zhuǎn)速低限 3. 75° /s,高限 260° /s。
3.根據(jù)權(quán)利要求1所述的雙制控制全數(shù)字航模舵機,其特征在于所述的單片機通過 AD轉(zhuǎn)換器的ADC通道與電位器相連,單片機的AD轉(zhuǎn)換器將電位器所代表的角度模擬信號轉(zhuǎn)換為數(shù)值信號,然后將此角度信息反饋給上位機,使上位機獲取舵機當前的角度位置信息。
全文摘要
本發(fā)明涉及一種雙制控制全數(shù)字航模舵機,包括有外殼及安裝在外殼內(nèi)的信號轉(zhuǎn)換器、單片機、驅(qū)動電路、直流電機、減速齒輪組、電位器;單片機含有運算存儲單元、AD轉(zhuǎn)換器、電機驅(qū)動PWM信號模塊,單片機采用單線雙??刂平涌?,通過角度編碼的PWM信號和RS232兩種兼容的模式與上位機通信,接收上位機的控制指令,對舵機的速度進行控制,單片機上的AD轉(zhuǎn)換器與電位器相連,控制舵機的轉(zhuǎn)角,獲取舵機當前位置信息,傳送給上位機。本舵機的轉(zhuǎn)速有255級可調(diào),其轉(zhuǎn)速低限為3.75°/s,高限為260°/s。本舵機利用數(shù)字系統(tǒng)的特點為傳統(tǒng)舵機增加了智能,擴展了應用范圍,可廣泛應用于各種類型的機器人、高級航模的研究與開發(fā)。
文檔編號A63H27/20GK102188824SQ201110069729
公開日2011年9月21日 申請日期2011年3月23日 優(yōu)先權(quán)日2011年3月23日
發(fā)明者孫晶, 時臻, 朱勇, 朱宇, 汪可, 王永艇, 羅忠文, 胡琴 申請人:中國地質(zhì)大學(武漢)