Forum: Mikrocontroller und Digitale Elektronik Kann man mit 16 Transistoren einen ATMega8 überfordern ?


von Torsten B. (torty)


Lesenswert?

Hallo Gruppe

Habe für unsere Krippe eine LED Sternschnuppe gebaut und möchte 16 LED 
Stränge über Transistoren BC818-25 von einem ATMega8 steuern lassen.

Schaltung aufgebaut, ging auch anfangs.
Jetzt komme ich auf einmal nicht mehr in den "programming mode".

Programmierer: AVR Dragon
Transistor: 16 x BC818-25
Basiswiderstand: 1,5k

Der Dragon ist noch OK. Habs Gerade an einer anderen Schaltung probiert.

Der Mega muss doch mehr als 16 Basisströme von je 3mA treiben können. 
!Datenblatt!
Erst dachte ich, ich wäre in die Strombegrenzung des Netzteiles 
gefahren, aber wars nicht.

Hat einer eine Idee, warum ich auf einmal nicht mehr mit ISP an das Teil 
ran komme ?


Grüße
TOrsten

von STK500-Besitzer (Gast)


Lesenswert?

Wie sieht denn deine Entkopplung der ISP-Pins zu den Transitoren aus?
Atmel hat dazu eine Application Note rausgebracht.
Im Notfall müsste man die betreffenden Pins per Jumper freischalten.

von Torsten B. (torty)


Lesenswert?

HAb ich auch schon überlegt und die Verbindung zum Testn aufgetrennt.
Macht aber leider keinen UNterschied.

von Maik M. (myco)


Lesenswert?

Ohne die Schaltung zu sehen, kann man nicht viel dazu sagen. Evtl. 
Resetbeschaltung fehlerhaft, oder die Transistoren liegen auf den 
ISP-Pins, oder oder oder...

von asdf (Gast)


Lesenswert?

Muss er koennen. AFAIK ist das maximum 40 mA per port und zusaetzlich 
eine maximum verlustleistung fuer den gesamten uC (Und, ja Ich hab' das 
ausprobiert.. die 40mA jedenfalls). Wenn du unter den beiden bleibst 
sollte nichts passieren. Was noch an fehlerquellen bleibt sind: ISP 
connector(kalte loetstellen), FUSE bytes, OS, und eventuell die 
programming dongles selbst. Die 'intelligenten' programming dongles 
haben wohl ein setting, das derartige probleme verursachen kann... 
JTAG/STK500v 'Bitclock'...

von Pink S. (pinkshell)


Lesenswert?

Sieht mir ganz nach "die LED hängen am ISP-Pin" aus. Der Programmer 
schafft es nicht, die Leitung hochzuziehen.

von Torsten B. (torty)


Lesenswert?

Am gesamten Port B hängt aber nichts dran. Die LED Stränge werden von 
Port D und C über Transistoren getrieben.
Von der Steuerplatine zur Sternschnuppe gehen ca 30cm lange Leitungen .
Könnte es sein, dass schon die Induktivität dieser Leitungen (die LEDs 
sind PWM gedimmt)
Reicht um alles zu zerschießen?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Torsten B. schrieb:
> Die LED Stränge werden von Port D und C über Transistoren getrieben.

PC6 ist der RESET Pin. Ich unterstelle Dir mal dass du die RSTDISBL Fuse 
gesetzt hast. Damit hast du dich dann ISP mässig ausgesperrt.

von Torsten B. (torty)


Lesenswert?

Kann ich das prüfen? Ohne HV?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Klar - probier einfach, ob der Reset Pin noch resetted, wenn du ihn auf 
Masse ziehst. Wenn der Prozessor nach dem loslassen wieder von vorne 
losrennt, ist der Reset Pin noch in Funktion.

von Dietrich L. (dietrichl)


Lesenswert?

Torsten B. schrieb:
> Die LED Stränge werden von
> Port D und C über Transistoren getrieben.

Und wie kommst Du da auf 16 Pins? PC6 (Reset) wurde ja schon erwähnt, 
aber PC7 habe ich überhaupt nicht gefunden!?

Gruß Dietrich

von Torsten B. (torty)


Angehängte Dateien:

Lesenswert?

OK Hatte mich eingangs vertan.
Auf 16 Pins komm ich mit PortD0-7, PortC0-5 und PortB2+3
Die beiden BPins habe ich aber zum Debugen wieder abgeklemmt um ISP 
Probleme einzugrenzen.

Matthias Sch. schrieb:
> Klar - probier einfach, ob der Reset Pin noch resetted, wenn du ihn auf
> Masse ziehst. Wenn der Prozessor nach dem loslassen wieder von vorne
> losrennt, ist der Reset Pin noch in Funktion.

Wenn ich auf die Fuse Karteikarte im Studio klicke resetet er beim 
Versuch zu lesen. Dabei flackern die ansonsten alle hell erleuchteten 
LEDs kurz.
Dem entnehme ich, dass der ResetPin noch funktioniert.
Kann ich daraus auch folgern, dass das Ding noch nicht hin ist ?

Hab mal das Board und den Plan angehängt.
Ist nicht sehr sauber gezeichnet, aber es sollte schnell gehen ....
Vielleicht hilft das jemandem.

Die Verdrahtung vom Reset Pin fehlt hier, weil ich nur einseitig drucken 
wollte.
Ist aber mit Lackdraht nachgezogen.

Grüße
TOrsten

von troll (Gast)


Lesenswert?

Eagledateien bitte immer zusätzlich als pdf oder png. Nicht jeder hat 
die passende Software.

von Torsten B. (torty)


Angehängte Dateien:

Lesenswert?

sehr gerne ..
Sorry

von Maik M. (myco)


Lesenswert?

Der Reihe nach würde ich mal folgendes testen:
1. Sind alle Kabel dran, und gibt es keine Kurzschlüsse
2. Stimmt die Versorgungsspannung (und stimmt sie auch wenn der 
Programmer dran ist)
3. entferne C1 und versuche zu programmieren
4. entferne R9 und versuche dann zu programmieren

von Torsten B. (torty)


Lesenswert?

Ich glaube es geht wieder. :-)

Die Lösung war ein 47uF Elko zwischen VIN und GND
16 x PWM war wohl zuviel gehacke für den armen 7805.

Hoffe es bleibt so.

Danke an alle
Torsten

von Thomas (kosmos)


Lesenswert?

wenn man dem 7805 1A abverlangt wären 2.200µF gut bemessen am Ausgang 
nochmal 10µF

von Bernd (Gast)


Lesenswert?

Torsten B. schrieb:
> 16 x PWM war wohl zuviel gehacke für den armen 7805.
>
> Hoffe es bleibt so.

ich weiß ja nicht, beim Programmieren läuft ja keine PWM

von Torsten B. (torty)


Lesenswert?

Beim Programmieren natürlich nicht, aber bevor man im ProgMode ist sehr 
wohl, wenn einmal geflashed. Und in den bin ich ja nicht mal gekommen.

von Nachgelesen (Gast)


Lesenswert?

asdf schrieb:
> AFAIK ist das maximum 40 mA per port

Bevor du hier mit Halbwissen und falschen Fakten um dich wirfst, schau 
doch einfach ins DATENBLATT!
Der Atmega8 kann pro Pin 40mA. Der Port C kann insgesamt 100, B und D 
jeweils 200 mA leisten. Der gesamte Strom darf bis zu 300mA betragen.
Hängt natürlich von deinem Code ab wie du das zeitlich aufteilst. Bei 
einem Programmierfehler könnte es passieren das du den µC himmelst. 
Besser sind hardwareseitige Maßnahmen zur Strombegrenzung.

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.