久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13926|回復: 5
打印 上一主題 下一主題
收起左側

純手工打造搖擺LED時鐘—原理圖+程序

[復制鏈接]
跳轉到指定樓層
樓主
   看到市場上正在流行的時尚商品——搖擺LED 時鐘,感覺非常新穎獨特,正在玩單片機的我,激起了自己也想DIY 一個的沖動。不就是一個流水燈嗎?有什么難的?! 于是,一個單片機項目就這樣開始了。然而動手以后才知道問題并非想象那樣簡單,因沒有任何現成的資料,機械的、電子的和編程的問題一大堆,一個一個需要自己來解決。經歷二十多天的苦戰和無數次的修改與調試,作品終于完成,基本達到預先要求。
   現將制作資料整理出來,與廣大DIY 愛好者分享。
一. 整體方案
    本制作是根據視覺暫留原理, 讓一排8 只LED作往復運動, 在空中呈現八個字符的顯示屏,可顯示數字或英文字符。開機后先顯示“Welcome!”歡迎字符(見圖1), 再進入時鐘顯示狀態。顯示屏同時顯示“時” 、“分” 、“秒”信息,用“:”分隔(見圖2)。
  
圖1 開機畫面                                                                                     圖2 運行狀態
    顯示分“正常運行”、“調分”和“調時” 三種狀態。當處于調整狀態時,調整的項會閃現,以便識別。為此,設置三個調整按鍵,一個為“狀態鍵”,一個為“加法鍵”,一個為“減法鍵”。(見圖3)

圖3 按鍵的設置                                                                              圖4 音圈電機組件
    搖棒的動力部分采用從廢舊硬盤拆下的音圈電機(見圖4),驅動采用直流電機驅動方式。
    結構方面,將音圈電機直接安裝在萬用板上,將萬用板的四周用四根螺柱與一透明有機板結合成一體,構成支撐搖棒底座。(見圖5, 圖6)。

圖5 萬用板與有機板構成底座                                                        圖6 底座側面
二. 實作要點
1. 主板的結構布局見圖7

圖7 主板布局                                                                                    圖8 搖棒上的LED
2.LED 的焊接,將LED 兩腳跨接在電路板兩端的方式進行焊接。使LED 緊密排列在一起。
3.搖棒上的LED 與主板上的信號用柔性排線連接,音圈電機供電占2 位,LED 信號傳輸占9 位,所以至少要11 位的排線。(見圖9)

圖9 排線與拉簧                                                                               圖10 拉簧
4.為保持搖棒的平衡, 在搖棒接近旋轉軸的兩端加裝兩只拉簧,這兩只拉簧的規格盡量保持一致,彈性強弱要適中,最好可多找幾種規格的試試。(圖9,圖10)
5.采用驅動直流電機正反轉的方式,驅動音圈電機來回擺動。讓電機正、反轉的方法很多,最典型的是H 橋電路驅動,H 橋電路原理見圖11,常見的是用三級管代替圖中的開關。

圖11 H 橋驅動原理
    為了簡化電路,最好采用H 橋功能的集成電路。這種IC 很多,比如象TA7257,TA8429H,L6203 等,這里用的是三菱公司的M54544AL(見圖12)。IC 各腳定義見圖13。

圖12 電機驅動IC

圖13 M56544AL 各腳定義
6.電原理圖見圖14

圖14 電原理圖
7.完成圖見圖15

圖15 完成圖
三. 軟件設計
1. 搖棒的啟動
    為了使搖棒從靜止狀態過度到正常運行狀態,在正式顯示前加一啟動程序。其實質就是逐漸加快驅動的頻率,一直到搖棒正常擺動為止。通過下面的代碼實現
do {
mm++;
Delay(120+mm);
put1=~put1; put2=~put2;
}while(mm<60);
Delay(20); //根據實際情況確定延時值
2. 秒閃現的實現:數字或字符的閃現是通過變量Ms 和數組w[]實現的,如需要八位字符中的間的第4 位閃現,則w[3]=1。這是通過全局變量Ms 在void timer0(void)函數中每隔一秒改變一次狀態(0 或1),打開或關閉顯示。
if(Ms*w[ii-3]==1) P2=0xff; else P2=~ASCIIDOC[v[ii]*6+jj]; //正向顯示
if(Ms*w[10-ii]==1) P2=0xff; else P2=~ASCIIDOC[v[13-ii]*6+5-jj]; //反向顯示
3. 調試中發現,顯示屏上的字符并不是一樣寬的(見圖16),仔細分析是由于搖棒在運動中,一直受力,而且所受的力是隨時變化的。為方便精確調整顯示,特別作了一個顯示中斷表Tr[],改變顯示LED 的時間段,協調顯示效果。

