製作新唐N76E003白光LED電子時鐘套件
回想起第一次用N76E003應該是六年前的事情了,除了想辦法將N76E003 BSP改成支援SDCC之外,也用它來做過各式各樣的專案,像是夾娃娃機、電影道具都有 …
今年接到一個專案用到它的兄弟MS51FB9AE做一個波形產生器,在建環境的過程發現新唐官方的BSP終於支援SDCC了!開發環境成功用VS Code建起來相當心得,就乾脆做一個時鐘來試試水溫XD
這回集結以往的經驗為手工焊接特別設計過,例如加大震盪器的焊點、挑選全THT包裝的USB-C連接器(我還挑Molex的),使套件焊接製作的成功率大大提升。
傳統8051則是機械週期為12T,也就是一條指令至少就花費12個clock cycle,不同指令花費的週期不一定,長的還要24個 …
新唐N76E003是什麼樣的MCU? 它是一顆改良過的8051,也就是機械週期以1個clock cycle為單位,所以速度就快上許多了。
不僅如此,還將把那些原本要外掛晶片的周邊功能也整合進去,包含兩組獨立的UART、ADC、SPI、I2C、PWM,我都說它麻雀雖小五臟俱全。
目前已計畫至少發出這幾篇教學文章,請大家拭目以待:
(一)製作新唐N76E003白光LED電子時鐘套件
(二)以VS Code, SDCC, Git建立新唐8051開發環境
(三)新唐N76E003白光LED電子時鐘套件韌體技巧說明
(四)免用燒錄器更新韌體:NuMicro ISP Programming Tool
這次的電路將N76E003所有IO都拉出來了,此外LDROM已經幫大家預燒ISP程式,只要準備一條USB to UART (PL2303, FTDI232那種),就可以用新唐官方出的NuMicro ISP Programming Tool更改APROM的韌體,而不用NuLink燒錄器(ICP)。因此預設的功能雖然是時鐘,您也可以添加其它功能(例如溫溼度)或者是當開發板使用,可玩性可說是相當高的!
眼尖的朋友可能還發現,USB-C不僅只有供電的功能,我還預留了通訊的功能。
N76E003沒有USB介面怎麼做USB通訊? 實際上用軟體刻是可以跑USB 1.0的,之後會再慢慢開發~
話說回來,為什麼專案的名稱取名為003Clock呢?因為N76E003還能pin-to-pin相容N76S003、M2003 (Cortex-M23)等003系列,還有MS51FB、MG51FB … 同是8051系列的更能pin-to-pin、code-to-code相容(我們也可以在新唐的GitHub上看到N76E003與N76S003 BSP是共用的)。
雖然MS51FB9AE新唐的說法是說不行code-to-code,但我實際比對暫存器位址以及實際用N76E003_BSP編出來測試過是可以的,猜想是記憶體容量不同保守先說不行吧。總而言之,這個套件不限定N76E003,還可以自己換晶片玩其它型號,所以就取了共同的名稱”003”了。
N76E003真的很讚,玩熟了拿去做工控等級的專案,幾乎無痛直接換MS51FB9AE(工控級8051)。
晶片相容性可以參考下表:
我使用的白光七段顯示器是帶有驅動晶片PT6961在背後,只要透過串列介面輸入資料寫入晶片中的暫存器以後,掃描的部分晶片會幫我們完成,除了省下CPU資源之外,還能騰出許多IO做未來開發的用途:
實際上這種接腳露在外面、焊點夠大的SMT零件,焊接時除了建議用尖頭的恆溫烙鐵,其它並不需要什麼特殊工具。
焊接時一定要從SMT零件開始,因為THT零件高度和體積較大,很有可能會擋住SMT零件的焊點。
而SMT零件的焊接順序有兩種說法,第一種:從耐熱較好的零件開始焊,例如電阻、電容,最後才焊IC等半導體零件;第二種:觀察零件擺放的位置,從焊點容易被遮蔽的零件開始焊。
從以往帶工作坊的經驗,實際上比較少因為焊接過熱燒掉的情形,反倒是焊點被遮住或焊錫短路到其它接腳的情形比較常見,所以今天我們就採用第二種順序來焊接吧。
目前自己焊了幾套以後,建議焊接順序會是這樣:
有源震盪器 > N76E003AT20 > 電阻電容 > Type-C連接器 > 觸摸開關 > 七段顯示器
第一步是要來焊接有源震盪器,「有源震盪器 oscillator」是要接電源輸出方波的元件,它不是無極性的「石英晶體 quartz crystal」,所以焊接時一定要注意方向。
有源震盪器本體正反面均有第一腳的記號,分別如下圖的標示:
使用烙鐵焊接SMT元件時,保持一個原則「先在PCB其中一個焊點加上焊錫,用來固定零件」:然後以鑷子夾取零件,將零件移動到PCB上,接著拿烙鐵融化剛剛預先加上的焊錫,使零件可以先被固定不會亂跑。
確認零件不會亂跑以後就可以將鑷子移開了,這時候我還會看一下零件有沒有擺正、再從側面觀察零件否有平貼在PCB上,如果要修正,就拿鑷子夾著零件,用烙鐵融化焊錫後微調:
由於零件不會亂跑,就可以將剩下的幾支腳就可以放心地焊接。預先加焊錫的那一支腳,也要再用新鮮焊錫(內有助焊劑)補焊一下確保牢靠:
再來就可以焊接N76E003AT20了,一樣要注意第一腳的位置,一般晶片都會在外殼靠近第一腳的位置做的圓圈或是缺口的記號,有些則是會畫上一條線。PCB上一樣會有記號:
我們一樣現在PCB上一個焊點加上焊錫,將IC一支腳固定不亂跑再觀察有沒有對齊。反正先焊一支腳要微調都還來得及:
再來就可以把N76E003AT20剩下幾支腳焊完了,這邊要注意焊錫不要太多,不然相鄰的腳位很容易短路到。
如果不幸短路到,焊錫夠新鮮的話可以試試看用烙鐵能不能把多餘的焊錫沾起來(靠焊錫本身的張力)。
或是用吸錫線、吸錫球將多餘的焊錫吸起來。
切記不要使用一般電料行買的「焊油」,焊油是酸性的,拿來焊電線用的,用在電路板上放久了是會把細細的金屬給腐蝕掉的!
如果要用助焊劑輔助要使用免洗助焊劑,例如:MG Chemicals 8341-10ML。網路上買一條五百多塊看似很貴,實際上它的用量真的只要一點點,2019訂來用到現在根本用不到5%!
OK,SMT零件焊接完畢了,接著要準備焊接THT的零件,USB-C、開關及七段顯示器:
我會在焊接USB-C連接器與開關之前用康泰PCC電路板清潔劑清過一遍,我不建議在焊接USB-C連接器與開關之後才清,因為會在接點上殘留助焊劑,導致接觸不良。
清潔後的樣子,清爽許多了!USB-C連接器一樣先焊一支腳,這樣有歪的話都還來得及做調整:
四個方向都要確認一下有平整:
然後再將其它腳位補上,這邊因為這顆連接器原先應該是用在薄板的,因此接腳長度並不長。建議可以稍微多加一點焊錫、加熱久一點確保焊錫確實滲透進焊點中:
最後再把觸摸開關焊接上去,PCB正面就完成了!
最後插上USB測試功能,完工!
操作說明:
- 單一按鈕操作介面,操作直覺,不會久了忘記每顆按鈕是什麼功能
- 短按開關依序切換顯示模式: 時鐘(時針:分針) > 時鐘秒針 > 計時器(最多99分59秒)
- 持續按著開關大於兩秒為長按,時間模式長按可設定時間,設定完畢時間的秒針會自動歸零;計時器模式長按將計時器歸零
- 切換顯示模式後,程式都會在背景繼續計時,例如: 切換為顯示時間,計時器仍會繼續計時,下次切換成計時器,能夠正確顯示計時器時間
#A2300 HD
留言
張貼留言