Forum: Mikrocontroller und Digitale Elektronik Simple Tiny13 Schaltung - funktioniert nicht


von Benjamin B. (revolutionfx)


Angehängte Dateien:

Lesenswert?

Hallo an alle,
ich bin gerad dabei meine ersten Geh-Versuche auf dem ATTiny13 zu 
machen.
Habe dazu ein einfaches Programm in WinAVR unter AVRStudio geschrieben, 
simuliert (funktioniert) und auf den µC geladen.
Darauf hin habe ich auf einem Breedboard die Schaltung zusammen 
gestöpselt.

Wenn ich jetzt Saft drauf gebe blinken die LEDs sofort (evtl. wie in der 
ersten If-Funktion beschrieben), die Schalter haben keinen Effekt.

Habe darauf hin den Tiny mal mit einem Multimeter nachgeprüft, jeder Pin 
führt 5V (Programm-Fehler?).

Vllt. guckt mal jemand drüber und gibt mir nen Tipp.

Vielen Dank
Gruß ben

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Hallo,

jeder Pin deines µC's hat einen internen Pullup, der offene Eingänge auf 
5V legt. Dieser ist offensichtlich angeschaltet, da du immer 5V misst. 
Schalten jetzt deine Taster, bleiben es immer noch 5V. Entweder du 
schaltest den integrierten Pullup ab und machst einen externen Pulldown 
dran (kompliziert), oder du lässt deine Schalter nach GND schalten 
(einfach). Normalerweise lässt man Schalter immer nach GND schalten, das 
geht einfacher und besser.

Gruß
Jonathan


P.S.: Die Pullups werden mit dem PORT-Register geschaltet (wenn der Pin 
eine Eingang ist). PORTB.x = 0: Pullup aus, PORTB.x = 1: Pullup an.

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Übrigens: wenn du den RESET-Pin wirklich wie im Schaltplan auf GND 
schaltest, sollte da eigentlich gar nix blinken...

Gruß
Jonathan

von Benjamin B. (revolutionfx)


Lesenswert?

ja stimmt, Reset auf Vcc, mein Fehler.

Ok also Pullups für Eingänge An
PORTB |= (1<<PB3)|(1<<PB4);

If-Fkt. Parameter auf
if(!PINB & (1<<PIN3/bzw PIN4))

und die Taster einfach auf GND anstatt Vcc legen, oder?

gruß ben

von philipp (Gast)


Lesenswert?

ja

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Also, ich kann leider kein C, aber wenn diese if-Zeile nun bei einem 
Low-Pegel deine Routinen ausführt, dann stimmt jetzt alles.

Gruß
Jonathan

von Benjamin B. (revolutionfx)


Angehängte Dateien:

Lesenswert?

So, Problem ist jetzt nur das die Simulation jetzt nicht mehr 
funktioniert.

gruß ben

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

Teste es einfach direkt auf dem µC. Nur so kann man ganz sicher sein, 
dass es mit der Hardware geht.


P.S.: Zum Testen sollte man besser noch Schutzwiderstände vor Ein- und 
Ausgänge schalten. Nur zur Sicherheit, falls man doch mal was falsch 
macht.

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.