Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Brown out bei LCD an Repetier - Gen7

geschrieben von Rodscher 
Brown out bei LCD an Repetier - Gen7
09. December 2012 08:46
Hallo zusammen,

ich bastel seit ein paar Tagen an einer Möglichkeit, ein LCD an der Gen7 zum Laufen zu bringen.
Als Firmware nutze ich Repetier.
Leider erhalte ich, so bald ich UI_DISPLAY_TYPE auf 3 stelle ein Brown out.

Vorgegangen bin ich nach folgenden Forenbeiträgen:
[forums.reprap.org]
[forums.reprap.org]
[forums.reprap.org]

Im Repetier-Host bekomme ich folgende Statusmeldungen, wenn ich versuche mich zu verbinden:

N1 M105 *6
Brown out Reset
N2 M105 *5
start
N1 M105 *6
Brown out Reset
N2 M105 *5
...

Wenn ich wüsste, warum mir die LCD Aktivierung ein Brown out gibt, könnte ich vielleicht den Fehler besser eingrenzen.
Hoffentlich kennt sich hier jemand besser mit der Firmware aus.

Grüßle, Rodscher
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 10:04
Brown out kommt von der CPU wenn die Mindestspannung unterschritten wird. Was du also im Grunde sagst ist, sobald die Firmware I2C aktiviert fällt die Spannung ab und der Prozessor stürzt ab. Es sollte aber gar nicht möglich sein, wenn die Hardware ok ist. Ich vermute daher das beim aktivieren ein Kurzschluß geschaltet wird. Daher würde ich mal Platine/Kabel checken ob alles so ist wie es sollte oder Kabel vertauscht/Lötbrücke,...


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 10:09
Das freut mich ja, dass der Chef persönlich hier zu Wort meldet.
Interessanterweise passiert das ganze auch, wenn ich die Anschlüsse offen lasse.

Spannungen liegen bei ziemlich exakten 5V am Controller.

Drucker funktioniert, wie er soll, sobald ich das LCD in der Firmware deaktiviere. Auch, wenn ich meine Elektronik weiter dran hängen lasse.
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 10:21
Solange du I2C nicht aktivierst sind die zwei I2C Pinne Eingänge mit hohem Widerstand. Beim Aktivieren werden es Ausgänge. Genau dann scheint es ja zu passieren. Du kannst ja mal testweise mit M42 P S<0 oder 255> die beiden Pins manuell schalten und sehen ob du einen brown out bekommst. Weiß jetzt nur grad nicht die I2C pin Nummern bei Gen7. Ich denke bei einem der 4 Zustände wird es passieren, dann weist du welcher pin schuld ist. Die Leitungen SCL/SDA sind doch nur mit Widerstand an 5v gekoppelt, oder?


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 11:07
Ich habe jetzt versucht mit M42 P16 S0 (bzw. P17 S255 und umgekehrt) die Ausgänge manuell zu schalten. Erhalte nie einen brown out.
SCL und SDA sind mit 10k gegen 5V.

Muss ich eigentlich im pins.h noch SDA und SCL definieren? Sind unter motherboard 71 nicht definiert. Hab aber die ganzen Versuche mit beiden Möglichkeiten ausprobiert
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 11:39
Es gibt nur eine mögliche SDA/SCL Kombination mit Hardwareunterstützung. Ist vom Prozessortyp angängig und wird wohl in den includes definiert, daher nicht in der pins.h

10k gegen 5V sollte klappen, auch wenn ich immer weniger hatte.

Da gehen jetzt langsam die Möglichkeiten aus. Was passiert den wenn I2C genutzt wird und kein Display dran hängt? Die Firmware würde dabei normalerweise einfrieren, weil die Kommunikation nicht klappt. Du musst daher UI_INITIALIZE; in Repetier.pde hinter die brown out meldungen verschieben, die direkt danach kommen. Es sollte dann zumindest start noch erscheinen und dann bleibt die Firmware hängen. Möglich ist auch das das Display nur zu viel Strom zieht. Verwendest du einen externen hub mit Stromversorgung? Manche Ports schaffen nicht nicht geforderten 500ma oder kommt 5V beim gen7 auch vom Netzteil?


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 12:00
Dann dürfte das mit SDA und SCL passen. An den 10k wird es nicht liegen, hatte auch schon 4k7 und 1k versucht.
Ich habe jetzt die UI_INIT nach hinten geschoben:

