Hallo, aktuell habe ich so ein Projektchen was Wochen laufen soll ohne dass ich da dran muss. Und zwar in einer Umgebung, wo Temperaturschwankungen zu erwarten sind und auch EMV eine Rolle spielen dürfte, zb in Form von Blitzen bei Gewitter. Metallgehäuse ist nicht vorgesehen, bisher nur Plastik. Befeuert wird das Ganze mit einem Attiny84, den ich schon gut ausgereizt habe, was Stromsparen angeht. Allerdings frage ich mich, was ich noch alles machen muss. 1. Muss man damit rechnen, dass sich irgendein Setup Bit der Portregister mal dreht? Denn das Setup wird bisher nur einmal durchlaufen und dann nie wieder. Das sind FlipFlops, keine RAM Zellen. 2. Watchdog ist bereits aktiviert auf 8s. Hängt er irgendwo resettet er sich auch. Nur ein einziges Mal hing er dauerhaft fest, warum weiss ich nicht und im Nachhinein nicht mehr feststellbar. (Beim Attiny ist der WDT ja abstellbar, wenn man ihn nicht fused.) 3. Freier Flash ist auf "NOP" gestellt, so dass der Programmcounter notfalls bis zum Ende durchrennt und dann bei 0x0000 (Reset) wieder anfängt, wenn er mal entgleist und "irgendwohin" springt. Die restliche Frage wäre: Sollte ich einen täglichen Hardware Reset durch den WDT mit einplanen? Und wäre es sinnvoll zb die Register bei jedem Durchlauf der Hauptschleife in der er ja endlos rumkurvt neu zu setzen? Testweise habe ich mal ein Piezo-Feuerzeug (diese Lidl Dinger für Kerzen) neben dem Attiny gezündet mit der Folge, dass er abstürzt und resettet. Das Phänomen habe ich auch bei meinem DVBT Fernseher, dass da ein Flacker zu sehen ist, auch noch aus 4m Entfernung DVBT Antenne zu Couch. Auch ein Handyanruf bringt ihn durcheianer, die Interruptleitung zu einem Sensor "flackert" wie irre und löst ständig INts aus, wenn das Handy sich anmeldet. Hat da jemand Erfahrungen wie stabil solche Zwerge laufen?
@ Christian J. (hobel) >1. Muss man damit rechnen, dass sich irgendein Setup Bit der >Portregister mal dreht? Wenn du nicht gerade im Weltraum bist, dann eher nicht. >2. Watchdog ist bereits aktiviert auf 8s. Hängt er irgendwo resettet er >sich auch. Der übliche Rettungsanker. >3. Freier Flash ist auf "NOP" gestellt, so dass der Programmcounter >notfalls bis zum Ende durchrennt und dann bei 0x0000 (Reset) wieder >anfängt, wenn er mal entgleist und "irgendwohin" springt. Kann man machen. >Die restliche Frage wäre: Sollte ich einen täglichen Hardware Reset >durch den WDT mit einplanen? Und wäre es sinnvoll zb die Register bei >jedem Durchlauf der Hauptschleife in der er ja endlos rumkurvt neu zu >setzen? Eher nicht. >Hat da jemand Erfahrungen wie stabil solche Zwerge laufen? Das hängt auch von der Aussenbeschaltung ab. Saubere, stabile Stromversorgung. EMV-feste Ein- und Ausgänge etc.
> 1. Muss man damit rechnen, dass sich irgendein Setup > Bit der Portregister mal dreht? Nein, das wäre nur im Weltraum zu befürchten. > Sollte ich einen täglichen Hardware Reset > durch den WDT mit einplanen? Würde ich nicht tun. Wenn der µC falsch funktioniert, hat er ein ernsteres Problem, bei dem ein regelmäßiger Reset keine Lösung wäre. Wir sind ja nicht bei Windows 95 :-) > Und wäre es sinnvoll zb die Register bei > jedem Durchlauf der Hauptschleife in der er > ja endlos rumkurvt neu zu setzen? Nein. Wenn die Register nicht richtig funktionieren, ist der Chip defekt, dann nützen solche Aktionen auch nichts. > Testweise habe ich mal ein Piezo-Feuerzeug (diese Lidl Dinger > für Kerzen) neben dem Attiny gezündet mit der Folge, dass er > abstürzt und resettet. Dann hast du vermutlich eine empfindliche Regelung in der Stromversorgung, oder Abblockkondensatoren vergessen oder den Reset-Pin nicht EMV sicher beschaltet (10k Widerstand und 100nF Kondensator). > Auch ein Handyanruf bringt ihn durcheianer Deutet auf einen groben Schaltungsfehler hin. So empfindlich ist normalerweise kein Mikrocontroller. Zeige mal den Schaltplan und mach ein Foto von dem Aufbau. Insbesondere interessiere ich mich dafür, wo und welche Abblockkondensatoren, Pull-Up/Pull-Down Widerstände und R/C Glieder eingesetzt hast. Vor allem an allen Leitungen die länger als 3cm sind.
Christian J. schrieb: > Die restliche Frage wäre: Sollte ich einen täglichen Hardware Reset > durch den WDT mit einplanen? Na? Auch mit Windows aufgewachsen? Wenn es gut programmiert ist, dass ist es auch stabil.
Stefan Us schrieb: > Zeige mal den Schaltplan und mach ein Foto von dem Aufbau. Insbesondere > interessiere ich mich dafür, wo und welche Abblockkondensatoren, > Pull-Up/Pull-Down Widerstände und R/C Glieder eingesetzt hast. Vor allem > an allen Leitungen die länger als 3cm sind. Hallo, Schaltplan gibt es nicht, da aus dem Kopf gebaut. 3 x Eneloop direkt an einem winzigen DC/D Wandler: http://www.ebay.de/itm/311323628389?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT 100nF und 100uF parallel vor uC. Reset über 10k an Vcc. Sensor läuft direkt über die AA Zellen an ca 3.3-4.5V Das war es. Altertaiv könnte ich das Relais noch über DC/DC betreiben, den uC an 3.3V hängen und das relais gegen Masse ziehen lassen. >>Reset-Pin nicht EMV sicher beschaltet (10k Widerstand und 100nF Kondensator). Gute Idee, der 100nf fehlt noch.
Uwe K. schrieb: > Na? Auch mit Windows aufgewachsen? Jaa...... glaube daher kommt der Aberglaube "Mach mal nen Reset...." und dass nach jeder Softwareinstallation neu gebootet werden muss. PS: Die Daten-Leitungen sind natürlich extrem hochohmig. In der Firma würde ich das nicht durchkriegen, entweder es sind Innenlagen oder aber sie kriegen alle PU oder PD bzw. einen Serienwiderstand drin. Ok, muss los... Freibad.... bei dem Wetter ne Sünde vor der Kiste zu hängen.
@ Christian J. (hobel)
>Schaltplan gibt es nicht, da aus dem Kopf gebaut.
Aha. Solche Experten braucht das Land.
Registerbits drehen lässt sich einfach durch Surge bzw. Burst, dies sind irdische Dinge. Bis in den Weltraum muss man dafür nicht! Daher wäre in zyklischer Registercheck evtl. sinnvoll, hängt aber vom geplanten Einsatz ab.
visitor schrieb: > Registerbits drehen lässt sich einfach durch Surge bzw. Burst, dies sind > irdische Dinge. Kann ich voll bestätigen! Auch andere Hersteller empfehlen, Portbits (Direction und Value) bei kritischen Sachen zyklisch zu setzen, da die FlipFlops näher an den Störungen von draußen sitzen.
Stefan1234 schrieb: > Kann ich voll bestätigen! Auch andere Hersteller empfehlen, Portbits > (Direction und Value) bei kritischen Sachen zyklisch zu setzen, da die > FlipFlops näher an den Störungen von draußen sitzen. Dazu noch das Flash immer wieder neu programmieren, den Stack am besten ins ROM legen und mit Prüfsumme versehen. Nicht zu vergessen: Versicherung gegen schlechte Programmierung abschließen! Das Bild vom Aufbau zeigt eine sorfältig konzipierte Allbereichsantenne. Oder ist die Schaltung ein Gewitterdetektor? ;-)
An dem Mikrocontroller sollte ein 100nF Kondensator direkt von VCC nach GND gehen. Ich kann an dem Foto nicht erkennen, ob das wirklich der Fall ist. Direkt am Chip ist wirklich wichtig. Am Reset Pin ist keine Leitung, nur der Pull-Up. Ich glaube, so ist es unwarscheinlich, dass du dir da ungewollt was einfängst. Wenn du den Pin nicht brauchst, kannst du ihn idelaerweise direkt mit VCC verbinden. Ich würde mit einem Speicher-Oszilloskop prüfen, ob der Schaltregler Aussetzer macht, wenn Funkstörungen in der Nähe sind. Zu den softwaremäßigen Sicherheitsmaßnahmen: Ich denke der größe Schwachpunkt bezüglich umkippender Bits ist der Flash Speicher. Die haben ohnehin nicht gerade den Ruf, was für die Ewigkeit zu sein. Dagegen hilft ein maskenprogrammiertes ROM - aber ich schätze, das kommt in diesem Fall nicht in Frage.
Also frei verdrahtet kann schon zu Problemen führen. Schau Dir aml an was bei Autos so gemacht wird um die unsaubere Spannungsversorgung in den Griff zu bekommen. Wenn Du dann noch die Eingänge passend enstört hast kannst Du Dich an die genannten Programmierlösungen wagen. Paranoide legen z.B. mehrere Programme im Flash ab und haben noch mehr als einen Bootloader der die dann anspringt. Register regelmäßig zu checken ist acuh nett. Absolut sicher wird's aber nie, außer Du nimmst MilSpec und SPACEPROOF Chips die Du mit Harz in enem HF-Gehäuse absäufst un I/O nur via Optokoppler machst. Also was soll's werden die ultimative Antialienkanone die auch nich mitten in der Sonne feuern kann oder einfach nur ein Bastelprojekt das den Hühnerstall auf's gackern überwacht ?
Ich wuerd mal eine Leiterplatte mit GND Plane und Fokus auf EMV designen. Dabei die Pins richtig beschalten, Speisung blocken, das Uebliche eben. Und dann laeuft das Ganze auch zuverlaessig.
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.