Forum: Mikrocontroller und Digitale Elektronik Problem Relais mit AVR


von emc2 (Gast)


Lesenswert?

Hallo zusammen,

ich habe folgendes Problem: Ich möchte ein kleines Relais (FRT5) mit 
einem ATTiny2313 schalten. Aufgebaut habe ich das ganze nach dieser 
Schaltung: 
http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Schaltstufe_f.C3.BCr_kleine_Lasten
Als Treiber verwende ich einen BC547C für den ich einen Basiswiderstand 
von 3,75k berechnet habe. Das Relais schaltet einwandfrei, wenn ich die 
Basis mittels Widerstand "von Hand" auf +5V stecke. Schalte ich nun aber 
stattdessen einen Portpin high, steuert der Transistor nicht durch. An 
der Basis fällt die Spannung bei einem high des Portpins auch auf c.a. 
0,7V ab.

Kann mir hier jemand weiterhelfen?

Vielen Dank!

von hp-freund (Gast)


Lesenswert?

emc2 schrieb:
> wenn ich die
> Basis mittels Widerstand "von Hand" auf +5V stecke.

Der ATTiny war aber dabei nicht verbunden oder?

Und wenn Du den Ausgang auf H schaltest und mit Voltmeter misst kommen 
5V mit und ohne verbundenem R am Pin an?

von Klaus (Gast)


Lesenswert?

An sich sollte das so gehen. Allerdings gibt es genug 
Fehlermöglichkeiten in den Einzelheiten, die Du nicht beschrieben hast.

Allen voran: Schaltplan und Programm. Und zwar am besten der gesamte 
Schaltplan einschl. Stromversorgung und allen noch weiter vorhandenen, 
an den ATTiny angeschlossenen Bauteile.

Am wichtigsten: Portpin auf Ausgang geschaltet? Basiswiderstand am 
richtigen Pin? Gesamtstrom aller I/Os unter 20mA? (Hoffe das habe ich 
richtig im Kopf; schaue vielleicht nochmal im Datenblatt nach)

Das an der Basis nur 0,7V liegen entspricht der Theorie. Das ist OK.

von Jonas Wühr (Gast)


Lesenswert?

Ist der Pin im Programm aus Ausgang?

von emc2 (Gast)


Lesenswert?

Natürlich habe ich den Port als Ausgang gesetzt. Dachte ich ;-)
War wohl gestern doch schon etwas spät und meine Initialisierung lautete
1
PORTD |= (1<<PD4 | 1<< PD5);
anstatt
1
DDRD |= (1<<PD4 | 1<< PD5);
habe also nur schön den Pullup geschaltet, statt den pin selbst.

Läuft. Danke euch!

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.