我对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之间使用了短面板线。