low cost Voltmeter Spannungsmesser ATmega8 Assembler

OP #5175782
Ein kleines Beispiel eines preiswerten Voltmeters, welches sich selber 
"kalibrieren" kann.

Besonderheit: Der Spannungsteiler (R1)(R2) ist nahezu "unkritisch", da 
durch die Kalibrierung wichtige internen Werte errechnet werden.

LED grün: Lebenslicht
LED gelb: EEPROM save
LED rot : Eingangsspannung zu unruhig, Überlauf ADC, Error

Diese Version steuert ein LCD DOGM081 im 5V SPI Modus.

Anzeige-Beispiel bei ProgrammStart:

"Bernhard" - Werbung ^^
"10/2017"  - Version
"Uref 2V"  - Referenzspannung
"^29.738"  - maximal mögliche Messspannung
"S: 212"   - Anzahl Programmstarts
"save"     - speichern im EEPROM
"--------" - bereit
"10.00 V " - Messergebnis

Kalibriervorgang:

- eine Taste schaltet die Referenzspannung um (2,5V, 5V, extern)

- definierte Eingangsspannung anlegen (5V oder 10V oder 20V)

- entsprechende Kalibriertaste betätigen

Anzeige-Beispiel bei Kalibriervorgang:

"Uref 2V"  - Referenz
"Kalibrie" - Kalibriermodus
"*10.000"  - Eingangsspannung
"ADC 0344" - ADC Wert bei Kalibrierung
"^29.738"  - maximal mögliche Messspannung
"save"     - speichern im EEPROM


Der ADC-Messvorgang:

Es werden mindestens 2 Messzyklen mit je 256 ADC Messungen durchgeführt 
und die Ergebnisse miteiander verglichen.
Sind sie ungleich, erfolgt eine weitere Messung, bis zwei Messungen 
gleich sind.

Ist die Eingangsspannung zu "zappelig" leuchtet die rote LED.

Sobald der ADC einen einzigen Maximalwert ermittelt, erfolgt eine 
Fehlermeldung "--------".

Die Anzeige des Spannungswertes wird nur nach einer Änderung neu 
geschrieben, um ein ev. Flimmern zu verhindern.




PS: Der Assemblercode ist nicht optimal, für Hinweise bin ich sehr 
dankbar.

Bernhard
Angehängte Dateien:
Gast
Und was willst Du uns jetzt damit sagen ?
Wenn ich das mit dem Auto Kalibrieren mal weg las, ich kann das ganze 
Modul bei Ebay für 3,95€ aus China bestellen.
Die machen das auch mit einem ATmega Controller.
Den Abgleich kann ich bei den China Modulen per Poti machen das drauf 
ist,nicht bei allen Modulen, aber ich habe so eins bekommen.
OP
Das ist so ein "billig" Teil... nach einem halben Jahr schrott... weil 
billig

Und:

- für höhere Spannungen wird ein Zusatzmodul benötigt
- Ziffernhöhe ist geringer
- ohne Hintergrundbeleuchtung
- Zahlenwerte schlecht lesbar bei Dunkelheit
- leuchtet nicht so schön ^^

Trotzdem danke für den sehr lesenswerten Beitrag.
Angehängte Dateien:
Hi

OS schrieb:
> Und was willst Du uns jetzt damit sagen ?

..., daß Er eine Lösung für ein sich Ihm gestelltes Problem in Assembler 
ersrbeitet hat.

Was hast Du, außerhalb des Arduino C & P - Kosmos so bisher getrieben?

Nichts gegen Arduino (wobei ein Teil Dessen Benutzer ... äh, ja), aber 
hast Du auch nur 1x ein LCD 'zu Fuß' benutzt?
Auch scheint mir eine Kalibrierung der Festwiderstände durch einen 
internen Korrekturwert sicherer, als die Stellung eines Poti.

MfG
Gast
Bernhard S. schrieb:
> Ein kleines Beispiel eines preiswerten Voltmeters, welches sich selber
> "kalibrieren" kann.

Unter "selbst kalibrieren" verstehe ich dass ein Gerät eine
eigene Referenz hat die es beim kalibrieren eigenständig zu-
schaltet.
OP
>...verstehe ich dass ein Gerät eine
>eigene Referenz hat die es beim kalibrieren eigenständig zu-
>schaltet.

Beide Bedingungen sind erfüllt, es besitzt eine eigene Referenz (ADC) 
und sie schaltet sich automatisch zu.

Aber Du hast Recht, eine Tastendruck ist erforderlich. Eine 
Sprachsteuerrung könnte mit einem ATmega8 schwierig werden ;-)

Und der Eingang muss mit einer hinreichend genauen Spannung gespeist 
werden,   ist aber zu schaffen ^^

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.