<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 三相電動機(jī)編程控制工作原理及方案

          三相電動機(jī)編程控制工作原理及方案

          作者: 時間:2011-03-30 來源:網(wǎng)絡(luò) 收藏

          本文介紹了采用Renesas公司MC16C/28系列的CPU產(chǎn)品,運(yùn)用120o 梯形波交變,通過電動機(jī)感應(yīng)電壓的過零點(diǎn)來估測轉(zhuǎn)子位置,從而實(shí)現(xiàn)表面安裝永磁式同步電動機(jī)(SPMSM)的無位置傳感器型驅(qū)動的方法。

          通過變頻技術(shù)和脈寬調(diào)制技術(shù)對交流電動機(jī)轉(zhuǎn)速和位置進(jìn)行數(shù)字控制是電動機(jī)控制的發(fā)展趨勢,永磁式同步電動機(jī)(PMSM)具有結(jié)構(gòu)簡單、體積小、易于控制、性能優(yōu)良等優(yōu)點(diǎn)。用單片機(jī)對電動機(jī)進(jìn)行數(shù)字控制是實(shí)現(xiàn)電動機(jī)數(shù)字控制的最常用的手段。

          電動機(jī)控制

          圖1 三相電動機(jī)驅(qū)動

          圖2 電動機(jī)控制硬件框圖

          逆變器控制

          電能(商用電源)一般是通過一個電源系統(tǒng)來提供的。在這種場合,商用電源的電壓、頻率和相位在嚴(yán)格的控制之下被固定于一個精確的水平上。如果把一個商用電源直接提供給電動機(jī)的負(fù)載,則感應(yīng)式電動機(jī)(IM)可以被起動,而同步電動機(jī)(比如永磁式同步電動機(jī)PMSM)則不能被起動。

          在逆變器控制過程中,商用電源未與負(fù)載相連。一個轉(zhuǎn)換器件首先把交流(AC)電流轉(zhuǎn)換成直流(DC)電源,然而再由一個逆變器將直流電源轉(zhuǎn)換成交流電源,以便向電動機(jī)輸送具有期望電壓和頻率的交流電源。如果輸出電壓和頻率是根據(jù)負(fù)載和擾動來控制的,則這將使得同步電動機(jī)能夠起動和旋轉(zhuǎn),并達(dá)到節(jié)能的效果。

          表1 控制方法

          表2 A/D轉(zhuǎn)換

          表3 中斷功能

          感應(yīng)電壓

          電動機(jī)可以起發(fā)電機(jī)的作用。因此,當(dāng)把一盞燈連接至電動機(jī)并旋轉(zhuǎn)電動機(jī)的軸時,燈將會發(fā)光。這是因?yàn)楫a(chǎn)生了感應(yīng)電動勢的緣故,而產(chǎn)生的電壓就被稱為“感應(yīng)電壓”。

          當(dāng)電動機(jī)停止轉(zhuǎn)動時,將不會產(chǎn)生感應(yīng)電壓。因此,當(dāng)起動電動機(jī)時,將強(qiáng)迫它在某一特定方向上旋轉(zhuǎn),以找到轉(zhuǎn)子的位置。

          在采用180o正弦波交變的電動機(jī)控制中,由于電動機(jī)中有電流連續(xù)流過,故不能直接監(jiān)視電動機(jī)中產(chǎn)生的感應(yīng)電壓。因此,在無位置傳感器的控制中,轉(zhuǎn)子位置是通過電動機(jī)電流來估測的。

          用于電動機(jī)控制的硬件和軟件規(guī)范

          硬件構(gòu)成

          表面安裝永磁式同步電動機(jī)(SPMSM)
          A/D轉(zhuǎn)換器
          三相PWM輸出
          感應(yīng)電壓的零點(diǎn)檢測

          四部分組成的框圖示于圖2。

          軟件功能

          軟件控制示于表1。

          用于電動機(jī)控制的CPU及其周圍設(shè)備的功能說明

          A/D轉(zhuǎn)換

          A/D轉(zhuǎn)換說明見表2。

          三相PWM輸出

          采用鋸齒波來進(jìn)行調(diào)制和采用了三相模式0來實(shí)現(xiàn)120o交變驅(qū)動電機(jī)。

          在采用梯形波的120o交變中,轉(zhuǎn)速基本與電壓成正比。

          三相電動機(jī)感應(yīng)電壓的過零點(diǎn)檢測

          在本軟件中,感應(yīng)電壓的過零點(diǎn)是通過按表3對外部中斷功能進(jìn)行配置的方法來檢測的。

          用梯形波交變實(shí)現(xiàn)SPMSM的無位置傳感器型

          驅(qū)動的軟件描述

          軟件描述了如何使用梯形波的120o交變來實(shí)現(xiàn)SPMSM的無傳感器型驅(qū)動。內(nèi)容包括:

          (1)由電動機(jī)中的感應(yīng)電壓來檢測轉(zhuǎn)子位置和采用梯形波的120o 交控制旋轉(zhuǎn)轉(zhuǎn)速度在±500 rpm~3000 rpm范圍。

          (2)對8個控制模塊的描述。

          A/D轉(zhuǎn)換器
          感應(yīng)電壓的檢測
          實(shí)際轉(zhuǎn)速的計算
          目標(biāo)轉(zhuǎn)速的計算
          PWN占空比的計算
          確定輸出模式
          初始啟動處理
          其他一些CPU關(guān)于系統(tǒng)異常動作的監(jiān)測和檢測。

          (3)CPU寄存器的存儲變換

          CPU具有13個寄存器:數(shù)據(jù)寄存器、地址寄存器、幀寄存器、中斷表寄存器、程序指針寄存器、用戶堆棧指針(USP)寄存器中斷堆棧指針(ISP)寄存器、狀態(tài)寄存器、標(biāo)志寄存器(進(jìn)位標(biāo)志寄存器、調(diào)試標(biāo)志寄存器、0標(biāo)志寄存器、符號標(biāo)志寄存器、寄存器組選擇標(biāo)志寄存器、溢出標(biāo)志寄存器、中斷使能標(biāo)志寄存器。)堆棧指針選擇標(biāo)志寄存器、處理器中斷優(yōu)先級寄存器、預(yù)留域寄存器。

          存儲變換包括:

          線性地址空間,固定中斷的矢量,內(nèi)部RAM,SFR區(qū)域,特殊的頁面矢量等的地址分配。
          用于本軟件的存儲變換和段配置

          (4)系統(tǒng)的主要軟件模塊

          (5)與三相輸出有關(guān)的SFR的初始設(shè)定值

          AD轉(zhuǎn)換器的控制寄存器0-2的設(shè)置
          電動機(jī)感應(yīng)電壓檢測
          三相輸出PWM設(shè)置(24個寄存器)

          (6)通過120°梯形波交變來實(shí)現(xiàn)SPMSM無傳感器型驅(qū)動控制流程

          用于通過120°梯形波交變來實(shí)現(xiàn)SPMSM的無傳感器型驅(qū)動的主處理
          初始化處理
          PWM中斷處理
          停止處理
          啟動處理
          正常處理
            實(shí)際轉(zhuǎn)速計算處理
          轉(zhuǎn)速命令計算處理
          總線電壓計算處理
          電動機(jī)鎖定檢測處理
          停止檢測處理。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();