Forum: Mikrocontroller und Digitale Elektronik Spannuingsmessung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von armyboy (Gast)


Lesenswert?

Hallo zusammen,

Ich muss sagen dass ich nor wenige Erfahrungen uControllern habe 
trotzdem habe ich folgende vor:

Ich bastele gerade eine testplatine mit ATmega168 womit ich unter 
anderen:

 -(1)- 100 Reed-Relais Signale überwachen/nachfragen möchte (Sie werden 
separat geschaltet. ICh will nur überprüfen ob und welche relai 
geschaltet hat und/oder nicht)
 -(2)- folgenden spannungen auf der testplatine messen möchte 5V, 12V, 
-12V, 24V (Sie liegen an Unterschiedlichnen Anschlüsse einer schroff 
netzteil)
 -(3)- die aus einer Widerstand-Dekade eingestellte Wert nachprüfen

Alle diese infos werden auf ein LCD Display ausgegeben

Meine Frage:
-Bis wie hoch darf ich die AREF versorgen?
-Gibt es eine multiplex schaltung für um alle Relais an I/O von uC zu 
kriegen? Ich habe bis jetzt mit relais versucht aber sieht nix gut 
aus:-)
-Für die R-Dekade habe ich Konstantstromquelle besorgt und möchte nach 
der Regel R=U/I messen, bei Höchst einstellbare R=65KOHM ist U=6,5V mit 
I=100uA, ist das überhaupt mit uC messbar

Ich hoffe Sie können mir etwas Tipp geben
salut
armyboy

von Michael L. (Gast)


Lesenswert?

>  -(1)- 100 Reed-Relais Signale überwachen/nachfragen möchte (Sie werden
> separat geschaltet. ICh will nur überprüfen ob und welche relai
> geschaltet hat und/oder nicht)
Ok. Dazu verwendest Du wahrscheinlich ein Schieberegister.

> Meine Frage:
> -Bis wie hoch darf ich die AREF versorgen?
Was machst Du mit AREF? Hast Du eine Schaltung oder Prinzipskizze?

> -Gibt es eine multiplex schaltung für um alle Relais an I/O von uC zu
> kriegen? Ich habe bis jetzt mit relais versucht aber sieht nix gut
> aus:-)
Ja, beispielsweise
http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=A2235;GROUPID=2933;ARTICLE=3229;START=0;SORT=artnr;OFFSET=16;SID=25mU2HoKwQARkAACKRNIAb1572b1d91a8cb3bff09f36fafce8637
als analoger Multiplexer.

> -Für die R-Dekade habe ich Konstantstromquelle besorgt und möchte nach
> der Regel R=U/I messen, bei Höchst einstellbare R=65KOHM ist U=6,5V mit
> I=100uA, ist das überhaupt mit uC messbar
Was machst Du mit der R-Dekade?

Gruß,
  Michael

von armyboy (Gast)


Angehängte Dateien:

Lesenswert?

<...Ok. Dazu verwendest Du wahrscheinlich ein Schieberegister...>
Da die Relais separat geschaltet werden, habe ich öfter den Fehler dass 
Signale nicht ankommen. da weiss ich nicht ob das Relay geschaltet hat 
oder kapput ist deswegen die überprüffung über diese testkarte
Kannt mir jemand bitte die minimalebeschaltung vom schieberegister 
zeigen. ich habe damit noch nie gearbeitet

<...Was machst Du mit AREF? Hast Du eine Schaltung oder 
Prinzipskizze?..>
Da ich verschiedenen Spannungen messen möchte 5V, 7V, 12V, -12V, 24V
weiss ich nicht ob ich die Referenzspannung AREF nur mit AVcc verbinden 
muss oder extra bis 24V (meine höchst zu messende Spannung)
Oder gibt es eine andere Methode für die Reference Spannung?

<...Was machst Du mit der R-Dekade?...>
Die Widerstand-Dekade diennt zur Spannungskodierung (ins gesamt 7 
Kanäle).
Nach der einstellung will ich aber ein Kanal wählen und nachlesen (am 
LCD) können was ausgegeben wird.

