Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何修复AVR中的棕色输出重置?_Assembly_Avr_Servo - Fatal编程技术网

Assembly 如何修复AVR中的棕色输出重置?

Assembly 如何修复AVR中的棕色输出重置?,assembly,avr,servo,Assembly,Avr,Servo,在我的ATMEGA32开发板中,我正在使用伺服电机,我想这就是问题的原因。我有两个工作在汇编子程序,使伺服旋转相反的方向。当他们单独打电话时,他们肯定很好,但当我在两次通话之间延迟1秒时,我收到了这个警告 “在上次操作中发生断电复位,请检查电源电压。” 我从互联网上的研究中了解到,如果我试图将伺服旋转得太快,这可能会发生,但它可以在另一个代码中快速来回,这是我在单独的子程序中编写它们的原因吗?但是我需要这样做。当过多的电流通过输出引脚时,可能会出现断电。这会导致电压下降过多,从而触发断电检测。如

在我的ATMEGA32开发板中,我正在使用伺服电机,我想这就是问题的原因。我有两个工作在汇编子程序,使伺服旋转相反的方向。当他们单独打电话时,他们肯定很好,但当我在两次通话之间延迟1秒时,我收到了这个警告

“在上次操作中发生断电复位,请检查电源电压。”


我从互联网上的研究中了解到,如果我试图将伺服旋转得太快,这可能会发生,但它可以在另一个代码中快速来回,这是我在单独的子程序中编写它们的原因吗?但是我需要这样做。

当过多的电流通过输出引脚时,可能会出现断电。这会导致电压下降过多,从而触发断电检测。如果处理器的电源被同一电源上的其他项目超负荷,也可能发生这种情况

伺服电机是否由不同的电源供电?您的代码中是否有一些原因导致伺服系统在代码更改时消耗更多的功率


此堆栈交换用于代码问题。如果您发布一些代码,可能会有一个可用的修复程序,但很可能通过硬件更改更容易修复您的问题。也许是一个更好的电源,或者是在电源上增加一个更大的电容器来处理电流浪涌

虽然这个问题可能更适合electronics.stackexchange.com或arduino.stackexchange.com,但一个可能的解决方案是非常直接的

我在Arduino(ATMEGA 2560)上使用了其中的两个。该应用是一个云台,电机可能会拉过大的电流,Arduino无法提供电源。我的问题一开始似乎是间歇性的:我的测试代码并不总是导致处理器复位。后来我断定,灯灭的发生与电动机的起始位置、期望的转角等有关,这是完全有意义的:我没有考虑电动机启动电流需求等。
我的解决方案是为电机提供一个专用的5VDC 1.5A电源-这完全解决了处理器复位问题。请注意,按照这种方法,您必须在电机和ATMEGA32板之间建立一个共同点。

听起来像是一个硬件问题。我投票结束这个问题,因为这是一个硬件问题。你们可能会在电气工程方面得到帮助:我投票决定把这个问题作为离题题来结束,因为这是一个硬件问题。