Anzeige flackert,warum?

  • Hallo und erstmal Frohes Neues!
    Ich habe für mein Projekt eine Akkuüberwachung programmiert und verdrahtet.
    Ich benutze einen MCP 3008 und lese mithilfe eines Spannungsteilers von meinem Modellauto den Akkustand.
    Der Akku hat 7,2V(8V) und durch meinen Spannungsteiler kommen max. 3V am Eingang vom A/D Wandler an.
    Dies sind meine Scripte die ich geschrieben habe.


    Dieses Script liest die Werte des A/D Wandler aus und rechnet sie mir um.
    Das letzte erstellt mir eine grafische Oberfläche auf der ich es anzeigen kann.


    Das Problem, die grafische Oberfläche flackert permanent und ich finde keinen Fehler. Liegt es vielleicht am A/D Wandler?

    MfG Tim

  • Hab's nur überflogen, aber wenn ich das richtig sehe, stellst Du den Ladezustand in Pointer.read() als Rechteck unterschiedlicher Breite dar. Dabei löschst Du erst das alte Rechteck, dann liest Du den ADC aus und anschließend zeichnest Du entsprechend dem Ergebnis ein neues Rechteck. Ich weiß nicht, wie lang das Auslesen des ADC dauert, aber könnte das vielleicht das Flimmern bewirken? Wenn Du die Reihenfolge umdrehst (erst auslesen, dann altes Rechteck löschen, dann neues zeichnen), flimmert's dann immer noch genauso stark?

  • wie oft wird denn neugezeichnet? meist doch zu schnell, mehr als 4 pro Sekunde kann doch keiner lesen, auch hat es keinen Sinn die 2te bis 4te Stelle hintem Komma neu zu lesen und zu zeigen, wenn du das rausnimmst und nur noch 1-max. 2 Kommastellen die Veränderung registrierst und nur neu zeichnest wenn sich da wirklich was ändert und nur maximal 4x pro Sekunde wird das "Flimmern" schon erträglicher, auch wer nicht ganze Blöcke löscht sondern nur die Zahlen die sich ändern neu schreibt verringert das Flimmern, ein TFT Trick bei mir, alten Wert mit Schriftfarbe black überschreiben statt Block löschen, neuen Wert schreiben, veringert die Pixelzugriffe und beschleunigt.

    Zur Beruhigung der Messwerte kann es sinnvoll sein 8-32 Messwerte zu mitteln und nur noch das gemittelte maximal 4x pro Sekunde zu zeigen und mit weniger Nachkommastellen.

    10 Bit ADC 1024 Werte = 0,1% also maximal 3 1/2 Stellen da kann man die letzten beiden Stellen eh vergessen!


    mal ehrlich 5,1V oder 5,2V mag interessant sein, 5,156 oder 5,157 ist eh gelogen

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (9. Januar 2017 um 11:58)

  • Also mit flakern mein ich das das Rechteck was ich erstelle, wie schon von jar und Manul erwähnt, durch das erstellen/löschen/erstellen wie ein flackern wirkt.

    jar, das umrechnen versuche ich jetzt zu beheben, hab verstandenw as du meisnt. es ist wirklich schwachsinnig die 2 oder höhere Nachkommastelle zu errechnen :D

    Einmal editiert, zuletzt von PDTProjekt (9. Januar 2017 um 12:54)

  • Es updatet alle 50ms, was eigentlich viel zu schnell ist und auch schwachsinig, so schenll kann sich ein Akku von einem Modellauto nicht entladen. ich ehöhe die Zeit und verändere die Berechnung.
    Bei deinem ersten vorschlag weiß ich nicht welche schritte genau ich vertauschen soll....

  • OK, der Fehler liegt in meinem ersten Script. ich habe mal die Kommentare weggelassen um mal zu schauen welche werte er mir nach 1 Sekunde ausgibt. Diese Werte sind viel zu unterschiedlich, ich glaube es liegt nun an dem Script oder am A/D Wandler.
    kann ich hier ein Foto einfügen ? dann kann ich zeigen wie es aussieht!":

    Einmal editiert, zuletzt von PDTProjekt (9. Januar 2017 um 13:30)

  • sieht schon mal mies aus, unverwertbar.

    Entweder unsaubere Versorgung oder Übertragungs/Lesefehler!

    oder ein anderes Problem vom Aufbau

    Das ist kein ADC das ist ein Lottozahlengenerator!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (9. Januar 2017 um 13:49)

  • sieht besser aus, was hast du denn vorher als Versorgung genommen?

    LDR?
    Mit dem hier kann man doch arbeiten, nun noch dunkel machen, Werte aufnehmen, hell beleuchten Werte aufnehmen, viele Messwerte mitteln zur Beruhigung 8-32 fach

    anzeigen 4x pro Sekunde

    war es nicht Akku Überwachung? wieso dann LDR?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (9. Januar 2017 um 15:59)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!