Forum: Mikrocontroller und Digitale Elektronik ATTINY25 bleibt im SleepMode


von Nn N. (jaytharevo)



Lesenswert?

Hallo,

also ich hab hier einen ATTINY25, ein STK500 und ein Pflichtenheft:


1.   RESET mit einsetzen der Versorgungsspannung. Im abgeschaltenen 
Zustand
ist auch der uP ohne Versorgung.
2.   Nun wird der analoge Eingang E1 beobachtet. Über Stromsensor und OP
wird die Stromaufnahme in eine DC umgewandelt. Unterschreitet die 
Spannung
eine gewisse Schwelle (Stand by) so beginnt eine Zeit zu laufen.
3.   Erreicht diese Zeit einen gewissen Wert (5 bis 20 Minuten - über 
einen
weiteren analogen Eingang E2 und U-Teiler-Poti einstellbar) so wird die
Abschaltung vorbereitet: H-Impuls (100 ms Dauer) an Ausgang A1.
4.   Nun läuft eine kurze Nachfrist (1 Minute - fix einprogrammiert) 
dann
wird an A2 ein 100 ms H-Impuls ausgegeben. Damit wird gänzlich 
abgeschalten.
5.   Der uP ist nun ohne Versorgung - wiedereinschalten nur manuel über
Taster möglich.

Im Anhang ist auch das, bereits geschriebene, Programm zu finden.


Mein Problem:

Aus Testzwecken schalte ich immer wieder LED's des STK500 aus und ein. 
Damit ich weiß ob ich auch wirklich das Programm duchlaufe. Z.B. der 
Compare Interrupt der alle 100ms auftritt lässt eine LED im selbigen 
Takt blinken.
Wenn ich den Controller während einer Wandlung in den, dafür 
vorhergesehen, Schlafmodus versetze wacht mein Controller nicht mehr 
auf. Ändere ich, das und warte mittels while() auf das Ende der Wandlung 
funktioniert alles wunderbar. Auch der Schlafmodus in der main() 
funktioniert wunderbar. Der einzige Unterschied ist, dass es einmal der 
IDLE Mode ist und das andere Mal der ADC Mode. Hab aber auch versucht 
den ADC auf IDLE Mode umzuschreiben, gab keinen Unterschied.


Ein weiteres lustiges Phänomen mit dem ich mich hier herumschlage ist 
folgendes:
Um die versch. Spannungsschwellen zu simulieren habe ich 2 Potis hier. 
Die werden mit den +5V und dem GND des Boards versorgt.
Die beiden Schleifkontakte werden jeweils zu den Inputpins (PB5 und PB4) 
des Boards geführt.
Nun zu meinem Problem:
Ab einer gewissen Position des Potis (ca. von 0-50%) leuchten/blinken 
die LEDs nicht mehr. Darüber verhalten sie sich ganz normal. Jetzt hab 
ich mir gedacht, dass das Poti zu viel Strom zieht und die Spannung 
zusammen bricht. Aber komischerweise ist, dass nur bei PB5 der Fall. Der 
Schleifkontakt der an PB4 angeschlossen ist macht keine Probleme, egal 
welche Position. Ja, ich hab bereits versucht die Potis zu vertauschen, 
wiederum kein Unterschied.

So, das wars nun mal von meiner Seite, ich hoffe ihr könnte mir helfen 
:D.

Ich bedanke mich schon mal bei denen die überhaupt so weit gelesen haben 
:D.

MfG Julian


Edit: Da ich während des verfassen des Beitrags noch mal was am Programm 
geändert hab und ich nicht weiß wie ich das alte aus dem Anhang lösche 
habe ich es nun 2 mal hochgeladen. Das zweite ist das Richtige (3,5kB).

von Kluchscheißernder N. (kluchscheisser)


Lesenswert?

> Aber komischerweise ist, dass nur bei PB5 der Fall.

PB5 ist der Reset-Pin. Hast Du ihn zum Portpin umgefust?

MfG

von Nn N. (jaytharevo)


Lesenswert?

Kluchscheißender Consulter schrieb:
> PB5 ist der Reset-Pin. Hast Du ihn zum Portpin umgefust?

Guter Tipp, danke!

Wenn ich, das mache kann ich den Controller aber nicht mehr über ISP 
programmieren richtig?



Hat zu meinem anderen Problem jemand eine Lösung?


MfG Julian

von Kluchscheißernder N. (kluchscheisser)


Lesenswert?

Julian Schild schrieb:
> Kluchscheißender Consulter schrieb:
>> PB5 ist der Reset-Pin. Hast Du ihn zum Portpin umgefust?
>
> Guter Tipp, danke!
>
> Wenn ich, das mache kann ich den Controller aber nicht mehr über ISP
> programmieren richtig?

Das ist richtig.
Es gibt aber noch den HVSP-Mode und Dein STK500 beherrscht ihn auch. 
Deshalb ging ich davon aus, dass Du dies evtl nutzt. Dieser Mode ist 
allerdings etwas umständlich zu verdrahten, ich habe ihn bisher immer 
gemieden, bin aber auch immer mit 5 I/O-Pins ausgekommen.

>
>
>
> Hat zu meinem anderen Problem jemand eine Lösung?

Da halte ich mich raus, mit C kenne ich mich nicht aus. Ich habe daher 
Deine Quelltexte auch nicht angesehen.

Auch Deine Aufgabenstellung ist mir nicht ganz klar, liest sich, als ob 
es ein Winkeladvokat geschrieben hätte, das habe ich mir nicht bis zum 
Schluss angetan.

>
>
> MfG Julian

MfG

von Nn N. (jaytharevo)


Lesenswert?

Kluchscheißender Consulter schrieb:
> Das ist richtig.
> Dieser Mode ist allerdings etwas umständlich zu verdrahten, ich habe ihn bisher 
immer
> gemieden, bin aber auch immer mit 5 I/O-Pins ausgekommen.

Da ich keine 2- Draht-Leitungen mehr habe versuche ich diese Methode zu 
umgehen. Ist auch kein Problem, kann auch PB2 für den zweiten Kanal 
wählen.

>mit C kenne ich mich nicht aus. Ich habe daher
> Deine Quelltexte auch nicht angesehen.

Ok. Ist nur immer komisch, dass man 7 Downloads hat aber keiner was dazu 
postet :D.

> Auch Deine Aufgabenstellung ist mir nicht ganz klar, liest sich, als ob
> es ein Winkeladvokat geschrieben hätte, das habe ich mir nicht bis zum
> Schluss angetan.

Ist kein "Winkeladvokat". Hat nur versucht mit einfachen Worten 
auszudrücken was er will. Er ist halt kein "Programmierer". Ist doch ok 
so...ich habs auch verstanden. Wenn was bei der Aufgabenstellung unklar 
ist, einfach fragen.


Danke für deine Hilfe soweit :)!

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.