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

評論