徐錦鋼鄢 妍/.江西師范大學科學技術學院 .江西機電職業(yè)技術學院
一種定時充電控制器的設計與研究
徐錦鋼1鄢妍2/1.江西師范大學科學技術學院 2.江西機電職業(yè)技術學院
本文描述了一種基于單片機的定時充電控制器軟硬件設計方法,講述了該控制器的工作原理,重點闡述了液晶模塊、時鐘芯片的讀寫操作方式及繼電器通斷控制原理,給出了部分電路原理圖及C語言程序代碼。
單片機;繼電器;時鐘
隨著我國經(jīng)濟社會持續(xù)快速發(fā)展,能源供應緊張的問題日益顯現(xiàn),綠色低碳節(jié)能的概念逐漸深入人心,充電式電動自行車已經(jīng)大量進入普通百姓家庭,電動汽車的研究與應用也正在逐步推進,電瓶、電池的安全充電問題被人們所關注,過充電是影響電瓶、電池使用壽命的重要原因,本文設計的控制器可以精確控制充電時長,有效防止過充電。[1]。
單片機通過讀取時鐘芯片獲得時間信息,用戶通過按鍵設定預約充電時間及充電時長,設定的時間值通過液晶模塊顯示。設定完成后,按開始鍵充電。充電時間到,單片機發(fā)送指令給繼電器,控制繼電器斷開充電回路,停止充電。
2.1系統(tǒng)硬件框圖和實物圖
系統(tǒng)硬件框圖如圖1所示,主要包括STC89C52單片機、時鐘芯片(DS12C887)、12864型液晶顯示模塊、按鍵、繼電器、蜂鳴器、主控板電源。
圖1 .系統(tǒng)硬件框圖和實物圖
芯片及電子元器件選型簡介:
1)單片機型號為STC89C52,具有8K片內(nèi)程序存儲器和256字節(jié)片內(nèi)數(shù)據(jù)存儲器。
2)時鐘芯片型號DS12C887,能自動產(chǎn)生世紀、年、月、日、時、分、秒等時間信息,自帶鋰電池,外部掉電時,內(nèi)部時間信息還能夠保持10年之久。
3)液晶顯示模塊為12864型,內(nèi)含有國標簡體中文字庫,內(nèi)置128個16*8點ASCII字符集和8192個16*16點漢字,構成本系統(tǒng)的人機交互界面。
4)繼電器采用直流控制交流型固態(tài)繼電器,輸出端接入220V市電交流回路,控制端與輸出端有光耦隔離保護,開關噪聲非常小。
2.2單片機與時鐘芯片DS12C887的接口電路設計
圖2. 時鐘芯片接口電路
時鐘芯片接口電路原理圖如圖2所示。DS12C887內(nèi)部自帶晶振,故無需外接晶振。AD0-AD7為信號線,通過10K的上拉電阻分別連至單片機的P0.0-P0.7端口。MOT管腳懸空決定了本系統(tǒng)的時鐘芯片采用Intel工作模式,此時DS管腳作為讀允許輸入端使用。R/W 管腳在Intel工作模式下作為寫允許輸入端使用。AS是地址選通輸入腳,在進行讀寫操作時,AS 的上升沿將AD0~AD7 上出現(xiàn)的地址信息鎖存到DS12C887上,而下一個下降沿到來時清除 AD0~AD7 上的地址信息。CS是片選輸入端,該管腳為低電平時,DS12C887工作。
2.3單片機與12864液晶模塊的接口電路設計
圖3.12864液晶模塊接口電路
圖3是單片機與12864液晶模塊的接口電路原理圖,圖中的“D0-D7”為液晶模塊的數(shù)據(jù)端口,通過10K上拉電阻分別與單片機的P0.0-P0.7連接,用以傳輸液晶模塊的信號數(shù)據(jù)和命令數(shù)據(jù)。RS端為“數(shù)據(jù)/命令”選擇端,高電平時,D0-D7傳輸信號數(shù)據(jù);低電平時,D0-D7傳輸命令數(shù)據(jù)。RW為“讀/寫”選擇端,高電平時,單片機讀取液晶數(shù)據(jù);低電平時,單片機將數(shù)據(jù)寫入液晶。EN為使能端,高電平時液晶模塊與單片機交互信息。PSB為串行/并行工作方式選擇端,本系統(tǒng)采用并行數(shù)據(jù)傳輸方式,所以將PSB固定接高電平。2、3引腳跨接一個10K歐姆的精密可調電阻,通過改變其阻值來調節(jié)液晶模塊的顯示亮度[2]。
定時充電控制器的程序主要包括三個部分:DS12C887時鐘芯片的讀寫程序、繼電器通斷程序、人機交互程序。
3.1程序流程圖
圖4.程序流程圖
系統(tǒng)上電后,單片機復位初始化寄存器及外圍器件,讀取時鐘芯片,并在液晶屏上顯示時間信息。此時,系統(tǒng)等待用戶的按鍵操作,用戶可以通過按鍵校準時間,設置預約充電時間和充電時長,按下確定鍵后,系統(tǒng)開始倒計時。當預約時間到時,單片機向繼電器控制端發(fā)出高電平信號,繼電器合上充電回路,開始充電。當充電時間到時,單片機向繼電器控制端發(fā)出低電平信號,繼電器斷開充電回路,充電結束[3]。
3.2DS12C887時鐘芯片讀寫程序
DS12C887讀寫操作規(guī)則是先送地址,后讀數(shù)據(jù)。以下給出讀時鐘數(shù)據(jù)完整代碼及注釋:
unsigned char read_ DS12C887 (unsigned char add)//讀時鐘數(shù)據(jù)
{
unsigned char ds_date;//定義變量,用于存儲時鐘數(shù)據(jù)
dsas=1;
dsds=1;
dsrw=1;
dscs=0;// DS12C887暫時停止與單片機交互
P0=add;//向DS12C887送入將要讀取數(shù)據(jù)的地址
dsas=0;//將送入的地址清除
dsds=0;//禁止讀操作
P0=0xff;//將時鐘信號線全部初始化高電平
ds_date=P0;
dsds=1;//開始讀操作
dsas=1;//置高,允許接收下一個地址信息
dscs=1;// 允許DS12C887向單片機傳送信息
return (ds_date);//返回讀取的時鐘數(shù)據(jù)
}
3.3繼電器動作程序
繼電器控制端獲得高電平時,輸出端閉合,否則輸出端斷開。
void jidianqi_ctrl()//繼電器通斷控制子程序
{
if((shi==dian)&&(xiaoshi!=0))//預約時間到
{
jidianqi=1;//繼電器回路接通,開始充電
if( (shi==(dian+xiaoshi)) || (shi==(dian+xiaoshi-24)) )//充電時長到,結束充電
{
jidianqi=0;// 繼電器回路斷開,停止充電
}
}
else
{
jidianqi=0;//其他時間段,禁止充電
}
}
本文研究了定時充電控制器軟硬件設計問題,完整地設計了控制器的硬件電路,對關鍵的程序代碼做了詳細闡述,同時利用萬能電路板搭建硬件系統(tǒng),通過實驗測試,取得了預期效果。
[1] 陳詩一.節(jié)能減排、結構調整與工業(yè)發(fā)展方式轉變研究[M].北京:北京大學出版社,2011-07.
[2] 彭偉.單片機C語言程序設計實訓100例:基于8051+Proteus仿真[M].北京:電子工業(yè)出版社,2009-01.
[3] 李祖安,郭艷春.光MOS固體繼電器抗電離輻射研究[J].半導體光電,2012年第4期.
徐錦鋼(1983-),江西高安人,碩士研究生,研究方向:嵌入式控制系統(tǒng)軟硬件研制。