如果不想錯過我的推送,請前往右上角-查看公眾號-設為星星
感謝我的老粉絲分享他的畢業設計。 當達爾文成立時,他跟隨我們,現在是一名研究生。 如果你也愿意分享你的畢業設計,可以聯系倪姐:(微信ID)
——倪姐
今天分享的內容主要是畢業設計的軟硬件部分,以及電機參數測量的內容。 關于建模和仿真我就不多介紹了。
設計要求
1)無刷直流電機驅動器可以控制驅動無刷直流電機轉動;
2)無刷直流電機轉速可平滑調節,方向可實現正反轉;
3)電機驅動電壓為DC12V;
4)直流電機轉動過程中,不應有線圈振動、不正常噪音或人耳可聽到的嘯叫聲;
5)能夠長期穩定工作。
下面將從硬件設計和軟件流程兩個角度分享重點內容。 本文涉及的硬件電路圖源文件和軟件代碼工程文件均已開源。 您可以回復“達爾新聞”微信:無刷直流電機。
硬件系統設計
首先我們看一下無刷直流電機控制系統各部分的芯片選型及電路原理圖。
系統硬件電路圖
1)芯片選型
本次設計選擇該芯片,主要是因為該芯片硬件集成了一些電機驅動常用的算法模塊,如SVPWM模塊、PI模塊、低通濾波器模塊、SMO模塊、反正切模塊、Park變換模塊、變換模塊。 FOC算法中常見的模塊有模塊、Park逆變換模塊、逆變換模塊等。
由于集成度高,設計過程中可以將更多的精力花在各個模塊的參數調試和整體算法的調試上。 不需要花費時間構建模塊,從而縮短了開發周期,并且硬件模塊的計算速度比程序中編寫的軟件算法的計算速度快得多。 當然,你也可以編寫自己的算法在芯片上運行,但這樣你就失去了芯片硬件加速的優勢。
2)電源電路
采用LM317線性穩壓芯片板載供電。
電源防反接電路如下圖所示:
C3為220uF電解電容,主要用于濾除低頻雜波什么是橋臂電阻,C5為0.1uF貼片電容,主要用于濾除高頻雜波。 D3為電源指示燈什么是橋臂電阻,R1為限流電阻。 當正電壓端接1時,D1、D2、D4導通。 D6是TVS管,可以濾除浪涌電流,并將兩端電壓鉗位在預定值。 此時電路工作正常。 若電源接反,則D6導通,電源電壓反向加到D1、D2、D4上,此時電路不工作。
3)橋驅動電路:
本設計采用三相全橋驅動電路:
上臂采用P溝道增強MOS管。 主要原因是12V低壓電路使用PMOS管的成本并不太高,而且可以省掉自舉電路,使電路更簡單。 下臂采用N溝道增強型MOS管。 雖然原理圖和PCB上都畫了上拉和下拉電阻,但在實際調試過程中,發現這兩個沒有任何作用。 可能是因為上下橋臂的MOS管內置了上拉和下拉電阻,所以下面就把這些電阻從板上去掉即可。 使用每個MOS管G極連接的限流電阻。 限流電阻太小,無法限制電流。 過大的限流電阻會導致上下橋??臂穿過MOS管,使MOS管發熱甚至燒毀。
4)過壓保護電路:
電源電壓經過兩個分壓電阻R5和R13分壓后,再經過R13分壓后的電壓送至芯片的ADC引腳進行采樣。 如果芯片判斷電源電壓高于電機的耐壓范圍,就會關閉所有MOS管,以保護電機。 D5為鉗位二極管,電壓低于5V時不導通。 當電壓高于5V時,反向導通,將電壓鉗位在5V。 這是為了防止電壓高于5V時燒毀芯片。 兩個分壓電阻的分壓比也需要適當調整。 R13分壓的電壓越大,過壓保護的過壓值越小,采樣角度越高。 R13分壓的電壓越小,過壓值越小。 采樣精度越大,精度越低。
5)采樣電路:
采樣電路是無感FOC驅動器的核心電路。 驅動電路中采樣電阻為RS1,采用10毫歐采樣電阻。 運放采用芯片內部的運放。 值得注意的是,采樣電路的PCB走線必須使用開爾文走線。
最終實際驅動板如下:
系統軟件設計
本章主要介紹本設計的主程序流程圖及其實現原理,主要包括主程序流程圖、電機啟動算法流程圖和失速保護程序流程圖。 還詳細解釋了該設計如何通過采樣電阻采集三相電流來實現位置檢測和閉環控制。
主程序流程圖:
從圖中可以看出,驅動程序經過一系列的初始化和校準后,會在while循環中進入FOC狀態機,同時也會進入這四個主中斷程序。
電機參數初始化主要是清除FOC運行時使用的所有變量。 預充電是對自舉電路的自舉電容進行充電。 由于設計中沒有自舉電路,因此不執行預充電過程。 對于正反轉和預定位,在電機啟動之前首先判斷轉子的初始速度。 如果順風速度達到閉環速度,電機將直接進入運行狀態。 如果是逆風旋轉,則先進行制動處理,然后再進行預定位。 預定位主要是通過強制設定一個轉子位置角,使電機轉子保持在該位置靜止,然后執行電機啟動程序。
目前有四種電機啟動算法方案:坡道啟動、Omega啟動、先爬坡后Omega啟動、無傳感器啟動。 除了感覺激活之外,其他三種方法都有一個共同點:都是先開環,再閉環。 本設計采用Omega啟動算法,優點是啟動速度快,缺點是調試困難。
歐米茄是角速度。 所謂歐米茄啟動,就是按照強制給定速度開環驅動電機。 當電機達到一定速度時,閉環。 圖中的折線是程序中給出的強制估計速度EMOE,曲線是實際滑模估計器估計的速度omega。 當估計器估計的速度omega小于程序設定的最小值時,則強制速度估計。 每個運行周期都會加上程序設定的速度增量,根據程序設定限制最大值; 當omega大于等于時,速度采用實際估計速度omega,切換為閉環控制。
堵轉保護的作用是防止電機堵轉時燒毀電機及驅動器。 失速保護程序和失速保護恢復程序放在1ms中斷中,每5ms執行一次。 一旦判斷為堵轉保護,則進入故障處理程序,關閉所有輸出,并延時5秒重新啟動電機。 若再次判斷為堵轉保護,則再延時5秒再重新啟動,直至重新啟動5次。 如果仍然判斷為堵轉保護,則失速保護完全關閉輸出,不重新啟動。
缺相保護是為了防止缺相運行損壞電機。 缺相保護程序和缺相保護恢復程序放在1ms中斷中,每5ms執行一次。 一旦判斷為缺相保護,則進入故障處理程序,關閉所有輸出,并延時3秒重新啟動電機。 若再次判斷為堵轉保護,則再延時3秒再重新啟動,直至重新啟動5次。 如果仍然判斷為缺相保護,缺相保護會完全關閉輸出,不會重新啟動。
除了失速保護和缺相保護程序外,還有許多其他控制程序。 例如保護程序中的軟硬件過流保護、過壓保護、啟動保護等。 還有用于人機交互的模擬調速程序、按鈕程序、蜂鳴器驅動器、指示燈驅動器和OLED驅動器。 例如,與主控算法關系不大的程序,例如判斷風是否流動的程序,這里不再詳細解釋。
對無刷直流電機控制系統感興趣,或者想完成相關項目的同學,可以下載相關代碼進行研究。
電機參數測量
根據反電動勢分類,無刷直流電機分為梯形波電機和正弦波電機。 兩者的主要區別在于繞組形式不同和永磁體幾何形狀不同,但都可以采用星形連接或三角形連接。
根據轉子結構,無刷直流電機分為表面安裝電機和內置電機。 表面安裝型是指永磁體磁極附著在轉子鐵磁材料的表面,內置型是指永磁體磁極嵌入轉子鐵磁材料內部。 。
在本設計中,使用的無刷直流電機是正弦波表面貼裝電機。
判斷電機運行是否正常,一般需要測量以下參數:
確定電機磁極對數常用的方法有兩種:第一種是通過示波器測量任意兩相的反電動勢波形,當電機轉子旋轉360度時立即停止電機,然后輸出反電動勢波形中的正弦波。 周期數就是電機的磁極對數。 二是將直流電源電壓調整至電機額定電壓,將限流從0慢慢增加,增加過程中用手移動電機轉子,直至電機轉子有明顯卡住的感覺。 然后停止最大電流。 限流一般為額定電流的10%-20%比較合適。 然后在電機轉子上做記號,緩慢旋轉轉子一周,統計旋轉過程中轉子卡住的次數。 電機的極對數。 工程中經常使用第二種方法,因為它更準確、更快。
電機的相電阻和相電感與估計器對轉子位置的估計密切相關。 用電橋測量兩個三相繞組之間的電阻和電感,各得到三組數據。 然后將它們平均并除以2即可得到電機的相電阻和相電感。 需要注意的是,電橋電壓一般設置為1V,頻率一般設置為1kHz,電阻為讀數DCR的值,電感為讀數Ls的值。
電機繞組星形連接的 Ld 和 Lq 測量:
有時在檢測電機的初始位置時,需要測量確定電機的凸極極性,從而選擇初始位置檢測方法。
首先將電橋參數設置為與測量相電感相同,然后測量任意兩相,然后以很慢的速度旋轉電機轉子。 電機轉子靜止時讀取電橋上Ls的最大值和最小值。 值,一般認為最大值除以2為Lq,最小值除以2為Ld。 如果想要準確確定Ld和Lq的值,由于推導過程和測量方法都比較復雜,這里就不做過多解釋。 在工程中,一般只需要知道最大值和最小值,然后根據調試效果和經驗就可以準確確定總和的值。 。
反電動勢常數的測量:
將示波器的探頭連接到電機的任意一相,將電機的另外兩相之一接地,旋轉負載,測量反電動勢波形。 取中間的正弦波并測量其峰峰值 (V) 和頻率 (Hz)。 然后結合之前測得的磁極對數,加上以下公式即可得到反電動勢常數的值:
在工程調試過程中,經常測量電機的實際轉速,以確定是否滿足某些設計指標。 通常直接使用轉速表來測量電機速度。 這里介紹一種無需轉速表即可準確測量電機轉速的方法。 電機正常運行時,用電流鉗測量任意相的電流波形,在示波器上選擇合適的正弦波,然后用示波器測量正弦波的頻率。 根據公式,可以準確判斷此時的電機。 轉速。
結尾
畢業系列: