新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用SPMC75F2413A單片機來開發(fā)直流變頻洗衣機的原理和方法

        利用SPMC75F2413A單片機來開發(fā)直流變頻洗衣機的原理和方法

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

        本文引用地址:http://www.104case.com/article/172922.htm

        4.4 水位檢測電路
        圖4-5為洗衣機的水位檢測電路,CON4連接水位傳感器,水壓大小產(chǎn)生LC 震蕩,壓力越小則頻率越大,反之亦然。當(dāng)接近零水位時,輸出頻率約在27.8KHz。此頻率通過F/V 轉(zhuǎn)換電路,轉(zhuǎn)換為模擬電壓輸入至芯片內(nèi)ADC 模塊來計算水位高低。
        F/V 轉(zhuǎn)換電路由IC7所產(chǎn)生,電路組件R33 與C36 形成輸入端高通濾波器以濾除直流電壓,輸出電壓大小由R30、C33 與輸入頻率決定,電壓計算式為: Vo = R30 x C33 x Vcc x Fin;其中Vcc 為+5V、Fin 為輸入頻率。


        圖4-5 水位檢測電路

        5系統(tǒng)軟件設(shè)計
        變頻洗衣機控制器主要以雙MCU 設(shè)計,兩控制器通過串行通訊交換訊息與系統(tǒng)控制,設(shè)定SPCE061A 面板控制器為主機,SPMC75F2413A 馬達(dá)驅(qū)動控制器為從機。主機負(fù)責(zé)整個傳輸?shù)倪^程;從機端負(fù)責(zé)接收主機端傳送的命令并執(zhí)行,且需響應(yīng)相對應(yīng)的ACK 訊號給主機,相對地。當(dāng)使用者在面板控制器上下達(dá)對應(yīng)的運轉(zhuǎn)命令后,從機負(fù)責(zé)執(zhí)行,當(dāng)有異常狀況發(fā)生時,從機實時回報或直接能夠由主機檢知,利用顯示電路通知使用者。
        因此本系統(tǒng)的軟件開發(fā)包括針對馬達(dá)驅(qū)動、通訊格式與通訊狀態(tài)機切換、洗衣機狀態(tài)機切換、按鍵掃瞄與狀態(tài)顯示等程序為主;以下將針對DMC 控制器與PANEL 控制器重要的程序給予說明。
        5.1 直流無刷馬達(dá)驅(qū)動程序
        在DMC 控制器主要負(fù)責(zé)直流變頻馬達(dá)驅(qū)動,可區(qū)分為兩大部分:內(nèi)回路的電壓控制與外回路的速度控制。內(nèi)回路電壓控制系針對偵測到的馬達(dá)轉(zhuǎn)子位置(由霍爾組件讀取得到),由于馬達(dá)轉(zhuǎn)子為永久磁石結(jié)構(gòu),因此由微控制器所輸出的電壓訊號需對應(yīng)于所讀取到的霍爾組件訊號,在實際的設(shè)計例中是以定時器Timer3 產(chǎn)生4000Hz 的固定周期的中斷時間,在每次中斷程序中會對霍爾組件輸入接口作讀取的動作,并輸出相應(yīng)的電壓H/L與PWM 訊號,此程序以有限狀態(tài)機實現(xiàn),共區(qū)分3 個狀態(tài)為PHSIDLE、PHSHOLD 與PHSRUN,在PHSIDLE 主要工作在禁能DMC 驅(qū)動器并對調(diào)控參數(shù)進(jìn)行初始化,PHSHOLD 狀態(tài)在保證產(chǎn)生自舉電壓,而PHSRUN 則是真正產(chǎn)生120 度方波訊號,詳細(xì)程序流程可參考如圖5-1 所示。


        圖5-1 狀態(tài)切換流程

        5.2 馬達(dá)轉(zhuǎn)速計算與控制程序
        洗衣機的直流無刷馬達(dá)為同步馬達(dá),亦即馬達(dá)的機械轉(zhuǎn)速與磁場旋轉(zhuǎn)頻率為同步的。因此可根據(jù)馬達(dá)的霍爾位置訊號計算脈波寬度的時間即可計算出馬達(dá)的實際轉(zhuǎn)速,達(dá)到閉回路的速度控制。利用SPMC75F2413A的PDC0中斷做相位檢測,TPM2定時器中斷計時來完成位置檢測和速度計算。圖5-2為PDC0和TPM2中斷流程。


        圖5.2 PDC0和TPM2中斷流程

        其中PDC0_PDCINT_ISR()負(fù)責(zé)檢測霍爾組件的脈波寬度,TMR2_TPRINT_ISR()負(fù)責(zé)當(dāng)馬達(dá)轉(zhuǎn)速變化時更新實際轉(zhuǎn)速值并作控制。
        5.3串行通訊程序
        DMC控制器和PANEL 控制器通過UART交換訊息,采用CRC校驗方式,所有的通訊動作的起始、中止與異常檢出皆由PANEL 控制器所主導(dǎo)。
        DMC 控制器以環(huán)形隊列(circular queue)存儲數(shù)據(jù),串行字符是以中斷接收并儲存在的緩沖區(qū)中。DMC 控制器檢查所收到的串行字符命令,若所收到的字符組正確無誤,則對相應(yīng)的命令回應(yīng)給PANEL 控制器,若是接收為有效的命令,則執(zhí)行Decode_RxStream()程序以譯碼出控制命令與數(shù)據(jù),并對PANEL 控制器發(fā)出ACK訊號;反之,若接收為無效的命令,則對PANEL 控制器發(fā)出NACK 的訊息,以利PANEL 控制器作訊息的控制與再傳送的動作。程序流程圖如圖5-3 所示。


        圖5-3 串行通訊程序流程



        關(guān)鍵詞: 直流變頻 凌陽單片機

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 岑巩县| 东乌珠穆沁旗| 乌拉特前旗| 绥宁县| 永春县| 临沂市| 遂平县| 龙海市| 曲周县| 邻水| 洞口县| 泰安市| 无为县| 永定县| 博乐市| 潍坊市| 温宿县| 丰顺县| 霸州市| 微山县| 平利县| 张家口市| 石屏县| 九江县| 兴海县| 肃南| 建宁县| 尉氏县| 盐边县| 富顺县| 文昌市| 南郑县| 陆河县| 鄢陵县| 龙山县| 济阳县| 武乡县| 南郑县| 枣阳市| 定兴县| 清涧县|