摘 要: 介紹了新型太陽能公交車站牌報站顯示系統。該系統利用太陽能、LED顯示和微控制技術,采用W78E58單片機作為系統的中央控制單元,可實現同一站牌不同路數公交車站點的靜態顯示、動態顯示和定時顯示控制。利用VB軟件編程可實現PC機通信,通過RS232接口可對整個系統升級,提高了系統的可操作性。整個系統采用太陽能供電,蓄電池作為后備電源,可有效節約電能。
關鍵詞: 太陽能電池板;LED點陣屏;控制器;靜態顯示;動態顯示
目前,多數公交車站牌都采用固定板塊方式顯示站點信息,其內容固定、信息量少,修改站點信息麻煩,不能快速、便捷地更新站點信息。本文設計了一種由單片機控制的報站屏,可動態、實時地顯示公交車站的站點信息,同時采用太陽能供電,減少了城市供電的壓力,達到了節約電能的目的。
1 系統框圖
本系統采用華邦公司的W78E58單片機作為系統的中央控制單元,可實現同一站牌不同路數公交車站點的靜態顯示、動態顯示和定時顯示控制;結合VB軟件編程,實現了PC機通信、控制界面以及安全措施,豐富了系統功能,提高了系統的可操作性,符合未來交通系統智能化、網絡化的發展方向。
系統由主控制單元和輔助控制單元兩大模塊組成,分別如圖1和圖2所示。圖1為主控制單元結構圖,主要完成LED點陣顯示和定時顯示控制。其中6264為64Kbit的RAM擴展,用來補充W78E58內部RAM空間不足;AT24C256是容量為256Kbit的E2ROM,用來保存站點信息及更新數據信息;RS232通信模塊用來更新站點信息和升級系統。
圖2為輔助控制單元結構圖,主要完成電源動態管理和蓄電池充放電控制。由于太陽能電池板輸出電能不穩定,所以要對其動態管理,以保證正常供電;蓄電池組是為了防止陰雨天時不能正常使用太陽能電池板供電的后備電源。
2 系統硬件設計
2.1 顯示屏驅動顯示電路
顯示屏分成屏體和控制器兩部分。屏體的主要部分是顯示陣列及行列驅動電路。顯示時掃描方式分為兩步,每行有一個行驅動器,各行的同名列共用一個列驅動器。由單片機給出行選通信號,從第一行開始依次對各行掃描;對于列,根據各列所存數據,確定相應的列驅動器是否將該列與行接通,如果接通,則該行該列的LED點亮,全部各行都掃描一遍后(一個掃描周期),再從第一行開始,進行下一個周期的掃描。只要一個掃描周期的時間比人眼1/25s的滯留時間短,人眼就不會感覺到閃爍現象。
顯示數據從驅動芯片到顯示模塊以并行方式傳輸,但顯示數據從單片機到驅動芯片則以串行方式傳輸。串行傳輸的控制電路簡單、設計容易,但串行數據傳輸需要較長時間,這可由軟件彌補,也可考慮單片機的控制速度。
顯示驅動電路由74HC595組成。74HC595輸入端是8位串行移位寄存器,輸出端是8位并行緩存器,具有鎖存功能。由于CLK、LOAD端相連,而數據線分開,這樣在同一脈沖下,行列數據可同時傳入。行列數據準備好后,啟動LOAD信號使所有數據同時輸出并鎖存,這樣較傳統方法速度提高了4倍。由于CLK、LOAD引線較長,為避免線間干擾,在驅動6片74Ls595之后再加驅動芯片74LS244,以驅動下一級驅動電路。
LED顯示屏驅動電路與控制系統相配合,分為動態掃描型驅動和靜態鎖存型驅動兩種。本設計使用單色點陣,16行×64列為一個基本單元,共用8片74HC595、16個行掃描管,將8片74HC595級聯,共用一個串行時鐘CLK及數據鎖存信號STR。當第一行需要顯示的數據經過8×8=64個CLK時鐘后將全部移入74HC595中,此時產生一個數據鎖存信號STR,使數據鎖存到74HC595的后級鎖存器中,同時由行掃描控制電路產生信號使第一行掃描管導通,相當于第一行LED的正端都接高平,顯然第一行LED管的亮、滅取決于74HC595中鎖存的信號;在第一行LED管點亮的同時,在74HC595中移入第二行需要顯示的數據,隨后將其鎖存,并同時由行掃描控制電路將第一行掃描管關閉而接通第二行,使第二行LED管點亮。依此類推,當第十六行掃描過后再回到第一行,只要掃描速度足夠高,就可形成一幅完整的文字或圖像,其工作時序如圖3所示。
參考文獻
[1] 袁茵.太陽能電池陽光普照[J].電子技術,2006(3):40-42.
[2] 郭兆正.LED點陣顯示屏系統設計[J].渤海大學學報,2005(12):25-27.
[3] 眭碧霞.用單片機串行口實現動態掃描LED顯示[J].電子工程師,2006(6):31-32.
[4] 李熹霖.談LED大屏的刷新頻率和換幀頻率[J].現代顯示,2004(1):17-19.
[5] 龐家成.多功能LED信息顯示屏的設計[J].現代顯示技術,2006(9):25-27.
[6] 周小平.LED顯示屏及其掃描電路的硬件及軟件實現[J].印刷電路信息,2005(1):45-47.
[7] 虞鶴松.LED顯示屏高速數據通訊接口設計[J].國外電子元器件,2005(2):38-40.
2.2 顯示屏主控制電路
華邦51系列單片機中W78E58是8位微控制器,最高工作頻率為40MHz,W78E58與8052完全兼容,具有256B的片內RAM和32KB的可編程及可擦除只讀存儲器。片內EPROM允許對程序存儲器在線重新編程,也可用常規的EPROM編程器編程,具有編程后的編碼保護功能,全靜態設計。顯示屏主控制電路如圖4所示。
為了使更新的站點信息和定時顯示時間在系統掉電后仍能恢復,設計時必須考慮將常數保存起來。由于W78E58單片機片內沒有EEPROM,所以采用了外部擴展方式。對于一個公交車報站屏來說,為了獲得較大的系統余量,選用了AT24C256存儲芯片,按照16×16的點陣計算,可存儲1 000個字符,容量足夠。
靜態顯示只需在定時中斷處理程序中從顯示緩沖區調入相應的一行顯示數據,然后選中該行即可實現該行的顯示,如此循環,便可顯示整個內容。閃動顯示與此類似,不同的是要間隔一個“軟定時器”的定時時間,在行掃描時,行移位寄存器的D端打入的數據全為0,可使得整屏不顯示,以確保黑屏時間與顯示時間相等,從而實現漢字的閃動顯示。滾動顯示要求顯示內容每隔一定時間向左移動,要求在下次移動顯示之前對顯示緩沖區的內容進行更改,從而完成相應點陣數據的移位操作。設置一個顯示緩沖區,該區應包括兩部分,一部分用來保存當前LED顯示屏上顯示的4個漢字點陣數據,另一部分為點陣數據預裝載區,用來保存即將進入LED顯示屏的1個漢字的點陣數據。滾動指針始終指向顯示屏的最右邊原點。當滾動指針移動到需要顯示的點陣數據存儲區第1個漢字的首地址時,顯示緩沖區LED顯示區為空白,而預裝載區已保存了第1個待顯示漢字的點陣數據。當需要滾動顯示時,可在接下來的掃描周期的每個行掃描中斷處理程序中,對顯示緩沖區的相應行點陣數據左移一位,同時更改顯示緩沖區的內容。該操作要確保在1.25ms的中斷時間內完成(W78E58采用24MHz晶振,可以實現該操作)。這樣,在一個掃描周期后,整個漢字將左移一列,而顯示緩沖區的內容也同時更改。由于預裝載區保存了1個漢字點陣數據,即16×16點陣,所以當前顯示緩沖區的內容只能移動16列。當下一個滾動到來時,滾動指針將移動到點陣數據存儲區的下一個漢字的首地址,并在預裝載區存入該漢字的點陣數據,然后重復操作便可實現滾動顯示。打字顯示要求漢字在顯示屏上按從左到右順序一個個出現,如同打字效果。設計時可采用如下方法:首先將LED顯示屏對應的顯示緩沖區全部清零,即LED顯示空白,然后每間隔一個“軟定時器”設定的動態顯示時間,顯示緩沖區依次加入一個漢字點陣數據并進行掃描顯示,這樣就可達到打字顯示的效果。
2.3 電池板選用及控制電路
2.3.1 太陽能電池板和蓄電池的選用
通過分析計算發現,點陣屏幕的顯示電流不是固定不變的,而是隨著點陣顯示內容而變化。因此,選用電池板時,需要考慮這些因素。
紅色LED的正向壓降為1.8V,正向電流IF為8mA。要達到直流驅動時的顯示效果,掃描脈沖的平均電流Ia應等于直流驅動電流Io(約為IF,這里取6mA),Ia必須滿足下式才能達到滿意的顯示效果:
IFM為脈沖電流的幅值,根據經驗,T/ton取4比較合適,則一行LED的瞬時電流最大值為:
點陣屏的工作電壓為5V、工作電流約為1.6A。由于公交站牌一天工作24h,考慮陰天情況下系統的供電,后備電源應具有24h的供電能力,且按80%的放電率計算,則蓄電池的容量為:
式中Qx為蓄電池容量,Tx為蓄電池放電時間, IFMN為點陣屏工作電流。因此應選用5V/50Ah免維護蓄電池。
有日照時,要求太陽能電池既能給點陣屏供電,也能給蓄電池充電。如按15h充電計算,充電電流為:
式中IC為充電電流,Qx為蓄電池容量,TC為充電時間。
因此,太陽能電池板需提供的總電流為:
I=IC + IFMN =3.3+ 1.6 = 4.9A
計算中,加上30%的余量,則要求太陽能電池提供的輸出功率為:
P=VI(1+0.3)=5×4.9×1.3=31.85W
式中P為太陽能電池板的輸出功率,V為點陣屏的工作電壓。因此,給點陣屏供電應選用5V/35W的電池板。
2.3.2 蓄電池供電控制電路
蓄電池供電控制電路如圖5所示。由于太陽能電池板輸出功率隨光照變化,其輸出電壓需要穩壓,以減少輸出電壓的波動。圖5中W7806用來穩定電池板的輸出電壓,同時對蓄電池充電;T3、T4用來檢測蓄電池電壓并控制其充放電,在蓄電池充滿后自動停止充電,若蓄電池電壓過低則自動充電,保護蓄電池;電路中C4用來濾除干擾信號。
3 系統軟件設計
3.1 顯示屏主體顯示
程序在初始化后將存儲在ROM內部的站點信息讀出,送至單片機的RAM進行漢字點陣轉換,轉換后的數據經過顯示效果處理,如站點信息的左移顯示、右移顯示、上下移動顯示、滾動顯示等,最后送入數據緩沖區,調用顯示子程序,完成站點信息顯示。主程序流程圖如圖6所示。
顯示子程序的任務是將緩沖區內的數據讀出送到點陣屏顯示。點陣顯示的原理是按列選擇,通過串并轉換,將一列的顯示數據送至選擇的列排點陣中,然后選擇下一列。重復上述步驟,即可以實現數據顯示。顯示子程序的流程圖如圖7所示。
3.2 定時顯示控制
報站屏的定時顯示是指在固定時間顯示相應的站點信息或其他數據信息。定時顯示依靠外部時間芯片DS1302和主程序中的判斷子程序來實現。定時顯示程序流程圖如圖8所示。
3.3 顯示效果控制
主程序在開始時設置待顯示的效果,在顯示效果子程序中,程序判斷需要顯示的效果后調用不同顯示效果處理程序,對緩沖區內的數據進行效果處理,最后送入顯示緩沖區,等待顯示調用。其程序流程圖如圖9所示。
本系統可方便地實現功能擴展,如加上升級模塊,可實現系統的遠程升級;加上公交車到站時間預測模塊,可預測到公交車到站的時間,方便行人乘車;加上網絡模塊,可以連接互聯網,直接通過互聯網進行控制,也為以后的智能交通打下基礎。此外,本系統經過改進后還可以應于廣告宣傳,通過遠程通信實現對點陣屏幕的遠程控制。