痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 7086|回復: 39

[維修實例] LCR-TC2電晶體測試器(晶體管測試儀)電容燒壞不開機修理及改1.48m韌體

[複製鏈接]
發表於 2023-2-24 04:43:21 | 顯示全部樓層 |閱讀模式
本帖最後由 hi80482 於 2023-2-24 04:42 AM 編輯

修理前有些基本知識,
請參考下面文章裡的連結,
之後有遇到會提一下,不詳細解說了。
小心假貨山寨的電晶體測試器

修一台 LCR-TC2,因電容未放電燒壞測試器,不開機。

處理方法:
1. 買一台新的最快
2. 換新的 MCU + 燒錄韌體
3. 視情況修改電路 Pin 和 改韌體 Port

下面說明第三種方法,有些地方沒拍照,文字說明為主。
---------------------------------------------------------------------------
電容沒放電燒壞機器的狀況:
1. 無保護電路,MCU 燒壞
2. 有保護電路,保護元件燒壞,MCU 沒壞
3. 有保護電路,保護元件燒壞、MCU 燒壞
4. 有保護電路,保護元件燒壞、MCU 的某些 Pin/Port 燒壞

TC2 燒壞不開機,觀察此機有保護電路,
TVS 6V8 + 5V ESD Array(見基本知識連結),
把這二個元件拆下,TC2 插上 USB 充電線,
沒開機 = MCU 可能燒掉了,處理方法的:1&2。

可開機,可正常使用,恭喜!測試器沒壞。
換上新的保護元件,多一層保護。
沒保護電路,也不會影響測試功能。
注意 TVS 6V8A 單向,6V8CA 雙向,買單向的要注意方向。
另一個是 ESD Array,要 5.0V,不是 5.5V 的。

可開機,一直顯示測到電池,按鈕也不靈。
MCU 的 Pin/Port 燒壞了,雖然不幸運,還有救。


1.jpg
TP1、TP2 可能燒壞,此圖來源 eevblog,我忘記拍照了


開始測量,先拔下電池,以免短路造成二次悲劇。
電錶切到最大歐姆檔,測量 TP123(插孔123) 到 GND(電池負極),
正常的話會大於 3mΩ,若為 0 = 燒毀。

TC2 相關家族:TC1、T7、T7H。同型號不一定同 MCU,atmega324、644、328 混用,fake 的不算。
atmega324 和 644 是 44-pin,有完整的 I/O Port,ADC PA0 到 PA7 共八個。

atmega328 是 32-pin,Port 共用,ADC PC0 到 PC5 共六個,
ADC6、ADC7 在設計中沒有用到,必須修改程式和編譯命令才能用。
參考:Atmega328 使用 ADC6&7

這台 TC2 的 MCU 是 atmega324,主機板型號是:T7-PLUS V1.2。

除了原本用到的 Port,還有其他多的 Port 可以用,將多的 Port 改接到燒壞的 TP123,
這就是處理方法3(視情況修改電路 Pin 和 改韌體 Port)。

atmega328 應該也能用方法3,但要犧牲測試精度/功能,I/O Port 不夠。
還買得到 atmega328,arduino 也在用 328,換 MCU 或新買一台比較快。

TC2(atmega324版) 的 ADC Port 對映 Pin 如下:
PA0 - Pin37 - TP1    :測試孔1
PA1 - Pin36 - TP2    :測試孔2
PA2 - Pin35 - TP3    :測試孔3
PA3 - Pin34 - VREF  :參考電壓 TL431 2.5V,影響測試精度
PA4 - Pin33 - VK      :測試孔K,測 zener 用
PA5 - Pin32 - VBAT  :監控電池電壓
PA6 - Pin31 -           :未使用
PA7 - Pin30 - R4/C2:內建積層電容供 self-adjust(校正/調整) 用

電容損壞的是 TP1&2,也就是 PA0&1,後來測出 TP3/PA2 對 VCC 的內阻過高,
無法通過 self-adjust,所以 TP3/PA2 也有問題。要拿三個 ADC Port 交換壞的 TP123/PA012。
拿 PA5,不用監控電池電壓,沒電插電就好。
PA7 在 atmega328 機種上沒有(ADC6&7),是 324/644 獨有,
這電容在校正/調整(TP123短路)時會用到,不一定要內建,
可以拿掉,之後用外接的校正/調整。


