基于AT89S52單片機的電機控制系統(tǒng)設計
電機控制在監(jiān)控器材、醫(yī)療器械、電動閥門、電動窗簾、家用電器、旋轉燈具等方面有著廣泛的應用,因此設計一款可控性好、精度高的電機控制系統(tǒng)是一件非常有意義的事。本文介紹的基于AT89S52單片機的電機控制系統(tǒng)的軟硬件設計,在按鍵的操作下對時間進行設定,控制電機的轉動,對工作狀態(tài)及時間進行顯示。
1 設計方案說明
該系統(tǒng)先通過按鍵對電機的正、反向(即順時針、逆時針)轉動時間分別設置,時間顯示在LCD上,格式為時:分:秒(通過改變程序可以選擇不同的格式)。采用倒計時方式,正向時間完畢,立刻開始反向轉動時間計時,反向時間結束,自動恢復到初始設定的時間。
時間設定完成后,按下開始鍵,正向轉動時間開始計時,電機工作指示燈閃爍,正向轉動指示燈亮,同時電機正向轉動;正向時間完畢,反向時間開始計時,正向轉動指示燈熄滅,反向轉動指示燈亮,同時電機反向轉動。
按下停止鍵,時間停止計時,電機停止工作,工作指示燈熄滅。
系統(tǒng)采用的電機為60TDY-11可逆永磁電機,其內部采用兩組繞組,用電容實現(xiàn)定向旋轉,通過改變電容和電機輸出引線的接法,能夠可靠地實現(xiàn)電機定向旋轉并控制旋轉方向。
2 硬件電路設計
整個系統(tǒng)硬件結構如圖1所示。本文引用地址:http://2s4d.com/article/173351.htm
2.1 按鍵輸入和控制電路設計
按鍵輸入電路采用6個按鍵分別連接到單片機的P2.0~P2.5口,作為控制信號的輸入。按下K0鍵,系統(tǒng)進入時間設定模式,連續(xù)按下K0鍵可以選擇對不同的時間單位進行設置,通過K1,K2鍵對時間進行加1或減1。按下K3鍵退出時間設定模式,K4,K5鍵分別為啟動和停止鍵。
電機控制電路的控制芯片采用ATMEL公司的AT89S52,它有8 KB FLASH,256 B RAM,32位I/O口線,看門狗定時器,兩個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。其內部資源豐富、性價比高,能夠滿足設計要求。
PO.O~P0.2作為三個工作指示燈的控制信號輸出,需要外接上拉電阻;P1.0~P1.2為液晶顯示器的控制信號輸出;P3.0~P3.1分別是控制電機正反向轉動的控制信號輸出。
2.2 LCD顯示電路設計
顯示部分采用的是12864液晶,控制器是ST7920,這種控制器帶中文字庫,去除了編制字庫的麻煩,該控制器的液晶還支持畫圖方式。該類液晶支持68時序8位和4位并口以及串口。ST7920的時鐘SCLK有獨立的操作時序,當多個連續(xù)的指令需要被送入時,需要考慮指令執(zhí)行時間。
一個完整的串行傳輸周期由以下部分組成:首先送入啟動字節(jié),送入五個連續(xù)的“1”用來啟動一個周期,此時傳輸計數(shù)被重置,并且串行傳輸被同步。緊接的兩個為制定傳輸方向(RW,確定讀還是寫)和傳輸性質(RS,確定是命令寄存器還是數(shù)據(jù)寄存器),最后的第八位是一個“O”。
本設計中PSB引腳接地,選擇串口工作模式,CS高電平有效,只用兩根線SID和SCLK即可完成數(shù)據(jù)傳輸。
2.3 電機及驅動電路設計
60TDY-11電機工作電壓為220 V交流電,而單片機的輸出高電平為5 V,因此電機需要一個驅動電路,采用繼電器來作為較小的電流去控制較大電流的一種“自動開關”。
評論