Forum: Mikrocontroller und Digitale Elektronik Attiny als NPN-Schalter - BASCOM


von Jens S. (jens64)


Lesenswert?

Hallo.

Ich verwende BASCOM und einen Attiny13.

Ich habe vor, einen Kondensator zu löschen, indem ich ihn kurz (über 
einen Widerstand) gegen Masse schalte. Mit einem NPN Transistor ist das 
kein Problem. Leider habe ich eine Schaltung, in der ich diesen nicht 
mehr einbauen kann. Deshalb meine Frage:

Kann ich einen Port des AVR auch so programmieren, dass er gegen Masse 
(GND) schaltet (NPN)? Standard ist ja, dass er eine Spannung (UB) auf 
den Ausgang gibt (PNP).

Wie müßte ich das in BASCOM Programmieren? PORT/PIN/DDR?

Die reine Ausgangskonfiguration würde mir schon weiterhelfen.

Danke für Eure Hilfe.

Jens

von Markus E. (markus_e176)


Lesenswert?

Ausgang auf low schalten ist das gleiche wie 'mit GND verbinden'.
D.h. DDR auf Output und PORT auf Low.
Allerdings über den Nmos in der Ausgangsstufe des AVRs, also nicht 
beliebig belastbar.

von Joey5337 (Gast)


Lesenswert?

A. Spannung des Kondensators?
B. Betriebsspannung des ATTINY?

Wenn A > B brauchst du einen Transistor der die Spannung verträgt.

Kannst du von deiner Salami noch ein paar Scheiben abschneiden und 
sagen, warum du keinen Transistor einbauen kannst?

von Jens S. (jens64)


Lesenswert?

Hallo Joey.

Danke für die schnelle Antwort. Die Spannung ist nur minimal und kleiner 
als UB (5 V).

Ich habe die Schaltung schon fertig (SMD). Ein Ausgang des Attiny wäre 
noch frei und ich könnte eine kleine Brücke zu der Stelle legen, an der 
ich das Signal löschen will. Der Kondensator hat 10nF. Er entläd sich 
sonst viel zu langsam, so dass meine Schaltung auch zu langsam ist.

Danke für die Hilfe!

LG
Jens

von MaWin (Gast)


Lesenswert?

Jens S. schrieb:
> Kann ich einen Port des AVR auch so programmieren, dass er gegen Masse
> (GND) schaltet (NPN)?

Ja.

> Standard ist ja, dass er eine Spannung (UB) auf
> den Ausgang gibt (PNP).

Nein.

Ein Pin hat 3 Zustände:

Eingang

Ausgang auf low (verbunden mit Masse)

Ausgang auf high (verbunden mit 5V)

Wenn dein Kondensator nicht mehr als 5V hat, kannst du ihn (über einen 
Widerstand) an einen Pin anschliessen, der als Eingang eschaltet ist.
Wenn der Pin zum Ausgang geschaltet wird der auf low steht, dann wird 
der ondensaot rentladen

ABER: Wenn die Kondensatorspannung irgendwo zwischen 4V und 1V legt, 
steigt die Stromaufnahme des AVR an. Für Niedrigleistungslösungen taugt 
das also nicht. Und für Kondensatoren mit mehr als VCC auch nicht.

Insgesamt lohnt es sich, mal die Datenblätter=Bedienungsanleitungen von 
den Dingern zu lesen, die man benutzt.


Übrigens: Ein NPN ist so klein, den bekommt man immer irgendwo rein, man 
muss keine TO220 Boliden nutzen wenn der Strom gering ist, auch 
SOT883=DFN1006-3 geht und ist gerade mit der Lupe zu erkennen.

von Jens S. (jens64)


Lesenswert?

Markus E. schrieb:
> Ausgang auf low schalten ist das gleiche wie 'mit GND verbinden'.
> D.h. DDR auf Output und PORT auf Low.
> Allerdings über den Nmos in der Ausgangsstufe des AVRs, also nicht
> beliebig belastbar.

Hallo Markus.

Würde das im Programm, z.B. für Port B.1, so heißen:


DDRB.1 = 1
Config PORTB.1 = OUTPUT

Schalter Alias PORTB.1

Schalter = 1 '= NPN Verbindung?

Welchen Strom verträgt der NMOS?

Danke für die rasche Hilfe.

Jens

von Peter D. (peda)


Lesenswert?

MaWin schrieb:
> ABER: Wenn die Kondensatorspannung irgendwo zwischen 4V und 1V legt,
> steigt die Stromaufnahme des AVR an.

Das kann man über DIDR0 abschalten.

von c-hater (Gast)


Lesenswert?

MaWin schrieb:

> Ein Pin hat 3 Zustände:
>
> Eingang
>
> Ausgang auf low (verbunden mit Masse)
>
> Ausgang auf high (verbunden mit 5V)

Tatsächlich sind es vier (bei etwas moderneren AVR8 oft auch fünf).

Zu den drei von dir genannten kommen noch:

Eingang mit Pullup

offener/abgetrennter Pin (wenn DIDR(n)-Register vorhanden)

Für die Anwendung des TO optimal wäre Wechsel zwischen Ausgang auf Low 
und Pin offen. Sprich:

DDRxn auf 1
PORTxn auf 0

und dann bloß noch mit dem zuhörigen DIDR-Bit wackeln, um zwischen den 
beiden gewünschten Zuständen umzuschalten.

von Markus E. (markus_e176)


Lesenswert?

Jens S. schrieb:
> Markus E. schrieb:
>> Ausgang auf low schalten ist das gleiche wie 'mit GND verbinden'.
>> D.h. DDR auf Output und PORT auf Low.
>> Allerdings über den Nmos in der Ausgangsstufe des AVRs, also nicht
>> beliebig belastbar.
>
> Hallo Markus.
>
> Würde das im Programm, z.B. für Port B.1, so heißen:
>
>
> DDRB.1 = 1
> Config PORTB.1 = OUTPUT
>
> Schalter Alias PORTB.1
>
> Schalter = 1 '= NPN Verbindung?
>

Zu Bascom kann ich leider nichts sagen:(

> Welchen Strom verträgt der NMOS?
>
Steht im Datenblatt in den Maximum Ratings. Könnten bei AVR ca. 20mA 
dauerhaft sein, aber nagel mich nicht drauf fest...
Wenn du den Kondensator direkt draufschaltest, wird der Strom beim 
Entladen nur vom On-Widerstand des (internen) Mosfet begrenzt 
(Größenordnung 1-100 Ohm, siehe Datenblatt). Der kurze Entladepuls bei 
1nF sollte aber ohne Probleme gehen, wenn du nicht gerade mit einigen 
kHz entlädst.

> Danke für die rasche Hilfe.
>
> Jens

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.