2.jpg
改過的電路圖,拿 PA567


3.jpg
作業時必須防止靜電


4.jpg
弄好後將PCB清理乾淨,以免造成短路或干擾


5.jpg
膠帶固定好,防止震動


硬體改好還不能用,因為原本的韌體對映 PA012,不是 PA567。
接著改韌體(程式),原機的韌體無法備份,有 ISP 防拷,無原始碼。
所以改了之後,介面沒辦法像原本那麼漂亮,Flash ROM 容量有限。
要改漂亮也行,減少功能,像原本的 China 韌體就是拿漂亮介面換功能。

韌體目前有二個分支:
1. k-firmware 1.13 (1.13k)
2. m-firmware 1.48 (1.48m)

市面上的測試器大都是拿 1.13k 再改介面,
k 版的容量需求較小,atmega8/168 也可以用。
duke83 大發表的文章就是 k 版的(見基本知識文章裡面的連結)。

我用 m 版,m 版基於 k 版。程式有整理過,好改、好編譯。
容量要多一些,最好是 atmega644(64K),
atmega324、328(32K),看要用功能還是介面換容量。

m-firmware 原始碼:Transistortester Warehouse
裡面也有 k 版的原始碼,有興趣可以抓下來看。
後面我會附上改好編譯好的檔,直接燒錄即可。
編譯的方法見 m 版連結裡的說明文件。
燒錄方法見 duke83 大的文章。


6.jpg
ISP Port、LCD歪掉自己調整,後面是用雙面膠貼的


7.jpg
1.48m 開機畫面


硬體和韌體都改好了,測試看看,功能有沒有正常?
能不能通過校正/調整程序?

m版的說明文件裡面寫調整(adjust)不是校正(calibration),其實他說的也沒錯。
畢竟不是拿標準的度量衡參考,例如秤和砝碼。
m版的 self-adjust 就是 k版的 AUTO_CAL(TP123短路執行的程序)。

第一次我只有改 TP12/PA01,接到 PA56/監控電池/未用,
執行 self-adjust 一直不過,出現 Error。
TP3/PA2 當時並沒有接未放電的電容,測量到 GND 的電阻也大於 3mΩ。
可是校正/調整程序就是不過,雖然沒接未放電電容,看來還是有影響。

selft-adjust 共有 A1 到 A6,詳細見 m 版說明文件。
其中 A4A5 測 Port 的內阻,A4A5 標準值是 20Ω 到 29Ω。
這值會影響 Port 的輸出狀態。
原理請參考:Measuring small inductances and capacitance with the "AVR transistortester"

我修改了程式讓它可以顯示 A4A5 的錯誤值。
如果你的第三個 TP 可以通過 self-adjust,那就不用改 PA7/內建電容,
只用 PA5/監控電池、PA6/未用,可以省下 PA7。
*在硬體完全未改時,燒入我改好的 A4A5 韌體,
出現測出電池畫面,短按二下進入 MENU,執行 self-adjust,
數值順序是 TP1 TP2 TP3,看沒壞的那一個 Port,
值如果超出標準,那麼就要拿 PA7 來改了。

如果 A4A5 值正常,但 self-adjust 還是不過,
那可能是接觸不良或電壓不足。
請見 m 版說明文件,檢查其他測量的標準值。


8.jpg
A4 對 GND 阻值,A5 對 VCC 阻值,TP2 比較高但在標準內


9.jpg
改過的韌體顯示 A4A5 錯誤值


全部 TP 通過 self-adjust 後,燒入我改好的韌體(非上面 A4A5 測試用),
預設三個 TP/PA012 都燒壞了,改 PA567,這樣內建電容就無效。
怎麼辦? 參考說明文件,在 self-adjust 前,
拿 220nF 到 2.2μF 值之間的電容,測試三次,機器會自動調整。
最好是薄膜電容,請見 EEVBlog
沒有用電容會怎麼樣?ESR 會測出 0,不準。

這台 TC2 的 TP3/PA2 在 A5 沒過,對 VCC 阻值過高,35Ω > 標準 29Ω。
看程式,內建電容在 self-adjust 時,Port 是輸入模式,
不是內阻會影響的輸出模式,所以我將 PA2 接到原本 PA7/內建電容的地方。
有沒有影響?不能保證沒有。或用上面的測三次方法,比較保險,自行選擇。