Serial.begin(baudrate);
out.println_P(PSTR("start"));
//UI_INITIALIZE;

// Check startup - does nothing if bootloader sets MCUSR to 0
byte mcu = MCUSR;
if(mcu & 1) out.println_P(PSTR("PowerUp"));
if(mcu & 2) out.println_P(PSTR("External Reset"));
if(mcu & 4) out.println_P(PSTR("Brown out Reset"));
if(mcu & 8) out.println_P(PSTR("Watchdog Reset"));
if(mcu & 32) out.println_P(PSTR("Software Reset"));
MCUSR=0;

UI_INITIALIZE;

und erhalte ohne LCD jetzt nichtmal mehr ein "start"
Versorgt wird mein Gen7 übrigens über eine externe Spannungsquelle
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 12:11
Ok, hatte gehofft das zumindest die Ausgabe im interrupt weiterläuft, aber das scheint nicht der fall zu sein. Must also for dem UI_INITALIZE noch etwas zeit vertrödeln, z.b. mit
long xx=0;
for(xx;xx<100000winking smiley xx++;
OUT_P_L_LN("XX",xx);

dann sollte zumindest noch zeit bleiben die Ausgabe abzuschicken, damit do siehst was passiert ist.

Wenn er dann nur start zeigt ohne brownout schent es sogar nur mit dem Display zu passieren. Kannst du zufällig das Display selbst abziehen zum testen oder ist es fest verlötet? Siehst du 2 Streifen mit Rechtecke und 2 ohne oder kommt sogar noch ein Text bevor er abschmiert?

Mit der externen Spannungsquelle - ja für Motoren haben das alle. Viele Boards laufen aber auch ohne weil die 5V aus dem USB Port ziehen.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 12:36
Oje, ganz schön wirr, das Problem.
Immer noch keine Besserung, ich hab jetzt folgende Änderung gemacht, da dein Code nicht funktioniert hat:
  Serial.begin(baudrate);
  out.println_P(PSTR("start"));
  //UI_INITIALIZE;
  
  // Check startup - does nothing if bootloader sets MCUSR to 0
  byte mcu = MCUSR;
  if(mcu & 1) out.println_P(PSTR("PowerUp"));
  if(mcu & 2) out.println_P(PSTR("External Reset"));
  if(mcu & 4) out.println_P(PSTR("Brown out Reset"));
  if(mcu & 8) out.println_P(PSTR("Watchdog Reset"));
  if(mcu & 32) out.println_P(PSTR("Software Reset"));
  MCUSR=0;
  
for(long xx = 0;xx<1000;xx++){
out.println_P(PSTR("XX"));
}
  UI_INITIALIZE;

Ohne I2C passiert immer noch nichts, mit I2C, gibt es immer noch einen brown out.
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 12:53
Ich sehe, die Forumssoftware hällt meinen Programmcode für einen smiley :-(

Dein ersatz macht zwar was anderes, sollte aber genau so gut funktionieren. Obwohl das schwer zu sagen. Ich wollte halt Zeit vertrödeln damit der ausgangspuffer gesendet werden kann und du füllst ihn kontinuierlich nach. Da er dabei überläuft muss er ihn allerdings auch zwangsweise senden.

Aber wenn ich das so richtig verstehe Passiert es erst sobald I2C Chip angebunden ist. Auch wenn ich nicht weiß was da abgeht scheint es doch dort die Ursache zu haben. Sorry, aber ohne das alles live zu sehen und zu testen ist es wohl schwer den Fehler zu finden. Wie gesagt versuch mal ohne display aber mit chip oder check die Plantine/verdrahtung ob da was ist. Elektronik ist leider nicht mein Fachgebiet.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 13:21
Alles klar, ich häng jetzt nochmal alles ab und probiers mal einzeln. ICh werde mir auch mal die 5V genau anschauen, vielleicht hab ich zu viele Oberwellen oder Peeks.
Ich danke dir schonmal für die Tipps.

----EDIT----

Spannungsversorgung ist so, wie sie sein sollte.
Hab mir dann gedacht, dass ich es einfach mal ohne I2C versuche und hab das LCD direkt anschliesen wollen.
Siehe da, schon bevor ich das LCD angeschlossen hatte, kam genau der gleiche Fehler wie mit I2C.
LCD wird wohl ein Wunschtraum bleiben

1-mal bearbeitet. Zuletzt am 09.12.12 16:01.
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 16:00
Hast du schon mal testweise Versucht die Brownout Schwelle von 4,3V auf 2,7V zu setzen?(Ist über Fuses zu setzen)
Ich hab meine I2C Experiment mit Gen7 und Repetier FW derzeit auf Eis gelegt. Ich hatte allerdings ein anderes Problem.
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 16:07
Werde ich mal probieren. Momentan zwar eher schwierig, weil ich gerade mein STK500 ausgeliehen habe.

Ich hab mal ein Bild von meinem ganzen Versuchsaufbau angehängt smiling smiley

1-mal bearbeitet. Zuletzt am 09.12.12 16:20.
Anhänge:
Öffnen | Download - DSCF7904.JPG (214.3 KB)
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 17:00
Quote

Hast du schon mal testweise Versucht die Brownout Schwelle von 4,3V auf 2,7V zu setzen?

Autsch! Hilft das, ist was faul.


Ansonsten:

Sollten sich Hardware-Änderungen als notwendig erweisen, bringe ich die gerne in die nächste Gen7 ein. Allerdings kann ich mir (bislang) nicht vorstellen, wie zwei unbeschaltete Pins den BOD auslösen.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Brown out bei LCD an Repetier - Gen7
09. December 2012 17:25
Da hast du Recht, ich kann mir auch keine Erklärung geben, warum offene Ports, die einfach frei nach aussen geführt werden und keine Kurzschlüsse vorweisen, zudem bei manueller Auswahl die Werte annehmen plötzlich zu einem Brown Out führen.

Kann es sein, dass ich den 644 gegen einen 1284 tauschen sollte? Speicherproblem?
Re: Brown out bei LCD an Repetier - Gen7
10. December 2012 02:48
Bei einem 644 must du zwar einige Optionen ausschalten, da die komplete Firmware fast 100kb groß ist, also 1284 ist nicht verkehrt. Ich glaube aber nicht das ein Speicherproblem vorliegt oder deinen Fehler verursachen kann.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Brown out bei LCD an Repetier - Gen7
10. December 2012 03:33
@Traumflug: Ich hatte zumindest mit meinem alten 1.3er Board Probleme mit BOD mit Marlin (ohne I2C). Ich hab die Ursache des Problems nicht 100% verfolgt (Möglicherweise ist es auch an meinem Netzteil gelegen??) sondern bin gleich auf 2,7V gegangen was ich bisher aus Faulheit auch auf meinem 1.4er beibehalten habe.Seit kurzem betreib ich dort ebenfalls ein I2C Display ohne Probleme.

Ich werde aber mal zurück auf 4,3V gehen um zu schauen ob ich das Verhalten nachstellen kann.
Re: Brown out bei LCD an Repetier - Gen7
10. December 2012 06:05
Das hört sich ja interessant an, ich bin auf Repetier umgestiegen, weil ich bei Marlin auch immer einen Brown out bekommen hatte.
Wenn du den Versuch abgeschlossen hast, würde mich das Ergebnis sehr interessieren.
Re: Brown out bei LCD an Repetier - Gen7
10. December 2012 16:48
Soda, hab das soeben getestet:

TEST1:
GEN7 1.4 mit ATMEGA1284P, aktuelle Marlin , EFuse auf 0xFC -> 4,3Volt BOD

Folgende Messages kommen danach tritt die BOD in Kraft:

21:52:56.248 : start
21:52:56.248 : echo:Marlin 1.0.0
21:52:56.248 : echo: Last Updated: Dec 10 2012 21:51:40 | Author: (none, default config)
21:52:56.248 : Compiled: Dec 10 2012
21:52:56.264 : echo: Free Memory: 13540 PlannerBufferBytes: 1232


Ich hab aus Interesse 3 Netzteile mit jeweils dem selben Ergebnis durchprobiert.
Testweise hab ich die ATX Netzteile manuell auf "dauerON" gebrückt , hat aber auch nichts geholfen.

TEST2:
Gleicher Aufbau, diesmal mit Repetier FW

Ohne aktiviertem Display kein Problem;
Mit aktiviertem Display (egal ob 4Bit 8Bit oder I2C) -> Sofort Brownout :

22:20:39.974 : start
22:20:40.146 : Brown out Reset


Probe aufs Exempel: Alles nochmal mit EFuse auf 0xFD -> 2,7V BOD: Kein Brownout

Mit Marlin Drucke ich mit der Einstellung bereits seit über einem halben Jahr problemlos und bleib daher auf 2,7V.

Aber möglicherweise ist die anscheinend zu greinge Betriebsspannung die Erklärung warum ich in Repetier FW mein I2C Disdplay nicht zum laufen gebracht habe...

Hardwareseitige Erklärung für das Verhalten hab ich aber leider keine sad smiley @Traumflug: hast du noch Ideen??
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 05:31
Quote

@Traumflug: hast du noch Ideen??

Bin auch am rumrätzeln, was da so viel Saft ziehen könnte. Sind da irgendwelche grösseren Kondensatoren am Display?

Wird das Display eigentlich von 5V oder von 5V Standby versorgt? Falls 5V Standby, könnte man ja zumindest die Beleuchtung auf 5V legen.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 07:05
Ich kann dir zu 99% zustimmen Scuba, ich benutze einen Atmega 644, aber ich habe genau das gleich Problem unter Marlin und bin deshalb auf Repetier gewechselt. Am LCD kann es nicht liegen, der Fehler tritt auch schon auf, wenn das LCD nciht angeschlossen ist

----EDIT----

Fuse gesetzt, jetzt muss es wohl oder übel erstmal bei einem BODLVL von 2,7V abqualmen smiling smiley
Ich bin aber trotzdem interessiert zu erfahren, warum die Spannung angeblich in die Knie gehen soll. Ich hab hier alle Spannungen, direkt am Controller abgenommen und über das Oszi rennen lassen, die waren niemals unter 4,95V.

1-mal bearbeitet. Zuletzt am 11.12.12 07:29.
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 07:45
Meine Test hab ich auch aufs nackte Board gefahren. Also ohne Display, Motor Treiber usw.
Als Stromquelle hab ich die standard ATX Variante gewählt. Das wär vielleicht einen Versuch wert nur über die DISK Connectoren zu fahren.
Bin auch schon gespannt ob der Spannungsabfall messbar ist oder ob es sich vielleicht nur um einen kurzen Drop handelt den das Multimeter möglicherweise gar nicht mitbekommt.

Wenn heut Zeit bleibt werd ich am Abend mein Breadboard auspacken und nach dem Ausschlussverfahren vorgehen...

Hoffe ich kann mich mit ein paar Erkenntnissen zurückmelden.
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 08:03
Ich hab nicht das originale Gen7 Board, ich hab mir das auf meine Bedürfnisse angepasst und somit auch die Spannungsversorgung.
Somit gehe ich direkt mit einem Labornetzteil auf die 5V.
Um eventuelle Drops zu bemerken, habe ich extra das Oszi angehängt und konnte auch da leider nichts feststellen.
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 13:21
So langsam sieht das ja so aus, als ob die Spannung nur innerhalb des Chips zusammen bricht. Das wird ja immer "lustiger".

Was machen eigentlich die anderen Elektroniken? Die haben alle einen ATmega drauf, wenn auch in einem anderen Gehäuse.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 17:17
Ich glaube das Problem nun eingegrenzt zu haben:

Wie angekündigt hab ich soeben am Breadboard die ATMEGA Beschaltung von GEN7 nachgesteckt. (Heater, Thermistor, Motor usw hab ich alles weggelassen) und siehe da: Auch hier Brownouts am laufenden Band.

Grund scheint ein Spannungseinbruch am AVCC zu sein.(konnte ich mit meinem Multimeter aber nicht wirklich messen eye rolling smiley ). Auslöser scheint L1 (also die Spule) zu sein (bzw. ihr Zusammenspiel mit den anderen Komponenten?).

Wird L1 überbrückt startet Marlin & Repetier einwandfrei ohne BrownOut. @Rodscher: könntest du das ebenfalls nachstellen um das Verhalten zu bestätigen?

Ich hab mir ein paar Schaltungsbeispiele angesehen , wo überall eine Spule + Kondensator zu AVCC zur Steigerung der Messgenauigkeit des ADC empfohlen wird. Also macht eine Spule definitiv Sinn.
@Traumflug: Wärs denkbar, dass die Spule nicht ideal dimensioniert ist? Beispielsweise hier kreatives-chaos wird eine 10uH Spule empfohlen. Auf GEN7 verwenden wir standardmäßig 100uH

Leider bin ich nicht wirklich ein Elektroniker um hier Berechnungen oder der gleichen anzustellen.... und andere Spulen hab ich derzeit auch nicht bei der Hand um zu testen wies sich mit denen verhält.
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 18:26
Natürlich! Das wird man ganz schön Betriebsblind. Bei starken Stromsprügen kann dies durchaus sein.
Ich werde mal Strom und Spannung aufzeichnen, melde mich auf jeden Fall hier, hab auch noch diverse Induktivitäten hier rumliegen.

Hab es übrigens wieder geschafft heute 2 Treiber zu töten, aber wie ich gesehen hab schaffst du das auch des öfteren grinning smiley
Macht 6 Treiber in 2 Wochen smiling smiley
Re: Brown out bei LCD an Repetier - Gen7
11. December 2012 20:59
Quote

Beispielsweise hier kreatives-chaos wird eine 10uH Spule empfohlen.

Jetzt wollte ich eigentlich gerade auf das Datenblatt des ATmega verweisen, denn von dort ist die Schaltung abgekupfert. Aber da sind auch nur 10mH drin. Warum in der Gen7 100mH drin sind, kann ich jetzt nicht mehr sagen. Die Spule ist da "schon immer" drin, schliesslich sollte die Gen7 ja zuverlässiger als die Gen3 sein.

Nur: was verursacht die Stromsprünge auf AVcc? Eigentlich hängen doch da nur die Thermistoren dran und die ändern ihren Widerstand nur sehr langsam.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Brown out bei LCD an Repetier - Gen7
12. December 2012 03:34
Traumflug Wrote:
-------------------------------------------------------
> Was machen eigentlich die anderen Elektroniken?
> Die haben alle einen ATmega drauf, wenn auch in
> einem anderen Gehäuse.

Ich habs mir noch nicht genau angesehen, bin aber gestern auf einen Artikel gestoßen der meint dass z.b: beim Arduino Mega 2560 AVCC direkt auf VCC gezogen wird ohne Low-Pass Filter. Ich muss mir das erst aber in Ruhe im Schaltplan anschauen.

@Rodscher: Motor Treiber hab ich bisher eigentlich nur auf meinem aller ersten selbstgeätzten GEN7 gekillt. Dort dafür gleich mehrere. Großteils vermutlich selbstverschuldet... eye rolling smiley Seither ist Gott Seit Dank Ruhe..

Was mich sehr wundert ist, dass das Phänomen FW abhängig auftritt. Teacup gar nicht; Marlin komplett; Repetier nur bei aktivem Display... Hat das was mit den PINs zu tun die je nach FW auf Aus- oder Eingang geschalten werden??

Übrigens hab ich die FWs testweise auch direkt über den Programmer aufgespielt um den Bootloader als Ursache auszuschließen.
mcp
Re: Brown out bei LCD an Repetier - Gen7
12. December 2012 03:48
Hi,
bei den meisten Arduinos wid AVCC ohne Spule beschaltet. Ich habe bisher nur beim Single Sided V3 Arduino die Spule gesehen, aber dort auch mit 100µH.
Es sollte also auch ganz ohne gehen, und mit 10µH bessere Werte am ADC liefern. Die Frage bei der Software wäre welche Referenz bei der jeweiligen Software für den ADC genutzt wird. Das sollte man einmal vergleichen....


cu

Michael
Re: Brown out bei LCD an Repetier - Gen7
12. December 2012 05:28
Quote

Die Frage bei der Software wäre welche Referenz bei der jeweiligen Software für den ADC genutzt wird.

Stimmt. Da gibt es mehrere Möglichkeiten.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen