Contact me: hankecnc@gmail.com

Gen7的掉电复位 #174

推推 grbl 3年前 (2023-01-25) 369次浏览
新问题

Gen7的掉电复位 #174

 关闭
克诺尔马蒂亚斯 打开此问题 on May 20, 2012 ·34条评论

评论

Gen7的掉电复位 #174

你好,

我目前正在将我的固件从茶杯(这里一切正常)迁移到马林(v1.0.0.RC2-132),并在连接到打印机时遇到问题。打印机联机,并立即得到重置与消息“布朗出重置”。我能够将问题调试到temperature.cpp中的以下位置:


// Use timer0 for temperature measurement
// Interleave temperature interrupt with millies interrupt
OCR0B = 128;
TIMSK0 |= (1<<OCIE0B);

将最后一行更改为:

TIMSK0| =(1<<个OCR 0 B);

它现在工作了。打印机保持在线,我可以移动所有的轴。
我的想法是,变量OCR0B应该出现在该行中,而不是OCIE0B。

我不知道这个代码是关于什么的,也许其他人可以批准这个。

谢谢你们,
马蒂亚斯

Gen7的掉电复位 #174
贡献者

你好,

掉电复位是由掉电引起的。
我认为中断屏蔽会导致这种情况是很奇怪的。
温度还正常吗?

Gen7的掉电复位 #174

嗯,对我来说,变量OCIE0B似乎没有初始化/可用,但现在我认为这不是一个变量。;)

标头尚未工作。pins. h中的配置与Repetier中的配置相同。我不知道是什么导致了这个问题。硬件是工作与茶杯和repetier没有问题…

你知道该去哪里看或者下一步该查什么吗?

谢谢!

Gen7的掉电复位 #174
贡献者

我已经通过保险丝将ATMEGA1284(GEN7)上的掉电检测更改为2.7V。这只是一个变通办法,但没有副作用,因为约4个月。

Gen7的掉电复位 #174

我尝试了这个变通办法,改变OCIE0B,然后也能够移动我的轴,不再得到一个棕色的复位,但我不能让我的热敏电阻或加热器工作。 我有一个gen7 V1.3.1板,其热敏电阻在待机期间重新布线以工作。Knorrmatthias,你曾经让你的热敏电阻或加热器工作过吗?Erik,Scuba,有没有什么可以在固件中完成的,而不是更换保险丝?

Gen7的掉电复位 #174

我尝试了同样的“解决方法”:未针对Gen 7定义宏OCIE 0 B,因此其不起作用;替换为提议的OCR 0 B至少可以让固件启动并移动电机,但温度读数均为零。

有人修过这个吗?

我使用的是Gen 7 1. 2板,打印机在茶杯上工作(所以它不是机械/电气的东西)。

Gen7的掉电复位 #174
贡献者

一个停电复位只能是一个硬件缺陷,我不知道茶杯是如何工作的,但它也停电的Gen7不时。我能让它工作的唯一方法是像SCUBA82那样设置保险丝,我的保险丝一直很好(你需要一个Atmel程序员,Pololu做一个便宜的)。

我不知道为什么Traumflug签署他的董事会,他们不是一个很好的设计(对不起Traumflug)。

Gen7的掉电复位 #174

更新:OCR 0 B是输出比较寄存器B,8位寄存器。假设OCIE 0 B为2,以指向寄存器TIMSK 0(定时器/计数器中断屏蔽寄存器)的位2。因此,这是一个毫无意义的修复,也可以参见http://www.cs.mun.ca/~rod/Winter2007/4723/notes/timer0/timer0.html

我怀疑OCIE0B是否真的没有在我的Arduino环境中定义,因为所有文件都可以编译,缺少宏或定义应该会引发错误。

我真的不明白为什么掉电检测会触发:根据http://forums.reprap.org/read.php?181,118329,page=1我需要调整保险丝。我会回邮一旦我想出如何做到这一点,因为它似乎我的644P是写保护的时刻,需要负荷的命令来改变…

Gen7的掉电复位 #174

我刚意识到我需要一个程序员来改变保险丝…

有没有可能阻止马林在“掉电”后重启?我不明白为什么它会这样做,因为Atmega正在获得一个稳定的5.05V电源,而且以前从未触发过茶杯的停电……

Gen7的掉电复位 #174
贡献者

可能你有一些短路在你的董事会某处,只是一个微小的短路,导致5V电源下降的某些种类的输出。掉电检测器触发非常快(因为它就是这么做的)。您是否使用万用表或示波器测量过5V电源?

Gen7的掉电复位 #174

未连接加热器的万用表。

