控制程式碼範例,基本上只要依序送出資料即可控制
熊屋
Microchip單晶片與電子電路學習筆記本
2013年5月1日 星期三
LPD6803 RGB LED driver
簡單易用的 RGB LED driver IC, 資料表中說明它對於每個顏色表現只有5bits,透過串列通訊依序放置 15bits data ,起頭bit=1每個顏色佔據 5bits 總共剛好16個資料
EPSON SVM7910 series Multi-Melody IC
1978 年 EPSON 開始販售全世界第一個和旋音樂IC,偶然機會從以前大哥抽遞中翻出兩顆,標註 新台幣 100元的IC,起初不清楚這顆IC的來歷,因此一放就是10幾年...
最近剛好想尋找比較好聽的音樂IC, google 所有論壇討論才找到 EPSON SVM7910 series
最後回想起零件櫃有著兩顆不知名的IC,翻出來看才曉得,原來它的來歷真的不小
用著麵包板插著電路,緊接著發出聲音,只能用讚嘆~~ 以前就能做出這樣美好的音樂,為何後來出的三隻腳IC都只有 one tune 聲音像極了廉價玩具聲,這顆雖然有30年歷史,但是發出聲音在現代絕對還可以佔有優勢
這顆有著很多型號,google很久早到了一篇pdf檔,完整介紹型號與植入的音樂
也試著詢問電子材料行,仍然有賣,可是價格已經漲到NT$150/pcs 真的貴到爆
放置一段音樂測試影片,這顆IC唯一缺點就是沒有SMD封裝,且周邊電路多了些,透過修改周邊電路可以簡單改變音樂性,也不失另外一種優點
這是原廠建議接線腳位圖
最近剛好想尋找比較好聽的音樂IC, google 所有論壇討論才找到 EPSON SVM7910 series
最後回想起零件櫃有著兩顆不知名的IC,翻出來看才曉得,原來它的來歷真的不小
用著麵包板插著電路,緊接著發出聲音,只能用讚嘆~~ 以前就能做出這樣美好的音樂,為何後來出的三隻腳IC都只有 one tune 聲音像極了廉價玩具聲,這顆雖然有30年歷史,但是發出聲音在現代絕對還可以佔有優勢
這顆有著很多型號,google很久早到了一篇pdf檔,完整介紹型號與植入的音樂
也試著詢問電子材料行,仍然有賣,可是價格已經漲到NT$150/pcs 真的貴到爆
放置一段音樂測試影片,這顆IC唯一缺點就是沒有SMD封裝,且周邊電路多了些,透過修改周邊電路可以簡單改變音樂性,也不失另外一種優點
這是原廠建議接線腳位圖
2013年2月15日 星期五
[Nixie Tube] MC34063 DC-DC High Voltage Generator
前蘇聯時代的一些數字真空管(Nixie Tube)早在2007就曾經看過,以前對於真空管沒有研究,因此就錯失了第一時間的探討,後來專注看一下說明,才知道其實就是數字指示器,真空管內灌有惰性氣體,透過陰極與陽極間高壓而發光,它不是熱電子衝擊,因此沒有高溫問題,有些人誤認為是燈泡,其實不然,雖然所需電壓高(170V)但是電流卻很低(2.5mA) 一根不到0.4W;國外很多人對於這種夢幻橘燈有著吸引力,發出橘色字體邊緣還伴隨著淡淡的紫色光
確實沒有實際看過很難體會這種魅力,以下這張照打著強閃光字體依然清晰可見
相較於仿間一般的LED指示器,只需要低壓即可運作,Nixie卻需要高壓才能發光
產生高壓有兩種途徑,一方面採用笨重的大型變壓器,另外一種採用DC-DC轉換方式
實驗搭配MC34063 外掛Power MOSFET方式,輸入12V 進而產生約略170V左右工作電壓
以下模型為常用的電路模型,實驗中電感元件很重要,可以讓輸出效率更高
在電感路徑中放置一顆Low ESR電容,充放電效率更高,經實驗可提高約略10%
輸出高壓穩壓電容,增加一顆0.68uF 金屬皮膜電容,可讓高壓穩定增加5倍
將測試電路移植到PCB,經驗證效率約 62.5% ,效率其實不是挺高,有時候也必須遷就於MC34063,另一方面也是這種電路的天缺
確實沒有實際看過很難體會這種魅力,以下這張照打著強閃光字體依然清晰可見
相較於仿間一般的LED指示器,只需要低壓即可運作,Nixie卻需要高壓才能發光
產生高壓有兩種途徑,一方面採用笨重的大型變壓器,另外一種採用DC-DC轉換方式
實驗搭配MC34063 外掛Power MOSFET方式,輸入12V 進而產生約略170V左右工作電壓
以下模型為常用的電路模型,實驗中電感元件很重要,可以讓輸出效率更高
在電感路徑中放置一顆Low ESR電容,充放電效率更高,經實驗可提高約略10%
輸出高壓穩壓電容,增加一顆0.68uF 金屬皮膜電容,可讓高壓穩定增加5倍
將測試電路移植到PCB,經驗證效率約 62.5% ,效率其實不是挺高,有時候也必須遷就於MC34063,另一方面也是這種電路的天缺
2012年12月16日 星期日
Power Counter Relay 汽車電源延遲啟動 電源延遲關閉
現在汽車額外增加的電子設備越來越多,一個電菸頭可能需要增加以下的配件,行車紀錄器、測速器、汽車額外增加的擴大機、 i-Phone/i_pad 充電器 ... 等等
[電源延遲啟動]
但是當汽車鑰匙轉到ACC,電菸頭已經開始供電,引擎發動時會在斷電再重新送電,這個簡單的引擎發動的步驟,原本藉由插在電菸頭供電的設備,已經被啟動了兩次
有些電子設備體質較差,除了無法承受短時間啟動與關閉, 同時引擎發動的瞬間電壓甚至會飆高到24V 以上,很多設備都是在這種狀況下歸西
因此納入電源延遲啟動的小組件顯得重要,由於電路簡單,可以確保引擎已經發動才會供電
[電源延遲關閉]
這個功能通常需要拉兩條線連接電瓶電,讓點菸頭設備持續有電,但是為了避免例如行車紀錄器把電瓶電耗光,因此再拉一條線接到ACC電源,透過Key 轉動來決定何時設備啟動與關閉,好處是可以讓原本行車紀錄器可以在引擎關閉後,離開汽車時可以在錄影一段時間,新聞在報,很多汽車被破壞都是在車主離開車子後約 1-2hr間發生
[汽車電壓偵測]
這樣設施如果能夠再配合汽車電壓變動的特色,作為自動啟動與關閉的功能,可以讓整個步驟變得更簡單, 達到不必插拔,完全自動啟動的關閉,做到電源延遲啟動與電源延遲關閉的功能,連配線都變得簡單了
[單晶片設計組件]
分成三大塊
1. 類比數位轉換, 需要偵測輸入電壓,同時還需要偵測外部延遲啟動與延遲關閉偵測
2. 計時器, 計時基時設定為 1ms , 另外基時為LED 閃爍頻率計算
3. 標準I/O 控制繼電器啟動與關閉, LED 指示燈啟動與關閉
[時序圖]
1.電源延遲啟動 透過可變電阻調整 (2-63sec)
2. 電源延遲關閉 透過指撥開關調整
00 : 1 分鐘
01 : 30 分鐘
10 : 1 小時
11 : 2 小時
這個組件基本上很簡單, 如果拉電瓶電,也不用再怕會耗光電了
由於有五種狀態,LED 透過不同閃爍頻率來表達
[電路板]
電路板基本上不大約 45mmX36mm
[組裝成品]
[裝上電菸頭] 方便使用
[驗證影片]
[電源延遲啟動]
但是當汽車鑰匙轉到ACC,電菸頭已經開始供電,引擎發動時會在斷電再重新送電,這個簡單的引擎發動的步驟,原本藉由插在電菸頭供電的設備,已經被啟動了兩次
有些電子設備體質較差,除了無法承受短時間啟動與關閉, 同時引擎發動的瞬間電壓甚至會飆高到24V 以上,很多設備都是在這種狀況下歸西
因此納入電源延遲啟動的小組件顯得重要,由於電路簡單,可以確保引擎已經發動才會供電
[電源延遲關閉]
這個功能通常需要拉兩條線連接電瓶電,讓點菸頭設備持續有電,但是為了避免例如行車紀錄器把電瓶電耗光,因此再拉一條線接到ACC電源,透過Key 轉動來決定何時設備啟動與關閉,好處是可以讓原本行車紀錄器可以在引擎關閉後,離開汽車時可以在錄影一段時間,新聞在報,很多汽車被破壞都是在車主離開車子後約 1-2hr間發生
[汽車電壓偵測]
這樣設施如果能夠再配合汽車電壓變動的特色,作為自動啟動與關閉的功能,可以讓整個步驟變得更簡單, 達到不必插拔,完全自動啟動的關閉,做到電源延遲啟動與電源延遲關閉的功能,連配線都變得簡單了
[單晶片設計組件]
分成三大塊
1. 類比數位轉換, 需要偵測輸入電壓,同時還需要偵測外部延遲啟動與延遲關閉偵測
2. 計時器, 計時基時設定為 1ms , 另外基時為LED 閃爍頻率計算
3. 標準I/O 控制繼電器啟動與關閉, LED 指示燈啟動與關閉
[時序圖]
1.電源延遲啟動 透過可變電阻調整 (2-63sec)
2. 電源延遲關閉 透過指撥開關調整
00 : 1 分鐘
01 : 30 分鐘
10 : 1 小時
11 : 2 小時
這個組件基本上很簡單, 如果拉電瓶電,也不用再怕會耗光電了
由於有五種狀態,LED 透過不同閃爍頻率來表達
[電路板]
電路板基本上不大約 45mmX36mm
[組裝成品]
[裝上電菸頭] 方便使用
[驗證影片]
2012年11月3日 星期六
CCS program - PCWHD 使用Timer0設定方法
很多人列出Timer0範例,然而還是似懂非懂,透過以下範例來講解microchip timer應用方式
以下將列出如何計算與設定
Example:
MCU: PIC18F452
Crystal: 4MHz
System clock: 4MHz/4 = 1MHz (1us)
Timer0有一組prescale可以設定,意義為累計多次"drivid by N"再增加一的動作
然而N就是輸入的clock cycle, 取得輸出cycle out 由prescale決定
Timer0 prescale 可以設定從1(no divid at all), 2, 4, 8...直到256
例如
Prescale 設定256,必須取得256個system clock才能取得一次cycle out,
因此Timer0變成 1us (system clock) * 256(Prescale setting) = 256 us/count.
假設設定Timer0 為8bit模式(PIC18F452T Timer0 有8或16bits可選),prescale設定為1
每經過256會發生中斷(overflow),相同得設定16 bit模式須經過65536 count
完整設定 timer 0 為 8 bit模式, 來源使用 system clock並且搭配prescale 256你設定方式為:
8 bit mode:
timer 0 overflow(interrupt) 為 256 us/count * 256 counts/overflow = 65536 us = 65.536 ms.
例如:
a) 4,000,000/(4*256*256) = 15.2587890625 Hz
b) f=1/Hz => 1/15.2587890625 = 0.065536 sec = 65.536ms
c) if preset X value = 6 (set time value)
4,000,000/(4*(256-6)*256) = 15.625Hz => 1/15.625Hz=64ms(duty cycle)
例如:
a) 預取得15.625Hz => 1/15.625Hz = 0.064sec (duty cycle)
b) Time0 設定值 X = 256 - 4000000*0.064/(4*256) = 6
16 bit mode:
timer 0 overflow(interrupt) 為 256 us/count * 65536 counts/overflow = 16,777,216 us = 16.77216 sec.
因此最終結論
a) clock source
b) 選擇 8 or 16 bit counter
c) prescale value
以下將列出如何計算與設定
Example:
MCU: PIC18F452
Crystal: 4MHz
System clock: 4MHz/4 = 1MHz (1us)
Timer0有一組prescale可以設定,意義為累計多次"drivid by N"再增加一的動作
然而N就是輸入的clock cycle, 取得輸出cycle out 由prescale決定
Timer0 prescale 可以設定從1(no divid at all), 2, 4, 8...直到256
例如
Prescale 設定256,必須取得256個system clock才能取得一次cycle out,
因此Timer0變成 1us (system clock) * 256(Prescale setting) = 256 us/count.
假設設定Timer0 為8bit模式(PIC18F452T Timer0 有8或16bits可選),prescale設定為1
每經過256會發生中斷(overflow),相同得設定16 bit模式須經過65536 count
完整設定 timer 0 為 8 bit模式, 來源使用 system clock並且搭配prescale 256你設定方式為:
Code: |
set_timer_0(RTCC_INTERNAL|RTCC_8_BIT|RTCC_DIV_256); |
8 bit mode:
timer 0 overflow(interrupt) 為 256 us/count * 256 counts/overflow = 65536 us = 65.536 ms.
Formula: |
period = 1/Hz = crystal frequence/(4*256-X)*prescale; How to got X value: X = 256-crystal frequence*period/(4*prescale) |
例如:
a) 4,000,000/(4*256*256) = 15.2587890625 Hz
b) f=1/Hz => 1/15.2587890625 = 0.065536 sec = 65.536ms
c) if preset X value = 6 (set time value)
4,000,000/(4*(256-6)*256) = 15.625Hz => 1/15.625Hz=64ms(duty cycle)
例如:
a) 預取得15.625Hz => 1/15.625Hz = 0.064sec (duty cycle)
b) Time0 設定值 X = 256 - 4000000*0.064/(4*256) = 6
Code: |
set_timer0(6); |
16 bit mode:
timer 0 overflow(interrupt) 為 256 us/count * 65536 counts/overflow = 16,777,216 us = 16.77216 sec.
因此最終結論
a) clock source
b) 選擇 8 or 16 bit counter
c) prescale value
2012年5月1日 星期二
NEC uPC1237 喇叭保護電路電路設計
喇叭保護電路有現成IC可以使用,透過延遲電路讓電源啟動瞬間透過繼電器隔離喇叭
避免突然直流灌入喇叭,造成不可回復的損壞
早期NEC upc1237 就是個很好得產品,好的喇叭繼電器,必須擁有以下特點
1. 通電時延遲啟動搭配不同的R and C 完成延遲啟動的設定
2. 偵測到DC自動跳脫
3. 偵測主電源關閉,自動跳脫
看似簡單功能,在現在單晶片發達的年代,似乎沒有什摩特別,可是有一派專家認為傳統電晶體組成延遲電路,可以讓音質影響降到最低?? 因此特地買了些 "拆機品" 真正原裝得NEC upc1237 IC,並組成可調時間與自動復歸功能的喇叭保護電路
電路板layout給他完成了!
花了點功夫了解電路,同時把市面上常見的relay都lay進去
可以搭配很多款繼電器,同時也可以配合需求使用12/24V 環境
基本上可以不需要穩壓電路,穩壓電路主要目的延長繼電器壽命所使用
詳細組件搭配,可以放大電路圖參考!
避免突然直流灌入喇叭,造成不可回復的損壞
早期NEC upc1237 就是個很好得產品,好的喇叭繼電器,必須擁有以下特點
1. 通電時延遲啟動搭配不同的R and C 完成延遲啟動的設定
2. 偵測到DC自動跳脫
3. 偵測主電源關閉,自動跳脫
看似簡單功能,在現在單晶片發達的年代,似乎沒有什摩特別,可是有一派專家認為傳統電晶體組成延遲電路,可以讓音質影響降到最低?? 因此特地買了些 "拆機品" 真正原裝得NEC upc1237 IC,並組成可調時間與自動復歸功能的喇叭保護電路
電路板layout給他完成了!
花了點功夫了解電路,同時把市面上常見的relay都lay進去
可以搭配很多款繼電器,同時也可以配合需求使用12/24V 環境
基本上可以不需要穩壓電路,穩壓電路主要目的延長繼電器壽命所使用
詳細組件搭配,可以放大電路圖參考!
電路圖部份零件有兩種規格,前者12V環境,後者24V環境 |
配市面上常見 10A 繼電器規格layout |
搭配市面上常見 20A 繼電器規格layout |
試作成品,搭配finder 10A 規格繼電器 |
試作成品,搭配OMRON 10A 規格繼電器 |
試作成品,搭配OMRON 10A 規格繼電器 |
試作成品,24V 規格繼電器,必須修改穩壓IC與部份電阻值,可詳見電路圖 |
|
Layout前必須有完整實驗結果, 附上實驗過程Video
紅燈:主電源輸入 DC; 當輸入AC時必須搭配二極體
綠燈;表示喇叭保護電路啟動指示燈,綠燈亮起表示繼電器啟動,反之則是跳脫
訂閱:
文章 (Atom)