- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Solarregler sicher Schlafen legen und aufwecken / ADC Überlauf

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201

    Frage Solarregler sicher Schlafen legen und aufwecken / ADC Überlauf

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich habe mir zu zwei 30Watt Solarmodulen einen Solarregler gebaut, welcher von den Solarmodulen und nicht vom Akku betrieben wird.
    Der Atmega88P misst über zwei Spanungsteiler die Spannung der Module und des Akkus. Wird die Obergrenze der Akkuspannung erreicht wird über einen Mosfet und PWM die Ladespannung runtergeregelt oder die Solarmodule Kurzgeschlossen. Die Steuerspannung erzeuge ich aus der Solarspannung mittels Step down wandler. Die Referenzspannung für die ADC-Messung ist die Betriebsspannung. Brown out ist eingeschalten.

    Mein Problem:
    Wenn ich Nachmittags von Arbeit komme sieht es so aus als ob sich der Atmega aufgehangen hat. Meine Vermutung ist ein Überlauf der ADC-Messung (Also ADC>1024). Ich denke das Abends/Morgens die Referenzspannung absinkt/ansteigt und so der ADC durch Falschmessung einen Überlauf bekommt und sich der MC aufhängt.

    Wie könnte ich das vermeiden? Eine Software Lösung wäre mir am liebsten.

    Vielen Dank für Eure Hilfe.

    mfG
    Mario

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Kannst du nicht die Gemessene Werten und Schalt zustanden(oder Min/Mittel/Max von ADC und PWM uber jeder Sekunde oder so) uber die UART zu ein Rechner senden? Mit Zeit (ungefehr) angabe. Dan wird es vielleicht ein Wenig klar was passiert. Ohne Debug Info ist es nur ahnen was passiert.

    - - - Aktualisiert - - -

    Ein elekktrische überlauf von den ADC messung (>1023) an sich kann den uC nicht absturzen lassen. Ich meine, nicht durch den Wert ansich. Wenn die gemessene spannug höher ist als den Referenz sollte den ADC nur 1023 ausgeben. Ob dein Programm die richtige entscheidung macht können wir nur auf Basis der Quell-code sagen. Was wir nicht haben.


    Weil die Bordspannung duch den Solarzellen betrieben wirdt könnte es den sein das den spannung an den uC zu hoch wird. (Oder zu niedrich wenn es abgeschirmt wird) Ohne deine Schaltung zu kennen können wir das auch nicht ausschliesen. Startet dein Regler die nächste Tag wieder neu und richtig auf? Oder ist es dannach Tot?

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201
    Hallo Valen,

    und Danke für deine Antwort.

    Ich wollte mit Absicht Code und Schaltung nicht mit Posten da in der Schaltung noch ein 7805 drin ist. Der Code ist evtl. auch etwas undurchsichtig... aber OK.

    UART ist etwas Schwierig (vorallem Nachts) da der Regler schon montiert ist, aber ich habe die wichtigsten Infos auf einem Display. (Daher meine Vermutung)

    Normale Angaben auf dem Display:
    Modulspannung: ~13,5V
    Batteriespannung: ~12,8V
    Ladespannung die zum Akku durchgelassen wird in Prozent: 100%

    Angaben nach der Nacht:
    Modulspannung: ~7V
    Batteriespannung: ~27V (Das ist etwa die maximalspannung die am ADC 5V ergeben)
    Ladespannung die zum Akku durchgelassen wird in Prozent: 0% (Der MC hat versucht die Batteriespannung runterzuregeln)



    Da die 27V nie und nimmer aufgetreten sein können, kann eigentlich nur die Referenzspannung abgefallen sein bevor MC abgeschalten hat.
    Ich habe dieses auch mit abgedeckten Solarmodulen getestet und diese langsam aufgedeckt (Morgengrauen). Selbe Ergebnis.

    Wie könnte ich dass sicherstellen das die Referenzspannung i.O. ist, bevor ich mit der Messung beginne?

    Vielen Dank für Eure Hilfe.

    Code:
    '*******************************************************************************
    '*******************************************************************************
    '***************************** Solarregler V1.0 ********************************
    '*******************************************************************************
    '************************** 25.10.2013 by CYBORG *******************************
    '*******************************************************************************
    '*******************************************************************************
    
    '****************************** Allgemein **************************************
    
    $regfile = "m88pdef.dat"
    $crystal = 1000000
    $hwstack = 40
    $swstack = 16
    $framesize = 32
    $baud = 4800
    
    
    '************************************ Time *************************************
    
    Config Timer0 = Timer , Prescale = 1024
    On Timer0 Set_display
    Const Timervorgabe = 12
    Enable Timer0
    Dim Stime As Word
    Dim Idiv As Word
    Dim Timermenue As Word
    Dim Timerbool As Word
    Timerbool = 0
    Timermenue = 5
    
    
    '******************************* Displayanzeige ********************************
    Dim Slcd As String * 16
    
    Config Lcdpin = Pin , Db4 = Portd.7 , Db5 = Portd.6 , Db6 = Portd.5 , _
       Db7 = Portd.4 , E = Portb.0 , Rs = Portb.2
    Config Lcd = 16 * 2
    
    Initlcd
    Cursor Off Noblink
    
    Cls
    
    Locate 1 , 1
    Lcd "MOD: 0.00V 20.0C"
    Locate 2 , 1
    Lcd "BAT: 0.00V =100%"
    
    '***************************** LED Statusanzeige *******************************
    Led1 Alias Portb.6
    Led2 Alias Portb.7
    
    Config Portb.6 = Output
    Config Portb.7 = Output
    
    Led1 = 0
    Led2 = 0
    
    '********************************** Taster *************************************
    Taster1 Alias Pind.2
    Taster2 Alias Pind.3
    
    Config Taster1 = Input
    Config Taster2 = Input
    
    Portd.2 = 1       'PullUp-Widerstand einschalten
    Portd.3 = 1       'PullUp-Widerstand einschalten
    
    On Int0 Set_taster1
    On Int1 Set_taster2
    Config Int0 = Falling
    Config Int1 = Falling
    Enable Int0
    Enable Int1
    
    '******************************* Accu Steuerung ********************************
    Dim Pwmtemp As Integer
    Dim Pwmstate As String * 4
    Dim Acculimit As Single
    Dim Eacculimit As Eram Single
    Dim Pwmspercent As Single
    Dim Pwmwpercent As Word
    
    Accu1 Alias Portb.1
    Config Accu1 = Output
    Config Timer1 = Pwm , Pwm = 8 , Compare_a_pwm = Clear_down , Prescale = 1
    Accu1 = 0
    
    Acculimit = Eacculimit
    
    Pwmtemp = 255
    Pwm1a = Pwmtemp
    Disable Timer1
    Pwmstate = "=   "
    '******************************** Temperatur ***********************************
    Const Adc_temp = 0.04
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Dim Tempadc As Word
    Dim Temp As Single
    
    '****************************** Solarspannung **********************************
    Const Adc_solar = 27.669 / 1024
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Dim Solaradc As Word
    Dim Solar As Single
    
    '****************************** Solarspannung **********************************
    Const Adc_accu = 27.669 / 1024       '0,027
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Dim Accuadc As Word
    Dim Accu As Single
    
    
    Enable Interrupts
    
    '****************************** Hauptschleife **********************************
    Dim I As Integer
    
    Do
    
    'Alles Messen
    Gosub Get_temp
    Waitms 1
    
    Gosub Get_solar
    Waitms 1
    
    Gosub Get_accu
    Waitms 1
    
    
    If Accu > Acculimit Then
        If Pwmtemp > 0 Then
          Enable Timer1
          Pwmtemp = Pwmtemp - 1
          Pwm1a = Pwmtemp
          Pwmstate = "-   "
        Else
          Disable Timer1
          Accu1 = 1
          Pwmstate = "=   "
        End If
    Elseif Accu < Acculimit Then
       If Pwmtemp < 255 Then
          Enable Timer1
          Pwmtemp = Pwmtemp + 1
          Pwm1a = Pwmtemp
          Pwmstate = "+   "
       Else
          Disable Timer1
          Accu1 = 1
          Pwmstate = "=   "
       End If
    End If
    
    Loop
    
    
    
    End
    
    
    '******************************** Functions ************************************
    Set_taster1:
    Timerbool = Timermenue
    
    'Menue
    Cls
    Slcd = "Akkulimit:"
    Locate 1 , 1
    Lcd Slcd
    Slcd = Fusing(acculimit , "#.##")
    Slcd = Slcd + "V"
    Locate 1 , 12
    Lcd Slcd
    
    Do
       If Taster1 = 0 Then
          Acculimit = Acculimit + 0.01
          Slcd = Fusing(acculimit , "#.##")
          Slcd = Slcd + "V"
          Locate 1 , 12
          Lcd Slcd
          Waitms 250
          Timerbool = Timermenue
       Else
          Exit Do
       End If
    Loop
    
    Return
    
    Set_taster2:
    Timerbool = Timermenue
    
    'Menue
    Cls
    Slcd = "Akkulimit:"
    Locate 1 , 1
    Lcd Slcd
    Slcd = Fusing(acculimit , "#.##")
    Slcd = Slcd + "V"
    Locate 1 , 12
    Lcd Slcd
    
    Do
       If Taster2 = 0 Then
          Acculimit = Acculimit - 0.01
          Slcd = Fusing(acculimit , "#.##")
          Slcd = Slcd + "V"
          Locate 1 , 12
          Lcd Slcd
          Waitms 250
          Timerbool = Timermenue
       Else
          Exit Do
       End If
    Loop
    Return
    
    Get_temp:
       Tempadc = Getadc(3)
       Temp = Tempadc * Adc_temp
    Return
    
    Get_solar:
       Solaradc = Getadc(0)
       Solar = Solaradc * Adc_solar
    Return
    
    Get_accu:
       Accuadc = Getadc(2)
       Accu = Accuadc * Adc_accu
    Return
    
    Set_display:
    
       Timer0 = Timervorgabe
    
    
    
       If Idiv = 4 Then
          If Timerbool = 0 Then
             Stime = Stime + 1
    
    
    
             Slcd = Fusing(solar , "#.##")
             Locate 1 , 6
             Lcd Slcd
    
             Slcd = Fusing(temp , "#.#")
             Locate 1 , 12
             Lcd Slcd
    
             Slcd = Fusing(accu , "#.##")
             Locate 2 , 6
             Lcd Slcd
    
             Locate 2 , 12
             Lcd Pwmstate
    
             Pwmspercent = 100 / 255
             Pwmspercent = Pwmspercent * Pwmtemp
             Pwmwpercent = Round(pwmspercent)
    
             Slcd = Str(pwmwpercent )
             I = Len(slcd)
             I = 16 - I
             Locate 2 , I
             Lcd Pwmwpercent
          Elseif Timerbool <> 0 Then
    
              Timerbool = Timerbool - 1
              If Timerbool = 0 Then
    
                Eacculimit = Acculimit
    
                Locate 1 , 1
                Lcd "MOD:     V     C"
                Locate 2 , 1
                Lcd "BAT:     V     %"
              End If
          End If
    
          Idiv = 0
       Else
          Idiv = Idiv + 1
       End If
    
    Return
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Solarregler.jpg  

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Dein Schaltungsbild ist etwas schwer zu verstehen weil es nicht scharf genug ist. Die Zeichen sind nicht zu lesen. Kannst du eine bessere hochladen, oder irgendwo auf das Internet das nicht die Qualität beeinflusst?

    - - - Aktualisiert - - -

    Wenn dein Programm die Mosfet anschaltet wird es die Solarzelle kurzschließen. Dan bricht die Spannung an den Solarzelle zu Grunde. Es kann immer nog Stromm liefern. Aber die 7805 Regler Ausgang senkt tiefer als 5 Volt, weil die Eingang nicht höher ist als 7 Volt. Die Kondensatoren an Vcc entladen, und damit die aVcc und Adc Referenz werden auch senken.

    Deshalb bekommst du das Merkwurdige 27 Volt als Batterie Spannung. Den Referenz ist kein Referenz mehr weil sie abhängig geworden ist von Vcc.


    Du sparst vielleicht den Akku gegen überladen, aber das ist reine Selbstmord für den Atmega88. Du solltest nicht nur die Akkuspannung überwachen, aber auch den Modulspannung. Kennst du die Spannung/Strom Kurve deiner Solarmodul? Zu viel Strom ziehen und du bekommst kein Leistung mehr raus.

    Es ist möglich die Vcc zu messen, an Hand der Internen 1.1V Spannungs Referenz im Atmega88. Diese Interne Spannungs Referenz ist ziemlich stabil wenn die Spannung an aVcc ändert (aber vielleicht ist sie nicht ganz genau auf 1.1 Volt) Mann stellt die ADC ein durch setzten von bestimmte Bits im ADMUX register. Den ADC sollte AVCC als Referenz bekommen(diese spannug wird sich ändern), und den ADC misst die Internen 1.1volt Spannungsreferenz dagegen (was Relativ Stabil ist). Wenn du diese ADC-Messungen kalibrieren kannst gegen deine eigene messungen von Vcc mit DMM, kannst du in deinem Program später Vcc berechnen aus das gemessene Referenz/aVcc verhalten.
    Geändert von Valen (31.10.2013 um 12:31 Uhr)

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201
    Hallo Valen,

    und nochmal vielen Dank für deine Hilfe.

    Sry, für die schlechte Qualität. Unter http://roboternetz.aufdemdachboden.de/solarregler.tif
    sollte in den nächsten Minuten ein besseres Bild verfügbar sein.

    Wenn dein Programm die Mosfet anschaltet wird es die Solarzelle kurzschließen. Dan bricht die Spannung an den Solarzelle zu Grunde. Es kann immer nog Stromm liefern. Aber die 7805 Regler Ausgang senkt tiefer als 5 Volt, weil die Eingang nicht höher ist als 7 Volt. Die Kondensatoren an Vcc entladen, und damit die aVcc und Adc Referenz werden auch senken.

    Der 7805 ist durch ein StepDownRegler LM2675 ersetzt wurden. Das mit dem Kurzschließen ist noch ein anderes aber kleineres Problem. Da meine 60Watt Solarzellen meinen 74Ah Bleiakku kaum zum Gasen bringt kommt der Fall des Kurzschlusses kaum vor. Aber selbst beim getesteten Kurzschluss läuft der MC weiter nur das Display wird etwas blasser.

    Deshalb bekommst du das Merkwurdige 27 Volt als Batterie Spannung. Den Referenz ist kein Referenz mehr weil sie abhängig geworden ist von Vcc.
    Genau das habe ich gemeint.

    Du sparst vielleicht den Akku gegen überladen, aber das ist reine Selbstmord für den Atmega88. Du solltest nicht nur die Akkuspannung überwachen, aber auch den Modulspannung. Kennst du die Spannung/Strom Kurve deiner Solarmodul? Zu viel Strom ziehen und du bekommst kein Leistung mehr raus.
    Warum ist es Selbstmord für dem Atmega? Wenn VCC zu weit Absinkt sollte doch BrownOut schlimmeres verhindern, oder? Spannungs/Stromkurve habe ich leider nicht, sind auch nur billig Module die ich beim Discounter für 50€ ergattert habe. Ich Messe beide Spannungen, Modul --> vor der Diode, Akku --> nach der Diode.

    Es ist möglich die Vcc zu messen, an Hand der Internen 1.1V Spannungs Referenz im Atmega88. Diese Interne Spannungs Referenz ist ziemlich stabil wenn die Spannung an aVcc ändert (aber vielleicht ist sie nicht ganz genau auf 1.1 Volt) Mann stellt die ADC ein durch setzten von bestimmte Bits im ADMUX register. Den ADC sollte AVCC als Referenz bekommen(diese spannug wird sich ändern), und den ADC misst die Internen 1.1volt Spannungsreferenz dagegen (was Relativ Stabil ist). Wenn du diese ADC-Messungen kalibrieren kannst gegen deine eigene messungen von Vcc mit DMM, kannst du in deinem Program später Vcc berechnen aus das gemessene Referenz/aVcc verhalten.
    Das klingt gut. Muss ich da die VCC an einen freien ADC-Pin anschließen oder kann der Atmega gleich intern VCC gegen die 1,1V Spannungsreferenz messen? Falls ja, gibts da einen Bascom Schnipsel?

    Kann ich nicht auch bei zu niedrigen VCC den Atmega Schlafen legen (IDLE oder ADC Noise Reduction mode), und dann über einen freien ADC Pin den MC wieder aufwecken wenn die Betriebsspannung wieder i.O. ist. Wenn ja, wie sieht der Bascom Code fürs Aufwecken über ADC aus?

    Vielen Dank für deine Hilfe

    mfG
    Mario

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von dj_cyborg Beitrag anzeigen
    Hallo Valen,

    und nochmal vielen Dank für deine Hilfe.

    Sry, für die schlechte Qualität. Unter http://roboternetz.aufdemdachboden.de/solarregler.tif
    sollte in den nächsten Minuten ein besseres Bild verfügbar sein.
    Danke, viel besser!



    Der 7805 ist durch ein StepDownRegler LM2675 ersetzt wurden. Das mit dem Kurzschließen ist noch ein anderes aber kleineres Problem. Da meine 60Watt Solarzellen meinen 74Ah Bleiakku kaum zum Gasen bringt kommt der Fall des Kurzschlusses kaum vor. Aber selbst beim getesteten Kurzschluss läuft der MC weiter nur das Display wird etwas blasser.
    7805 oder LM2675 macht kein wichtig unterschied. Es ist die aktion der mosfet Q1 wenn es zum leiten geschaltet wird das den Atmega88 ausschaltet. Dann wird den Solarmodul kurzgeschlossen und den Spannung bricht dort ein. Die Diode D2 wird den Stromfluss aus dem Akku blockieren und wird nicht entladen. (Falls du keine andere Last daran angeschlossen hat. Aber ohne spannung aus den Solar Modul kann den 7805/LM2675 die Atmega88 nicht speizen.

    Den Atmega88 im Schlafmodus bringen wird die Zeitdauer verlängern, aber nicht vermeiden. Nicht den ganzen Nacht.


    Warum ist es Selbstmord für dem Atmega? Wenn VCC zu weit Absinkt sollte doch BrownOut schlimmeres verhindern, oder?
    Kann ich nicht auch bei zu niedrigen VCC den Atmega Schlafen legen (IDLE oder ADC Noise Reduction mode), und dann über einen freien ADC Pin den MC wieder aufwecken wenn die Betriebsspannung wieder i.O. ist. Wenn ja, wie sieht der Bascom Code fürs Aufwecken über ADC aus?
    Brown Out setzt die Atmega88 im Reset Modus. Also werden alle Variablen und Programzustanden vergessen, und fangt es von vorne an. Wirklich kaputt geht es nicht, aber 'das Licht' geht aus. Und weil nur den Atmega88 den Mosfet Q1 schalten kann, ist es Selbstmord.

    Vielleicht ein weitere Pull-down Widerstand (100K oder 1Mega) an dem Q1 Gate zu Grund wird vermeiden das den Mosfet durchschaltet wenn den Gate nicht durch den Atmega88 geschaltet wird (fliest).


    Spannungs/Stromkurve habe ich leider nicht, sind auch nur billig Module die ich beim Discounter für 50€ ergattert habe. Ich Messe beide Spannungen, Modul --> vor der Diode, Akku --> nach der Diode.
    Die Kurve haben ist auch nicht nötwendig. Nur das Verständnis das ein Solarmodule nur die beste Leistung abgibt bei eine bestimmte Spannung und Strom. Ein bisschen daneben ist kein Problem. Aber zu viel oder zu wenig Strom ziehen wird den Spannung über die Solarmodule beeinflussen und weniger Leistung wird produziert. Das Beste Leistungspunkt ist abhängig von den Einstrahlung und Temperatur. Aber wenn man die Modulspannung kennst wo man die beste Leistung bekommst kannst du darauf die Akku-ladestrom regeln. Was bei ein Akku oft wichtiger ist als den Spannung. (LiPos ausgenommen)

    Das klingt gut. Muss ich da die VCC an einen freien ADC-Pin anschließen oder kann der Atmega gleich intern VCC gegen die 1,1V Spannungsreferenz messen? Falls ja, gibts da einen Bascom Schnipsel?
    Nein, den AVCC pin kann intern zu den ADC Referenz geschaltet werden mit den Multiplexer. (Sehe die Atmega88 anleitung, Kapitel 24.5 (Seite 253) und Kapitel 24.9 (Seite 260)) Aber die AREF Pin in dein Schaltung sollte dan nicht direkt an Vcc geschaltet werden, aber an ein Kondensator zu GND. Sonnst kann es kaputt gehen. (Kapitel 24.5.2, Seite 254)

    Ich habe kein Erfahrung mit BASCOM, also keine Ahnung wie man ein Bestimmtes Register ändert in diesen Sprache. Aber ich bin sicher Önkel Google könnte helfen damit. Oder hier im Robernetz mit den richtige Suchwörter.
    Geändert von Valen (31.10.2013 um 17:11 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    66
    Beiträge
    2.435
    Hallo Mario,

    Zitat Zitat von dj_cyborg Beitrag anzeigen
    Der 7805 ist durch ein StepDownRegler LM2675 ersetzt wurden. Das mit dem Kurzschließen ist noch ein anderes aber kleineres Problem. Da meine 60Watt Solarzellen meinen 74Ah Bleiakku kaum zum Gasen bringt kommt der Fall des Kurzschlusses kaum vor. Aber selbst beim getesteten Kurzschluss läuft der MC weiter nur das Display wird etwas blasser.

    Warum ist es Selbstmord für dem Atmega? Wenn VCC zu weit Absinkt sollte doch BrownOut schlimmeres verhindern, oder? Spannungs/Stromkurve habe ich leider nicht, sind auch nur billig Module die ich beim Discounter für 50€ ergattert habe. Ich Messe beide Spannungen, Modul --> vor der Diode, Akku --> nach der Diode.
    Die Geschichte mit dem IRF740 funktioniert sowieso nicht richtig!

    Bei 5V Ugs fliessen durch Q1 sowieso nur etwa 1A, das ist kein Logic-Level-FET.

    Je nachdem Schwingt dann das Ganze sogar.

    Wenn der Atmega Q1 aktiviert liegen da knapp 5v als Ugs an.
    Nun sinkt die Modulspannung.
    Wenn die Modulspannung zu klein wird, sinken zuerst die 5V ab, das hast du am Display gesehen, nach deine Angaben wird es dunkler.

    Wenn die 5V am Atmega sinken, sinkt auch deine Referenzspannung für den ADC und du misst zu grosse Werte (ich bin jetzt zu faul, nachzusehen was dein Programm dann macht).
    Zusätzlich sinkt nun auch Ugs an Q1, wodurch der Strom durch Q1 kleiner wird und dadurch steigt die Modulspannung wieder an.

    Nun werden auch die 5V wieder erreicht und der Strom durch Q1 wird wieder grösser.

    Durch die ganzen Kondensatoren wird das zu einem schönen Oszillator, ich denke mit einer Periodendauer im Bereich von Sekunden bis Minuten.
    Gleichzeitig können auch noch HF-Störungen auftreten, welche dann alles noch zusätzlich durcheinander bringen! Diese wirst du aber nur mit einem Oszilloskop messen können.y

    BTW: wenn das richtig funktionieren würde, würdest du in Q1 60W verheizen, das geht dann nicht ohne Kühlkörper!

    Du hast da einen Denkfehler drin und so geht es nicht!

    MfG Peter(TOO)

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201
    Hallo Valen, hallo Peter

    vielen Dank für eure Antworten.

    Also es gibt zwei Probleme die Ich ursprünglich nicht vermischen wollte und deswegen nur die nötigsten Informationen gegeben habe.

    Problem 1: Die Referenzspannung sinkt ab (Abends) oder steigt langsam an (Morgens) und der MC misst falsche Werte und hängt sich dabei auf.

    Problem 2: Der geschaltete Mosfet zieht meinen Atmega die Füße unter dem Boden weg. Darüber habe ich auch schon nachgedacht während ich den Schaltplan gemacht habe. Finde ich aber nicht so das große Problem, da es ja reicht die Spannung bei vollgeladenen Akku vor der Diode unter 13,8V via PWM zu halten. Dabei bleibt fürs System immer noch genügend Leistung übrig. Ich muss also nicht Kurzschließen. Für den Mosfet habe ich bereits ein Logik Typ (IRL 640) bestellt und wollte diesen austauschen. Kühlkörper ist vorhanden. Habt ihr eine Empfehlung für den Vorwiderstand und sollte ich einen Widerstand vom Gate zum GND einfügen? Zum Thema Schwingen hatte ich noch nichts festgestellt werde ich aber mit dem neuen Mosfet prüfen.

    Zu Problem1: Ich denke es hat sich geklärt, ich habe Gestern beim M88P das BrownOut limit auf 4,3V gestellt. damit schaltet er rechtzeitig ab bevor er falsche Werte zur Referenz misst. Es ist ja auch gewollt das der Regler Nachts aus ist. Und bei Spannungen unter 4,3V vom Solarmodul gibt es auch für den Atmega nichts mehr zu tun. Akkulimit habe ich ins EEPROM geschrieben sollte er also nicht verlieren.

    Vielen Dank euch beiden

    mfG
    Mario

  9. #9
    Erfahrener Benutzer Begeisterter Techniker Avatar von Picojetflyer
    Registriert seit
    03.08.2004
    Ort
    Sauerland
    Beiträge
    247
    Zitat Zitat von dj_cyborg Beitrag anzeigen
    Habt ihr eine Empfehlung für den Vorwiderstand und sollte ich einen Widerstand vom Gate zum GND einfügen?
    Jup, 1k -10k pauschal gegen Masse sollte nicht schaden. Alleine schon als Schutz das der Fet nicht unkontrolliert durchschaltet wenn der Controller mal nicht läuft. Man glaubt gar nicht wo die Mosfets sich überall aufladen können.


    Gruß

    Matthias

  10. #10
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.07.2012
    Beiträge
    201
    Hallo Matthias,

    und Danke für deine Antwort.

    Das werde ich tun. Ich hätte noch 10, 68 oder 100Ohm Widerstände rumliegen. Werde die mal für den Vorwiderstand am Gate versuchen.

    Vielen Dank

    mfG
    Mario

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Aufwecken aus Interrupt
    Von sebi87 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 10.06.2009, 11:45
  2. Antworten: 3
    Letzter Beitrag: 28.11.2008, 17:00
  3. Hilfe uC Timer Schlafenlegen und wieder aufwecken
    Von semicolon im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 06.12.2006, 10:22
  4. mH Akku Pack analog und sicher laden
    Von Luke17 im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 24.11.2005, 20:16
  5. Solarregler
    Von joesy206 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 03.03.2005, 08:02

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen