简单的USB电源测试仪基于ATTINY25/45/85和INA219。该设备测量电压,电流,功率,能量,容量,并在OLED屏幕上显示值。您可以通过按“设置”按钮在不同的屏幕之间切换。
该设备配备了用于输入的USB-A插头和输出的USB-A插座,因此可以在电源和消费者之间插入。 D+和D-通过,以便消费者可以协商充电协议。
INA219用于测量电压和电流。 INA219是具有I²C兼容接口的当前分流器和电源监视器。该设备可以通过可编程转换时间和过滤器来监视分流电压滴和总线电源电压。可编程校准值与内部乘数结合使用,可以直接读取Amperes中的电流。所选的8MΩ的分流电阻使电路的影响很小,也可以通过1ma分辨率的测量值产生了很小的影响。为了进行准确的测量,应选择具有低公差(1%或更高)的分流电阻。
用户界面使用两个按钮和一个SSD1306 128x32像素OLED显示器。 ATTINY24/45/85微控制器处理用户界面以及值的计算和显示。
INA219连续测量电流和电压,并通过I²C将值传输到Attiny。由此,Attiny计算其他值并将其显示在OLED屏幕上。
I²C协议实现基于一种粗略的方法。它是专门针对Attiny10和Attiny13的有限资源而设计的,但它还与其他一些AVR(包括Attiny25/45/85)一起使用。 OLED的功能适用于SSD1306 OLED模块,但可以轻松地修改它们以用于其他模块。为了节省资源,仅实现了本应用程序所需的基本功能。有关I²COLED实施的工作原理的详细信息,请访问Tinyoleddemo。
Attiny的内部振荡器用于确定能量和容量。通过工厂校准,内部振荡器的准确性为+/- 10%。通过手动校准,这可以提高到+/- 2%或更高。可以在源代码中设置以这种方式确定的校准值。
由于板上没有ICSP标头,因此您必须在使用SOP适配器焊接之前或使用EEPROM剪辑焊接之前对Attiny进行编程。 AVR程序员适配器可以为此提供帮助。
avrdude -c usbasp -p t85 -U lfuse:w:0x62:m -U hfuse:w:0xd5:m -U efuse:w:0xff:m -U flash:w:usb_tester.hex
DEVICE=attiny85 PROGRMR=usbasp make install以编译,燃烧保险丝并上传固件(相应地更改设备和Progrmr)。| 范围 | 价值 |
|---|---|
| 电压 | 3V -12V |
| 当前的 | 最大5A |
| 电压测量分辨率 | 4MV |
| 当前测量分辨率 | 1ma |
这项工作是根据创意共享归因 - 共享3.0未体育许可证的许可。 (http://creativecommons.org/licenses/by-sa/3.0/)