Ich habe eine Skizze-Schaltung angehängt

salut
armyboy

von Karl H. (kbuchegg)


Lesenswert?

armyboy schrieb:
> <...Ok. Dazu verwendest Du wahrscheinlich ein Schieberegister...>
> Da die Relais separat geschaltet werden, habe ich öfter den Fehler dass
> Signale nicht ankommen.

Eigentlich solltest du dort den Hebel ansetzen.

> da weiss ich nicht ob das Relay geschaltet hat
> oder kapput ist deswegen die überprüffung über diese testkarte
> Kannt mir jemand bitte die minimalebeschaltung vom schieberegister
> zeigen. ich habe damit noch nie gearbeitet

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

>
> <...Was machst Du mit AREF? Hast Du eine Schaltung oder
> Prinzipskizze?..>
> Da ich verschiedenen Spannungen messen möchte 5V, 7V, 12V, -12V, 24V
> weiss ich nicht ob ich die Referenzspannung AREF nur mit AVcc verbinden
> muss oder extra bis 24V (meine höchst zu messende Spannung)

Wenn du 24V an einen Pin anhängst, der für max Vcc+0.5V spezifiziert 
ist, dann grillst du deinen µC.

> Oder gibt es eine andere Methode für die Reference Spannung?

Benutze die interne Referenzspannung und teile deine positiven 
Messspannungen einfach mit einem Spannungsteiler runter.

von armyboy (Gast)


Angehängte Dateien:

Lesenswert?

und hier die Eagle versich der schaltung

von Karl H. (kbuchegg)


Lesenswert?

Alles in allem klingt das wieder mal nach:
Ich hab zwar weder das Tutorial durchgearbeitet, um wenigstens ein 
bischen einen Grundstock dafür zu haben was ich da eigentlich mache noch 
habe ich das Datenblatt des Prozessors ausführlich studiert, ich will 
aber eine Schaltung zusammenmurksen.

von armyboy (Gast)


Lesenswert?

<...Ich hab zwar weder das Tutorial durchgearbeitet, ...ich will aber 
eine Schaltung zusammenmurksen....>

Eigentlich haben Sie recht. ICh habe das Tuto uu wenig studiert aber 
damit habe ich bereits ene Nacht-Boden-Beleuchtung mit Bewegungsmelder, 
Mega8 und eine Gardienen AUF / ZU Steuerung mit TAG/NACHT Abfrage, 
Mega16 gebaut und sie laufen zimlich gut. Die I/O genügend mir damals

Nur es ist das erste mal das ich so was grosseres mit mega168 und 
messung und LCD und mehr pin als onboard mache.
Sorry für meine DUMMEN FRAGEN aber ignorieren Sie einfach DUMM und 
helfen Sie mit ne paar Tipps. Es wäre mir sehr hilfreich

salut
armyboy

von Gast (Gast)


Lesenswert?

>Sorry für meine DUMMEN FRAGEN aber ignorieren Sie einfach DUMM und
>helfen Sie mit ne paar Tipps.

Wir ignorieren auch gerne FRAGEN.

von Karl H. (kbuchegg)


Lesenswert?

armyboy schrieb:

> Nur es ist das erste mal das ich so was grosseres

Das hat nichts mit groß zu tun.
Aber wenn jemand ernsthaft frägt, ob er 24V anschließen soll, dann frag 
ich mich.

von armyboy (Gast)


Lesenswert?

...wie schon gesagt, bin ich ein Anfänger in dieser Domain aber ich 
finde es sehr schade wie es mit Menschen hier umgegangen wird.

Es handelt ich um eine Analoge Abakus die wir an der FH gebaut haben. Es 
funktioniert gut, nur bein Fehlern suchen wir Stunden lang. Das projekt 
wir am Ende dieses Semester eingeltellt und landet im Müll. Ich finde es 
unbefriedigent und möchte in eigene Initiative eine uC basierende Test- 
/ Diagnoseplatine bauen.

Und wenn ich hier komme mit meine Dummen Fragen werde ich zusammen 
angeschiessen. 24V am Controller. Ja und?!?! Ich weiss es nicht deswegen 
frage ich ja.