接下來測試三種狀態,看是否有影響:
1. 有內建電容(使用高阻Port)
2. 外接陶瓷電容
3. 外接薄膜電容

TC2 更換三種電容,都有再次 self-adjust,
電池充飽加上插 USB 線,減少電壓影響。
另外附 RD700 和 VC890C+ 的測試結果,
電池換新,探棒同一組。


10.jpg
未 self-adjust 的初始值


11.jpg

12.jpg

13.jpg

14.jpg
測試的零件


15.jpg

16.jpg


高阻 Port 會不會對 self-adjust 的電容有影響?
我覺得好像沒啥差別,大家認為呢?

至於測量值準不準?
TC2 的電源是由電池 3.7V 升壓 > 7V 給 78L05 穩壓 5V。
78 系列精度 4%,參考電壓 TL431 精度 2%,
但是會用 ON or TI 製造的零件嗎?或者 MIC?
精度呢?晶振是 YXC,不是 TXC 喔。
在測試 Port/TP123 電路上的電阻是否為精密電阻?

還有改進空間啦!這裡我沒改,大家可以試試。
1. 78L05 改 MCP1702-5.0 (0.1%)、LP2950A-5.0(0.2%)、LP2985A-5.0(1%)、AMS1117-5.0(2%)
2. TL431 改 LM4040A-2.5(0.1%),如果改了 MCP1702 或 LP2950A,韌體程式關掉 PA3/VREF 不用。
3. 換精密電阻 680&470K,請見修改硬體的照片,有標示位置
4. 換個好晶振
除了電阻、晶振直上,其他 pinout 不同,改造要注意。


最後貼幾張測試圖給大家看。


17.jpg
短按二下進入MENU


18.jpg
可切換未接/有接探棒的 self-adjust 狀態,方便


19.jpg
容量不夠,不然能顯示 SMD 電阻 Code


20.jpg
顯示可變電阻百分比


21.jpg

22.jpg
一直測試直到按停為止


23.jpg

24.jpg
未知零件


25.jpg
測 JFET,可惜這顆是假貨

補充內容 (2023-3-31 05:06 AM):
編譯 1.48m 韌體的方法在 #36

評分

21

查看全部評分

 樓主| 發表於 2023-2-24 04:58:15 | 顯示全部樓層
附上我改過的 1.48m 韌體,適合 TC2 板號 T7-PLUS V1.2,atmega324。

1. 正常版:原本的介面很好看,改了換不回去喔
2. 改造版:預設 PA012 換 PA756,關電池監控和內建電容
3. 測試用:測 A4A5,看 Port 的內阻是否正常

如果測試第三 Port 正常,可以不用拿 PA7/內建電容,
但是要自行編譯,我改的已經關掉了。

字體佔很大空間,為了功能,用了比較小的字,
也可以自已修改,關掉一些功能,改成大字體。
原始碼放修改過的檔而已,其他檔案上 github 抓喔。

1.48m_TC2_324.zip

3.4 MB, 下載次數: 13

ctester-1.48m.pdf

1.08 MB, 下載次數: 18

評分

1

查看全部評分

 樓主| 發表於 2023-2-25 05:34:59 | 顯示全部樓層
重新檢查,發現有誤,修正一下資料:

1. 78L05 改 MCP1702-5.0 (0.4%)、LP2950A-5.0(0.5%)、LP2985A-5.0(0.5-1%)、AMS1117-5.0(2%)
2. TL431 改 LM4040A-2.5(0.1%),如果改了 MCP1702 或 LP2950A,韌體程式關掉 PA3/VREF 不用。

第二個參考電壓比第一個穩壓精準十倍才有效果。
EEVblog - external 2.5V reference
EEVblog - selecting a voltage regulator

TI 的 IC 有分級,通常在規格書 Marking or Packaging 那頁,標示不同精度的編號。

MCP1702 仿貨,這年頭太容易就買到假的啦。
1.jpg

2.jpg
網路來源:Is this cheap Chinese LDO genuine or fake?


評分

2

查看全部評分

發表於 2023-3-16 20:54:42 | 顯示全部樓層
有想自己生產晶體測試儀的念頭  不知各位意下如何

評分

4

