Forum: Mikrocontroller und Digitale Elektronik Atmel Tiny12


von Andi (Gast)


Lesenswert?

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

von Chriss (Gast)


Lesenswert?

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.

von Stefan Kleinwort (Gast)


Lesenswert?

>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

von Andi (Gast)


Lesenswert?

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

von Stefan Kleinwort (Gast)


Lesenswert?

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

von Andi (Gast)


Lesenswert?

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

von Stefan Kleinwort (Gast)


Lesenswert?

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

von Andi (Gast)


Lesenswert?

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

von Stefan Kleinwort (Gast)


Lesenswert?

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

von Andi (Gast)


Lesenswert?

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

von Stefan Kleinwort (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

"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
Noch kein Account? Hier anmelden.