圖16 調整前的顯示
4. 按鍵去抖程序
    按鍵的去抖采用軟件編程實現,其方法是當檢測到按鍵的接口出現低電平后,隔一段時間再檢測,如還是低電平,則確認為有效,否則無效。具體的程序是通過函數unsigned char ChKey(bit Key)完成的。
5. 顯示同步
    因沒有位置傳感器,顯示同步完全靠時鐘中斷來確定。這樣就有一個問題,音圈電機的驅動信號在什么時刻改變,顯示才能保持在中間,并能保證正反顯示能很好地重合。經實際觀察, 音圈電機的驅動信號在顯示中部, 要根據具體情況細調。由程序中的變量Ta 調試確定。
6. 完整C51 程序代碼
請見附件
四.調試方法
雖說是個機電一體的制作,但調試過程并不復雜。
1. 機械部分的調整主要是兩只拉簧, 要盡量保證兩邊受力一致,讓搖棒靜態時保持在豎直狀態。
2. 軟件部分,先將void timer1(void)函數中的“Ti=-Tr[ii*6+jj];”這段程序刪除,試著讓Ti 取一常數值(大約-2000 左右)看顯示效果(搖棒擺動的幅度),一直到滿意為止,這時正反顯示可能沒有重合,接著試Ta 的取值,范圍在42 到50 之間,使正反顯示重合為止。最后一步就是調整顯示的不均勻性,將“Ti=-Tr[ii*6+jj];”這段程序恢復回來,試著改變Tr[]表中數組元素的值,并保證表中的元素的平均值為開始Ti 取得的值,讓顯示的每個字符寬度一致為止。
五.結語
    本制作電路簡單,其原理實質就是LED 流水燈,而關鍵的音圈電機也很容易找到,很適合剛入門的單片機愛好者制作。制作還有發揮的地方,
1. 添加時鐘IC,使顯時更精準,而且不怕掉電;
2. 加裝位置傳感器,增加顯示的穩定性;
3. 增添搖控功能,使調整更方便。


程序:
純手工打造搖擺LED時鐘.rar (2.37 KB, 下載次數: 43)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:142493 發表于 2016-10-12 20:25 | 只看該作者
這個可以,新手膜拜中
回復

使用道具 舉報

板凳
ID:205161 發表于 2017-5-26 17:26 來自手機 | 只看該作者
也想做   贊
回復

使用道具 舉報

地板
ID:196311 發表于 2017-5-28 23:25 | 只看該作者
收藏備用,謝謝樓主
回復

使用道具 舉報

5#
ID:798859 發表于 2020-7-7 09:39 | 只看該作者
這個牛批,感謝分享
回復

使用道具 舉報

6#
ID:798859 發表于 2020-7-7 09:50 | 只看該作者
真心不錯 感謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠操天天操 | 免费一区在线 | 国产精品高潮呻吟久久aⅴ码 | 日韩欧美亚洲综合 | 久久久久久999 | 色婷婷亚洲一区二区三区 | 992人人草| 国产精品亚洲欧美日韩一区在线 | 中文字幕在线观 | 91中文在线观看 | 久久久国产视频 | 久久高清| 亚洲a在线视频 | 欧美国产日韩精品 | 国产欧美日韩一区二区三区在线 | 精品小视频 | 91在线观| 欧美一级黑人aaaaaaa做受 | 黄网站在线观看 | 成人在线免费网站 | 亚洲综合在 | 99精品国自产在线 | 一级片免费网站 | 日韩靠逼 | 国产精品91视频 | 91精品在线看 | 亚洲欧美日韩高清 | 华人黄网站大全 | 五月香婷婷 | 精品国产一区探花在线观看 | 欧美久久久网站 | 欧美视频福利 | 亚洲欧美另类在线观看 | 欧美一级在线 | 国产亚洲精品美女久久久久久久久久 | 欧美在线观看一区 | 天天曰夜夜 | 全部免费毛片在线播放网站 | 国产精品视频一 | 日韩国产一区 | 亚洲视频一区在线 |