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:> 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...
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.
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.
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.
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