• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于中穎SH79F168單片機的航模無刷電調方案

    基于中穎SH79F168單片機的航模無刷電調方案

    作者: 時間:2010-10-12 來源:網絡 收藏

    摘要:本文提出了一種采用中穎8位作為主控芯片的無刷電調,用AD采樣的方法進行反電動勢檢測以控制無位置傳感器的無刷直流電機。該芯片內部集成了PWM、ADC、增強外部中斷等有針對性的功能模塊,使軟硬件設計都大為簡化。經實際項目應用,該系統運行穩定可靠,且與市面上的其它控制相比具有成本優勢。

    本文引用地址:http://www.czjhyjcfj.com/article/173182.htm

    1 概述

    無位置傳感器的無刷直流電機(Brushless Direct Current Motor, BLDCM)由于其快速、可靠性高、體積小、重量輕等特點,在領域得到了廣泛的應用。但是與有刷電機和有位置傳感器的無刷直流電機相比,其控制算法要復雜得多。加上設計中對重量和體積的要求非常嚴格,因此要求硬件電路盡可能簡單,更增加了軟件的難度。

    本文提出了一種中穎8位的控制,借助于該芯片片內集成的針對電機控制的功能模塊,只需很少的外圍電路即可搭建控制系統,實現反電動勢法的無位置傳感器BLDC控制,在保證穩定性和可靠性的基礎上大大降低了系統成本。而且該芯片與傳統8051完全兼容,易于上手,從而也降低了研發成本。

    2 系統硬件設計

    本方案選用中穎的8位做為主控芯片。該芯片采用優化的單機器周期8051核,內置16K FLASH存儲器,兼容傳統8051所有硬件資源,采用JTAG仿真方式,內置16.6M振蕩器,同時擴展了如下功能:

    • 雙DPTR指針. 16位 x 8乘法器和16位/8除法器.

    • 3通道12位帶死區控制PWM,6路輸出,輸出極性可設為中心或邊沿對齊模式;同時集成故障檢測功能,可瞬時關閉PWM輸出;

    • 7通道10位ADC模塊;

    • 內置放大器和比較器,可用作電流放大采樣和過流保護;

    • 增強的外部中斷,提供4種觸發方式;

    • 提供硬件抗干擾措施;

    • Flash自編程功能,方便存儲參數;

    主系統硬件架構如圖1所示,從圖中可以看出該系統大部分功能都由片內集成的模塊完成。外圍電路的簡化一方面可以提高系統可靠性,另一方面也降低了成本。

    1.jpg

    圖 1 系統硬件架構

    三相逆變橋采用上橋PMOS用三極管驅動,下橋NMOS用PWM端口直接驅動的方式,如圖2所示。

    2.jpg

    圖 2 三相逆變橋

    SH79F169片內集成了三通道6路PWM端口,可分別獨立配置為PWM輸出或者IO輸出。將PWM01~PWM21配置為PWM輸出,直接驅動三相逆變橋的下橋;PWM0~PWM2配置為IO端口,經過晶體管反相電路后驅動三相逆變橋的上橋。

    外部中斷輸入INT4x配置為雙沿觸發,即輸入信號的上升沿和下降沿都能觸發中斷,可用于捕捉調速給定信號。

    3 系統軟件設計

    由于SH79F168的硬件已經完成了大量的任務,軟件的部分相對簡化很多。主程序流程圖如圖3所示。

    3.jpg

    圖 3 主程序流程圖

    為便于理解,該流程圖經過了盡量的簡化,只保留最關鍵的步驟。主流程中沒有列出“檢測BEMF”和“換相”兩個關鍵的步驟,因為它們分別在PWM中斷和timer0中斷中進行。

    3.1 反電動勢過零點檢測

    在PWM輸出高期間,假設斷開相繞組端電壓為 ,反電動勢為 ,供電電壓為 ,則三者之間有如下關系[1]:

    4.jpg

    SH79F168提供PWM周期中斷和占空比中斷。當周期中斷發生時不斷檢測斷開相的端電壓,并與 比較,直到檢測到過零點或者PWM輸出低(根據PWM占空比中斷標志位判斷),即可實現在PWM輸出高期間的反電動勢過零點檢測。每次換相后就切換到另一個通道,檢測下一個斷開相的端電壓,如此循環,實現實時檢測。

    需要注意是剛換相后的一段時間內,由于MOS管的續流,斷開相繞組的電壓會出現尖峰。為了準確檢測反電動勢,可以選擇在剛換相的一到兩個PWM周期內不進行采樣,避開尖峰電壓。

    3.2 起動算法

    BLDC電機的反電動勢和轉速正相關,在起動和低速運行階段,電機產生的反電動勢為零或很小,因此往往需要經過一段強制加速,使反電動勢上升到能夠檢測過零點的水平。

    航模電機一般在較低速時即會產生比較明顯的反電動勢,這個特點為起動提供了很大的便利。先給電機任意兩相通電,使電機獲得一個初速度,這時檢測斷開相電壓并等待其發生過零。若檢測到過零點則換相,若經過較長一段時間還沒有檢測到過零則強制換相,重復這個過程直至電機穩定運行。這種起動方式,不但實現簡單,而且穩定可靠。在這種方式不能適用時,再根據應用場合考慮選用特定的起動方式,可參考文獻[2],限于篇幅本文不詳述。

    3.3 換相計算

    一般在用反電動勢法進行BLDC控制的時候,需要對每兩次換相的間隔時間進行計時,得到60°電角度時間,然后除以2作為檢測到過零點后30°延時的定時值。這就需要用到兩個定時器/計數器,一個用作計數器對每兩次換相的間隔進行計數,另一個用作定時器實現30°延時。本方案中為了節省timer資源,用一個timer同時完成兩項功能。

    在每次換相后,檢測到該通電狀態下的過零點之間,timer0用作計數器;在檢測到過零點之后,之前的計數值即為30°電角度,將其作為定時值裝入timer0,timer0用作定時器開始定時。定時時間到后,在timer0中斷中進行換相。然后timer0又用作計數器,如此循環。正常情況下,由于電機轉速很高,每次換相到檢測到過零點之間的時間很短,timer0在計數模式下不會發生中斷。若timer0在計數模式時發生中斷,必然是計數溢出,說明電機經過較長的時間還沒有檢測到過零點,而這可以作為電機堵轉的標志。根據實際情況,可對timer0在計數模式下連續發生中斷的次數進行計數,超過一定值即認為發生堵轉。這樣,timer0還實現了堵轉保護的功能。

    手機電池相關文章:手機電池修復


    pwm相關文章:pwm是什么


    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理



    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 黄石市| 清河县| 武胜县| 新源县| 日照市| 凤庆县| 安新县| 开化县| 滨海县| 海口市| 长泰县| 枣阳市| 衡阳市| 常山县| 南雄市| 南澳县| 英超| 沛县| 昆明市| 金山区| 岑巩县| 阿坝| 赤峰市| 襄樊市| 滕州市| 敖汉旗| 宣化县| 昌平区| 威远县| 甘泉县| 晋宁县| 平阴县| 乃东县| 遵义县| 铁力市| 黄冈市| 永城市| 科技| 突泉县| 沛县| 财经|