我對AVR Transistortester的修改文檔。
晶體管測試儀是您可以插入不同類型的電子組件並對其進行分析的設備。它不僅讀取晶體管並告訴您是NPN還是PNP,而且還告訴您電阻或電容器電容的阻力等等。有許多不同的類型,它們通常非常便宜。
我有Banggood的GM328套件(那裡不再可用),有時被確定為Ay-at。
著名的硬件:
為了提高測試儀的準確性,您可以進行一些簡單的修改。
(圖片來自https://github.com/upcycle-electronics/avr-transistor-tester)
另請參見有關Eevblog的這篇文章。
從k-crimpware的讀書中:
“電阻R1至R6對於測量至關重要,該680Ω和470kΩ電阻應為測量類型電阻(公差為0.1%),以獲得完全的準確性。 ”
“在引腳PC4(ADC4)連接的附加的2.5V精度電壓參考可以用於檢查和校準VCC電壓,但不需要。您可以使用LM4040-AIZ2.5(0.1%),lt1004cz-cz-2.5( 0.8 %)或LM336-Z2.5(0.8%)作為電壓參考。較高的電阻值(47kΩ)。
從M-Cirmware的錄音機中:
“外部2.5V電壓參考應僅在至少比電壓調節器高10倍的情況下啟用10倍。否則,它會使結果更糟。如果您使用的是MCP1702,典型的耐受性為0.4%作為電壓調節器,則確實不需要2.5V電壓參考。
K-Firmware的REDME中有關R16的部分令人困惑,因為它在M-Firmware的讀書中沒有提及。這篇文章確認只有K-Firmware需要:
“對於運行M-Firmware,您可以跳過步驟3或刪除R16(無需替換)。當禁用HW_REF25時始終檢查2.5V參考(沒有設置以禁用該引用)。
我選擇訂購0.1%電阻,並且僅訂購MCP1702電壓調節器,跳過電壓參考。還增加了一個16MHz晶體以提高速度:
具體的變化,參考了原理圖:
這就是這些變化的外觀:
0.1%電阻(黑色)比默認值(藍色)厚一些,因此它們重疊了一點。
晶體管測試儀有2種不同的固件選擇。原件是K固定軟件。測試儀帶有1.12K版本(非常舊),最新版本為1.13k。 K-Firmware的開發目前正在擱置。它已被分配到M-Cirmware,該軟件已重寫並具有其他功能,並且仍在積極的開發中。
K-Firmware源可在此處找到,並在MEGA328_COLOR_KIT目錄中提供AY-AT的預編譯固件。那裡還有一個具有正確參數的Makefile。 M-Cirmware的來源可在此處獲得,但僅作為Tarballs。沒有預編譯版本。這兩個公司也可以在這裡找到。
我選擇使用M-Firmware,因為它仍在積極開發中。寫作時的最新版本為142m。
固件中有3個配置文件需要調整。有關為AY-AT構建兼容固件所需的基本更改,請參見文件“克隆”(從固件TGZ)。我所做的其他更改在這裡記錄。這些文件也可以在固件目錄中可用。
HW_REF25
,因為我不使用TL431A電壓參考或推薦的LM4040替換。SW_IR_RECEIVER
,因為固件太大(105%),並且不適合Atmega328p。對IR的支持對我來說並不重要,因此可以禁用。UI_AUTOHOLD
,因為連續測試模式很煩人。我寧願花時間閱讀結果。POWER_OFF_TIMEOUT
,因此在空閒時關閉。SW_POWER_OFF
以便我可以將其從菜單上關閉。 LCD_LATE_ON
因為初始化時屏幕非常亂,並且此設置使其看起來不錯。 FREQ
更改為16。 如果您只想構建一個新的固件,並且不在乎此處介紹的任何硬件修改,則可以按照以下例外遵循配置示例:
HW_REF25
FREQ
設置為8這將為您提供一個固件,該固件在Banggood的“庫存” GM328 AY-AT上運行。
除了已經安裝的構建工具外,我還必須添加以下軟件包(在OpenSuse):
avr-libc
cross-avr-gcc9
然後make
。
構建完成後,您應該擁有這些文件,這些文件構成了固件:
ComponentTester.eep
ComponentTester.hex
編譯器的輸出應以這樣的方式結束:
AVR Memory Usage
----------------
Device: atmega328
Program: 32234 bytes (98.4% Full)
(.text + .data + .bootloader)
Data: 248 bytes (12.1% Full)
(.data + .bss + .noinit)
EEPROM: 738 bytes (72.1% Full)
(.eeprom)
如果這些中的任何一個超過100%,則在固件中啟用了太多,並且它將無法使用。
要刷新固件,我們需要3個文件。來自上方的2個固件文件,以及componentTester.cfg。最後一個文件包含Atmega328p的保險絲的配置。從makefile提取保險絲配置。要查看保險絲意味著什麼,您可以使用此在線計算器。
AY-AT不支持開箱即用的固件。有兩種方式。
第一個選項不需要對晶體管測試儀的調節,但是您必須從套筒上刪除芯片,並在每次要更新固件時將其插入程序員。
我將TL866II加上通用程序員以及用於Linux的MiniPro開源軟件。有關如何使用的更多信息,請參見https://github.com/blurpy/minipro。
使用程序員中的芯片,只需運行以下命令:
minipro -p "ATMEGA328P@DIP28" -E
minipro -p "ATMEGA328P@DIP28" -c data -w ComponentTester.eep -e
minipro -p "ATMEGA328P@DIP28" -c code -w ComponentTester.hex -e
minipro -p "ATMEGA328P@DIP28" -c config -w ComponentTester.cfg -e
應該就是這樣。
另一個選項是在電路板背面的焊接銷量添加缺少的ICSP標頭,該標頭使您可以在電路中刷新固件。更多的工作,但如果您經常更新固件,則非常有用。
我添加了這樣的直角標頭銷:
這是引腳(與上述相比鏡像):
有許多不同的設備可用於使用ICSP標頭閃爍,例如此示例使用Arduino Uno作為程序員,但我將使用上面提到的TL866II Plus,因為它也支持ICSP模式,並在下面使用以下銷釘。 :
將電線連接到晶體管測試儀(卸下電源)和程序員之間,只需運行以下命令:
minipro -p "ATMEGA328P@DIP28" -E -i
minipro -p "ATMEGA328P@DIP28" -c data -w ComponentTester.eep -e -i
minipro -p "ATMEGA328P@DIP28" -c code -w ComponentTester.hex -e -i
minipro -p "ATMEGA328P@DIP28" -c config -w ComponentTester.cfg -e -i
應該就是這樣。
這是刷新新固件後的完成結果:
如果要還原到已知的工作固件,可以在此處找到原始固件。
最初,我在編譯步驟之後沒有註意輸出:
AVR Memory Usage
----------------
Device: atmega328
Program: 34784 bytes (106.2% Full)
閃爍固件效果很好,但是在嘗試啟動測試儀時,它會在屏幕上迅速閃爍白色,然後關閉。我認為這是一個硬件問題,但是在測試使用的原始固件時。在此固件中禁用足夠的功能以使其低於100%的內存,也可以正常工作。
當我忘記在編譯和閃爍之前將屏幕配置在config_328.h
中時,測試儀將打開並顯示白屏,直到刪除電源為止。通過添加正確的配置並重新嘗試輕鬆修復。
刷新新固件後,建議遵循自動化記錄中描述的步驟以進行自我調整。
步驟簡短的摘要:
Adjustment
Save
在菜單中,然後選擇插槽#1當被要求簡短探針時,我在測試點1和測試點2之間以及測試點2和ZIF插座中的測試點3之間使用了短面板線。