- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: Tempmessung mit NTC und Atmega 8.

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ja,richtig.

    Auf der halben differenz (Also in der Mitte 2.5° vom nächsten Stützwert) ist die Abweichung vernachlässigbar.
    Gruß
    Ratber

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    Ich glaube ich habs,
    habe es zumindest sowetit das der code nur noch 40% bracuht, also mal eben 50% eingespart.

    Ihr könnt mir ja evtl nochmal einen Tip geben um das weiter zu verkürzen, oder ist das so schon OK?

    Ich habe alles in excel aufbereitet und musste dann nachher nur aus excel in Bascom rauskopieren. Das klappt hervorragend.
    Ich hänge die Excelliste auch mal an. Dann seht ihr auch die Werte die ich berechnet habe und die Werte die der mega errechnet hat.




    Code:
    $regfile = "m8def.dat"
    $crystal = 3686400
    $baud = 9600
    
    Declare Sub Fall
    
    Dim Temp As Integer
    Dim Volt As Integer
    Dim Differenz As Integer
    Dim Helfer As Integer
    Dim Startwert As Integer
    Dim Wert As Integer
    Dim Anzeige As Integer
    
    
    Ddrb = &B00000001
    Original Alias Pinb.3
    Auf Alias Pinb.5
    Zu Alias Pinb.4
    Relais Alias Portb.0
    
    Set Portb.3
    Set Portb.4
    Set Portb.5
    
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    
    Start Adc
    Cursor Off
     Cls
             Locate 1 , 2
             Lcd Chr(239) ; "ltemp:"
             Locate 1 , 13
              Lcd Chr(223) ; "C"
             Lowerline
             Lcd Chr(239) ; "ltemp2:"
             Locate 2 , 13
             Lcd Chr(223) ; "C"
    
    Do
    
    Volt = Getadc(0)
    
             Locate 1 , 9
             Fall
             Print "vor berechnung"
             Print "startwert:" ; Startwert
             Print "Tempstartwert:" ; Temp
             Print "Differenz:" ; Differenz
             Print
             Helfer = Differenz / 5                             'analogwert um wieviel verändern damit temperatur um 1 größer
             Wert = Volt - Startwert
             Wert = Wert / Helfer
             Anzeige = Temp + Wert
             Print "Ergebnisse"
             Print "Isttemperatur" ; Anzeige
             Print "aufzu addierender Wert:" ; Wert
             Print "Helfer für Berechnunng:" ; Helfer
    
             Wait 2
    Loop
    End
    
    
    Sub Fall
    Select Case Volt                                            'startwertetabelle für alle 5°C
    Case 0 To 515
    Lcd " LO "
     Case 515 To 567
    Startwert = 515
    temp= 20
    differenz= 51
    
     Case 567 to 616
    startwert= 567
    temp= 25
    differenz= 49
    
     Case 616 to 662
    startwert= 616
    temp= 30
    differenz= 46
    
     Case 662 to 705
    startwert= 662
    temp= 35
    differenz= 43
    
     Case 705 to 744
    startwert= 705
    temp= 40
    differenz= 39
    
     Case 744 to 779
    startwert= 744
    temp= 45
    differenz= 35
    
     Case 779 to 811
    startwert= 779
    temp= 50
    differenz= 32
    
     Case 811 to 838
    startwert= 811
    temp= 55
    differenz= 27
    
     Case 838 to 862
    startwert= 838
    temp= 60
    differenz= 24
    
     Case 862 to 882
    startwert= 862
    temp= 65
    differenz= 21
    
     Case 882 to 900
    startwert= 882
    temp= 70
    differenz= 18
    
     Case 900 to 916
    startwert= 900
    temp= 75
    differenz= 16
    
     Case 916 to 929
    startwert= 916
    temp= 80
    differenz= 13
    
     Case 929 to 941
    startwert= 929
    temp= 85
    differenz= 12
    
     Case 941 to 951
    startwert= 941
    temp= 90
    differenz= 10
    
     Case 951 to 959
    startwert= 951
    temp= 95
    differenz= 8
    
     Case 959 to 966
    startwert= 959
    temp= 100
    differenz= 7
    
     Case 966 to 973
    startwert= 966
    temp= 105
    differenz= 6
    
     Case 973 to 978
    startwert= 973
    temp= 110
    differenz= 6
    
     Case 978 to 983
    startwert= 978
    temp= 115
    differenz= 5
    
     Case 983 to 987
    startwert= 983
    temp= 120
    differenz= 4
    
    
    Case 987 To 1025
    Lcd " HI "
    End Select
    
    End Sub
    Angehängte Dateien Angehängte Dateien

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Also ganz genau hab ich mir das jetzt nicht angesehen aber die vielen Case-anweisungen sind zuviel.

    Das kann man besser mit ner Schleife erledigen.

    Die Stützpunktwerte kannst du in einer Datazeile verewigen dann kann man das Abklappern auch per Schleifenzähler erledigen.
    Das macht dann Codemäßig nen schlanken Fuß



    Mit nem KTY-81-210 wäre das ne Sache von 5 Zeilen Code bis du deine Temp hast.
    Muß es denn unbedingt dieser Fühler sein ?
    Gruß
    Ratber

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    OK, werde dann da nochmal ran gehen. Aber war ja auhc schn spät gestern. Und von 91% auf 41% ist ja schonmal was.

    Werde dann das nochmal mit der Datazeile versuchen.

    Wegen dem Fühler:
    Ja es muss dieser Fühler sein, weil das fürs Auto eine Öltemperatur anzeige wird. Und da gibts halt nur entweder original BMW, VW, Audi usw oder halt Fühler von VDO. Und ich habe halt diese VDO Fühler. Das Problem ist das Einschraubgewinde der Fühler. Man könnte höchsten so einen Fühler kaufen den aufbohren und einen anderen einbauen. Aber das wollte ich eigentlich vermeiden.

    Werde mir am WE auch noichmal die Polynomfunktion zu Gemüte führen. Um die Werte des Öldruckgebers direkt zu berehcnen, also ohne die Wertetabelle. Bei den Druckgebern sind die Polynomfunktionen ja angegeben. Bei den Temperaturfühlern leider nicht.

    Melde mich dann nochmal wenns neue Ergebnisse gibt.
    Und danke nochmal. Bin erst vor knapp 2-3Wochen mit uC programmieren angefangen. Aber klappt schon recht gut wie ich finde. Also habt ein nachsehen falls ich komische oder blöde Fragen stelle

    ciao Marco


    EDIT: Was meinst du mit Datazeile?? Dieses Lookup???

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Zu fühler:

    Ja,gut,wenn es nicht anders geht dann gehts eben nicht anders.

    Und danke nochmal. Bin erst vor knapp 2-3Wochen mit uC programmieren angefangen. Aber klappt schon recht gut wie ich finde. Also habt ein nachsehen falls ich komische oder blöde Fragen stelle
    Das wird schon.


    Was meinst du mit Datazeile?? Dieses Lookup???
    Bevor ich mir Fransen anne Finger tipper ackerst du am besten mal die Hilfe dazu durch.
    Ds ist recht einfach.
    Gruß
    Ratber

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    Ja habs schon gefunden, bin da gerade mit am spielen.

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja,probier einfach mal einwenig damit rum um ein gefühl dafür zu bekommen.
    Die Verweise auf zusammenhängende Befehler ebenfalls.
    Gruß
    Ratber

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    Ich habe jetzt ma ein bißchen getestet,
    bin im moment der Meinung das ich am einfachsten 3 Datenreihen mache undd dann mit dem Befehl look up die Stützpunktwerte einlese.
    Und dann die gleiche Berechnung wie die von gestern. Nur hole ich mir die Daten halt anders.
    Kann man datenreihen auch übere mehrer zeilen schrieben?, er macht immer ein fehler wenn nicht alle sin einer reihe steht, ahe es mit sämtlichen kombinationen aus leerzeihchen und komma probiert.


    Meinst du das so?
    oder habe ich wieder die verkehrte richtung eingeschlagen.

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Ja richtig.
    Ringo hat es ja schon angesprochen.

    Mit Lookup (Zähler,Wert) kannste die Werte schön einfach ansprechen und mit ner Schleife abfragen was wesentlich kürzer als die lange Casereihe ist.

    Kann man datenreihen auch übere mehrer zeilen schrieben?, er macht immer ein fehler wenn nicht alle sin einer reihe steht, ahe es mit sämtlichen kombinationen aus leerzeihchen und komma probiert.
    Du kannst in einer Zeile 256 Zeichen unterbringen.
    Was wollteste denn unterbringen ?
    Gruß
    Ratber

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    15.01.2006
    Beiträge
    80
    OK, ich schreibe dann die werte mal in die Data Zeile.
    Schreibe dann alle 5°C schritte ein. Musss halt nur mal gucken wie ich das mache das der uC auch weiß welches Feld er jetzt nehmen muss. Aber das bekomme ich schon hin.
    Werdfe da nochmal ein bißchen mit rumtesten.

    Dank euch allen.

    ciao Marco

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests