BODLEVEL per Software zu ändern oder deaktivieren ?

Gast #3116542
Lesenswert?

Weiß einer ob es möglich ist beim Attiny85 den BODLEVEL per Software zu 
ändern oder zu deaktivieren ?  Im Datenblatt habe ich keine Möglichkeit 
dazu gefunden.

Mir ist klar das man das normalerweise über die Fuses macht, aus 
folgenden Grund geht es aber diesmal nicht:

Bodlevel ist auf 4.3V gesetzt worden. 20 attiny85 sind in einem Projekt 
eingebaut worden und werden über eine Leitung mit Hilfe eines „parallel 
Bootloaders“ programmiert. Es hat sich gezeigt das in diesem Projekt die 
Versorgungsspannung unter bestimmten Bediengungen unter 4,3V fällt. Dies 
führt zum unerwünschten Reset.

Eine bodlevel Spannung von 2.7V wäre richtig, habe aber 
fälschlicherweise auf 4.3V programmiert. Jeden attiny85 mit ISP jetzt 
nachträglich zu verbinden ist mit sehr viel aufwand verbunden, da sie 
eingelötet sind und es keinen richtigen Zugang zu den Pins gibt.

Die Lösung wäre : am Programmstart Boodlevel auf 2.7V zu setzen oder 
brown-out gar zu deaktivieren.
Ist so was möglich?

Gruß und danke im Voraus für Eure Hilfe.
#3116561
Lesenswert?

Hallo,

beim ISP Programmieren wird die Reset-Leitung auf LOW gesetzt.
Dir ist bestimmt klar was das bedeutet ?

Aus dem Datenblatt - man findet ja sonst nichts -

*7.2 Software BOD Disable*
When the Brown-out Detector (BOD) is enabled by BODLEVEL fuses (see 
Table 20-4 on page 147), the BOD is
actively monitoring the supply voltage during a sleep period. In some 
devices it is possible to save power by disabling the BOD by software in 
Power-Down sleep mode. The sleep mode power consumption will then be at 
the
same level as when BOD is globally disabled by fuses.
If BOD is disabled by software, the BOD function is turned off 
immediately after entering the sleep mode. Upon
wake-up from sleep, BOD is automatically enabled again. This ensures 
safe operation in case the VCC level has
dropped during the sleep period.
When the BOD has been disabled, the wake-up time from sleep mode will be 
the same as that for wakeing up from
RESET. The user must manually configure the wake up times such that the 
bandgap reference has time to start
and the BOD is working correctly before the MCU continues executing 
code. See SUT[1:0] and CKSEL[3:0] fuse
bits in table “Fuse Low Byte” on page 148
BOD disable is controlled by the BODS (BOD Sleep) bit of MCU Control 
Register, see “MCUCR – MCU Control
Register” on page 36. Writing this bit to one turns off BOD in 
Power-Down, while writing a zero keeps the BOD
active. The default setting is zero, i.e. BOD active.
Writing to the BODS bit is controlled by a timed sequence and an enable 
bit, see “MCUCR – MCU Control Register” on page 36.
Gast #3116589
Lesenswert?

Danke für die schnelle Antwort, so wie ich es aber verstehe kann man den 
Brown-out dedektor nur in sleep mode ausschalten. Beim Übergang vom 
sleep Mode in den aktiven Mode wird der brown-out automatisch wieder 
aktiviert.

Ich möchte aber den Brown-out im aktivem mode ausschalten oder bodlevel 
von 4.3V auf 2.7V verändern. Ich vermute es geht nicht, aber vielleicht 
hat einer eine Idee.
Gruß und Danke im Voraus.
Gast #3117218
Lesenswert?

Wie gesagt, es sind 20 mcus verbaut in diesem Projekt.
Jeder ist auf einer kleinen Platine, jede Platine ist eingeschlossen.
Es wäre möglich mit Nadeln dranzukommen, doch das ganze würde ein paar 
stunden Zeit in Anspruch nehmen (auseinander bauen etc.. ).

Die Idee war es mit Software zu versuchen. Anscheinend ist dies aber 
nicht möglich. Oder hat einer doch noch eine Idee wie man es machen 
könnte? (Brown-out  ausschalten oder bodlevel von 4.3V auf 2.7V mit 
Software zu verändern.)

Gruß und danke für eure Ideen.
Gast #3117271
Lesenswert?

Das Ganze Gebilde ist eine LED RGB Lampe mit insgesamt 60 Leuchtdioden. 
Wenn alle gleichzeitig an sind, beträgt die Stromaufnahme schon fast 1A. 
Da fällt schon was ab auf einer 10m langen Leitung.

Wenn ich die Spannung erhöhe, kann ich das Problem tatsächlich umgehen, 
muss dann aber auch schon 6V einspeisen. Wenn alle Leds aus sind, liegen 
am MCUs 6V an (das ist zu viel).

Ich dachte es gäbe eine Möglichkeit es per Software zu lösen ohne die 
Hardware anzufassen.Anscheinend geht es nicht. Vielen dank für Eure 
Ideen und Lösungsansätze!
Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren