Hi! Habe ein paar elektronische Fragen zum Tiny12 bzw. auch allgemein zu den Atmel´s. 1. Wie niedrig und wie hoch darf ein Widerstand sein, welcher an einem Output-Pin mit Pull-Up, z. B. PB2, zum schalten eines NPN angeschlossen ist welcher wiederum ein Relais schaltet und am Emitter 12V anliegen? 2. Wenn der Atmel im Sleep-Modus ist, wird der Low-Pegel zum schalten des NPN dann beibehalten? Wenn nur in einem Sleep-Mode, in welchem (Idle, Power-Down)? Habe im Programm an bestimmten stellen einen Sleep-Befehl damit der Controller sich nicht totläuft und mittels Pin-IRQ und einem RETI in Adresse $002 wird er wieder aufgeweckt. 3. Kann man eine Signalquelle welche Low oder High ist und von einer 14V-Quelle kommt direkt über einen Widerstand an PBx anschließen und wenn, wie hoch muß der Widerstand sein mit dem auch noch Low oder High erkennbar ist? 4. Reicht für den Tiny12 auch ein kleiner Spannungsregler, 78L05, 0,1A, aus? Die Schalttransistoren werden an C oder E mit der Eingangsspannung von 12-14V versorgt. Ansonsten ist von der 5V-Regelung nur noch über Pull-Up ein LDR angeschlossen. Es sind viele doofe Fragen aber ich fange gerade erst mit einem Atmel an. Vielen Dank im Voraus! Gruß Andi
List dir mal das Datenblatt des Tiny12 durch. Zu finden auf der Atmel HOMEpage. und dann schau in die Tabelle: Absolute Maximum Ratings. Dort solltest du fündig werden.
>2. Wenn der Atmel im Sleep-Modus ist, wird der Low-Pegel zum schalten >des NPN dann beibehalten? Wenn nur in einem Sleep-Mode, in welchem >(Idle, Power-Down)? >Habe im Programm an bestimmten stellen einen Sleep-Befehl damit der >Controller sich nicht totläuft und mittels Pin-IRQ und einem RETI in >Adresse $002 wird er wieder aufgeweckt. Die Pins behalten ihre Funktion in beiden Modi. Allerdings verbrauchen sie auch ggf. Strom. Das ist aber in Deiner Funktion wohl nicht der eigendliche Grund für PWDN. Brownout oder Watchdog sind aber die angesagteren Methoden für sowas. >3. Kann man eine Signalquelle welche Low oder High ist und von einer >14V-Quelle kommt direkt über einen Widerstand an PBx anschließen und >wenn, wie hoch muß der Widerstand sein mit dem auch noch Low oder >High >erkennbar ist? Im Prinzip ja. Es gibt eine Atmel-App-Note, in der der mc direkt an der Netzspannung (über 2 * 1M) hängt. Einen guten Stil finde ich das aber nicht. Ich würde empfehlen: relativ hochohmig (100k oder mehr) und danach Diode gegen Vcc. >4. Reicht für den Tiny12 auch ein kleiner Spannungsregler, 78L05, >0,1A, >aus? >Die Schalttransistoren werden an C oder E mit der Eingangsspannung >von >12-14V versorgt. >Ansonsten ist von der 5V-Regelung nur noch über Pull-Up ein LDR >angeschlossen. Der reicht locker aus. Das Konzept ist gut: Relais direkt aus dern12V schalten. Das verringert die Störungen auf der 5V-Leitung. >Es sind viele doofe Fragen aber ich fange gerade erst mit einem Atmel >an. So doof sind die doch garnicht ... Stefan
Danke Stefan! Wegen Punkt 3 muß ich noch mal nachhaken. Und zwar ist die Signalquelle mal +10,5 und kurz darauf +14V und mal Minus (Masse). Ist vom Regler einer Lichtmaschine. Müßte das irgend wie an einen PBx anschließen um zu unterscheiden ob was läuft oder nicht. Dachte halt, man könnte das Signal über einen hohen Widerstand direkt anschließen aber wenn, dann mit welchem. Im zweifelsfall mach ich es über einen Transistor und Pull-Up-Widerstand. Kostet halt wieder Platz auf der Platine die klein bleiben soll (Lochraster). Gruß Andi
Entweder die harte Methode, Pullup 100k und auf die interen Diode vertrauen. So wie Atmel das macht. Oder aber richtig sicher, und das ist bei einer Lichtmaschine sicher nicht verkehrt. Einen Pullup am mc brauchst Du nicht, den haben die Ports ja intern. Die Idee mit dem T ist nicht schlecht, plus Vorwiderstand. Es gibt auch Transistoren mit integriertem Vorwiderstand, allerdings kenne ich die nur in SMD (da heissen sie BCR148). Dann brauchst Du wirklich nur ein Bauteil am Eingang. Stefan
Das mit dem Pull-Ups habe ich hier irgend wo im Tutorial gelesen. Z. B. als Schalter, von Plus über Widerstand zu PBx und von dort zur Masse. Ist dann ein Massegesteuerter Schalter also in PBx 0 ist dann Schalter gedrückt. Und Du bist sicher, das man keinen Pull-Up-Widerstand von Plus benötigt wenn man den Kollektor z. B. eines BC547 (NPN) an PBx anschließt? Gruß Andi
PB0 .. PB4 haben laut Datenblatt interne Pullups. Die musst Du per Software einschalten. Danach funktionieren sie exakt wie externe R. So wie Du den Anschluss des T beschrieben hast, funktioniert es gut. Wichtig ist, dass Du für den Zeitpunkt, in dem der Tiny im Reset ist, nicht unbedingt auf den Pullup angewiesen bist. Aber das ist bei Dir auch nicht der Fall. Stefan
Also heißt das, das einfach mit den Comandos ldi r16,0b11111 out portb,r16 die Pullup-Widerstände in dem mc aktiviert sind? Und das sind solche wie man sie wo anders, z. B. Ne555 zum Triggern, dazuschaltet? Wie hoch ist der Widerstand von den mc-Pullups? Theroretisch brächte ich also keine Pullups an die PBx wenn die als Schaltersensoren fungieren? Wie sieht es aus mit nen LDR an einen PBx? Kann ich dazu auch den internen Pullup hernehmen? Was passiert im Resetzustand (Strom an) wenn die Pullups noch nicht aktiv sind und ein externer Schalter zieht Strom an einem PBx? Gruß Andi
Also das geht mir etwas zu schnell mit dem Fragen. Lies Dir mal das Kapitel über die Portpins durch, da steht auch, welches Reg. Du setzen musst. out portb stimmt aber nicht. Der Wert der Pullups steht im Datenblatt (und ist relativ ungenau). LDR? Photowiderstand? Toleranz des internen Pullup beachten! Vorgesehen sind die Pullups hauptsächlich, um Taster direkt ohne Zusatzbauteil anzuschliessen. Die Taster ziehen dabei den Pin auf GND, der Pullup hält in normalerweise auf Hi-Pegel. Bei dieser Beschaltung kann natürlich nur Strom aus dem Pullup entnommen werden, wenn dieser auch eingeschaltet ist. Stefan
Sorry, aber ich bin einfach begeistert von den AVR´s, habe in dieser Woche schon alles darüber aufgesogen, habe schon ein Steuerprogramm geschrieben, bin gerade dabei, mir den Parallelport-Brenner zusammenzubasteln und hoffe, das meine alte, analog aufgebaute und nicht nach Wunsch laufende Dämmerungsschaltung im PKW bald durch die mc-gesteuerte ersetzt wird. Da ist man ja viel flexibler in der Software als immer irgend welche Widerstände oder Kondensatoren zu wechseln oder dazuzubauen :-( Software ist bei mir das non-plus-ultra aber in Sachen Hardware... na ja. Das mit dem "out portb,16" heißt natürlich genaugenommen "out $18,r16". portb aus nen Include-File ist nur ein Ersatz für I/O-Register $18. Vielen Dank für Deine Antworten. Hast mich ein stück näher zum Ziel gebracht. Gruß Andi
Ist schon ok ;-) Ich denke halt, es ist besser, Werte, die man aus dem Datenblatt bekommen kann, auch dort rauszuziehen, dann weiss man sie sicher und muss sich nicht auf Infos von Dritten verlassen. Mit ldi r16,0b11111 out portb,r16 hattest Du übrigens doch Recht, sorry. Ich programmiere auf mehreren Architekturen, und hatte gerade den NEC im Kopf, da gibt es ein extra Pullup-Register. Stefan
"1. Wie niedrig und wie hoch darf ein Widerstand sein, welcher an einem Output-Pin mit Pull-Up, z. B. PB2, zum schalten eines NPN angeschlossen ist welcher wiederum ein Relais schaltet und am Emitter 12V anliegen?" Einen Transistor an 12V kannst Du garnicht direkt schalten. Entweder einen npn mit Emitter an GND oder pnp mit Emitter an VCC. Peter
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.