Hi
Den Kondensator braucht man bei Reset eigentlich nicht! Zum entstören sollte nicht mehr als 100 bis 300 nF verwendet werden.
An einen Quarz läßt sich nur ein Controller anschließen, die Alternative wären Quarzoszillatoren
Hi
Ich bin drauf und dran, meinen ersten AVR (einen AT 90S4433 ) anzuschließen.
In den Grundschaltungen, die ich gefunden habe, erzeugt immer ein Kondensator den Resetimpuls. Den brauch' ich doch nur, damit das Ding beim Einschalten der Versorgungsspannung angeht, oder? Ist die Länge des Signals wichtig oder könnte ich auch einen Taster nehmen?
Wie genau muss die Kapazität der Kondensatoren am Taktsignal mit den Angaben der Grundschaltung übereinstimmen?
Kann ich bei dem Elko zwischen Vcc und Gnd ohne weiteres höhere Kapazitäten nehmen (hab' noch ganz viele auf alten Mainboards) oder filtern die dann Störungen höherer Frequenz schlechter?.
PS: Lassen sich an einen Quarz beliebig viele µController anschließen?
Hi
Den Kondensator braucht man bei Reset eigentlich nicht! Zum entstören sollte nicht mehr als 100 bis 300 nF verwendet werden.
An einen Quarz läßt sich nur ein Controller anschließen, die Alternative wären Quarzoszillatoren
Der Kondensator, der etwas mit dem Resetimpuls zu tun hat, macht konkret folgendes:
Er wird beim Herunterfahren der Versorgungsspannung entladen und dann, wenn er gebraucht wird, beim Einschalten langsamer als alle anderen Systemkomponenten mit Versorgungsspannung aufgeladen. Er hält dabei den Controller im Reset Zustand bis alle anderen Systemkomponeten die nötige Spannung zum Arbeiten haben. Dann erst wird der Controller vom Reset befreit und beginnt das Programm. Der Oszillator ist dann stabil und macht keine Doppelschritte mit wilden Schwingungen mehr, wie sie beim Anlaufen auftreten können.
Der Kondensator kann damit soweit vergrößert werden, wie es die Geduld des Anwenders zuläßt.
Die Elkos sind meistens unkritisch. Von digitalen Logikschaltungen werden nur sehr kurze Störungen erzeugt, die mit kleineren Kondensatoren besser abgeblockt werden können. Elkos sind mehr für Motoren und Relais zuständig, es gibt keine Begrenzung nach oben, wenn man von der Belastung der Versorung beim Einschalten absieht.
Bei ganzen Schaltschränken mit vielen Boards braucht man eine Beschränkung der Kondensatorgröße und schließlich eine Entkopplung sonst könnte man beim Einschalten oft die Sicherung auswechseln.
Bei Robotern gibt es Akkus und strombegrenzte Spannungsregler aber, ich glaube, kaum Sicherungen.
Es gibt Komponenten mit exterenem Takteingang, wenn das nicht vorgesehen ist kann man mit Sicherheit auch tricksen, aber das ist dann sehr individuell.
Soviel erst mal vorab.
Manfred
Da habe ich also 10 Minuten für den Text gebraucht und mich überschnitten. Also nochmal:
Resetkondensator wie vorgegeben zur Sicherstellung der Bereitschaft aller Systemkomponenten nach Reset oder größer.
Blockkondensatoren für Logikschaltungen: 100nF (kaum größer).
Fremdoszillator zur Taktversorgung von Controllern ist entweder im Datenblatt vorgeschlagen oder durch tricksen erreichbar.
Ich hoffe das stimmt mit "Gast 19:25" überein.
mit welchem programm kann man so nette Schaltpläne machen, finde teilweise recht mühselig das alles per Hand zu zeichnen... gibts die irgendwo im netz?
Wie ist das mit den Kondensatoren zwischen den Quarzen und gnd?
Ist deren Größe von der Frequenz des Quarzes abhängig oder nimmt man für Quarze aller Typen die gleichen?
Bei Mikrokrontrollern mit EEPROM ist eine Brown-Out-Detection empfehlenswert. Sonst sind u. U. nach dem Start Daten weg.
Also einfach TL7757 (=MC/LM34064) RESETBAUSTEIN verwenden. Ein Kondensator ist dann nicht nötig, der übliche Pull-Up-Widerstand sollte jedoch dabei sein.
Wenn das EEPROM nicht verwendet wird, dann tut es auch die üblich Kombination aus Kondensator (100 nF) gegen GND und Widerstand (100 KOhm) gegen Vcc.
Meine Empfehlung:
Nicht am falschen Ende sparen und immer gleich den professionellen Weg gehen. Das spart Ärger. => RESETBAUSTEIN nehmen.
Fehler koorigiert ( Kjion, Moderator AVR )
Naja, nicht ganz. Die Daten sind nach dem Start immer noch da. Probleme gibts wenn ein Reset kommt während Daten geschrieben werden sollen. Da kann dann alles mögliche passieren...Zitat von roboto
Die ATmegas haben übrigens alle Brown-Out-Detection die man per Fusebytes aktivieren kann!
MfG Kjion
Was ist denn Brown-Out-Detection ?
Black-Out: Totaler Stromausfall
=> Ist eigentlich keine Problem, da das ganze System sowieso neu startet.
Brown-Out: Ganz kurzer Einbruch der Stromversorgung.
=> Ist grosser Mist, weil das keiner mitbekommt.
Brown-Out-Detection bedeutet:
Immer wenn die Spannung am Mikrokontroller unter einen bestimmten Minimalwert abfällt, wird die RESET-Leitung auf Low gezogen. Also bekommt der Mikrokontroller auch diesen Sonderfall mit.
Die interne Variante im AVR leistet aber nur den RESET beim Unterschreiten der zulässigen Betriebsspannung im LAUFENDEN Betrieb.
Leider kommt es aber beim Ein- und Ausschalten des Systems zu jeweils einer kurzen Zeit mit undefinierten Pegeln am Bus. D. h. der Mikrokotroller führt zufällige Instruktionen aus, wenn währenddessen nicht RESET auf Low ist. Die interne Logik kann das nicht, also muss ein externer Baustein (z. B. TL7757) her.
Wenn also der Mikrokotroller beim Ein- oder Ausschalten nun zufällig die Instruktion zum Schreiben ins EEPROM ausführt, dann sind Daten weg.
Für alle die noch zweifeln:
Ich habs selber erlebt und ca. 10 h in die Fehlersuche meiner Software gesteckt. Da war aber kein Fehler, also habe ich mal das getan, was im Datenblatt steht und siehe da, Problem gelöst !!!
Man kann das auch sehr schön selber ausprobieren:
1. EEPROM voll machen mit z. B. "A5"
2. Strom an, Strom aus (richtig oft, d. h. ca. 50 mal, evtl öfter)
3. Ins EEPROM schauen, wenn das System einen Standard-RESET hat, dann ist bestimmt irgendwo ein Byte verändert.
=> Man hat das Problem live erlebt.
Hier steht übrigens wie und warum man das alles macht:
http://www.atmel.com/dyn/resources/p...ts/DOC1051.PDF
Trotz der ganzen Mühe ist natürlich ein Stromausfall während eines Schreibvorganges immer noch fatal, hier hilft nur eine Art gepuffertes Filesystem im EEPROM.
Lesezeichen