新问题
Gen7的掉电复位 #174
评论
|
你好, 掉电复位是由掉电引起的。 |
|
嗯,对我来说,变量OCIE0B似乎没有初始化/可用,但现在我认为这不是一个变量。;) 标头尚未工作。pins. h中的配置与Repetier中的配置相同。我不知道是什么导致了这个问题。硬件是工作与茶杯和repetier没有问题… 你知道该去哪里看或者下一步该查什么吗? 谢谢! |
|
我已经通过保险丝将ATMEGA1284(GEN7)上的掉电检测更改为2.7V。这只是一个变通办法,但没有副作用,因为约4个月。 |
|
我尝试了这个变通办法,改变OCIE0B,然后也能够移动我的轴,不再得到一个棕色的复位,但我不能让我的热敏电阻或加热器工作。 我有一个gen7 V1.3.1板,其热敏电阻在待机期间重新布线以工作。Knorrmatthias,你曾经让你的热敏电阻或加热器工作过吗?Erik,Scuba,有没有什么可以在固件中完成的,而不是更换保险丝? |
|
我尝试了同样的“解决方法”:未针对Gen 7定义宏OCIE 0 B,因此其不起作用;替换为提议的OCR 0 B至少可以让固件启动并移动电机,但温度读数均为零。 有人修过这个吗? 我使用的是Gen 7 1. 2板,打印机在茶杯上工作(所以它不是机械/电气的东西)。 |
|
一个停电复位只能是一个硬件缺陷,我不知道茶杯是如何工作的,但它也停电的Gen7不时。我能让它工作的唯一方法是像SCUBA82那样设置保险丝,我的保险丝一直很好(你需要一个Atmel程序员,Pololu做一个便宜的)。 我不知道为什么Traumflug签署他的董事会,他们不是一个很好的设计(对不起Traumflug)。 |
|
更新: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是写保护的时刻,需要负荷的命令来改变… |
|
我刚意识到我需要一个程序员来改变保险丝… 有没有可能阻止马林在“掉电”后重启?我不明白为什么它会这样做,因为Atmega正在获得一个稳定的5.05V电源,而且以前从未触发过茶杯的停电…… |
|
可能你有一些短路在你的董事会某处,只是一个微小的短路,导致5V电源下降的某些种类的输出。掉电检测器触发非常快(因为它就是这么做的)。您是否使用万用表或示波器测量过5V电源? |
|
未连接加热器的万用表。 我很难相信我在一个已经运行孟德尔一年多的董事会上有一个缺点。(Not要提到的事实是,我检查短裤之前,以往任何时候都使用董事会)。 |
|
因此,更有可能是去耦电容故障或电容/IC电源引脚的虚焊导致5V供电轨偶尔出现过强尖峰。 要跟踪和修复此类小故障,您需要20MHz或更好的示波器,或者愿意重新焊接电容和电源引脚,或者离开电路板。 不是软件错误,因为停电探测器正在做它设计要做的事情。 斯科蒂 从我的iPad mini发送 2012年12月5日凌晨3:00,Cyberwizzard通知@ github.com写道:
|
|
Gen7的问题之一是它使用PC 5V供电轨,噪声大, 2012年12月5日11:48,scotty1024notifications@github.com写道:
|
|
我真的会检查瓶盖…如果没有松动的电线/插头可能导致暂时的尖峰–可能是电容/morors上的电流太高(/电容值太低) |
|
好吧,我建议把usb侧的5V轨道切掉… |
|
在处理此类问题时,需要牢牢记住的另一件事是:本杰明·富兰克林错了。电子不是从+流向-,而是从-流向+。也就是说闪电不是打在地上而是打在云上。:—) 这种细微差别很重要,因为地线是电子的来源,因此当你有停电一般是故障所在,如果它是一个电源布线问题。 您还可以通过将更多去耦电容直接从接地层焊接到处理器的电源引脚来解决此类问题。这是一种常见的返工技术,用于在QA期间挽救故障PCB。通常,直接从最近的接地引脚到电源引脚焊接0.1uf电容,以允许噪声通过电容而不是芯片从接地引脚流向电源。 斯科蒂 从我的iPad mini发送 在十二月5,2012,在3:52上午,克里斯notifications@github.com写道:
|
|
当马林打开加热器时,它会变暗,茶杯必须以稍微不同的顺序进行操作,而不会导致问题。但我仍然会看到我的棕色运行茶杯长打印,它会暂停短暂。 去耦看起来不错,我认为栅极限流电阻太小(1.4和1.4.1中的R11和R12为10R),您可以尝试使用22R。但这会使FET运行温度更高… 编辑:想一想,马林并没有以高频率驱动FET(床)的温度。马林将可能是安全的与一个更大的限流电阻器。茶杯可能不是。 |
|
旧版本的Gen7的接地布线不好,我认为这是 2012年12月5日16:26,布雷肯notifications@github.com写道:
|
|
不可能是暖气的问题我一看到停电信息就把它们断开了。可能是靴子过程中电机打开(保持)的原因… 我知道接地布线问题:我的Gen7 1.2不再将加热器连接到FET:我使用外部驱动板,所以这不可能是问题(它拉100mA时打开,不像3A的喷嘴或11A的床)。此外,地面轨道是重新布线直接到电源连接器从之前,我做了外部加热器驱动程序。 我使用的是额定功率为350瓦的12V开关电源(所以没有PC电源),5V是由LM7805线性稳压器产生的,上面有一个电容来稳定+5V。 自从我切换到12V电源和加热器驱动板,我从来没有问题,突然复位或挂起。 话虽如此,我似乎不能阅读保险丝没有Atmega程序员,所以我不知道如果和如何停电检测是工作。 目前我换回了茶杯,直到我可以借一个程序员来进一步调查。我也许还可以借一个示波器来检查5伏线,看看它在运行过程中是否会下降。 |
|
如果使用过大的电容,LM7805可能会变得不稳定。考虑到步进器噪声,我也会在LM7805的输入和输出上使用一些.1。 斯科蒂 从我的iPad mini发送 2012年12月5日上午9点47分,Cyberwizzardnotifications@github.com写道:
|
|
很高兴这个线程得到了一些关注,只是为了增加信息和样本大小: 我用茶杯,它工作正常,偶尔暂停,但我不相信这是BOD,我相信这是主机减慢计算机。 我最终搬到了repetier,和一个更苗条的主机(pronsole),工作正常。 当连接到打印机,每一次,它变暗两次,但它从来没有变暗在任何其他时间。 当我试图使用马林,我会短接绿色到黑色电线对我的ATX电源,但这没有任何作用,芯片仍然会不断布朗了。 |
|
我在12 V线上使用了2200 uF;所以你建议我在使用LM 7805前后切换到0.1uF? |
|
你也切断了场效应晶体管吗? |
|
否,FET本身存在(因此即使未连接加热器驱动器):我使用Gen7 PCB上加热器的输出连接器作为加热器驱动器的输入。 |
|
我上面的意思是,FET栅极上的电流冲击导致Vcc在内部暴跌到uC,从而导致停电。你不需要连接加热器,他们运行在12V线反正。当你的微控制器太杂草丛生时,你实际上可以得到一个场效应管驱动器。试着去掉场效应管,或者使用一个更大的栅极限流电阻。 |
|
Gen 7上的FET由Arduino开关,没有加热器连接到它,唯一流过它的电流来自指示灯LED -这不可能是问题所在。 我将示波器连接到各个部件,以了解发生了什么-ATmega设置为4.3V欠压,测量的最低电压超过4.8V(@50MS/s)。我的结论是马林只是随机重启,绝对与电源无关。 |
|
软件复位AVR的唯一方法是通过硬件看门狗超时,这将挂起引导加载程序,因为硬件看门狗在复位后保持打开,引导加载程序从不切换它,所以它在马林再次运行之前超时。因此,软件重置将导致控制器挂起,而不是重置控制器。 |
|
当BOD设置为4.3时,阈值可高达4.5V。 FET具有1nF范围内的高栅极电容,因此,如果没有栅极电阻,则无论负载如何,都需要很大的电流尖峰才能充电。 由于内部走线的电阻,芯片内部的电压可能略低于您在引脚处测量的电压。如果在FET开关时发生,请尝试通过移除电阻器断开栅极。如果它工作正常,则用更高的值替换它。实际上,应选择不超过ATMega最大输出电流的电流。10 R得到0.5A! |
|
当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)与马林? |
|
我使用马林与ATmega 644P的Sanguinololu,相当老的版本虽然。 在2012年12月23日14:28,Cyberwizzard通知@ github.com写道:
|
|
我仍然使用我的Gen7,只是BOR设置为2.8V。从那以后就没出过问题。 |
|
我们在德国论坛上与Traumflug就“灯火管制”问题进行了一些讨论,最终找到了解决方案。(请访问:247号、170384号、171365号信息)。 它的一个简短摘要:
结论: |


你好,
我目前正在将我的固件从茶杯(这里一切正常)迁移到马林(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。
我不知道这个代码是关于什么的,也许其他人可以批准这个。
谢谢你们,
马蒂亚斯