Hi, ich möchte eine AVR-Mikrokontroller Schaltung für den Einsatz "im Feld" härten, d.h. möglichst funktionsstabil machen. Dazu habe ich ein paar Fragen: 1. Sollte man den Reset-Eingang mit einem Pull-Up Widerstand versehen, damit sich die Schaltung nicht einen Störimpuls darüber einfängt? Falls ja, kann man da einfach den intern Pull-Up schalten? 2. Wird der AVR-USART Empfängerpin mit einem Pull-Up intern beschaltet bzw. sollte man diesen mit einem externen Pull-Up versehen, damit nicht in Empfangspausen "etwas eingefangen wird". 3. Benötigt auch ein Quarzoszillator extern 100nF in der Spannungsversorgung oder stört das sogar die Takterzeugung? LG Matthias
Matthias schrieb: > kann man da einfach den intern Pull-Up schalten? Nein aber bei manchen kann man den Reset über die Fuse abschalten. Dann lässt sich der Avr aber nicht mehr normal Programmieren also Achtung. Matthias schrieb: > 100nF in der Spannungsversorgung Bitte und vor den Avr auch. Matthias schrieb: > damit nicht > in Empfangspausen "etwas eingefangen wird". Du solltest egal was du machst sicher stellen das deine Software damit umgehen kann.
Matthias schrieb: > 1. Sollte man den Reset-Eingang mit einem Pull-Up Widerstand versehen, > damit sich die Schaltung nicht einen Störimpuls darüber einfängt? Falls > ja, kann man da einfach den intern Pull-Up schalten? Um ihn im Feld stabil zu machen gegenüber störimpulsen sollte man einen 10 kΩ Pullup einsetzen sowie einen 100 nF gegen Masse am Reset-Pin. Matthias schrieb: > Wird der AVR-USART Empfängerpin mit einem Pull-Up intern beschaltet > bzw. sollte man diesen mit einem externen Pull-Up versehen, damit nicht > in Empfangspausen "etwas eingefangen wird". Das ist eigentlich nicht nötig, dafür gibts Parity und dein Protokol. Matthias schrieb: > Benötigt auch ein Quarzoszillator extern 100nF in der > Spannungsversorgung oder stört das sogar die Takterzeugung? Das wäre eher kontraproduktiv, 100 nF sind ja riesig. Bedenke, am Quarzozillator haste ja idR nur Lastkapazitäten von um die 15 pF, das ist etwa der Faktor 1000 kleiner.
M. K. schrieb: > Bedenke, am > Quarzozillator haste ja idR nur Lastkapazitäten von um die 15 pF, Unterscheide zwischen Quarz und Quarzoszillator. Und ja, dem Oszillator spendiere die 100nF. Kostet nicht viel, und tut ihm gut.
M. K. schrieb: > Matthias schrieb: >> Benötigt auch ein Quarzoszillator extern 100nF in der >> Spannungsversorgung oder stört das sogar die Takterzeugung? > Das wäre eher kontraproduktiv, 100 nF sind ja riesig. Bedenke, am > Quarzozillator haste ja idR nur Lastkapazitäten von um die 15 pF, das > ist etwa der Faktor 1000 kleiner. Matthias meint vermutlich einen autarken externen Oszillator ("in der Spannungsversorgung"). Ja, da sollte auch ein Stützkondensator dran.
Arduino F. schrieb: > Unterscheide zwischen Quarz und Quarzoszillator. OK, ich bin gezeichnet dadurch dass in den letzten Wochen einige Studies einen Quarz als Quarzoszi bezeichnet hatten ;)
M. K. schrieb: > ich bin gezeichnet Das bin ich auch. Offensichtlich anderes Muster, aber gezeichnet. ;-)
M. K. schrieb: > OK, ich bin gezeichnet dadurch dass in den letzten Wochen einige Studies > einen Quarz als Quarzoszi bezeichnet hatten ;) Dann lies/lest das hier bitte durch: http://www.axtal.com/Deutsch/TechnInfo/Quarzkochbuch/ Zeile 'Complete Book as zip archive' << ZIP herunterladen, mfg Olaf
Matthias schrieb: > Hi, > > ich möchte eine AVR-Mikrokontroller Schaltung für den Einsatz "im Feld" > härten, d.h. möglichst funktionsstabil machen. > > Dazu habe ich ein paar Fragen: > 1. Sollte man den Reset-Eingang mit einem Pull-Up Widerstand versehen, > damit sich die Schaltung nicht einen Störimpuls darüber einfängt? Falls > ja, kann man da einfach den intern Pull-Up schalten? > > 2. Wird der AVR-USART Empfängerpin mit einem Pull-Up intern beschaltet > bzw. sollte man diesen mit einem externen Pull-Up versehen, damit nicht > in Empfangspausen "etwas eingefangen wird". > > 3. Benötigt auch ein Quarzoszillator extern 100nF in der > Spannungsversorgung oder stört das sogar die Takterzeugung? > > LG > Matthias Wenn Du solche Fragen stellen mußt ist es vielleicht auch sinnvoll Schaltplan und Layout zur Verfügung zu stellen, so ist das ganze nur nebulöses raten und beantworten ungestellter aber doch relevanter Fragen. 1. 10-100nF an den Resetpin und pullup mit zB. 10k auf Vcc, parallel dazu eine Diode, die den 100n nach Vcc entlädt wenn die Versorgung zusammenbricht, besser ein externer Vcc-Supervisor/Watchdog-Chip, der dir auch die Eingangsspannung vor dem Spannugsregler anschaut und somit ein kontrolliertes Herunterfahren bei Versorgungsfehlern ermöglicht. 2. Das hängt von der estl. Beschaltung, dem Layout und auch dem Störnebel ab, wo das Werkl verbaut ist. 3. Wenn Du einen externen Oszillator (also Chip mit Vdd, GND und OSC_out) verwendest natürlich. Wenn Du den internen AVR-Oszillator verwendest ist mir unklar wo Du da 100n unterbringen willst. 4. der springende Punkt ist Deine SW, die - nur weil Du sie hoffentlich mit bekannten Parametern getestet hast - noch lange nicht so stabil sein muß wie Du denkst. iaW: NOP-Rutschen und Sprung in den Reset schon eingebaut? Temperaturtests durchgeführt? Checksummen übers Flash oder EEprom schon gebaut und getestet? usw usf... MiWi
Evtl. solltest die externen Datenleitungen mit TVS-Dioden austatten, um die Input-Pins des AVRs zu schützen. Ich hab nur leider gerade keine Bauteil-Nr zur Hand, weil ich das selbst noch nie gemacht habe (bisher ging der Nutzen meiner Schaltungen nicht (weit) über das Bastelzimmer hinaus). Würde da selbst gerne wissen, obs da Standard-TVS-Dioden gibt, die günstig und gut zu bekommen sind.
M. K. schrieb: > Um ihn im Feld stabil zu machen gegenüber störimpulsen sollte man einen > 10 kΩ Pullup einsetzen Ich würde da noch wesentlich niederohmiger werden. Wie sagt unser EMV-Spezi: alles mit mehr als 5kOhm Impedanz ist ein offener Eingang... Matthias schrieb: > 3. Benötigt auch ein Quarzoszillator extern 100nF in der > Spannungsversorgung oder stört das sogar die Takterzeugung? Auch so ein Oszillator ist ein elektronisches Bauteil, dessen Versorgung entkoppelt werden muss. > 2. Wird der AVR-USART Empfängerpin mit einem Pull-Up intern beschaltet > bzw. sollte man diesen mit einem externen Pull-Up versehen, damit nicht > in Empfangspausen "etwas eingefangen wird". Was ist an diesem AVR-UART-RX-Pin sonst abgeschlossen? Ist da ein Pegelwandler (MAX232 o.ä) dran? Oder ist das ein (zu vermeidender) offener Pin auf einer Steckerleiste? BTW: am einfachsten wäre es, die Sache zu bewerten, wenn ein Schaltplan (und idealerweise das passende Layout) vorläge...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > M. K. schrieb: >> Um ihn im Feld stabil zu machen gegenüber störimpulsen sollte man einen >> 10 kΩ Pullup einsetzen > Ich würde da noch wesentlich niederohmiger werden. Wie sagt unser > EMV-Spezi: alles mit mehr als 5kOhm Impedanz ist ein offener Eingang... Ich mag jetzt schon deinen EVM-Spezi!
Matthias schrieb: > 2. Wird der AVR-USART Empfängerpin mit einem Pull-Up intern beschaltet > bzw. sollte man diesen mit einem externen Pull-Up versehen, damit nicht > in Empfangspausen "etwas eingefangen wird". Am wichtigsten ist, wie du den USART benutzt. Jeder Fehlimpuls auf RXD kann bei normaler serieller Benutzung als Startbit interpretiert werden und den UART dazu bringen, Mist auszugeben. Das muss von einem robusten Protokoll geschluckt und verworfen werden.
Es gibt dazu einige Appnotes bei Atmel, z.B AN042 wenn ich mich nicht irre. Diese AN von Infineon geht auf EMV-Spezifisches ein. Als "Nebeneffekt" ist zuverlässigeres Arbeiten der Schaltung zu erwarten: http://www.infineon.com/dgdl/Infineon-ap2402633_EMC_Guidelines.pdf-AN-v03_05-EN.pdf?fileId=5546d46255dd933d0155e32392f1090e Als Schutz für Porteingänge die immer wieder hier gezeigten R/(L)/C - TVS- Dioden Kombinationen nutzen, Dimensionierung nach Anforderung.
Lothar M. schrieb: > M. K. schrieb: >> Um ihn im Feld stabil zu machen gegenüber störimpulsen sollte man einen >> 10 kΩ Pullup einsetzen > Ich würde da noch wesentlich niederohmiger werden. Wie sagt unser > EMV-Spezi: alles mit mehr als 5kOhm Impedanz ist ein offener Eingang... Um ganz sicher zu gehen, legt man den Resetpin fest auf Vcc.
Thomas E. schrieb: > Um ganz sicher zu gehen, legt man den Resetpin fest auf Vcc. ... über einen 0R Widerstand, damit man das Ding zur Not nochmal programmieren kann... ;-)
Lothar M. schrieb: > Thomas E. schrieb: >> Um ganz sicher zu gehen, legt man den Resetpin fest auf Vcc. > ... über einen 0R Widerstand, damit man das Ding zur Not nochmal > programmieren kann... ;-) Dann lieber gleich einen 10k Widerstand vorsehen und nur bei Problemen (die sowieso nicht davon kommen) einen 0R bestücken. Am besten man hält sich an Atmels Appnote zu diesem Thema für harsche Umgebungsbedingungen.
:
Bearbeitet durch User
Cyblord -. schrieb: > bei Problemen (die sowieso nicht davon kommen) Dann mach mal den Burst-Test mit einem 10k Widerstand. Spätestens, wenn du industrielle Pegel anlegst wirds interessant... > Am besten man hält sich an Atmels Appnote zu diesem Thema für harsche > Umgebungsbedingungen. Die sorgen über einen Kondensator für die nötige niedrige Impedanz.
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Cyblord -. schrieb: >> bei Problemen (die sowieso nicht davon kommen) > Dann mach mal den Burst-Test mit einem 10k Widerstand. Spätestens, wenn > du industrielle Pegel anlegst wirds interessant... Das fängt man vorher ab, z.B. mit nem Kerko. Und Burst/BurstIO kommt doch gar nicht direkt auf Reset. Du legst selten die Resetleitung irgendwo raus. Also das ist eher so Humbug. Auch wenn man sich die Resetbeschaltung in existieren Industriesteuerungen anschaut.
Vielen Dank für die zahlreichen Hinweise. Besonders gut hat mir der Infinion-Link von Bernhard D gefallen, der nach ersten Überfliegen viele wertvolle Hinweise gibt. Das mit den "Temperaturtests" werde ich natürlich auch beachten. Der erste Entwurf der Schaltung hat diesen nicht überstanden, da ein eingesetztes digitales Potentiometer (MCP42100) bei Frost völlig daneben liegende Werte geliefert hat. Deshalb bin ich ja gerade an einem Redesign.
Matthias schrieb: > da ein > eingesetztes digitales Potentiometer (MCP42100) bei Frost völlig daneben > liegende Werte geliefert hat. Das sollte aber nicht sein: - Industrial temperature range: -40°C to +85°C - Extended temperature range: -40°C to +125°C
Pete K. schrieb: > Das sollte aber nicht sein: Und was ist mit dem Feuchtigkeitsbereich? Wenn man die Luft von Zimmertemperatur auf Frost abkühlt, ohne ausreichend lange zu warten, dann steigt in dem Ding die relative Feuchtigkeit bis zum Kondensieren.
Lothar M. schrieb: >> Um ganz sicher zu gehen, legt man den Resetpin fest auf Vcc. > ... über einen 0R Widerstand, damit man das Ding zur Not nochmal > programmieren kann... ;-) Ich glaube, ich muß mein Programmiergerät um einen Power-Mosfet an der RESET-Leitung ergänzen, damit ich Reset auf L gezogen kriege... ;-) MfG Paul
Pete K. schrieb: >> eingesetztes digitales Potentiometer (MCP42100) bei Frost völlig daneben >> liegende Werte geliefert hat. > > Das sollte aber nicht sein: > - Industrial temperature range: -40°C to +85°C > - Extended temperature range: -40°C to +125°C Ja, auch die Temperaturkurve im Datenblatt zeigt keine auffälligen Sprünge. Allerdings hat die Schaltung bei Kellertemperatur noch funktioniert, aber nach 24h in der Garage bei Frost stimmten die ausgewerteten Widerstände gar nicht mehr (zurück im warmen ging dann wieder alles). Ich probiere nun ein anderes Schaltungsdesign, was ohne digitalpoti auskommt. Dafür habe ich nun mit der Seriellen Schnittstelle und deren Temperaturstabilität zu kämpfen. LG Matthias
Cyblord -. schrieb: > Und Burst/BurstIO kommt doch gar nicht direkt auf Reset. Ja, damit wird die ganze Platine/Steuerung beaufschlagt und es verschiebt sich ganz lokal das Potential. Mein EMV-Spezi hat sich damals auf jeden Fall in keinester Weise gewundert... > Das fängt man vorher ab, z.B. mit nem Kerko. Und Burst/BurstIO kommt > doch gar nicht direkt auf Reset. Du legst selten die Resetleitung > irgendwo raus. Ich habe da schon mal mit POL-Module APTS012A0X3 von GE die Nase eingeklemmt. Dort stand klar&deutlich im Datenblatt "When not using positive logic On/off pin, leave the pin unconnected". Gelesen, getan. Und dann dumm geguckt, als der Spannungsregler ab&zu einen Aussetzer zeigte. > Also das ist eher so Humbug. Wie war das mit dem gebrannten Kind? > die Resetbeschaltung in existieren Industriesteuerungen Wenn es viele Andere grenzwertig machen, kann man trotzdem mal einen Gedanken daran verschwenden und es ohne Mehraufwand besser hinbekommen, denn ein 2k2 Widerstand kostet gleich viel wie ein 10k Widerstand...
Matthias schrieb: > Dafür habe ich nun mit der Seriellen Schnittstelle und deren > Temperaturstabilität zu kämpfen. Schwankt die Anzahl der Bits mit der Temperatur? Was machst Du denn nur? ;-)
Matthias schrieb: > Allerdings hat die Schaltung bei Kellertemperatur noch > funktioniert, aber nach 24h in der Garage bei Frost stimmten die > ausgewerteten Widerstände gar nicht mehr (zurück im warmen ging dann > wieder alles). Wurde im Warmen gemessen? Dann gibts Tau an der kalten Elektronik.
@Lothar Miller (lkmiller) (Moderator) Benutzerseite >> Das fängt man vorher ab, z.B. mit nem Kerko. Und Burst/BurstIO kommt >> doch gar nicht direkt auf Reset. Du legst selten die Resetleitung >> irgendwo raus. >Ich habe da schon mal mit POL-Module APTS012A0X3 von GE die Nase >eingeklemmt. Dort stand klar&deutlich im Datenblatt "When not using >positive logic On/off pin, leave the pin unconnected". Gelesen, getan. >Und dann dumm geguckt, als der Spannungsregler ab&zu einen Aussetzer >zeigte. Me too!! Ein Ethernet-MAC+Phy (DM9000) ist ziemlich empfindlich auf seiner Resetleitung. Bei diversen, nicht ganz "normalen" EMV-Belastungen steigt der regelmäßig aus. Die Resetleitung ist global auf einer 90x60mm Platine (Linux-Modul). Erst das Abtrennen des Hardware-Reet von diesem "langen" Netz und Abblocken mit 100nF NAH am IC (<5mm) brachte eine deutliche Verbesserung, wenn gleich leider keine vollständige Immunität. Alle anderen ICs auf dem Baord haben nicht mal ansatzweise gezuckt, ARM, SDRAM, Flash, alles problemlos. 8-0 >Gedanken daran verschwenden und es ohne Mehraufwand besser hinbekommen, >denn ein 2k2 Widerstand kostet gleich viel wie ein 10k Widerstand... Kann man machen, aber für HF ist 2k2 genauso hochohmig wie 10k. Da macht der Kondensator die Hauptaurbeit.
Matthias schrieb: > Allerdings hat die Schaltung bei Kellertemperatur noch > funktioniert, aber nach 24h in der Garage bei Frost stimmten die > ausgewerteten Widerstände gar nicht mehr (zurück im warmen ging dann > wieder alles). Was für eine Versorgung verwendest du denn, nehme mal an das es sich um Batterien handelt?
Robin R. schrieb: > Würde da selbst gerne wissen, obs da Standard-TVS-Dioden > gibt, die günstig und gut zu bekommen sind. 3.3 V 5 V CPDH3V3UP-HF ESD9X3.3ST5G ESD9X5.0ST5G GSOT03C GSOT05C zwei Dioden, hohe Kapazität SMAJ5.0A sehr hohe Kapazität und Leckstrom (Wenn man keine sehr schnellen digitale Signale hat, kann man sich mit der Kapazität einen LC- oder RC-Filter bauen.)
Ein guter Test Deiner "Gehärteten" Schaltung ist, ob er auf das Schalten eine auf dem Tisch in der Nähe befindlichen Weller WTCP Magnastat Lötstation reagiert;-) Der erzeugt beim Schalten einen so hohen EMP Impuls, dass viele unzureichend geschützte Schaltungen darauf reagieren. (FF schalten ohne Grund, unerwartete falsch auftretende externe Interrupts, usw.) Sonst sollte man einen uC immer genügend von der "Real World" isolieren. Alle Verbindungen zur Außenwelt müssen entsprechen gesichert und konditioniert sein. Aber wie man das macht wurde ja schon vielfach beschrieben.
Gerhard O. schrieb: > Ein guter Test Deiner "Gehärteten" Schaltung ist, ob er auf das > Schalten eine auf dem Tisch in der Nähe befindlichen Weller WTCP > Magnastat Lötstation reagiert;-) Der erzeugt beim Schalten einen so > hohen EMP Impuls, dass viele unzureichend geschützte Schaltungen darauf > reagieren. (FF schalten ohne Grund, unerwartete falsch auftretende > externe Interrupts, usw.) Das ist richtig. Sogar eine moderne digitale Weller Lötstation führt bei mir zu einem Neustart meiner USB-Hubs beim ein- oder ausschalten.
Clemens L. schrieb: > Robin R. schrieb: >> Würde da selbst gerne wissen, obs da Standard-TVS-Dioden >> gibt, die günstig und gut zu bekommen sind. > > 3.3 V 5 V > > CPDH3V3UP-HF > ESD9X3.3ST5G ESD9X5.0ST5G > GSOT03C GSOT05C zwei Dioden, hohe Kapazität > SMAJ5.0A sehr hohe Kapazität und Leckstrom Danke! Über die SMAJ5.0A bin ich auch gestolpert via Google. Bekommt man leider alle nicht in den "Bastel-Consumer"-Shops, Elektrostatik gibts bei Hobbybastlern eben nicht, die sind alle geerdet ;-) Muss ich wohl mal nen Warenkorb für eine HBE-Bestellung zusammen sammeln.
Robin R. schrieb: > Muss ich wohl mal nen Warenkorb für eine HBE-Bestellung zusammen > sammeln. Warum ist jetzt HBE bitte kein "Bastel-Consumer-Shop"? Genau dafür sind die da. Sonst würdest direkt bei Farnell bestellen.
Cyblord -. schrieb: > Robin R. schrieb: >> Muss ich wohl mal nen Warenkorb für eine HBE-Bestellung zusammen >> sammeln. > > Warum ist jetzt HBE bitte kein "Bastel-Consumer-Shop"? Genau dafür sind > die da. Sonst würdest direkt bei Farnell bestellen. Ja, das stimmt wohl.
Cyblord -. schrieb: > Gerhard O. schrieb: >> Ein guter Test Deiner "Gehärteten" Schaltung ist, ob er auf das >> Schalten eine auf dem Tisch in der Nähe befindlichen Weller WTCP >> Magnastat Lötstation reagiert;-) Der erzeugt beim Schalten einen so >> hohen EMP Impuls, dass viele unzureichend geschützte Schaltungen darauf >> reagieren. (FF schalten ohne Grund, unerwartete falsch auftretende >> externe Interrupts, usw.) > > Das ist richtig. Sogar eine moderne digitale Weller Lötstation führt bei > mir zu einem Neustart meiner USB-Hubs beim ein- oder ausschalten. Das rührt aber nur vom Trafo Ein- und Ausschalten her. Vielleicht sollte man versuchen das mit einem MOV auf der Primärseite des Weller Trafos in den Griff zu bekommen. Ich finde das eher ärgerlich wenn meine PC USB Schnittstelle/Hub darauf reagieren würde.
Lothar M. schrieb: > Wenn es viele andere grenzwertig machen, kann man trotzdem mal einen > Gedanken daran verschwenden und es ohne Mehraufwand besser hinbekommen, > denn ein 2k2 Widerstand kostet gleich Sehe ich genauso. Ich bin bisher mit den 10k gegen Vcc und 100 nF gegen GND immer gut gefahren am Resetpin. ;)
@ Gerhard O. (gerhard_) >hohen EMP Impuls, Was ist denn das? Sowas wie ein LCD Display? ;-) >Sonst sollte man einen uC immer genügend von der "Real World" isolieren. >Alle Verbindungen zur Außenwelt müssen entsprechen gesichert und >konditioniert sein. Mit dem Satz kannst du Politiker werden . . . 8-0
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.