查看全部評分

 樓主| 發表於 2023-3-17 01:22:31 | 顯示全部樓層
本帖最後由 hi80482 於 2023-3-17 01:28 AM 編輯

本來打算用洞洞板 DIY 一個...
想一想,覺得自己弄的話,應該會很醜,放棄去買現成有殼的了。

現在 atmega 晶片大缺貨,不知道何時何處能取得。
完整的進階功能,必須 atmega644 以上,324, 328 容量不夠啊。

其他參考:
m-firmware 維護者的作品
Atmega644 的線路
AVR Transistortester
Clone Ttester
AY-AT Clone

644.zip

1.67 MB, 下載次數: 10

評分

3

查看全部評分

發表於 2023-3-17 02:10:06 | 顯示全部樓層
本帖最後由 專炸元件 於 2023-3-17 02:16 AM 編輯
hi80482 發表於 2023-3-17 01:22 AM
本來打算用洞洞板 DIY 一個...
想一想,覺得自己弄的話,應該會很醜,放棄去買現成有殼的了。


我來去採購一些
這份原理圖就好多   應該這個月就可以去洗板了

ATMEGA644P-20AU 不便宜  要500元以內  
發表於 2023-3-17 02:24:54 | 顯示全部樓層
專炸元件 發表於 2023-3-17 02:10 AM
我來去採購一些
這份原理圖就好多   應該這個月就可以去洗板了

我主要還是很惦記 1.12.8m板的韌體  我用很久了  很喜歡  
上個月我同行的測試器燒壞之後就再想要自己弄一套出來 給他加個編碼器 加個zendiode測 VF電壓   市售品都沒加保護  功能也都不太好用
還有個小缺點  就是接三隻腳都短路的元件  會做短路校正     1.12.8m板就不會
 樓主| 發表於 2023-3-17 02:54:20 | 顯示全部樓層
也可以參考 k-firmware 文件第23頁的原始設計。

#5
Atmega644 的線路
AVR Transistortester
Clone Ttester
AY-AT Clone

忘記說明了,
1. Atmega644 的線路,EEVblog 抓的,應該可行
2. AVR Transistortester 的 Hardware 內也有其他設計圖
3. Clone Ttester 收集市面上各種成品的照片或線路圖,這網站有時連不上,換 IP 就可連了
4. AY-AT Clone 這是 DIY 套件,內附線路圖

有按照 k-firmware 文件的 Port/Pin 設計的話,
用 m-firmware 修改一下 config 對映,
直接就能上了,應該沒問題!
----------------------------------------------------------------------------------------------
回覆 #6
ATMEGA644P-20AU 不便宜  要500元以內  
=> 多年前貿澤買一顆記得 3xx,DIP 的。現在不知去哪裡買…

回覆 #7
還有個小缺點  就是接三隻腳都短路的元件  會做短路校正     1.12.8m板就不會
=> m 版改進的功能,真的不錯。
還有 Load/Save 功能也很實用,
要用/不用探棒,Load 存檔就好,
不用重新校正/調整。

ttester1.13k.zip

3.69 MB, 下載次數: 5

發表於 2023-3-17 18:20:30 | 顯示全部樓層
https://www.microchipdirect.com/product/ATMEGA644P-20PQ 這邊可以零買,但運費要十幾塊美金,多人分攤比較划算 20AU TQFP封裝的一次要買一盤160顆 ..orz
發表於 2023-3-17 19:29:20 | 顯示全部樓層
專炸元件 發表於 2023-3-16 08:54 PM
有想自己生產晶體測試儀的念頭  不知各位意下如何

要生產的話,搭個車跟風一下
ericchou  +1
發表於 2023-3-17 21:16:00 | 顯示全部樓層
ericchou 發表於 2023-3-17 07:29 PM
要生產的話,搭個車跟風一下
ericchou  +1

要生產的話,搭個車跟風一下
ericchou  +1
jkpigoo    +1
發表於 2023-3-17 21:21:55 | 顯示全部樓層
除了原廠的 microchipdirect 之外,如果只是少量實驗用,索取樣品的網站是 sample.microchip.com ,多年前(還沒有併購ATMEL前)印象中每一料號最多可以索取三顆,一次最多五項,現在的政策不知道有沒有改變。

知名的跨國零件供應商還有好幾家,基本上也都是可以信任的可靠來源,例如: digikey, mouser(茂澤), rs, element14(e絡盟) 等,都可以考慮。目前大部分都是NT$1400/US$50以上可以免運,也有NT$3000以上才免運但有折扣的,詳情請上各網站確認,以下是今天剛剛查詢的運費資訊截圖,請參考:

2023-03-17 (3)a.png
2023-03-17 (1)b.png
2023-03-17 (2)a.png
2023-03-17 (4)a.png

 樓主| 發表於 2023-3-17 23:58:42 | 顯示全部樓層
要生產的話,搭個車跟風一下
ericchou  +1
jkpigoo    +1
hi80482   +1

專炸元件大 要開團嗎?
----------------------------------------------------------

#5 的 644 線路圖來源,
是 m 版維護者提供,
應可認為有實作過。
644 schematic


TP4057.jpg
TC2 的鋰電充電線路

schematic.pdf

176.01 KB, 下載次數: 7

發表於 2023-3-18 01:20:57 | 顯示全部樓層
xexex 發表於 2023-3-17 06:20 PM
https://www.microchipdirect.com/product/ATMEGA644P-20PQ 這邊可以零買,但運費要十幾塊美金,多人分攤比 ...

那個到後面還是會把你踢去找經銷商  台灣商業生態就是這樣  
看看看吧   基本上有MOQ限制   
有一種未來是我買一盤   可能用了一半  或是更少 用不完的在賣給加工廠 SMT廠  他們賣比快  我資金可以比較回來
發表於 2023-3-18 01:29:15 | 顯示全部樓層
hi80482 發表於 2023-3-17 11:58 PM
要生產的話,搭個車跟風一下
ericchou  +1
jkpigoo    +1

可以  M328P  跟ˊˋ644P的版本我都會要做  
M328P 只有ZD測試  其他功能不上  
發表於 2023-3-18 01:35:54 | 顯示全部樓層
hi80482 發表於 2023-3-17 11:58 PM
要生產的話,搭個車跟風一下
ericchou  +1
jkpigoo    +1

開團成功  

先做ATMEGA644p的 後面在做M328P的版本  329P MCU做一個小板 燒了直接換小板   


專炸元件: 3片測試版 會另開新帖更新進度  目前在參考原理圖中  PCB洗板與元件採購將會於ˋ4/1下單

ericchou  +1
jkpigoo    +1
hi80482   +1
發表於 2023-3-19 08:13:47 | 顯示全部樓層
專炸元件 發表於 2023-3-18 01:35 AM
開團成功  

先做ATMEGA644p的 後面在做M328P的版本  329P MCU做一個小板 燒了直接換小板   

請問ATMEGA644p有要做DIP封裝直插的嗎?老花眼看到貼片MCU有恐懼感。
發表於 2023-3-19 09:03:53 | 顯示全部樓層
DIP 封裝的好焊接也可用插座,改天不小心燒壞換主控也方便。
用主控轉接小板也是個變通方法,能有較小面積也比較方便換主控。

保護機制也建議做的比較完善除了 ESD/TVS 外還能多加繼電器保護或手動放電端子。

評分

1

查看全部評分

發表於 2023-3-19 10:53:56 | 顯示全部樓層
康品穎 發表於 2023-3-19 08:13 AM
請問ATMEGA644p有要做DIP封裝直插的嗎?老花眼看到貼片MCU有恐懼感。

ATMEGA644P-20PQ就是DIP封裝的

評分

1

查看全部評分

 樓主| 發表於 2023-3-19 10:54:05 | 顯示全部樓層
mouser 上的 644 20PU 還有存貨,
專炸元件大要不要考慮 644 20PU,可買少量。

2.2a.jpg
2.3.jpg
1.13k 文件的第十一頁,繼電器。


附件是另一個 644/1284 線路圖,參考看看。
資料來源:EEvblog
完整檔下載:29MB

SCH-REV.A0.2.pdf

422.23 KB, 下載次數: 7

發表於 2023-3-19 16:46:23 | 顯示全部樓層
康品穎 發表於 2023-3-19 08:13 AM
請問ATMEGA644p有要做DIP封裝直插的嗎?老花眼看到貼片MCU有恐懼感。


可以做兩片   大部分元件可以改DIP的  

評分

1

查看全部評分

發表於 2023-3-19 16:59:59 | 顯示全部樓層
hi80482 發表於 2023-3-19 10:54 AM
mouser 上的 644 20PU 還有存貨,
專炸元件大要不要考慮 644 20PU,可買少量。

可以買三顆  
我有MCU  從中國買來的  等到貨我要測試一下看能不能量產時用

看看TVS表現再來決定

繼電器也不錯  可以改磁簧繼電器  或是磁保持繼電器(這個要改軟體  每次開關機要強迫 繼電器保持在NC位置 )
或是改用類似AQV212 這類來控制洩放電阻

想知道若是沒放電的電容接上去有多少電跑到後面去  
要看DV/DT曲線 可以看到tvs的行為  跟估算脈衝電流 與放電時間評估  (可以優化繼電器切換時間  例如說500ms改成200ms )

繼電器板子上會有焊接位置  
發表於 2023-3-19 17:02:57 | 顯示全部樓層
duke83 發表於 2023-3-19 09:03 AM
DIP 封裝的好焊接也可用插座,改天不小心燒壞換主控也方便。
用主控轉接小板也是個變通方法,能有較小面積 ...

644p做的專門用在元件分析  

328p做的專門用來當維修工具  MCU陣亡直接像換SD卡那樣子更換就好(不過我還在找連接器 希望可以找到合適的 不然就用2.54的 90度排針排母了)

發表於 2023-3-19 20:07:30 | 顯示全部樓層
hi80482 發表於 2023-3-19 10:54 AM
mouser 上的 644 20PU 還有存貨,
專炸元件大要不要考慮 644 20PU,可買少量。

好奇問問  328p能夠加入這個功能嗎  空間不夠要掛rom的話也可以接受
能做到單象限的IV曲線嗎
60~400HZ都可以 4V 幾個ma
右上那樣子的  左下去是B-E順偏 那個測試棒反過來就可以測試
IMG_20230302_153112.jpg
IMG_20230302_153119.jpg


補充內容 (2023-3-20 01:16 AM):
發現這個功能很困難 打退堂鼓了
 樓主| 發表於 2023-3-20 05:19:10 | 顯示全部樓層
本帖最後由 hi80482 於 2023-3-20 05:49 AM 編輯
專炸元件 發表於 2023-3-19 08:07 PM
好奇問問  328p能夠加入這個功能嗎  空間不夠要掛rom的話也可以接受
能做到單象限的IV曲線嗎
60~400HZ ...

Arduino 有類似的,

pigoo:
[電子儀表] curve tracer 慢慢龜 Rodriguez, 三極管特徵曲線掃描器

網路:
Building an IV plotter from an Arduino Nano
Arduino/Genuino Transistor Curve Tracer

60~400HZ都可以 4V 幾個ma
=>
測試器的輸出上限大約為:5V / (680R + 20R*2) = 6.9mA,20R 是 Port 對 VCC/GND 的電阻。

如何把 Arduino 的 Code 移植到 AVR,
雖然 k or m 版都有原始碼,
我也只會簡單秀出變數(A4A5之類)而已,
要加功能,有困難。

可以思考 ArduTester
它是把 AVR Tester 改成 Arduino,
同樣是 Arduino,應該比較好合在一起。
不過這是另一種研究方向了。
 樓主| 發表於 2023-3-20 05:46:55 | 顯示全部樓層
搜尋過 EEVblog 上的討論,
有人也問過 curve 相關的問題。
$20 LCR ESR Transistor checker project
進去右上有個 Search,搜尋 curve,
看下面這二個人的留言,
k 版後續維護者:indman
m 版維護者:madires
看起來不會做類似的功能。
----------------------------------------------------------

Tester.jpg
圖片是 #5 和 #13 的 644 線路實作,完整資料見附件,EEVblog 抓的

mcu.jpg
m 版支援的 MCU 型號

注意 MCU 不要 PV(低速) 的,能穩定跑 16MHz 的佳。

我想整理一下 m 版的編譯方法,之後分享。
也許可以進一步一探究竟,大家多多討論。

DevKit-644.zip

349.06 KB, 下載次數: 5

 樓主| 發表於 2023-3-21 08:57:19 | 顯示全部樓層
編譯 m-firmware 的方法

警告:
更改韌體可能造成機器無法開機,
以下操作方法須自行承擔風險,
在此不負任何責任。


