DIY過程1、原理還是很簡(jiǎn)單的,就是用單片機(jī)讀取實(shí)時(shí)時(shí)鐘芯片產(chǎn)生的時(shí)間數(shù)據(jù),并根據(jù)時(shí)間數(shù)據(jù)調(diào)制成對(duì)應(yīng)的電壓,通過指針電壓表顯示出來就行了。但是要用時(shí)間來產(chǎn)生可控的電壓,會(huì)用到D/A(數(shù)字-模擬轉(zhuǎn)換),但家里沒有D/A芯片,就一直沒有動(dòng)手。直到偶然發(fā)現(xiàn)STC手冊(cè)上有用PMW(脈沖寬度調(diào)制)做D/A的說明,就簡(jiǎn)單地搭了實(shí)驗(yàn)電路試了一下,覺得可行就匆忙“開工”了。時(shí)鐘芯片選用了單片機(jī)愛好者常用的DS1302,表頭是2個(gè)5V量程的指針電壓表,主控用的是STC12C2052AD,正好2路PWM對(duì)應(yīng)小時(shí)和分鐘。STC12C2052AD單片機(jī)是STC生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速A/D轉(zhuǎn)換,20腳封裝。
DS1302 是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.0V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。使用3V的備用電池可以在主電源斷電的時(shí)候繼續(xù)走時(shí)。
時(shí)間的調(diào)整使用EC11旋轉(zhuǎn)編碼器,也就是常說的“飛梭”,可以左右旋轉(zhuǎn)可按下,這么一個(gè)玩意配合程序就能實(shí)現(xiàn)小時(shí)、分鐘的調(diào)節(jié)功能了。
2、制作PCB根據(jù)選用的元器件繪制出電路圖,畫出PCB來。軟件是Altium Designer。
熱轉(zhuǎn)印制板、焊接完成后的模樣。受條件所限沒有制作阻焊層,焊錫不太受約束焊點(diǎn)不好看,不如打樣的板子養(yǎng)眼。3、重新繪制表盤
原來是5V的電壓表,為了改成小時(shí)和分鐘,需要重新繪制表盤。上網(wǎng)搜了下發(fā)現(xiàn)干這個(gè)活CAD最拿手,可惜一點(diǎn)基礎(chǔ)也木有,為了畫這個(gè)玩意看了2天的視頻教程+百度,才總算勉強(qiáng)畫好。普通打印紙打印的,為防潮在上面貼了一層塑料膜。雙面膠粘到原來的表盤上,自我感覺做得還算不錯(cuò)。
4、外殼和組裝手里最合適的就是以前弄的這個(gè)塑料盒了,大小還合適,就是黑不溜秋的不好看。
正面小電鉆+挫刀開好表頭的孔,好在塑料材質(zhì)較軟,手工制作也不算吃力,不過精度就很難保證了。裝好EC11編碼器和電源插座,再找合適位置放了2個(gè)LED(調(diào)節(jié)小時(shí)和分鐘的指示)就行了。
5、程序和調(diào)試DS1302以前玩過,復(fù)制粘貼后簡(jiǎn)單修改一下就行。EC11的解碼來自互聯(lián)網(wǎng)。PWM相關(guān)的寄存器參照STC手冊(cè)就行了。
用實(shí)驗(yàn)板試一下調(diào)零:?jiǎn)纹瑱C(jī)PWM輸出0,調(diào)整電壓表的調(diào)零螺絲讓指針指在0的位置。調(diào)高端:表頭里的色環(huán)電阻換成了3296可調(diào)電阻,PWM輸出高,調(diào)節(jié)3296電阻讓指針指向滿刻度調(diào)線性:想要指針指在9點(diǎn)整的位置,輸入理論值后發(fā)現(xiàn)會(huì)指到9點(diǎn)10分左右,只好逐個(gè)刻度在程序里面調(diào)整,這應(yīng)該叫做“線性補(bǔ)償”吧!
就在項(xiàng)目準(zhǔn)備完工的時(shí)候發(fā)現(xiàn)了重大的BUG,每更換一個(gè)不同電源,指針指示的位置都有很大的誤差,畢竟每個(gè)5V的適配器輸出的電壓不會(huì)完全相同,0.1V的差距都會(huì)造成指針位置的不同。只好用洞洞板做了個(gè)5V的穩(wěn)壓模塊來補(bǔ)救一下,這樣顯示就穩(wěn)定了,但輸入電壓就不能使用常見的手機(jī)充電器了,找了個(gè)9V的路由適配器當(dāng)電源。
6、如何操作?
正常的時(shí)間顯示狀態(tài)下,編碼器不起作用,LED全滅。按下編碼器,紅色LED亮起,表示為小時(shí)調(diào)節(jié)模式,左右旋轉(zhuǎn)調(diào)整到正確的位置。再次按下編碼器,紅色LED熄滅,綠色LED點(diǎn)亮,進(jìn)入分鐘設(shè)置狀態(tài),同樣左右旋轉(zhuǎn)調(diào)整到當(dāng)前的分鐘數(shù),每加減一分鐘,就把秒歸零。這樣在標(biāo)準(zhǔn)時(shí)間為X時(shí)X分0秒時(shí)調(diào)一下就達(dá)到了分秒同時(shí)對(duì)好的目的。再按一下,LED全滅,回到正常顯示狀態(tài)。美圖鎮(zhèn)樓
后記:就是這么一個(gè)簡(jiǎn)單的時(shí)鐘,磕磕碰碰的做了好久。擺在桌上看著還像那么回事。但折騰的意義大過實(shí)用價(jià)值,看個(gè)時(shí)間還得反應(yīng)一會(huì)兒才能明白,有時(shí)候還會(huì)看錯(cuò)。但是DIY就是這樣,從想象到完成,這個(gè)曲折的過程還是挺美好的。
-
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5710瀏覽量
127267 -
DIY
+關(guān)注
關(guān)注
176文章
894瀏覽量
353018 -
指針
+關(guān)注
關(guān)注
1文章
484瀏覽量
71166
原文標(biāo)題:用51單片機(jī)驅(qū)動(dòng)指針電壓表做的時(shí)鐘
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于51/32單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn),A4988驅(qū)動(dòng)
數(shù)字電壓表的主要指標(biāo)_數(shù)字電壓表由什么構(gòu)成
數(shù)字電壓表的使用方法
數(shù)字電壓表概述_數(shù)字電壓表的作用
數(shù)字電壓表的工作特性_數(shù)字電壓表工作原理
基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘

評(píng)論