- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Problem mit AD-Wandler (TLC549) an AT-Tiny2313

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.03.2007
    Beiträge
    176
    Anzeige

    LiFePo4 Akku selber bauen - Video
    ich bin nun jar ohne _

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hallo oiermann,

    ah ja, jetzt kapiere ich den TLC549.

    Probier mal mit folgendem rum (keine Garantie, ich kanns ja nicht testen!):
    Code:
    $regfile = "2313def.dat"
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
    Config Lcdbus = 4
    
    Config Pinb.3 = Output
    Cs Alias Portb.3
    Cs = 0                                                      'Strobe low
    
    Config Pinb.2 = Input
    Eingabepin Alias Portb.2
    
    Config Pinb.1 = Output
    Io_clock Alias Portb.1
    Io_clock = 0                                                'Clock low
    
    Dim Cntr As Byte
    Dim Ergebnis As Byte
    
    Do
      Cs = 1                                                    'Strobe high
      Cs = 0                                                    'Strobe low
      Ergebnis = 0
      For Cntr = 0 To 7
        Shift Ergebnis , Left , 1
        Ergebnis = Ergebnis + Eingabepin
        Io_clock = 1                                            'Clock high
        Io_clock = 0                                            'Clock low
      Next Cntr
    '  Waitus 17                                                 '17us warten
    '  (Nur nötig, wenn sofort eine neue Messung erfolgt!)
     Cls
     Locate 1 , 1
     Lcd Ergebnis
     Wait 3
    Loop
    Die Ausgabe ist natürlich jetzt noch nicht in Volt, sondern der Digitalwert (0..255), der in eine Spannung umgerechnet werden muss.

    Gruß Dirk

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    11.03.2007
    Ort
    Allgäu
    Alter
    33
    Beiträge
    55
    Cool, danke Dirk Das werde ich morgen Nachmittag ausprobieren, jetzt hab ich noch einiges an Schulzeug zu machen (in 7 Wochen Prüfungen und bis dahin schreiben wir noch so einiges...).

    Heute Nachmittag habe ich einen Wecker gebastelt, das ging relativ einfach und schnell, ich glaube mit Software in Bascom hatte es das in 2 Stunden.
    Die AVRs haben es mir angetan

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    11.03.2007
    Ort
    Allgäu
    Alter
    33
    Beiträge
    55
    So, ich habe das nun mal ausprobiert und im Code steige ich auch einnigermassen durch. Nur gibts da jetzt ein Problem... Es steht immer null auf dem Display.
    Richtig angeschlossen ist er auf jeden Fall, ich hab es dreimal mindestens überprüft und auch einen anderen TLC549 mal reingesteckt, den ich vorher noch am PC ausprobiert habe. Da haben beide funktioniert.

    //edit: google hat mir das noch gebracht, wunderbar habe ich gedacht und die pins angepasst, aber Pustekuchen. Es zeigt immer 5.10V an...
    http://www.qsl.net/dg1xpz/elektronik/avr/tlc549.html

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Ist ja wunderbar! Ein Bascom-Beispiel!

    Das sähe bei uns ja so aus:
    Code:
    Cs = 1                                                      'Strobe high
    Io_clock = 0                                                'Clock low 
    Do 
      Cs = 0                                                    'Strobe low 
      Ergebnis = 0
      Waitus 2 
      For Cntr = 0 To 7 
        Io_clock = 1                                            'Clock high 
        Shift Ergebnis , Left , 1 
        Ergebnis = Ergebnis + Eingabepin 
        Io_clock = 0                                            'Clock low 
      Next Cntr 
    '  Waitus 17                                                 '17us warten 
    '  (Nur nötig, wenn sofort eine neue Messung erfolgt!)
      Cs = 1
      Io_clock = 1
     Cls 
     Locate 1 , 1 
     Lcd Ergebnis 
     Wait 3 
    Loop
    Die wichtigste Änderung dürfte das Warten für 2 us vor Abfragen des 1. Bits sein. Vielleicht klappts ja so.

    Gruß Dirk

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    11.03.2007
    Ort
    Allgäu
    Alter
    33
    Beiträge
    55
    Ne, das ist es auch nicht... Ich glaub ich geb das auf und besorg mich noch einen, der schon einen ADC eingebaut hat.

    //edit: verdammt. Irgendwas war/ist kaputt. Ich hab die Schaltung genau wie in dem Link mit dem Bascom-Beispiel nochmal aufgebaut. Und es funktioniert. Nochmal so aufgebaut wie ich sie gelötet habe, Software angepasst und funktioniert auch.

    Vielen Dank Dirk Ich hoffe, ich hab dir nicht allzuviel Mühe umsonst gemacht...

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    11.03.2007
    Ort
    Allgäu
    Alter
    33
    Beiträge
    55
    So, jetzt stehe ich vor dem nächsten Problem *verdammt*...
    Ich will natürlich nicht nur Spannungen von 0 bis 5V messen können, sondern 0..10V sollten es schon sein. Also habe ich im code folgendes gemacht:

    Code:
      U = Ad / 50
      Lcd "Spannung: "; U ; "."
      U = Ad Mod 100
      Lcd U ; " V"
    (vorher war statt der 50 eine hundert da)

    Und an der Elektronik hab ich einen Spannungsteiler mit zwei 10K-Widerständen hingemacht, die die Spannung halbieren. Gut und recht, nur hier mal ein paar ergebnisse:
    Links die Spannung wie sie das regelbare Netzteil anzeigt, rechts die vom uC
    Code:
    3.56    3.72
    6.9     6.36
    7.12    6.46
    8.91    8.34
    10.21   9.96
    ...
    ...
    Was mich stutzig macht, ist der erste Wert, die einen sind immer ein bisschen kleiner (gut, das kann durch den Spannungsteiler und einen 10K Schutzwiderstand zu verlusten führen, denk ich jetzt mal so)
    und der erste ist grösser.
    hier noch ein bisschen mehr:
    Code:
    3.71   3.8
    3.90   3.90
    ab 3.90Volt geht es wieder Bergab mit den Werten, an was liegt das bzw wie bekomm ich das weg?
    Liegt das eher an der Software oder der Elektronik?

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad