Forum: Mikrocontroller und Digitale Elektronik Spannungsversorgung per ISP -> geht; per Universalnetzteil -> geht nicht


von Michael N. (garril)


Lesenswert?

Guten Abend,

ich habe einen Tiefpass, welche ich an einen Attiny45-20 führe. Per ADC 
wird das ganze konvertiert und entsprechend eine LED geschaltet.

Wenn ich die Spannungsversorgung per ISP mache, funktioniert alles.
Nutze ich jedoch mein Universalnetzteil (auch 5V, Pins sind einfach auf 
die beiden ISP-Pins verbunden) funktioniert es nicht mehr...
Woran liegt das? Soll nämlich später eigentlich sowieso an einem NT 
betrieben werden.

Danke und Gruß

von spess53 (Gast)


Lesenswert?

Hi

>Woran liegt das? Soll nämlich später eigentlich sowieso an einem NT
>betrieben werden.

Was ist mit Reset?

MfG Spess

von Stefan F. (sfrings)


Lesenswert?

Möglicherweise steigt die Spannung des Netzteil beim Einschalten zu 
langsam an. Sprich die Versorgungsspannung hat noch nicht stabile 5V 
erreicht, während der Reset-Impuls schon beendet ist. Kommt bei kleinen 
Schaltnetzteilen öfters vor.

Abhilfe schafft ein externer Reset Schaltkreis (R und C) oder Du 
aktivierst per Fuse den Brown-Out Detektor. Er verlängert den 
Reset-Impuls quasi so lange, bis die Versorgungsspannung die 
eingestellte Schwelle erreicht hat.

von Michael N. (garril)


Lesenswert?

Da am VTG-ISP-Pin ja die 5V anliegen, kommen die auch über einen 10k an 
Reset an.

mfg

von Michael N. (garril)


Lesenswert?

Habe mal kurz mit einer kleinen Litze den Reset-Pin geschaltet (kurz 
hingehalten und wieder weg). Sollte ihn ja auch resetten (bzw. bei der 
Dauer auch mehrmals).
Half jedoch nicht...

von Michael N. (garril)


Lesenswert?

keine weiteren Vorschläge/Ideen?

von Stefan Zimmermann (Gast)


Lesenswert?

Welche Spannung liegt an RESET an wenn du den Controller
a) über ISP versorgst?
b) über das Universalnetzteil versorgst?

von Michael N. (garril)


Lesenswert?

Bei beiden Messungen 5V

von Stefan Zimmermann (Gast)


Lesenswert?

Was genau heißt, es funktioniert nicht mehr?

von Michael N. (garril)


Lesenswert?

LED leuchtet nicht (kann man also sicher davon ausgehen, dass der 
Transistor nicht durchgeschaltet wird)

von Stefan Zimmermann (Gast)


Lesenswert?

1) Ich würde als nächstes ein Testprogramm aufspielen: Das Programm 
sollte den internen Oszillator verwenden und die LED einfach blinken 
lassen.
Wenn das funktioniert, liegt es am Programm/ADC Eingang.

2) Wie hoch ist die Spannung an Vcc des Tinys?

von Michael N. (garril)


Lesenswert?

1. O.o Irgendwo ist der Wurm drin...
Mit ISP gehts, mit NT funktioniert es nicht mehr (LED glimmt dauerhaft 
ganz leicht)

2. Mit ISP zwischen 4,90 und 4,99 schwankend. Mit NT dauerhaft 5,00V

Muss die Schaltung wohl nochmal durchsehen...

von Michael N. (garril)


Lesenswert?

So langsam glaube ich an einen Wackelkontakt...
Einmal nach dem Einschalten hat es mit der LED auch mit NT funktioniert. 
War allerdings recht dunkel (selbst dann auch wieder mit ISP)

Dann nach nem kurzen Test alles wieder wie oben beschrieben :/

Hab jetzt nochmal Vcc, GND und Reset gemessen. Das passt.
Aber selbst bei Wackelkontakt dürfte es nicht (bis auf den einen Vorfall 
vorhin) immer so sein, dass es nur mit ISP geht

von Stefan Zimmermann (Gast)


Lesenswert?

Stefan Frings schrieb:
> Möglicherweise steigt die Spannung des Netzteil beim Einschalten zu
> langsam an.

Das kannst du (Michael N.) leicht prüfen: Universalnetzteil von der 
Schaltung trennen, Universalnetzteil einschalten und dann mit der 
Schaltung verbinden.

von Stefan (Gast)


Lesenswert?

Er hat allerdings schon einen manuellen Reset-Impuls in eingeschaltetem 
Zustand versucht, Ich denke, diesen Test hat er damit schon abgedeckt.

Oder kann ein AVR sich irgendwie so "aufhängen", dass er nichtmal mehr 
auf einen Reset-Puls reagiert? Würde mich wundern.

Wo ich das gerade eintippe fällt mir allerdings etwas anderes ein, was 
mir mal passiert ist. Ich hatte den Watchdog einmal falsch verwendet:


int main() {
  init(); // dauert eine Sekunde
  watchdog aktivieren;
  while (1) {
     tuwas(); // dauert wenige ms
     watchdog zurücksetzen;
  }
}

Dieses Programm funktionierte immer nach Einschalten der Stromversorgung 
einwandfrei, aber wenn ich danach einen Reset-Impuls gegeben habe (per 
Taster) lief es nicht mehr. Knackpunkt war, dass der Reset-Impuls den 
Watchdog nicht deaktiviert. Während der init() Funktion hat er deswegen 
immer wieder zugebissen.

Nach Stromausfall klappte es deswegen, weil dann der Watchdog erstmal 
deaktiviert ist und erst NACH der Initialisierung aktiviert wurde.

Eventuell hast Du einen ähnlichen Fehler im Source. Vor allem wenn der 
Fehler auch noch mit einem langsam ansteigenden Netzteil kombiniert ist, 
hast Du einen hübschen Doppelfehler, der schwer zu erkennen ist.

von Michael N. (garril)


Lesenswert?

Womöglich liegt der Fehler schon im Schaltungsdesign.

Und zwar habe ich Masse von ISP/NT mit Sound-Masse (vom Klinkenstecker) 
verbunden. Habe mir sagen lassen, dass dies eigentlich nicht so sein 
sollte.

Allerdings muss ich damit einen Transistor schalten, weshalb ich keine 
andere Möglichkeit habe...

Außerdem geht es ja mit ISP (wobei der Tiefpass schon nicht immer 
passend reagiert wie ich finde. Weiß aber nicht ob das so normal ist)

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.