Forum: Mikrocontroller und Digitale Elektronik ISP Pin's als Ausgang belegen, wie geht das?


von Orikson (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich bastle schon seit einiger Zeit an einer Schaltung mit einem 
ATtiny2313. Das ganze hat 12 Tasteneingänge (jede an einem eigenen Pin 
angeschlossen) und einen Ausgang, an dem über 10kOhm ein BC548 
Transistor hängt, mit dem dann eine Last geschalten wird wenn man die 
Tasten richtig drückt. Da durch die 12 Tasten schon alles an 
"unabhängigen" Pins aufgebraucht ist habe ich den Transistorausgang an 
den MOSI Port gehängt.

Damit gibt es jetzt aber scheinbar Probleme, denn ich kann den ATtiny 
nicht mehr richtig beschreiben. PonyProg hängt sich immer zwischen 6 - 
50% auf, und wenn es doch ganz durchläuft meckert er, dass er nicht 
erfolgreich schreiben konnte. Wenn ich den 10k Ohm Widerstand zum 
Transistor trenne geht es ohne Probleme, daher vermute ich, dass das 
Problem da ran liegt. Während dem schreiben liegt am Transistor keine 
Spannung an und es ist auch nix angeschlossen, ein Abblockkondensator 
ist im IC Sockel drin.

Habe zwar schon was gefunden, dass es gehen müsste, wenn man die Sachen 
hochohmig anschließt, aber wie genau muss ich das mit meinem Transistor 
machen? Es ist einfach nervig jedes mal beim Testen des Codes erst den 
Widerstand weg- und wieder an zu löten.

Hier mal der Schaltplan, im Anhang außerdem Code und Layout. R1 wurde 
übrigens auch schon entfernt!
http://pic.leech.it/pic.php?id=d23d073dbild1.png

von Falk B. (falk)


Lesenswert?

@  Orikson (Gast)

>ATtiny2313. Das ganze hat 12 Tasteneingänge (jede an einem eigenen Pin
>angeschlossen) und einen Ausgang, an dem über 10kOhm ein BC548

Die Widerstandsnetzwerke kannst du dir sparen. Einfach die internen 
Pull-Ups einschalten.

Die 10K sollten eigentlich keine Probleme machen. Jeder normale 
Programmieradapter kann das treiben. Allerdings haben einige 
Super-Billig-Sparversionen damit Probleme.

Wenn es nciht geht, dann tausche deinen Transistorausgang mit einer 
Taste, das geht dann problemlos. Man darf nur nicht die Taste beim 
Programmieren drücken :-0

MFG
Falk

von Orikson (Gast)


Lesenswert?

Die Widerstandsnetzwerke müssen sein, weil die internen Pull-Ups zu 
klein sind (~10k) ich aber ~1M brauch. Das sind auch keine normalen 
Taster sondern nur metalische Flächen derren Kapazitätsänderung gemessen 
wird, das geht dann ohne mechanische Taster und berührungslos.

Als Programmer habe ich den LPT von hier: 
http://rumil.de/hardware/avrisp.html

Kann ich denn nicht irgendwie eine Verzögerung in den Code schreiben, 
dass der Ausgang erst nach 5 Sekunden oder so zum Ausgang wird? Oder 
stört allein schon die Tatsache das da ein Transistor ist?

von Falk B. (falk)


Lesenswert?

@Orikson (Gast)

>Als Programmer habe ich den LPT von hier:
>http://rumil.de/hardware/avrisp.html

Der ist OK.

>Kann ich denn nicht irgendwie eine Verzögerung in den Code schreiben,
>dass der Ausgang erst nach 5 Sekunden oder so zum Ausgang wird?

Vollkommen egal, sobal RESET auf LOW geht, ist es keine Ausgang mehr.

> Oder stört allein schon die Tatsache das da ein Transistor ist?

Nöö, wenn es WIRKLICH 10K sind sollte der Programmieradapter keine 
Probleme haben, das Ding zu treiben. Prüfe mal deinen Aufbau. Vielleicht 
hast du keine gute Massevebindung oder so.

MFG
Falk

von Orikson (Gast)


Lesenswert?

Beim Aufbau ist mir jetz nix ungewöhnliches aufgefallen, Masse ist ok.

Aber ich sehe gerade, dass ich die Anschlüsse für den externen Quarz 
auch verwenden kann, da ja der interne Takt verwendet wird. Dann werde 
ich das wohl so machen, dann hab ich hoffentlich kein Problem mehr 
damit...

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.