Forum: Mikrocontroller und Digitale Elektronik BODLEVEL per Software zu ändern oder deaktivieren ?


von Jan73 (Gast)


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.

von Uwe (de0508)


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.

von Jan73 (Gast)


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.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Sind die Pins so unzugänglich, dasse nichmal mit 8 Nadeln rankommst?
Die auf ne Platine löten ala Programmieradapter.

von Jan73 (Gast)


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.

von Troll (Gast)


Lesenswert?

Mehr Power auf die Leitung?!

von Hannes L. (hannes)


Lesenswert?

Troll schrieb:
> Mehr Power auf die Leitung?!

Vielleicht reicht es ja, das vorhandene "Power" richtig zu stützen 
(Stützkondensatoren an den richtigen Stellen).

...

von Jan73 (Gast)


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ß

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Gib doch 12V auf die Leitung und bau in die Lampe nen Schaltregler auf 
die 5V ein.
Insofern Platz is dafür.

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.