Heute morgen habe ich von Karl heinz Buchegger den Tipp von 
Spannungsteiler bekommen. Finde ich wundabar. Das habe ich ja sofort auf 
meine pollin testboard realisiert.

Aus 19 Komunitoren bin ich der einzige der diese Initiative mache. Ich 
sollte mich doch besser den anderen anschliessen und mein Wochenende Im 
Alkoholrausch verbringen. Ich kann mein "Spass" haben und kann auch 
meine Dumme Fragen behalten. und Sie durfen dabei Stolz auf Ihre 
Pädagogie sein.

von gadgaet (Gast)


Lesenswert?

OK. Vllt. kann ich dir ja helfen.
Ein paar Fragen: Müssen die Schalter der Reedrelais alle zwingend mit 
einem Kontakt am Pluspol hängen? Wenn nicht, wäre es möglich, alle 
Kontakte der einen Seite an einen Eingangspin des µC zu schalten und die 
anderen über eine Reihe von Schieberegistern jeweils der Reihe nach mit 
diesem anzusteuern.
Musst du dann auch überprüfen, ob die Spulen der Relais Saft bekommen 
oder kann der µC das schon wissen?

Eine einfachere (wenn auch nicht die eleganteste) Möglichkeit für dein 
Problem mit den Spannungsmessungen wäre es, dass jede zu messende 
Spannung an einen Eingangspin kommt, und zwar durch einen so 
dimensionierten Spannungsteiler, dass der ATMega bei der Messung den 
Wert 512 bekommt (dürfte dann meines Wissens genau in der Mitte 
liegen...). Bei Über-/Unterschreitungen in einem bestimmten Maße kann 
dann Alarm gegeben werden.
Eine simple Möglichkeit dafür wäre hier, sich temporär den gemessenen 
Wert an jedem der Eingänge ausgeben zu lassen und ein Poti als 
Spannungsteiler zu verwenden. Bei evtl. Fehlmessungen könnte dann 
nachjustiert werden.

grüssse
g.

von F.H. (Gast)


Lesenswert?

In der Regel funktionieren Mikros ja, Schieberegister und Relais 
auch,jedenfalls nach eigenen Erfahrungen,es sei denn,es geht etwas 
kaputt.

Einziges Problem,welches ich habe,das es im Mikro zu Störungen,bei 
rauhen Betriebsbedingungen kommen kann,also kontrolliere ich nur am Ende 
der Senderoutine,ob der Befehl ausgeführt wird,und verlasse mich 
ansonsten auf die Funktion der Schieberegister, und Relais.

mfg F.H.

von armyboy (Gast)


Lesenswert?

Hallo,

<...Müssen die Schalter der Reedrelais alle zwingend mit
einem Kontakt am Pluspol hängen?...>

Eingentlich nicht. Haupsache ich kann sicherstellen dass die Kontakte 
nachm Schalten auch richtig geschaltet (geschlossen) haben.

<...Musst du dann auch überprüfen, ob die Spulen der Relais Saft 
bekommen
oder kann der µC das schon wissen?...>

Das die Spulen der Relais Saft bekommen haben, wir auf der eigentlichen 
Abakus-Platine, wo auch die Relais angesteuert werden sichergestellt.
Es ist aber schon öfter gekommen dass mansche Relais nicht schalten oder 
unser NI-Stecker gebogenen PIN hat oder die Relais Falsch gelötet waren 
... ... ...(Gruppen-Projekt)
Mit der Diagnoseplatine will ich lesen können welche Relais geschaltet 
hat und nicht um die Fehlersuche einzugrenzen.

Das mit der U-Messung habe ich gestern bereits 5 Spannungsteiler 
individuel für die 5 Spannungen gebaut. Über ein Drehschalter kann ich 
die Spannungen an einem ADC Pin des uC zuschalten. Ich habe sie so 
dimensioniert dass ich bei Umax 5V am uC habe. Kann man es so lassen?

Danke schonmal
salut
armyboy

von MaWin (Gast)


