陳駿



摘要:針對現代控制系統設計的特點,將dsPIC20F芯片單片機作為核心,設計了智能家居控制系統。首先,對控制系統的硬件設計進行分析;之后,設計系統軟件平臺,主要包括主機通訊程序、E2PROM操作、關主電機、開關電機、軟件控制程序等設計。此系統能夠提高電機控制效率,對整體控制體系進行優化。對比傳統方法,此系統結構較為簡單,并且使用方便。
關鍵詞:嵌入式單片機智能家居控制系統
目前智能家居中廣泛使用控制系統,所以此方面備受專業人士的重視。傳統控制系統的控制是利用模擬器實現的,雖然結構比較簡單,但是具有較強的造作性,成本也比較低。但是其控制工作可靠程度比較低,并且對完善及升級都是非常不利的。以此,人們就開始通過數字化代替傳統方式,并且改進控制系統。利用嵌入式單片機控制電機,是通過目前數字技術實現工作控制的簡單化操作,并且還能夠使系統性能得到提高。因此,本文就基于dsPIC20F單片機在智能家居控制系統設計中的使用進行分析。
1控制系統的硬件設計
為了能夠有效完善控制系統的功能,就要利用單片機控制功能實現,本文利用dsPIC20F芯片實現設計,此芯片能夠通過單片機結合DSP技術,具有較高的性能,為十六位數字信號控制器。利用此技術芯片外圍設備豐富的功能,對于信息中斷情況的反應比較快,并且使用高性能計算能力處理器。
圖l為使用dsPIC20F芯片單片機電機控制系統的結構,分析電機控制系統,工作流程主要包括:利用系統中感應器感應電子轉子的位置,并且利用控制芯片進行計算,將計算的結果傳輸到相應的驅動模塊中。因為控制芯片中實現控制指令的設定,其能夠將指定信號發送給驅動模塊,控制電機旋轉。在完成此工作之后,還要以不同的工作環境對轉換角度進行旋轉,此過程就是控制芯片通過感應器實現轉子信號的傳遞,通過和設置速度進行對比,能夠得出兩者轉速的差,使其朝著相應信號進行轉化,傳遞到控制芯片。控制芯片通過接收信號實現控制指令的發送并且轉化成為相應信號對控制芯片進行傳遞,控制芯片以接收的信號發送控制指令,對電機進行反饋,以此有效實現完整控制過程。
霍爾元件的安裝為設計轉子位置檢測電路的基礎,此電路的實現是通過位置傳感器進行的。傳感器對轉子位置進行測定,工作的流程為:通過靜止及轉動兩部分構成傳感器,固定電機座的部分屬于靜止狀態,轉子中為轉動的部分,和轉子的頻率相同。利用遮光盤變化能夠使感應器出現高低不同的信號,以此具備轉子運動的信息,通過感應器傳輸信號的不同精準實現轉子磁極定位。使用霍爾傳感器能夠檢測轉子的位置,從而對電機進行控制并且調整,使電機控制系統精準性及工作可靠性進行保證。
驅動電路中的核心構件主要包括控制器、功率變換器及電動機,電動機通過伺服電機、直流電機和步進電機構成。永磁直流電機的使用較為廣泛,不僅能夠將直流電源實現,還具有良好的性能,控制較為簡單。本文使用數字集成芯片LMD18200直流電機驅動控制電路,其中集成了CMOS和DMOS功率器,其指的是專門在直流電動機驅動的H橋組件,此芯片在正常工作的時候電流為3A,瞬間驅動電流為6A,具有較強的驅動能力。另外,此芯片內部電路還能夠實現過流保護,在給定電壓以后對輸出端電壓進行對比。如果輸出端電壓要高于給定電壓,那么就會具備降壓措施,以此能夠進行過流保護。
2控制系統的軟件平臺設計
2.1軟件功能劃分
在平常操作的過程中大部分都是使用系統uClinux實現操作,此系統能夠實現多任務調度,因為其具備操作多任務程序,系統任務終端和其實時性具有密切的關系對pClinux任務調度函數進行調用,用戶就能夠從準備任務中實現函數調度,尋找最高優先級的任務實現切換操作。和電機實際控制具體需求進行結合,根據基本任務規劃原則,使應用軟件劃分成為以下:
其一,人機交互功能。實現電機轉速及溫度顯示器的顯示;
其二,具備超前預防性。保護電機,如果出現故障就會報警;
其三,具有較強的測控性。在數據測控中的可靠性較強,具有較高的實時操作性,能夠實現數據預處理。
2.2軟件控制程序的設計
對電機控制系統任務來說,收集本地數據程序能夠實現系統任務。以不同的實際任務劃分本地數據收集程序,比如:數據保存模塊、數據處理模塊、LED模塊、數據收集模塊等,根據用戶設置的不同控制參數,通過數據收集模塊能夠實現直接操作,比如A/D通道、采集頻率等,實時收集外部信號,通過上述兩種方法的實施,對收集的數據傳輸到數據處理模塊中。對實際收集的數據就能夠通過數據處理模塊實現數字濾波操作,在此系統中利用相鄰十個數據平均值濾波的方法,以此得到更加精準的結果,數據處理模塊能夠使濾波之后的數據到公共數據緩沖區中存儲,從而提供LCD模塊顯示。LCD模塊主要目的就是根據用戶實際需求展現公共緩沖區的數據。根據一定格式保存收集的數據,利用數據保存模塊到Flash中保存。其次,在LCD模塊之外配置鍵盤模塊,方便用戶實際操作,還能夠便于用戶快捷獲得需要的收集參數。圖2為任務調度的流程。
2.3開關電機
主電機開關是通過接觸器進行控制的,主電機開關都需要數字量輸出,此數字量利用74HC273鎖存,通過驅動之后控制繼電器。此繼電器在主電機控制回路中串接,圖3為主電機開關控制回路的結構。
圖3中的SB1值的是受程序控制主電機開繼電器,SB2指的是主電機關繼電器,JK2指的是機械主電機關按鈕,JK3指的是機械主電機開按鈕,KM指的是接觸器自保持繼電器。在SB1閉合的時候,主電機得電,KM閉合。這個時候的SB1斷開,假如SB1還是閉合,那么在常閉觸點JK2動作的時候,主回路就斷開,然后JK2就會恢復到常閉的狀態,主電機回路有電運轉。所以,就會出現主電機無法
關掉的情況,從而導致SB1模擬點機械開關,也就是先閉合,之后延時一段時間再斷開。
2.4關主電機
關主電機操作與開主電機原理一樣,其也包括兩種方式:一種為利用鍵盤中主電機關鍵實現,其主要是通過SB2實現的。SB2屬于常閉觸點,其動作對點按式按鈕進行模擬,首先斷開,之后延長一段時間閉合。假如不閉合就會出現導致主電機無法開啟。另外就是利用機械按鈕JK2對主電機關閉,假如主電機運行過程中JK2動作,主電機回路電流消失。這個時候單片機采樣得到電流為0,但是因為AD誤差和計算誤差等多種因素影響,實際采樣電流不一定是O,可能屬于非常小的值。所以計算電流的主電機功率比較小,在軟件中處理為:基于主電機開的背景下對主電機功率進行檢測,在值比較小的時候,表示JK2動作,那么利用SB2將主電機關掉。
2.5 E2PROM操作
CAT24C021中E2PROM操作指的是I2C總線時序模擬,圖4為CAT24C021內部讀寫字節流程。
2.6主機通訊程序的設計
圖5為主機通訊程序的流程,以下為主機通訊的程序,對其進行變異之后就能夠運行。
class CCommunication
{
public:
∥ BOOL Connect;
∥發送數據函數
int SendData(char *data,int len);
∥設定消息接收者
void SetMessageReceiver(CWnd *pWnd);
∥初始化函數
BOOL Initialize(char *device,DWORD BaudRate,intBits,int DDV,int StopBit);
∥構造函數
CCommunication();
∥析構函數
virtual ~CCommunication();
∥關閉通訊接口
BOOL CloseSerialPort();
//CWnd是MFC窗口類的基類,提供了微軟基礎類庫中所有窗口類的基本功能
CWnd *msg_receiver;
//OVERLAPPED是一個包含了用于異步輸入輸出的信息的結構體
OVERLAPPED write_os;
∥定義一個句柄
HANDLE hComPort;
privatei
};
# endif
3結束語
在現代科技不斷進步的過程中,芯片性能也在進一步的提高,以此能夠實現通過簡單硬件設計進行復雜控制工作。本文中的數字信號控制系統具有明顯優勢,不僅能夠簡化電路,還能夠使研發成本及時間消耗得到降低。使硬件結構得到簡化,還能夠使系統工作性能及運行速度得到提高,并且使全部連線設計在芯片控制范圍中,使系統工作可靠性及抗干擾性能得到提高。基于硬件系統正常的運行中,操作人員能夠以自身不同的需求設置軟件,從而滿足自身需求。基于電機保護、變壓器及變頻系統良好運行,控制系統在工作中具有良好的效果。
參考文獻
[1]王海珍,基于單片機的嵌入式系統設計要點分析[J].數碼世界,2017(2):32-32.
[2]朱國勇,電機控制系統中嵌入式單片機的應用[J],自動化應用,2016(5):40-41.
[3]張紀寬,彭力,陳志勇,基于STM32的雙軸監控云臺精準控制系統設計[J],單片機與嵌入式系統應用,2016,16(6):32-35.
[4]姜毅,朱民耀,陳榮襪,等.基于PIC32單片機的嵌入式遠程控制器的設計[J].工業控制計算機,2016,29(4):103-104.
[5]周勤,孫穎,嵌入式單片機在電機控制系統中的應用[J].電子技術與軟件工程,2018(7).
[6]趙小靈,蒙楠.如何實現嵌入式單片機對電機系統的控制[J].電子制作,2016(8x):30-30.
[7]陳建明,崔羊威.新型家電組網與遠程控制中心系統設計[J],單片機與嵌入式系統應用,2016,16(11):43-46.
[8]周正華,嵌入式單片機在電機控制系統中的應用[J].電子世界,2017(16):195-195.