我很难相信我在一个已经运行孟德尔一年多的董事会上有一个缺点。(Not要提到的事实是,我检查短裤之前,以往任何时候都使用董事会)。

Gen7的掉电复位 #174

因此,更有可能是去耦电容故障或电容/IC电源引脚的虚焊导致5V供电轨偶尔出现过强尖峰。

要跟踪和修复此类小故障,您需要20MHz或更好的示波器,或者愿意重新焊接电容和电源引脚,或者离开电路板。

不是软件错误,因为停电探测器正在做它设计要做的事情。

斯科蒂

从我的iPad mini发送

2012年12月5日凌晨3:00,Cyberwizzard通知@ github.com写道:

未连接加热器的万用表。

我很难相信我在一个已经运行孟德尔一年多的董事会上有一个缺点。(Not要提到的事实是,我检查短裤之前,以往任何时候都使用董事会)。


直接回复此邮件或在GitHub上查看。

Gen7的掉电复位 #174
贡献者

Gen7的问题之一是它使用PC 5V供电轨,噪声大,
不稳定,而其他reprap电子调节12V下降到5V
在本地。它要稳定和干净得多,并且引用本地
接地。

2012年12月5日11:48,scotty1024notifications@github.com写道:

因此,更有可能是去耦电容器故障或焊料过冷
连接到这样一个电容器/IC电源引脚,允许5V供电轨刚好
有时候会有点太难了。

要跟踪和修复这样的小故障,您需要20MHz或更好的示波器
或者愿意重新焊接盖帽和电源引脚,或者走开
从董事会。

不是软件错误,因为欠压检测器正在执行其任务
设计的目的。

斯科蒂

从我的iPad mini发送

2012年12月5日凌晨3:00,Cyberwizzard通知@github.com notifications@github.com
写道:

未连接加热器的万用表。

我发现很难相信我在一个一直在运行的董事会上有一个空头。
孟德尔一年多了… (Not提到一个事实,我检查了
短裤之前,曾经使用董事会)。


直接回复此邮件或在GitHub上查看。


直接回复此邮件或在GitHubhttps://www.example.com上查看。github.com/ErikZalm/Marlin/issues/174#issuecomment-11038486.

Gen7的掉电复位 #174
贡献者

我真的会检查瓶盖…如果没有松动的电线/插头可能导致暂时的尖峰–可能是电容/morors上的电流太高(/电容值太低)

Gen7的掉电复位 #174
贡献者

好吧,我建议把usb侧的5V轨道切掉…

Gen7的掉电复位 #174

在处理此类问题时,需要牢牢记住的另一件事是:本杰明·富兰克林错了。电子不是从+流向-,而是从-流向+。也就是说闪电不是打在地上而是打在云上。:—)

这种细微差别很重要,因为地线是电子的来源,因此当你有停电一般是故障所在,如果它是一个电源布线问题。

您还可以通过将更多去耦电容直接从接地层焊接到处理器的电源引脚来解决此类问题。这是一种常见的返工技术,用于在QA期间挽救故障PCB。通常,直接从最近的接地引脚到电源引脚焊接0.1uf电容,以允许噪声通过电容而不是芯片从接地引脚流向电源。

斯科蒂

从我的iPad mini发送

在十二月5,2012,在3:52上午,克里斯notifications@github.com写道:

Gen7的问题之一是它使用PC 5V供电轨,噪声大,
不稳定,而其他reprap电子调节12V下降到5V
在本地。它要稳定和干净得多,并且引用本地
接地。

2012年12月5日11:48,scotty1024 notifications@github.com写道: notifications@github.com wrote:

因此,更有可能是去耦电容器故障或焊料过冷
连接到这样一个电容器/IC电源引脚,允许5V供电轨刚好
有时候会有点太难了。

要跟踪和修复这样的小故障,您需要20MHz或更好的示波器
或者愿意重新焊接盖帽和电源引脚,或者走开
从董事会。

不是软件错误,因为欠压检测器正在执行其任务
设计的目的。

斯科蒂

从我的iPad mini发送

2012年12月5日凌晨3:00,Cyberwizzard通知@github.com notifications@github.com
写道:

未连接加热器的万用表。

我发现很难相信我在一个一直在运行的董事会上有一个空头。
孟德尔一年多了… (Not提到一个事实,我检查了
短裤之前,曾经使用董事会)。


直接回复此邮件或在GitHub上查看。


直接回复此邮件或在GitHubhttps://www.example.com上查看。github.com/ErikZalm/Marlin/issues/174#issuecomment-11038486.


直接回复此邮件或在GitHub上查看。

Gen7的掉电复位 #174
贡献者