Lesenswert?

> Dateianhang: mega168-schaltung.sch
Ich kann Eagle-Schaltpläne nicht lesen, und installiere mir dazu auch 
kein Eagle.

Du möchtest ermitteln, ob ein Reed-Relais geschaltet hat. Ich habe noch 
nirgends gelesen, welches Signal denn durch die Relais geschaltet wird, 
und ob du das überhaupt messen kannst. Es scheint ein Analogrechner zu 
sein, also tippe ich auf Analogsignale in irgendeinem Spannungsbereich 
(-12V..24V), die vermutlich teilweise nicht anliegen (abklemmt sind) und 
teilweise nicht belastet werden dürfen, und teilweise 0V betragen so 
dass man sie nicht unterscheiden kann. Kannst denn wenigstens die 
Spannung an der Relaisspule messen, oder liegt das Relais jenseits des 
Steckers, so dass die auf die Spulenanschlüsse keinen Zugriff hast ?

Nehmen wir also an, es kommt die Ansteuerspannung der Relais über den 
Stecker zu dir und auf deiner Seite ist die Relaisspule, und es reicht, 
die Spannung an der Spule zu messen. Wie hoch ist denn die 
Spulenspannung ? 5V oder 24V ? Macht schon einen UNterschied bei der 
Verbindung zum uC.

Und: Nützt es überhaupt, die Spulenspanung zu messen, oder beeinflussen 
sich die Relais gegenseitig ? Gerade Reed-Relais, die dicht 
nebeneinander montiert sind, erzeugen Magnetfeklder die sich gegenseitig 
beeinflussen, entweder verhindert das eine Relais, dass das 
danebenliegende einschaltet trotz Spannug an der Spule, oder es schaltet 
das danebenliegende auch ein obwohl das gar keine Ansteuerspannung 
bekommt. Man braucht zwischen den Relais eine magnetische Abschirmung, 
oder eben genug Abstand.

