Spannung und Strom mit dem Mega8 messen

Gast #166005
Lesenswert?

Hallo,

ich habe vor mir ein regelbares netzteil zu bauen und möchte die
eingestellte spannung und den eingestellten strom mit hilfe des atmega8
messen. die werte sollen dann jeweils auf 3 sieben-segment-anzeigen
ausgegeben werden.

leider bin ich im bereich der mikrocontroller ein absoluter neuling.
würde mich daher über tips, schaltpläne, o.ä. zur umsetzung freuen
Gast #166009
Lesenswert?

Hallo Sven.

Und ich habe vor mir so was wie ein Oscyloskop mit ATMega8 zu bauen.
ich bin noch ganz am Anfang.
Momentan kann ich dir als ein Anhaltspunkt diesen Code geben. Er zeigt
wie man den AD-Wandler in ATMega8 benutzt.
Link zum Code:
http://www.kielnet.net/home/marc.in/avr/
Mit sieben-segment-anzeigen hat das noch nichts zutun aber zumindest
ein anfang.

>wie waers den mit nem digitalen einbaumessgeraet.....
Ja. Das ist die Frage.Willst du nur Spannung und Stromstärke messen,
dann braucht man nicht unbedingt einen Microkontroller.
Wenn du schon in dein Netzteil ein Microcontroller einbauen willst dann
kann er nicht nur Spannung und Stromstärke messen sonder auch das
Netzteil steuern.
Gast #166010
Lesenswert?

Hallo Martin,

der Link ist ja schon mal recht informativ. Das man mit dem Controller
auch Spannung und Strom regeln kann, daran hab ich jetzt gar nicht
drann gedacht. ist auf jeden fall interessant. auf der seite wird das
ganze ja mit tastern gesteuert. könnte man die regelung auch mit einem
drehknopf umsetzen, finde das sieht dann irrgendwie besser aus.
Gast #166011
Lesenswert?

>Das man mit dem Controller auch Spannung und Strom regeln
Klaro. Die Digner sind dafür da.Taster, Drehknopf lässt sich alles
machen.


Die Spannunganzeige müsste man so realisieren können:

1. Spannung mit dem AD-Wandler in binäre Daten um wandeln
2. Diese Daten  nach der entsprechenden Formel in eine binäre Zahl
umwandeln die dann schon direkt der Spannung entspricht. (mein code tut
das nicht).
3. Die Spannung die jetzt als binäre Zahl vorliegt in einen Code für
die Sieben-Segmentanzeige umwandeln. Dazu müsste man einen spezielen
Decoder programieren, und das dürfte das schwierigste an deinem
Vorhaben sein.

Du möchtest auch 3-Ziffer Anzeige haben, dann wird es etwas knapp mit
den Ports wenn der mikrocontroller noch etwas anderes steuern sollte.
Es wäre also am besten die Anzeigen über ein Port und Multplexer
zusteuern.

>schaltpläne
Ein Schema könnte ich dir zeichnen wenn du willst, aber das ist hier
wirklich das einfachste. Ausserdem im Internet gibt es sicher tausende
solcher Schemen
Gast #166012
Lesenswert?

Also der ADC-Wert ist ja schonmal binär (8 Bit oder 10 Bit).
Dieser muss auf die gewünschte Einheit skaliert (Multiplikation mit
Konstante) werden, falls man Referenzspannung und Vorteiler ungünstig
gewählt hat.
Daraus muss dann BCD gemacht werden.
Das Umwandeln in "aktive Segmente" ist mittels Tabelle kein Problem.
Die Anzeigen betreibt man am besten multiplex, man schaltet also die
Segmente aller Stellen zusammen und sieht 3 Stellentreiber-Transistoren
vor. Bei Anzeigen mit gemeinsamer Anode (je Stelle) legt man die
Kathoden aller Stellen über Widerstände an 7 (8 mit DP) Pins eines
Ports und nimmt 3 (6 bei zwei dreistelligen Anzeigen) PNP-Transistoren
(mit Basiswiderständen), die dann die Anoden treiben. Davon ist dann
immer nur eine Stelle aktiv.

Das Programm legt dann das zugehörige Bitmuster an den Port und
schaltet dann die gewünschte Stelle ein. Dann Stelle ausschalten,
nächstes Bitmuster an den Port legen und nächste Stelle einschalten.

Das geht sehr gut in einem Timer-Interrupt, mit dem man auch noch ganz
nebenbei Tasten entprellen oder andere Dinge erledigen kann.

...
Gast #166013
Lesenswert?

>Also der ADC-Wert ist ja schonmal binär
Ich meinte: der wert der in ADCL und ADCH Register nach AD-Konversion
vorhanden ist noch nach der Formel (Uref*(ADCL ADCH inhalt))/1024
umgerechnet werden. Und erst dann hat man die Spannung und kann sie
auch skalieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren