我有一个uno,我已经使用了三年了。我将在一个相当关键的项目中再次使用它,其中董事会方面的失败可能是相当昂贵和危险的。因此,我想确保董事会不会快要寿终正寝或即将失败。有没有可靠的方法可以确定电路板在不发生故障或性能下降的情况下能够运行多长时间?
我有一个uno,我已经使用了三年了。我将在一个相当关键的项目中再次使用它,其中董事会方面的失败可能是相当昂贵和危险的。因此,我想确保董事会不会快要寿终正寝或即将失败。有没有可靠的方法可以确定电路板在不发生故障或性能下降的情况下能够运行多长时间?
Answers:
不幸的是,在固态电子设备中,没有太多方法可以真正确定“磨损”。
可能最有可能发生故障的是电解电容器和连接器。
首先,如果您将ATmega CPU用作可能伤害某人的东西,请与ATMEL联系并就安全注意事项进行交谈。大多数arduino型号使用的ATmega CPU 不适用于此类情况。
在每个数据表中:
Atmel产品无意,未经授权或担保用作旨在支持或维持生命的应用中的组件。
现在,实际上,这可能主要是律师排斥,但您仍应采取适当的预防措施。
真的,尽管除了连接器之外,通用arduino板上没有任何真正磨损的东西,但您为什么要以潜在的巨额成本节省30美元呢?只需购买一个新板。
我也强烈建议您选择带有SMT ATmega328P的板,因为这样可以将IC插座触点从关注的列表中删除。如果可能的话,还请移开排针,然后将焊锡丝直接焊接到板上。尽量减少连接器,因为它们是经常出现的故障点。
随着时间的推移,Arduino可能变得不可靠的部分之一就是其内存。在基于AVR的Arduino板上使用的微控制器中有三个内存池:
内存是电路板的一部分,可以对其进行检查和验证,从而评估其可靠性/运行状况。检查内存的最基本方法是在内存中的每个地址上写入特定的8位模式(字节字符),然后从每个地址读取存在的值。如果写入的值与读取的值匹配,则内存中的特定8位块目前正在正确运行。
ROM存储器中的磨损通常以逐块模式发生,即n * 8位块随时间而变差。因此,对于2K字节的ROM芯片,可以通过在芯片上的每个字节进行写入和读取以及计算正确运行的块的百分比来估算芯片的运行状况。如果失败块的百分比很高(15%-20%),则意味着内存可能很快就会失败。
可以使用单独的方法为每个内存部分编写测试代码。
静态或动态声明的任何变量都分配在SRAM上。因此,我们可以声明一个大字符数组(〜2000),并用255(所有位1)填充每个元素。然后,我们可以尝试读取每个元素,并查看所读取的值是否确实为255。
可以使用EEPROM库操作EEPROM。该库提供了从EEPROM中特定位置读取和写入的功能。因此,只需在整个内存空间上循环即可测试所有内存地址。此操作将需要500次写入和读取。
根据电路板的使用情况,EEPROM最有可能首先发生故障,但对电路板的运行并不重要。
可以使用PROGMEM
指令将数据存储在闪存中。与SRAM类似,可以在此处声明和初始化大型数组。然后,可以读取和检查值。
编辑:那些不赞成我投票的人,噢,别太傻了!为此,您需要是电子,然后通过电路本身检查一切是否正常:)
将评估板插入计算机的USB端口,并检查评估板上的绿色LED电源指示灯是否点亮。标准Arduino板(Uno,Duemilanove和Mega)在复位开关附近有一个绿色LED电源指示灯。
电路板上电时,电路板中心附近的橙色LED(下图中标记为“ Pin 13 LED”)应闪烁(从工厂预装了软件的电路板可以使LED闪烁),以方便检查。板正在工作)。
如果将主机板连接到计算机时电源LED指示灯不亮,则可能是主机板未接通电源。
闪烁的LED(连接到数字输出引脚13)由板上运行的代码控制(新板上预装有Blink示例草图)。如果13脚LED指示灯闪烁,则草图运行正确,这表示板上的芯片正在工作。如果绿色电源LED亮起,但插针13 LED不闪烁,则可能是工厂代码未在芯片上。如果您不使用标准板,则其插针13上可能没有内置LED,因此请查看文档以获取有关板的详细信息。