当马林打开加热器时,它会变暗,茶杯必须以稍微不同的顺序进行操作,而不会导致问题。但我仍然会看到我的棕色运行茶杯长打印,它会暂停短暂。

去耦看起来不错,我认为栅极限流电阻太小(1.4和1.4.1中的R11和R12为10R),您可以尝试使用22R。但这会使FET运行温度更高…

编辑:想一想,马林并没有以高频率驱动FET(床)的温度。马林将可能是安全的与一个更大的限流电阻器。茶杯可能不是。

Gen7的掉电复位 #174
贡献者

旧版本的Gen7的接地布线不好,我认为这是
问题IIRC。

2012年12月5日16:26,布雷肯notifications@github.com写道:

马林一打开加热器,它就熄灭了,茶杯必须在一个小时内把它打开。
订单略有不同,但不会导致问题。但我还是会
我看到我的长打印运行茶杯,它会暂停
简短地说。

去耦看起来正常,我认为栅极限流电阻
太小(1.4和1.4.1上的R11和R12为10R),您可以尝试使用22R
(or将另外的10R并行地添加到每一个以测试出这一点)。这将使
场效应晶体管运行温度更高。


直接回复此邮件或在GitHubhttps://www.example.com上查看。github.com/ErikZalm/Marlin/issues/174#issuecomment-11048348.

Gen7的掉电复位 #174

不可能是暖气的问题我一看到停电信息就把它们断开了。可能是靴子过程中电机打开(保持)的原因…

我知道接地布线问题:我的Gen7 1.2不再将加热器连接到FET:我使用外部驱动板,所以这不可能是问题(它拉100mA时打开,不像3A的喷嘴或11A的床)。此外,地面轨道是重新布线直接到电源连接器从之前,我做了外部加热器驱动程序。

我使用的是额定功率为350瓦的12V开关电源(所以没有PC电源),5V是由LM7805线性稳压器产生的,上面有一个电容来稳定+5V。

自从我切换到12V电源和加热器驱动板,我从来没有问题,突然复位或挂起。

话虽如此,我似乎不能阅读保险丝没有Atmega程序员,所以我不知道如果和如何停电检测是工作。

目前我换回了茶杯,直到我可以借一个程序员来进一步调查。我也许还可以借一个示波器来检查5伏线,看看它在运行过程中是否会下降。

Gen7的掉电复位 #174

如果使用过大的电容,LM7805可能会变得不稳定。考虑到步进器噪声,我也会在LM7805的输入和输出上使用一些.1。

斯科蒂

从我的iPad mini发送

2012年12月5日上午9点47分,Cyberwizzardnotifications@github.com写道:

不可能是暖气的问题我一看到停电信息就把它们断开了。可能是启动过程中电机打开(保持)的原因…

我知道接地布线问题:我的Gen7 1.2不再将加热器连接到FET:我使用外部驱动板,所以这不可能是问题(它拉100mA时打开,不像3A的喷嘴或11A的床)。此外,地面轨道是重新布线直接到电源连接器从之前,我做了外部加热器驱动程序。

我使用的是额定功率为350瓦的12V开关电源(所以没有PC电源),5V是由LM7805线性稳压器产生的,上面有一个电容来稳定+5V。

自从我切换到12V电源和加热器驱动板,我从来没有问题,突然复位或挂起。

话虽如此,我似乎不能阅读保险丝没有Atmega程序员,所以我不知道如果和如何停电检测是工作。

目前我换回了茶杯,直到我可以借一个程序员来进一步调查。我也许还可以借一个示波器来检查5伏线,看看它在运行过程中是否会下降。


直接回复此邮件或在GitHub上查看。

Gen7的掉电复位 #174

很高兴这个线程得到了一些关注,只是为了增加信息和样本大小:

我用茶杯,它工作正常,偶尔暂停,但我不相信这是BOD,我相信这是主机减慢计算机。 我最终搬到了repetier,和一个更苗条的主机(pronsole),工作正常。 当连接到打印机,每一次,它变暗两次,但它从来没有变暗在任何其他时间。 当我试图使用马林,我会短接绿色到黑色电线对我的ATX电源,但这没有任何作用,芯片仍然会不断布朗了。

Gen7的掉电复位 #174

我在12 V线上使用了2200 uF;所以你建议我在使用LM 7805前后切换到0.1uF?

Gen7的掉电复位 #174
贡献者

你也切断了场效应晶体管吗?

Gen7的掉电复位 #174

否,FET本身存在(因此即使未连接加热器驱动器):我使用Gen7 PCB上加热器的输出连接器作为加热器驱动器的输入。

