聶士昂 朱曉梅 謝燦 裘陳成
摘要:該文介紹了一種基于可編程片上系統(tǒng)PSoC的自動(dòng)跟蹤太陽(yáng)光的設(shè)計(jì)。與傳統(tǒng)利用普通單片機(jī)實(shí)現(xiàn)自動(dòng)跟蹤太陽(yáng)相比,該設(shè)計(jì)使用低成本低功耗的PSoC4作為主控板,利用片內(nèi)提供的I2C模塊能夠準(zhǔn)確采集當(dāng)前某一點(diǎn)的光強(qiáng)大小,從而控制兩個(gè)步進(jìn)電機(jī)在三維空間里尋找光最強(qiáng)的點(diǎn),實(shí)現(xiàn)了系統(tǒng)的小型化、低能耗化、高精度化。在此基礎(chǔ)上添加了外界環(huán)境感應(yīng)模塊,使系統(tǒng)能夠在環(huán)境惡劣情況下能夠自我保護(hù),頗具應(yīng)用價(jià)值。
關(guān)鍵詞:PSoC 4;I2C接口;UART串口;自動(dòng)跟蹤
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)24-0165-04
Design of PSoC4 Based Solar Energy Automatic Tracking System
NIE Shi-ang, ZHU Xiao-mei, XIE Can, QIU Chen-cheng
(College of computer science and technology Nanjing Tech University, Nanjing 211816, China)
Abstract:This paper introduces a kind of system on programmable chip PSoC design of automatic tracking the sun.Compared with the traditional use the normal single chip microcomputer automatic tracking the sun,This design using the low cost of low power consumption PSoC4 as main control board,Use on chip with I2C module can collect accurate optical power of the current point,To control two stepper motors in three-dimensional space looking for light's strongest point,To realize the system miniaturization, low energy consumption, high precision.On this basis we added external environment sensing module,The system can be able to protect themselves in harsh circumstances,An application value.
Key words: PSoC 4; I2C interface; UART serial port; automatic tracking
當(dāng)今人們的環(huán)保意識(shí)越來(lái)越強(qiáng),光伏發(fā)電系統(tǒng)和太陽(yáng)能的應(yīng)用普遍受到各國(guó)政府的重視。因?yàn)樗粌H能提供用之不竭的可持續(xù)再生電能,并更好的保護(hù)人類賴以生存的環(huán)境。但其發(fā)電效率較低,發(fā)電成本較高仍然是制約太陽(yáng)能大規(guī)模應(yīng)用的重要因素。在沒(méi)有出現(xiàn)高效的光伏電池材料之前,研制具有實(shí)用價(jià)值的陽(yáng)光自動(dòng)系統(tǒng)以降低成本,是促進(jìn)太陽(yáng)能廣泛應(yīng)用的主要途徑之一。近年來(lái),有許多采用普通單片機(jī)作為主控板來(lái)進(jìn)行光照的采集以及跟蹤,但是傳統(tǒng)單片機(jī)功耗大、程序繁瑣等等因素制約著太陽(yáng)跟蹤的發(fā)展。另一方面,傳統(tǒng)太陽(yáng)能跟蹤系統(tǒng)大多沒(méi)有考慮到外接環(huán)境因素對(duì)系統(tǒng)本身的影響,如果在大風(fēng)大雨惡劣情況下,很容易導(dǎo)致系統(tǒng)的毀壞。本文提出了一種基于PSoC4平臺(tái)的太陽(yáng)能自動(dòng)跟蹤系統(tǒng),該系統(tǒng)充分利用了PSoC4平臺(tái)的處理速度快、控制效果好、編程效率高、硬件功耗低的特性,采用片內(nèi)獨(dú)有的I2C接口,準(zhǔn)確采集當(dāng)前某一點(diǎn)的光強(qiáng)大小,從而控制兩個(gè)步進(jìn)電機(jī)在三維空間里尋找光最強(qiáng)的點(diǎn),實(shí)現(xiàn)了系統(tǒng)的小型化、低能耗化、高精度化。在此基礎(chǔ)上系統(tǒng)添加了外界環(huán)境感應(yīng)模塊,使系統(tǒng)能夠在環(huán)境惡劣情況下能夠自我保護(hù),從而大大降低系統(tǒng)損壞的可能,頗具應(yīng)用價(jià)值。
1 系統(tǒng)整體設(shè)計(jì)方案
太陽(yáng)能跟蹤控制器設(shè)計(jì)為兩個(gè)自由度運(yùn)動(dòng),即一個(gè)水平平面和一個(gè)垂直平面,由兩個(gè)步進(jìn)電機(jī)來(lái)驅(qū)動(dòng)。光照采集模塊采用BH1750傳感器,該傳感器具有I2C接口,PSoC4片內(nèi)具有I2C接口,完美搭配,能夠讀出精確地光照數(shù)值。在跟蹤太陽(yáng)的平面上,放置4個(gè)BH1750傳感器,分別檢測(cè)上下左右4個(gè)點(diǎn)的光照數(shù)值大小,這樣可以正好將平面對(duì)準(zhǔn)太陽(yáng)光。但是在實(shí)際環(huán)境下,太陽(yáng)遠(yuǎn)遠(yuǎn)比地球大,所以在很大的一個(gè)平面上光強(qiáng)差不多是一樣的,為了解決這一問(wèn)題,我們借鑒了古代的日晷,在跟蹤平面上我們放置一圓柱,這樣當(dāng)太陽(yáng)移動(dòng)一點(diǎn)點(diǎn),就會(huì)在跟蹤平面上產(chǎn)生陰影,這樣可以避免了一個(gè)平面內(nèi)光強(qiáng)一樣的問(wèn)題了。
本系統(tǒng)主要由PSoC4作為主控芯片、BH1750傳感器模塊、步進(jìn)電機(jī)、雨滴傳感器、風(fēng)速傳感器組成,系統(tǒng)整體設(shè)計(jì)框圖如圖1所示。
系統(tǒng)工作原理:系統(tǒng)加電后并完成對(duì)所有模塊的初始化工作后,PSoC 4開(kāi)始檢測(cè)跟蹤面上的四個(gè)點(diǎn)(平面的上下左右四個(gè)點(diǎn),四個(gè)點(diǎn)相距間隔3cm)的光強(qiáng)大小,并進(jìn)行左右和上下兩個(gè)點(diǎn)的比對(duì),如果左右光強(qiáng)不相等并確定光強(qiáng)強(qiáng)的一點(diǎn),然后驅(qū)動(dòng)水平步進(jìn)電機(jī)向光強(qiáng)強(qiáng)的一點(diǎn)轉(zhuǎn)動(dòng);同理,如果上下兩個(gè)點(diǎn)的光強(qiáng)不相等,然后驅(qū)動(dòng)垂直電機(jī)向光強(qiáng)強(qiáng)的一點(diǎn)轉(zhuǎn)動(dòng),就這樣一直循環(huán)著檢測(cè)、驅(qū)動(dòng)、檢測(cè)、驅(qū)動(dòng);如果遇到大雨天氣,系統(tǒng)會(huì)執(zhí)行中斷,水平步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng),垂直步進(jìn)電機(jī)向下轉(zhuǎn)動(dòng)一定的角度,使得傳感器平面與地面垂直,使傳感器平面盡可能地避免接觸到大量的雨水,保護(hù)傳感器等硬件設(shè)施;同理,遇到大風(fēng)天氣,系統(tǒng)會(huì)執(zhí)行中斷,水平步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng),垂直電機(jī)向下轉(zhuǎn)動(dòng)一定的角度,直到平面與地面平行,達(dá)到縮小整個(gè)系統(tǒng)體積的目的,避免被強(qiáng)風(fēng)損毀。如果遇到既有強(qiáng)風(fēng)又有大雨的情況下,程序執(zhí)行中斷,水平電機(jī)不動(dòng),垂直電機(jī)向下轉(zhuǎn)動(dòng),使得傳感器平面面朝下,達(dá)到了既避免大雨又避免強(qiáng)風(fēng)的目的;等惡劣天氣過(guò)去后,程序跳出中斷,繼續(xù)執(zhí)行檢測(cè)跟蹤。到了夜晚,在露天沒(méi)有其他光源干擾的情況下,跟蹤面上的光強(qiáng)在0左右,所以,當(dāng)跟蹤面檢測(cè)到光強(qiáng)為0時(shí),判斷為晚上,然后垂直電機(jī)不轉(zhuǎn)動(dòng),水平電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)180°,等待第二天太陽(yáng)的升起。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 PSoC4內(nèi)部資源配置
PSoC4 是基于ARM Cortex-M0 CPU(處理器)的可編程嵌入式系統(tǒng)控制器家族,為嵌入式應(yīng)用提供了強(qiáng)大的可編程平臺(tái)。它集合了可編程模擬資源、可編程內(nèi)部互聯(lián)、用戶可編程數(shù)字邏輯、通用的固定功能外設(shè)計(jì)以及高性能的ARM Cortex-M0 CPU子系統(tǒng)。
PSOC4是Cypress賽普拉斯公司于2013年四月剛剛推出的一款低成本的片上系統(tǒng),主要硬件資源包括32位ARM Cortex—M0微處理器內(nèi)核、數(shù)字系統(tǒng)、模擬系統(tǒng)、低電壓電源工作范圍、簡(jiǎn)單的LCD模塊驅(qū)動(dòng)、通信接口SPI和IIC模塊、脈沖寬度調(diào)制PWM模塊,最高可用36個(gè)可編程通用IO口,同時(shí)支持線上調(diào)試和編程,其應(yīng)用范圍可擴(kuò)展至自動(dòng)控制、儀表分析、觸摸系統(tǒng)設(shè)計(jì)等高新領(lǐng)域。PSoC 是一顆真正的可編程單芯片系統(tǒng),它集成了可配置的模擬和數(shù)字外設(shè),內(nèi)嵌存儲(chǔ)器以及微處理器。 PSoC 內(nèi)置了處理器,但是它有別于傳統(tǒng)的單片機(jī)。一個(gè)典型的單片機(jī)往往包含一個(gè)處理器單元(例如 8051 或者ARM), 同時(shí)還有一系列的外設(shè),處理器在芯片中扮演著核心的角色,它管理著所有的數(shù)據(jù)流和時(shí)序。離開(kāi)了這個(gè)核心,單片機(jī)不再是一個(gè)獨(dú)立的單片機(jī)。PSoC 則完全不同。系統(tǒng)中的處理器,模擬子系統(tǒng),數(shù)字子系統(tǒng)和輸入/輸出系統(tǒng)都是同等重要,都能相對(duì)獨(dú)立的工作。系統(tǒng)的核心不再是處理器本身,而是各個(gè)子系統(tǒng)的互聯(lián)以及可編程性。換言之, PSoC 是通用單片機(jī)的一個(gè)超集。你可以通過(guò)編程用 PSoC 來(lái)模擬通用單片機(jī),但是無(wú)法使用一個(gè)通用單片機(jī)來(lái)模擬實(shí)現(xiàn) PSoC 的功能。
2.2 光照采集模塊
本系統(tǒng)使用BH1750光照傳感器,其具有I2C接口,能夠精確地采集某一點(diǎn)的光強(qiáng)大小,其精確度可達(dá)個(gè)位。PSoC4內(nèi)部具有I2C接口如圖2,在Creator平臺(tái)上面可對(duì)I2C進(jìn)行配置如圖3,可與BH1750建立通信,通過(guò)PSoC的SCl端輸出時(shí)鐘信號(hào)給BH1750,BH1750接受到信號(hào)后將實(shí)時(shí)采集的8位數(shù)據(jù)(如圖4)通過(guò)I2C輸送到PSoC中然后再經(jīng)數(shù)學(xué)變換成光強(qiáng)數(shù)值,如圖5為四個(gè)點(diǎn)處的光強(qiáng)大小。
2.3 步進(jìn)電機(jī)驅(qū)動(dòng)模塊
為了降低成本,縮小系統(tǒng)的體積,本系統(tǒng)采用步進(jìn)電機(jī)作為驅(qū)動(dòng)。步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元步進(jìn)電機(jī)件。在非超載的情況下(本系統(tǒng)不會(huì)超載),電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響。當(dāng)步進(jìn)電機(jī)接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,它的旋轉(zhuǎn)是一步步運(yùn)行的??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的,用在本系統(tǒng)再合適不過(guò)了。在PSoC內(nèi)部配置8個(gè)輸出IO口(如圖6)來(lái)控制2個(gè)步進(jìn)電機(jī),驅(qū)動(dòng)芯片采用ULN2003,該芯片具有電流增益高、工作電壓高、溫度范圍廣、帶負(fù)載能力強(qiáng)等特點(diǎn)。
2.4 雨滴采集模塊
雨滴檢測(cè)模塊主要用于檢測(cè)外接環(huán)境是否下雨。下雨與否會(huì)有電平變化。將電平變化端接入PSoC4芯片上,PSoC配置一輸出IO口與之相對(duì)應(yīng),采集外界雨水情況。下雨則產(chǎn)生中斷,雨停則系統(tǒng)正常運(yùn)行。
2.5 風(fēng)速傳感器模塊
風(fēng)速傳感器本系統(tǒng)采用已經(jīng)集成化好了的,其采用標(biāo)準(zhǔn)通信協(xié)議,輸出數(shù)字信號(hào)。其具有RXD和TXD與PSoC相連接,PSoC4具有UART串口(如圖7),可配置為全雙工、半雙工、單接收RX或單發(fā)送TX通信方式(如圖8)。所有通信方式都提供相同的基本功能,他們之間的差異僅在于使用的資源量。為了幫助處理UART接收和傳送數(shù)據(jù),PSOC為UART提供了獨(dú)立的大小可配置的緩沖區(qū)。這種機(jī)制有利于CPU利用更多的時(shí)間處理關(guān)鍵的實(shí)時(shí)任務(wù),而不是連續(xù)服務(wù)于UART。在基于PSoC的多數(shù)應(yīng)用中,可通過(guò)選擇波特率、奇偶校驗(yàn)、數(shù)據(jù)位數(shù)以及起始位數(shù)輕松配置UART。RS232最常見(jiàn)的配置通常為8N1。這是UART組件的默認(rèn)配置。因此,在多數(shù)應(yīng)用中只需設(shè)置波特率。主要性能包含:
1)帶有硬件地址檢測(cè)功能的9位尋址模式;
2)波特率范圍為110~921600bps,最高波特率可達(dá)4Mbps;
3)Rx和Tx緩沖區(qū)范圍為4~65535Byte;
4)幀檢測(cè)、奇偶校驗(yàn)檢測(cè)和溢出檢測(cè);
5)可優(yōu)化的硬件模式選擇,全雙工、半雙工、單發(fā)送Tx和單接收Rx;
6)每個(gè)比特按照3取2表決原則來(lái)判斷;
7)中斷信號(hào)產(chǎn)生和檢測(cè);
8)8倍或16倍過(guò)采樣。
3 系統(tǒng)軟件設(shè)計(jì)
Cypress公司針對(duì)PSoC的特點(diǎn)設(shè)計(jì)開(kāi)發(fā)了PSoC Creator開(kāi)發(fā)工具。在PSoC Creator集成開(kāi)發(fā)環(huán)境中,片上資源均提供了對(duì)應(yīng)的API程序供選用,如需額外實(shí)現(xiàn)程序邏輯可以使用C語(yǔ)言編程,設(shè)計(jì)完成后可以進(jìn)行線上調(diào)試而且能隨時(shí)中斷程序的運(yùn)行。本系統(tǒng)軟件設(shè)計(jì)使用PSoC Creator3.0集成開(kāi)發(fā)環(huán)境,很多程序都可用C編寫(xiě)。
程序邏輯設(shè)計(jì):首先初始化各個(gè)模塊,在while死循環(huán)里面實(shí)時(shí)檢測(cè)當(dāng)前四個(gè)傳感器的大小,然后選擇相應(yīng)的步進(jìn)電機(jī)進(jìn)行相應(yīng)的跟蹤,直到對(duì)準(zhǔn)光照最強(qiáng)的位置,然后實(shí)時(shí)的跟著太陽(yáng)移動(dòng),風(fēng)速傳感器和雨滴傳感器設(shè)置相應(yīng)的中斷,放在while死循環(huán)里,如遇到相應(yīng)的中斷,則跳出死循環(huán)執(zhí)行相應(yīng)的程序。
對(duì)應(yīng)的算法流程圖如圖9:
4 系統(tǒng)調(diào)試與結(jié)果分析
系統(tǒng)PSoC4的片內(nèi)硬件資源部署以及相關(guān)軟件程序的下載和調(diào)試通過(guò)PSoC5 LP編程調(diào)試器完成。與以往的PSoC芯片必須使用MiniProg3編程器離線下載程序不同,PSoC4通過(guò)PSoC LP編程器可以實(shí)現(xiàn)PSoC Creator在線下載與調(diào)試。以PSoC5 LP為核心的編程調(diào)試器的一端通過(guò)SWD串行線調(diào)試接口與PSoC4通信,另一端通過(guò)MiniUSB接口與計(jì)算機(jī)建立聯(lián)系。只需在PSoC Creator中執(zhí)行Program命令完成程序下載與編譯,然后執(zhí)行Debug命令進(jìn)入調(diào)試模式,直到硬件軟件均符合系統(tǒng)設(shè)計(jì)的邏輯。
測(cè)試方法:將整個(gè)系統(tǒng)放在露天環(huán)境下,在傳感器平面上取正中心一點(diǎn),在該點(diǎn)放置一與平面垂直的長(zhǎng)為H的細(xì)桿(為長(zhǎng)圓柱形,底面直徑在0.5mm到1mm之間),以該點(diǎn)為中心,以面的水平軸為X軸(左負(fù)右正),以面的垂直軸為Y軸(上正下負(fù)),建立坐標(biāo)系,在一天的時(shí)間里(從早上8點(diǎn)到黃昏6點(diǎn)),在每個(gè)整點(diǎn)時(shí)刻記錄細(xì)桿在傳感器平面的陰影位置,然后利用三角函數(shù)公式
求得水平和垂直方向的偏移角,然后分別在晴朗和陰天的條件下測(cè)得一系列數(shù)據(jù),測(cè)試結(jié)果如表 1 所示。
結(jié)果分析:在天氣晴朗的情況下,跟蹤太陽(yáng)情況良好,對(duì)于惡劣天氣的反應(yīng)狀態(tài)良好,達(dá)到了設(shè)計(jì)的預(yù)期。在陰天的情況下,不能夠準(zhǔn)確的跟蹤太陽(yáng),相對(duì)誤差較大。在長(zhǎng)時(shí)間運(yùn)作下,系統(tǒng)無(wú)不良反應(yīng)出現(xiàn),一切運(yùn)作正常。
5 結(jié)束語(yǔ)
本設(shè)計(jì)的自動(dòng)跟蹤太陽(yáng)的系統(tǒng),不僅實(shí)現(xiàn)了跟蹤的基本功能,而且添加了檢測(cè)外界的傳感器,使得本系統(tǒng)更加的人性化。本系統(tǒng)設(shè)計(jì)靈巧、輕便、實(shí)用,采用PSoC4后更加大大地降低了系統(tǒng)的能耗,提升了系統(tǒng)的穩(wěn)定性和準(zhǔn)確性。
本文設(shè)計(jì)的系統(tǒng)可應(yīng)用于車載系統(tǒng)、家用太陽(yáng)能系統(tǒng)、太陽(yáng)能發(fā)電系統(tǒng)、舞臺(tái)燈光系統(tǒng)等等,大大提高太陽(yáng)能的利用率,為現(xiàn)實(shí)綠色能源提供技術(shù)支持。
參考文獻(xiàn):
[1] 王化格, 趙洪亮. 基于PSoC的太陽(yáng)能路燈控制器設(shè)計(jì)[J]. 科技信息, 2013(5): 83-84.
[2] 李鵬. 雙軸太陽(yáng)跟蹤系統(tǒng)運(yùn)動(dòng)規(guī)律的研究[J]. 機(jī)械制造, 2010(6): 25-26.
[3] 肖玉華, 熊合金. 基于Atmega8的雙核太陽(yáng)跟蹤器的設(shè)計(jì)[J]. 電子設(shè)計(jì)工程, 2010(3): 46-47.
[4] 張磊, 鄭喜貴. 高精度太陽(yáng)能自動(dòng)跟蹤裝置的研制[J]. 制造業(yè)自動(dòng)化, 2014(5):129-132.
[5] 中國(guó)氣象局, 地面氣象觀測(cè)規(guī)范[M]. 北京: 氣象出版社, 2013: 133.
[6] 徐澤清, 高旭東, 韓喜春. 基于psoc的電子稱設(shè)計(jì)[J]. 黑龍江工程學(xué)院學(xué)報(bào), 2012, 26(4): 48-51.