預先準備:
操作中必須查詢/研讀文件,無法速成。
各種機型線路不同,遇到問題想辦法解決。
搜尋資料過程繁瑣,要有耐心。

文件:
1. ttester.pdf (1.13k)
2. ctester-1.48m.pdf
3. Clone-Comparison-Chart.pdf
4. 機器線路圖 (最好要有)
5. MCU pinout 圖 (線路圖的代替方案)

軟體:
1. 1.48m 原始碼
2. Windows 7
3. WinAVR

工具:
1. USB ISP 燒錄器/下載器 (含燒錄程式)
2. 排線
3. 三用電錶

網路資源:
1. EEVblog
2. m-firmware
3. Clone ttester
4. avr-fusebit-doctor
5. Google 翻譯
---------------------------------------
第一步:確定測試器支援程度

1. 檢查文件 123 中有沒有你的測試器型號
2. 檢查測試器的 MCU 是否為 m-firmware 相容型號
3. 檢查主機板上有沒有 ISP Port
4. 上 EEVblog 找線路圖和相關檔案

能在 EEVblog 上找到修改後的 config 檔是最好的了,
免去之後的複雜設定。找不到改過的 config,至少要有線路圖,
或者參考 MCU pinout 圖,看主機板追蹤線路。
沒有 ISP Port,幾乎可以判斷非 atmega 晶片,
就沒辦法用 m-firmware。

注意:
LCR-TC1、TC2 or T7 類似機型(外型),有防改晶片(STC15),
要解鎖或修改電路才可以用別的韌體,詳細請見這裡
目前已知除了板號 T7-PLUS V1.2 外,大都有晶片鎖住。


640px-Isp_headers.svg.png
ISP Port,有 6-pin 和 10-pin 二種
----------------------------------------------------------------------
待續…

評分

1

查看全部評分

 樓主| 發表於 2023-3-22 02:08:51 | 顯示全部樓層
第二步:建立編譯環境

1. 主機板連接 USB ISP 燒錄器,pinout 如上面 #27 的圖片。

連接前斷開測試器的電源/電池
用三用電錶確認主機板上的 ISP Port 哪一腳是 VCC/GND
確認燒錄器上哪一腳是 VCC/GND
尤其不是用排線,用單獨一條一條杜邦線組合的,
確認 pinout 很重要,以免插錯損壞晶片。

2. 開啟燒錄程式,備份舊的 Flash 和 EEPROM 及 fusebit

我是用 progisp,網路上可以抓到。
不一定要這個,燒錄器附的也可以,大同小異。
fusebit:Low、High、Ext、Lock,讀取後記下來。
例如:Low F7, High D9, Ext FC, Lock FF。
Save Flash & EEPROM,備份舊的韌體和資料。
讀不出來,或者存檔的大小為 0,表示已被設為防讀。
防讀狀態下,不可讀取,可以抹除,
建議不要繼續改韌體,會無法還原舊的韌體。
也不保證備份的存檔一定正確,在抹除/更新韌體前務必考慮清楚。

3. 安裝 WinAVR-20100110

Win10 會顯示 DLL 錯誤,我是裝在 VM Win7 裡。
裝好 WinAVR-20100110,解壓縮 Toolchain 3.4.5,
覆蓋 C:\WinAVR-20100110 裡面的檔案。
不要裝到 Toolchain 3.5,編出來的檔會比較肥。

4. 編譯 makefile (參考 1.13k 文件第 64 頁)

解壓縮 1.48m 原始碼 (ComponentTester-1.48m.tar)。
開始功能表 -> WinAVR -> 執行 Programmer's Notepad。
視窗功能表列,File -> Open,開啟剛才解壓縮 1.48m 資料夾裡的 makefile。
固定步驟:視窗功能表列,Tool -> Make Clean 再 Make All。
注意:重新編譯時,一定先 Make Clean 再 Make All。
編譯好了,在 1.48m 目錄下,會出現 ComponentTester.hex 和 ComponentTester.eep。
這樣就是建立好編譯環境了。

notepad.jpg
-----------------------------------------------------------------------------------------------
待續…
 樓主| 發表於 2023-3-23 01:39:19 | 顯示全部樓層
第三步:修改 config (1)

