Forum: Fahrzeugelektronik Attiny 84 speichert Modus nicht


von Maximilian S. (maxsi)


Angehängte Dateien:

Lesenswert?

Guten Abend,

mit einem Kollegen habe ich eine Schaltung entwickelt die als Steuerung 
eines KFZ-Lauflichtblinker dient. Ein Attiny 84 steuert ein 
Schieberegister um wahlweise sechs Ausgänge statisch oder dynamisch 
anzusteuern. Und hier kommt mein Problem: Wenn nicht geblinkt wird 
bekommt der Attiny keinen Strom und nach etwas fahren und blinken 
vergisst er oder wechselt er von alleine immer wieder in den statischen 
Modus. Man fährt also zuhause mit Lauflicht los und kommt nach längerer 
Fahrt mit Statischem licht an. Kann mir jemand sagen wieso er sich das 
nicht merkt bzw. was ich dafür machen muss ?
Programmieren ist echt nicht meine Stärke und mein Kollege schließt aus 
das es ein Hardware Problem ist.


wäre wirklich sehr Dankbar für jeden Tipp

: Bearbeitet durch User
von Hinweis Geber (Gast)


Lesenswert?

Maximilian S. schrieb:
> wäre wirklich sehr Dankbar für jeden Tipp

Die Regeln beachten die bei jedem Posten geschrieben stehen:

---------------------------------------------
Wichtige Regeln - erst lesen, dann posten!
.............
    Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
Formatierung (mehr Informationen...)
    [c ]C-Code[/ c]

von Maximilian S. (maxsi)


Lesenswert?

jetzt müsste es richtig sein

von Hinweis Geber (Gast)


Lesenswert?

Maximilian S. schrieb:
> jetzt müsste es richtig sein

Nein, denn Source Files lädt man als *.ino oder als *.c hoch.

Die Formatierung (Einrückung) deiner Source ist jenseits von
Gut und Böse, das will sich kaum jemand anschauen.

von ... (Gast)


Lesenswert?

Maximilian S. schrieb:
> Wenn nicht geblinkt wird
> bekommt der Attiny keinen Strom und nach etwas fahren und blinken
> vergisst er oder wechselt er von alleine immer wieder in den statischen
> Modus.

kontrolliert die Brown-Out Fuse-Settings;
schreib eine Checksume ins EEPROM und nicht nur ein Statusbit;
überprüft, ob der Effekt auch am Labornetzteil auftritt;
kontrolliert, ob die Schutzbeschaltung auch wirklich für ein 
KFZ-Bordnetz geeignet ist;

hast du dir deine FSM einmal skizziert? was bezweckst du mit
1
if (counter == 30) {
2
if(_state >= 12 && _state <= 17){
3
EEPROM.write(0, 0);
4
}
5
6
}
7
if (counter == 33) {
8
EEPROM.write(0, 1);
9
}
?

von Maximilian S. (maxsi)


Lesenswert?

... schrieb:

> kontrolliert die Brown-Out Fuse-Settings;
> schreib eine Checksume ins EEPROM und nicht nur ein Statusbit;

Kannst du nochmal erklären was du damit meinst ?


Das umschalten Funktioniert so:
Standlicht an - fünfzehn mal blinken - Standlicht aus -15 mal blinken

Wenn du also am insgesamt mehr als 30 mal blinkst schaltet er nicht um.

Das ist zwar sehr kompliziert aber es musste zum umschalten eine Kombi 
aus Stand und Blinklicht sein die nicht aus versehen im normalen 
Fahrbetrieb auftritt.

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.