Messen der Betriebsspannung ist einfach, aber du solltest die 
Spanungsteiler nicht so auslegen, dass bei Nennspannung der 'volle' 
Bereich ausgenutzt wird. AREF vom ATMega168 kann man auf 1.1V schalten, 
und dann sollte man das auch tun, die Spannung ist tausendmal genauer 
als die 5V von VCC. Die zu messenden Spannungen werden so geteilt, dass 
sie bei 75% den Nennwerts liegen, damit man unter- und Überspannungen 
erkennen kann und z.B. bei Abweichungen grösser 10% Meldung machen kann.


 +5V----+
        |
   +---------+
   |ATMega168|
   |     AREF|--10k-+--10nF-- GND
   |         |      |
   |     ADC0|------+------150k-- -12V
   |     ADC1|--+----------270k-- +24V
   |     ADC2|--(---+------150k-- +12V
   |     ADC3|--(---(---+--56k---- +5V
   +---------+  |   |   |
        |      10k 10k 10k
        |       |   |   |
 GND ---+-------+---+---+


Wenn wir annehmen, dass die Relais alle mit 24V eingeschaltet werden und 
mit 0V ausgeschaltet werden, dann kann man dort auch Analogwerte 
abfragen

Rel1 --20k--+--20k-- GND
           10k
Rel2 --20k--+  (20k jeweils gebildet aus 10k+10k)
           10k
Rel3 --20k--+
           10k
Rel4 --20k--+
           10k
Rel5 --20k--+
           10k
Rel6 --20k--+
           10k
Rel7 --20k--+
           10k
Rel8 --20k--+---|+\
                |  >--+--22k--+--|ADC4 des ATMega168
             +--|-/   |       |  (1.03V wenn alle Relais an sind)
             |        |      1k
             +--------+       |
                             GND

(theoretisch gehen 10 Relais, aber dann müssten alle Werte sehr genau 
sein, um die verschiedenen Kobinationen auseinanderhalten zu können)

jeweils weitere 8 Relais an weitere Analogeingaenge. Für 100 Relais 
reichen die eines ATMega aber nicht, da muesste man mit einem CD4051 
Mutiplexer vorauswählen, gestuert durch Portausgänge.

von armyboy (Gast)


Angehängte Dateien:

Lesenswert?

Danke viel mals für die ausführliche Antwort.

Die  Reed-Relais werden mit 5V, separat angesteuert (NI-Stecker) und auf 
die Spulenanschlüsse habe ich keinen Zugriff. Ich habe nur die 
Schalterkontakten

Und Sie haben es richtig erkannt. Sowie Sie oben beschrieben haben sind 
es genau solche Fehler die auftretten. Mal schaltet einer, mal nicht, 
mal doch auch wenn sie kein Saft hat ... ...

Ich habe nur Zugriff zu den Schalterkontakten und möchte dort 
überprüffen od Soll und ist geschaltet zustimmen.

Die 5 Spannungen sind fest aus einem Schroff-Netzteil, wereden über die 
Widerstand-Dekaden (7 Kanal) kodiert [Analoge Abakus]. Mit meiner 
Messung will ich vorher sicherstellen dass die Spannungen auch wirklich 
da sind.

Ich werde diese version der U-Messung übernehmen
 +5V----+
        |
   +---------+
   |ATMega168|
   |     AREF|--10k-+--10nF-- GND
   |         |      |
   |     ADC0|------+------150k-- -12V
   |     ADC1|--+----------270k-- +24V
   |     ADC2|--(---+------150k-- +12V
   |     ADC3|--(---(---+--56k---- +5V
   +---------+  |   |   |
        |      10k 10k 10k
        |       |   |   |
 GND ---+-------+---+---+


Ich will zudem auch die am R-Dekade eingestellte Widerstandswert lesen 
können. Dafür habe ich ein Konstantstromquelle IC besorgt LM234. SIe 
liefert 100uA und bei Rmax=65K habe ich 6,5V. So möchte ich über R=U/I 
meine R-werte ermitteln.

Habe ich hier falsch gedacht??:-)
danke

von MaWin (Gast)


Lesenswert?

> Habe ich hier falsch gedacht??:-)

Mit 15uA hätte man 0.975V, besser passend fuer die AVR Analogeingaenge. 
Die 6.5V müsstest du ja erst henterteilen.

Uups:

 +5V----+
        |
   +---------+
   |ATMega168|
   |     AREF|------+--10nF-- GND
   |         |     10k
   |     ADC0|------+------150k-- -12V

so ist's besser, die 10nF dienen ja der Filterung von AREF.

> Ich habe nur Zugriff zu den Schalterkontakten und möchte dort
> überprüffen od Soll und ist geschaltet zustimmen.

Hängt denn zu dem Zeitpunkt an den Schalterkontakten der rechnende 
Analogrechner dran, oder koennte man die Schalterkontakte frei verwenden 
und neu verdrahten

Dann sollte man eine digitale Matrix aufbauen

            PD0    PD1
             |      |
PB0 -----+---(--+---(-- ...
          \  |   \  |
           S |    S |
            \|     \|
             +      +
             |      |
PB1 -----+---(--+---(-- ...
          \  |   \  |
           S |    S |
            \|     \|
             +      +
             |      |
             :      :

wobei S jeweils ein Schaltkontakt eines Relais ist mit einer Diode in 
Reihe, also:

           /
  --|>|--o/ o-----


So reichen 10 x 10 Portleitungen, um den Schaltzustand alles 100 
Relaiskontakte zu ermitteln, in dem man bei allen PB die internen 
Pull-Ups enabled werden, dann EINER der PD auf Ausgang mit logisch 0 
geschaltet wird (die anderen sind Ausgänge mit logisch 1) und geguckt 
wird, welche Eingänge auf LO gezogen werden.

von armyboy (Gast)


Lesenswert?

Hallo zusammen,
erstmal vielen dank für Ihre Hilfen...  Ich habe die Verdrahtung der 
Matrix und Spannungsteiler gut hingekriegt.

Nun eine neue Frage habe ich noch: Was ist das Unterschied zwischen 
Mega168 und Mega169 ausser dass der eine mehr PIN hat.

salut
armyboy

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.