基本的 config 有 3 個,
加上顯示器(螢幕) LCD/LCM 相關的 2 個,共 5 個。
參考 1.48m 文件第 9 頁。

下面簡單說明會改到的地方,
其他沒列出的請見 1.48m 文件。
1.48m 文件找不到答案,見 1.13k 文件。
或搜尋 EEVblog 和 Google。

1. Makefile:編譯器的設定檔

改好後,除非換 MCU,不用再改。
速度填主機板上晶振的速度。
加速要換晶振,不可以晶振是 8MHz,速度改 16MHz。
---------------我的心得----------------------------------------------
不建議 20MHz,製程愈新的型號,愈省電=高速不穩定。
644(原始型號,後面無編號) 可穩定跑 20MHz。
644P、644PA、644Xx  不一定可穩定跑 20MHz。
16MHz 都沒問題。8MHz 可改 16MHz 晶振,檢測加快。
------------------------------------------------------------------------

makefile1.jpg

makefile3.jpg

makefile2.jpg

makefile4.jpg

2. config.h:系統設定(軟體、介面、功能)
設定開啟/支援什麼功能。
必須與 config_<MCU>.h 配合。
修改後,config_<MCU>.h 要一併修改。

3. config_<MCU>.h:
設定硬體的對映 Port/Pin、顯示器 LCD/LCM,
各 MCU 設定檔不同。
必須與 config.h 配合。
修改後,config.h 要一併修改。
config_328.h  - ATmega 328
config_644.h  - ATmega 324/644/1284
config_1280.h - ATmega 640/1280/2560

4. <顯示器型號>.c:
「顯示器型號」換成你的顯示器型號。
支援的顯示器見 1.48m 文件 2.6 Displays。
設定要引用的字型。

displays.jpg

5. colors.h:設定顯示介面的顏色
-------------------------------------------------------------------------
待續…

 樓主| 發表於 2023-3-24 04:22:05 | 顯示全部樓層
第四步:修改 config (2)

接下來要進入正題了,
有關聯的檔案會一起解說,
請多注意會一次改多個檔案。
1.48m 和 1.13k 文件準備好,
還有 Google 翻譯。

範例是 LCR-TC2,板號 T7-PLUS V1.2,
MCU atmega324,顯示器(螢幕) ST7735。
待修改的檔為:
config.h
config_644.h (換成你的 MCU 檔)
st7735.c (換成你的顯示器檔)
colors.h

1. 顯示器(螢幕)設定:
開啟 config_<MCU>.h,找到你的顯示器模組的程式碼。
其他顯示器模組就不需要了,預設都是未啟用,
你也可以把不要的程式碼刪掉,看起來比較簡潔。

4-1.jpg

4-2.jpg


開啟 1.48m 文件,到 2.6 Displays 找你的顯示器。
表格內是預設對映的 Port,可以用 hardware SPI 通訊(速度快)。
市售機不是用預設 Port 的話,要改用 bit-bang SPI 通訊(軟體,速度慢)。
對照表格、主機板線路圖(或 MCU pinout),確認顯示器的線路是否連到預設 Port。
是:確認設定是否和表格一樣,不同就改成和表格一樣。
不是(或不確定線路):1.48m 文件 7 Collection of settings,
找你的機型,或類似型號。參考裡面的列表改。
以上都沒有的話,只能參考 MCU pinout,嘗試到顯示器能開起來(共 4 or 5 Port)。

4-3.jpg

4-4.jpg

4-5.jpg

4-6.jpg


2. 字型設定:
字型佔很大的空間,Flash 比較小的 MCU,要取捨功能或介面好看。
一樣修改剛才的顯示器程式碼之下段,及 <顯示器型號>.c 。
字型檔位置:ComponentTester-1.48m\bitmaps。
將檔名加入顯示器程式碼下段,和 <顯示器型號>.c  裡,
就能使用該字型,有二種顯示字型,每種選一個,其他註解。
font_xxx:一般字型,ABCD,26 個英文字。
symbols_xxx:符號字型,例如:μ、Ω。

4-7.jpg

4-8.jpg

3. 設定介面顏色:
編輯 colors.h,搜尋你的顯示器型號的程式碼來修改。
4-9.jpg

---------------------------------------------------------------------------
待續…

評分

2

查看全部評分

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-12-18 08:05 PM , Processed in 0.126716 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.