Gen7的掉电复位 #174
贡献者

我上面的意思是,FET栅极上的电流冲击导致Vcc在内部暴跌到uC,从而导致停电。你不需要连接加热器,他们运行在12V线反正。当你的微控制器太杂草丛生时,你实际上可以得到一个场效应管驱动器。试着去掉场效应管,或者使用一个更大的栅极限流电阻。

Gen7的掉电复位 #174

Gen 7上的FET由Arduino开关,没有加热器连接到它,唯一流过它的电流来自指示灯LED -这不可能是问题所在。

我将示波器连接到各个部件,以了解发生了什么-ATmega设置为4.3V欠压,测量的最低电压超过4.8V(@50MS/s)。我的结论是马林只是随机重启,绝对与电源无关。

Gen7的掉电复位 #174
贡献者

软件复位AVR的唯一方法是通过硬件看门狗超时,这将挂起引导加载程序,因为硬件看门狗在复位后保持打开,引导加载程序从不切换它,所以它在马林再次运行之前超时。因此,软件重置将导致控制器挂起,而不是重置控制器。

Gen7的掉电复位 #174
贡献者

当BOD设置为4.3时,阈值可高达4.5V。

FET具有1nF范围内的高栅极电容,因此,如果没有栅极电阻,则无论负载如何,都需要很大的电流尖峰才能充电。

由于内部走线的电阻,芯片内部的电压可能略低于您在引脚处测量的电压。如果在FET开关时发生,请尝试通过移除电阻器断开栅极。如果它工作正常,则用更高的值替换它。实际上,应选择不超过ATMega最大输出电流的电流。10 R得到0.5A!

Gen7的掉电复位 #174

当ATmega启动时,它看起来像加热器打开;但是它们这样做与固件无关。在此期间,每个测量点(LM 7805、走线上的各个点、所有步进驱动器和ATmega上的Vss引脚)的电压都保持在4.90V以上,远高于4.5V。

当我运行所有的电机和加热器模拟,我得到下降到4. 81伏-也很好地在安全范围内。

我的电路板有原来的Gen7 1. 2布局,这意味着栅极电阻是1K(栅极充电5mA,远不及10R会给予的500mA)。这也是为什么我使用外部加热器驱动程序,以防止电气mahem滥用ATmega。

但感谢到目前为止的建议-我将尝试调查潜在的监督问题。

顺便说一句,这是否意味着每个人都在使用其他东西比ATmega 644 P(和/或Gen 7)与马林?

Gen7的掉电复位 #174
贡献者

我使用马林与ATmega 644P的Sanguinololu,相当老的版本虽然。

在2012年12月23日14:28,Cyberwizzard通知@ github.com写道:

当ATmega启动时,它看起来像加热器打开;但他们确实这么做了
而与固件无关。在此期间,每个测量点的电压
点(在LM7805上,在轨道上的各个点上,在所有步进器上
驱动器和ATmega上的Vss引脚)保持在4.90V以上,
大大高于4.5V。

当我同时运行所有的马达和加热器时,我得到的下降到
4.81V-也在安全范围内。

我的电路板采用原始Gen7 1.2布局,这意味着栅极电阻
是1k(和栅极是用5mA充电,远远接近500mA和10R
将给予)。这也是为什么我使用外部加热器驱动器,以防止
比如滥用ATmega。

但是谢谢你到目前为止的建议–我会试着调查一下
潜在看门狗问题。

顺便说一句,这是否意味着每个人都在使用ATmega以外的其他东西
带Marlin?的644P(和/或Gen7)


直接回复此邮件或在GitHubhttps://www.example.com上查看。github.com/ErikZalm/Marlin/issues/174#issuecomment-11646546.

Gen7的掉电复位 #174
贡献者

我仍然使用我的Gen7,只是BOR设置为2.8V。从那以后就没出过问题。

Gen7的掉电复位 #174 代德 我提到了这个问题 on Jan 7, 2013
Gen7的掉电复位 #174
贡献者

我们在德国论坛上与Traumflug就“灯火管制”问题进行了一些讨论,最终找到了解决方案。(请访问:247号、170384号、171365号信息)。

它的一个简短摘要:

  • “Repetier FW”(与激活的i2c显示器一起)中也会出现掉电
  • 裸露的atmega电路(在试验板上)也会发生断电。因此,似乎不涉及加热器、电机或终点挡板电路。
  • 没有“L1”(低通滤波器线圈),不会再发生掉电。

结论:
直到GEN7 1.4.1,线圈”L1″才被正确切割。应为10uH而非100uH(如数据表所述)。Traumflug已在新GEN7 v1.5中纠正了其值。