Strom sparen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Strom sparen

      Hallo,
      der folgende Code ist ein funktionierender Code für einen Funksender mit einem Atemega 168 und einem RFM12 Modul.
      Der Code ist noch nicht aufgeräumt ich bin noch in der Experimentierphase.

      Aktuell kämpfe ich gerade mit dem Stromverbrauch.
      Dieser Sender soll sich im stromsparenden Schlafmodus befinden, bis über den Eingang INT0 (PD2) ein Interrupt kommt und ihn aufweckt.

      Aber:
      Nach "Config Powermode = Powerdown" messe ich immer noch 1,2 mA

      Ich habe das komplette RFM12 Modul entfernt. Danach habe ich immer noch den gleichen Strom (1,2 mA)

      Der Powerdown Mode funktioniert. Direkt nach dem einschalten der Stromversorgung kommt über die serielle Schnittstelle "1"
      Nachdem der Eingang PD2 aktiv wird kommt über die serielle Schnittstelle "2"

      Ich habe keine Ahnung woher der hohe Strom kommt. Hoffe es hat jemand einen Tip






      Sender.JPGFuseBit.JPG
      Dateien
      • RFM12_Sender.bas

        (18,29 kB, 26 mal heruntergeladen, zuletzt: )
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • Hi,
      danke erst mal für Eure Antworten-

      1.) aus der Hilfe habe ich noch folgende Befehle hinzugefügt. Bringt aber nichts.

      Quellcode

      1. Didr0 = Bits(ain1d , Ain0d) 'Disable digital input buffer on the AIN1/0 pin
      2. Set Acsr.acd 'Switch off the power to the Analog Comparator
      3. Reset Acsr.acbg 'Disable Analog Comparator Bandgap Select
      4. Reset Adcsra.aden 'Switch off ADC
      5. '--
      2.) Alle offenen Pins habe ich als Eingänge mit Pullup definiert.

      3.) Den Optokoppler habe ich mal entfernt, der Strom bleibt gleich

      4.) Das Board ist ein Pollin Modul 810 366. Die LED habe ich schon ausgelötet.
      Vermutlich ist tatsächlich ein Linearregler drauf. Kann der tatsächlich für diesen Strom verantwortlich sein ?

      Ich könnte mal versuchen den Regler raus zu machen und zu brücken und das Board mit 3,3 Volt zu versorgen.


      Schaltbild vom Pollin Board.
      Pollin_Board.JPG
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • "Hast du Tschoeatschs Link mal angeschaut?"
      Ja siehe die Punkte 1 und 2 von meinem Eintrag #6

      Ich denke ich versuche den Linearregler mal auszulöten.
      Habe aber nur einen Lötkolben. Ich denke das Auslöten wird der Regler nicht überleben :(
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • Wenn der Regler laut Plan drauf ist, dann drauf lassen. Dann gibt es 100% andere "Leichen" am Rande. In meinem Projekten mache ich regelmäßig diese Umbauten, danach ist der Strom höchstens noch im 2-stelligen Mikroamperebereich.
      Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages.
    • Hallo monkye,
      die Frage ist nur wie finde ich die Leiche. a_67_e210de67
      Könnte es z.B. auch ein Kondensator auf dem Board sein ? (z.B. C4 siehe Schaltplan meines Eintrags 6 )

      Ansonsten fällt mir nur noch ein, einen kleinen Testaufbau auf einem Steckbrett zu machen. Totale Basis Schaltung
      und auch ein fast leeres Programm. Und dann hoffen dass der Strom erst mal im Mikroamperebereich liegt. Und dann langsam
      hochrüsten. Aktuell habe ich alles schon auf einer festen Platine. Da ist es schwer Teile wegzulassen. Obwohl: viele Bauteile habe ich
      ja gar nicht auf meiner Platine.
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • Kannst du bei Aref eine Spannung messen?
      Hast du den watchdog in den fuses ausgeschaltet?
      An den nicht genutzen pins diese auf input (Standard) und deren pullups eingeschaltet? - Ja, hast du

      Aber bei Durchsicht deines Programms, du hast eine Led an portc.2 vorgesehen - und auch dran? Du hast diesen port als input mit pullup drin stehen, wenn jetzt die Led dran ist, dann wird die durch den pullup versorgt (glaub' ich)
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tschoeatsch ()

    • Climber schrieb:

      die Frage ist nur wie finde ich die Leiche.
      ich vermisse die Software, um in den Sparmodus zu kommen.
      Du hast ja nicht alle Möglichkeiten ausgeschöpft in deinem Codefragment.
      Bitte poste doch das Programm.
      BOD und Watchdog Fuseeinstellungen sind auch interessant.

      Climber schrieb:

      Könnte es z.B. auch ein Kondensator auf dem Board sein ? (z.B. C4 siehe Schaltplan meines Eintrags 6 )
      nein.
      1mA sind 5kOhm, wenn es die Hardware ist.
      Spannungsteiler zum Messen der Batterie sind nicht dran?
      Der Spannungsregler hat auch einen solchen Spannungsteiler am Ausgang, aber 5k finde ich etwas zuviel Strom an dieser Stelle.
      Wobei 1µA dort auch sportlich wären (entspricht 5MOhm)
    • Hallo Michael,
      das Programm habe ich schon in meinem ersten Post (1) eingestellt.

      Aus der Bascom Hilfe habe ich noch die folgenden 4 Befehle vor den Powerdown eingefügt. Hat aber fast nichts am Strom geändert

      Didr0 = Bits(ain1d , Ain0d) 'Disable digital input buffer on the AIN1/0 pin
      Set Acsr.acd 'Switch off the power to the Analog Comparato
      Reset Acsr.acbg 'Disable Analog Comparator Bandgap Sel
      Reset Adcsra.aden 'Switch off ADC

      "Spannungsteiler zum Messen der Batterie sind nicht dran ?" --> nein aktuell sind die noch nicht bestückt
      "Der Spannungsregler hat auch einen solchen Spannungsteiler am Ausgang," --> Den finde ich im Pollin Plan Post (6) nicht.
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • Im Datenblatt gibt es einen Abschnitt, was man zum Stromsparen machen kann. Vielleicht hilft das dir weiter.
      Da werden bestimmte Register beschrieben, wie unter anderem sowas (die Lesbarkeit leidet jetzt etwas, im pdf ist es schöner zu lesen)

      10.11.3 PRR – Power Reduction Register
      Bit 7 – PRTWI: Power Reduction TWI
      Writing a logic one to this bit shuts down the TWI by stopping the clock to the module. When waking up the TWI
      again, the TWI should be re initialized to ensure proper operation.
      Bit 6 – PRTIM2: Power Reduction Timer/Counter2
      Writing a logic one to this bit shuts down the Timer/Counter2 module in synchronous mode (AS2 is 0). When the
      Timer/Counter2 is enabled, operation will continue like before the shutdown.
      Bit 5 – PRTIM0: Power Reduction Timer/Counter0
      Writing a logic one to this bit shuts down the Timer/Counter0 module. When the Timer/Counter0 is enabled,
      operation will continue like before the shutdown.
      Bit 4 – Reserved
      This bit is reserved in ATmega48A/PA/88A/PA/168A/PA/328/P and will always read as zero.
      Bit 3 – PRTIM1: Power Reduction Timer/Counter1
      Writing a logic one to this bit shuts down the Timer/Counter1 module. When the Timer/Counter1 is enabled,
      operation will continue like before the shutdown.
      Bit 7 6 5 4 3 2 1 0
      0x35 (0x55) – BODS(1) BODSE(1) PUD – – IVSEL IVCE MCUCR
      Read/Write R R/W R/W R/W R R R/W R/W
      Initial Value 0 0 0 0 0 0 0 0
      Bit 7 6 5 4 3 2 1 0
      (0x64) PRTWI PRTIM2 PRTIM0 – PRTIM1 PRSPI PRUSART0 PRADC PRR
      Read/Write R/W R/W R/W R R/W R/W R/W R/W
      Initial Value 0 0 0 0 0 0 0 0
      ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET] 46
      Atmel-8271J-AVR- ATmega-Datasheet_11/2015
      Bit 2 – PRSPI: Power Reduction Serial Peripheral Interface
      If using debugWIRE On-chip Debug System, this bit should not be written to one. Writing a logic one to this bit
      shuts down the Serial Peripheral Interface by stopping the clock to the module. When waking up the SPI again,
      the SPI should be re initialized to ensure proper operation.
      Bit 1 – PRUSART0: Power Reduction USART0
      Writing a logic one to this bit shuts down the USART by stopping the clock to the module. When waking up the
      USART again, the USART should be re initialized to ensure proper operation.
      Bit 0 – PRADC: Power Reduction ADC
      Writing a logic one to this bit shuts down the ADC. The ADC must be disabled before shut down. The analog
      comparator cannot use the ADC input MUX when the ADC is shut down.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Hallo tschoeatch
      danke für Deinen Tipp. Habe jedes Bit des PRR Register gesetzt. Strom bleibt gleich.
      Nach meinem Verständnis muss ich bei Power Down auch gar nicht soviel machen. Power Down schaltet ja eh das meiste ab.
      Ich habe nun einen minimalistischen Aufbau auf einem Steckbrett gemacht und auch den ganzen RFM12 Code rausgeworfen.
      Aber unter 1mA komme ich nicht. Puh überall lese ich Microampere.
      Jetzt besorge ich mir erst mal noch ein anderes Modul. Eventuell handelt es sich ja um ein Hardwareproblem.
      Gruß Climber
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • Sag mal, kann man dem Schaltbild trauen? Da wird ein 328 angegeben, auf dem board ist ein mega168.
      Und wenn dein Exemplar auch so einen fetten Lötpopel zwischen den Beinchen hat, wie auf dem Pollin-Bild,, dann liegt's vielleicht daran :D

      Wenn du vielleicht doch mal bei Vcc direkt die 3V einspeist und so mal den Spannungsregler umgehst?
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von tschoeatsch ()

    • Rums.....
      Das war der Stein, welcher gerade aus meinem Magen raus gefallen ist.
      Ich habe noch ein Pollin Modul gefunden und eingebaut.
      Software aufgespielt und Fuse Bits gesetzt. Strom im Power Down Mode ist jetzt 2 Micro Ampere, vorher 1 Milliampere.
      Mann hat mich das Nerven gekostet. :cursing:

      tschoetatsch: Alles was ich auf dem Schaltbild nachvollzogen habe stimmt mit dem Board überein.
      Ja und das Bild bei Pollin ist wirklich keine Werbung. Aber optisch sieht man meinem Teil wirklich auch mit Lupe nichts an.

      Ich bin wirklich froh, dass ich alles gesockelt aufgebaut habe. Im nach hinein muss ich mich fragen wieso ich nicht eher die Hardware getauscht habe.
      Aber hinterher ist man immer schlauer. Dafür kenne ich nun fast das ganze Datenblatt auswendig.
      Vielen Dank nochmal an alle, die sich Zeit für mein Problem nahmen. a_17_af3b400f
      Falls es jemand interessiert. Der Code von meinem ersten Post stimmt. Softwaretechnisch stimmte also von Anfang an alles.
      Grüße Climber
      Komisch:Dauernd hängt sich mein Rechner auf, meine Wäsche macht das nie
    • Man denkt sich halt so, es wird alles vor Versand auf 100% Fehlerfreiheit geprüft, wie man es hierzulande auch normalerweise auch macht. Da muss man wohl preisbedingt Abstriche machen. Interessant wäre es schon, welches von den paar Bauteilen jetzt die 'Heizung' war. Vielleicht hast du ja Lust, nacheinander die Teile zu entfernen bzw zu tauschen.

      Das auch alle Fehler gemacht werden, die man machen kann, zeigen solche Filmchen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------