Forum: Mikrocontroller und Digitale Elektronik 22-28 V Signal an µC, Leitungslänge 20 Meter


von Jojo (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

habe mir gerade ein Starter-Kit gekauft :-) und plane als Neuling etwas 
planlos mein erstes Projekt:

Mit einem Atmega8 Microcontroller 24 verschiedene 22-28 Volt-Signale 
verarbeiten. Die Leitungslängen betragen bis zu 20 Meter.

Meine Idee: einen Spannungsteiler aus 39k und 10k für jeden der 24 
Eingänge aufbauen und an dem 10k Widerstand 4,xx V - 5,7 V abgreifen um 
die Eingangsports damit zu beschalten.


Ich habe bisher noch keine Praxiserfahrung mit MC's und bin mir etwas 
unsicher, ob das so funktioniert. Daher folgende Fragen und Bedenken...?

1. Sollte ich besser parallel zu C noch eine Z-Diode einbauen?

2. Ist das mit dem Spg.-teiler überhaupt ok so oder geht das gar nicht?

3. Kann ich den Spg.-Teiler und den Rest der Schaltung auf einer Platine 
in einem Gehäuse (160x100mm z.B.) verbauen, an dem dann auch die 24 
langen Leitungen angeschlossen werden? (EMV, Strahlung, Störungen,...)
Also funktioniert der MC so?

4. Wie hochohmig ist eigentlich so ein Eingangsport zur Masse?
Habe noch nichts darüber gelesen aber gehe in der 
Spannungsteiler-Schlatung  davon aus, dass man den Innenwiderstand 
vernachlässigen kann... oder muss ich soetwas bei der Berrechnung der 
Widerstände berücksichtigen um die minimale Eingangsspannung HI von 3,5V 
am Eingang zu erreichen

Bin für eure Antworten dankbar.

von Christian B. (casandro)


Lesenswert?

Nimm eine Z-Diode und lege den Kondensator so aus, dass er mit den 
Widerständen ein RC-Glied ergibt welches nicht mehr als eine Oktave 
Deiner höchsten Signalfrequenz liegt.

Die Eingangswiederstände vom ATMega stehen im Datenblatt unter 
"Electrical Characteristics". Meines Wissens nach haben die ATMegas aber 
Eingangsverstärker.

Die Fragen die Du Dir stellen solltest sind, wie genau willst Du die 
Spannung messen?

Bedenke, der Eingang des Controllers verträgt nur 0V bis 
Versorgungsspannung.

von Frank K. (fchk)


Lesenswert?

Jojo schrieb:

> Mit einem Atmega8 Microcontroller 24 verschiedene 22-28 Volt-Signale
> verarbeiten. Die Leitungslängen betragen bis zu 20 Meter.

Was heißt "verarbeiten" bei Dir? Willst Du den genauen Spannungswert 
haben, oder reicht die Information "Spannung da/nicht da" aus? Ich tippe 
auf letzteres, frage aber sicherheitshalber nochmal nach.

Dann noch die Frage: Willst Du eine definierte Schaltschwelle haben 
(sprich: 22V oder mehr heißt Spannung da, weniger als 22V heißt: 
Spannung fehlt; kann auch ein anderer Wert als 22V sein)?

> Meine Idee: einen Spannungsteiler aus 39k und 10k für jeden der 24
> Eingänge aufbauen und an dem 10k Widerstand 4,xx V - 5,7 V abgreifen um
> die Eingangsports damit zu beschalten.

5.7V sind zu viel. Du willst den Controller mit 5.0V betreiben. Dann 
darfst Du da auch nur Eingangsspannungen bis 5.0V anlegen. Im Datenblatt 
steht Vcc+0.5V, aber das halbe Volt würde ich als Sicherheitsabstand 
ansehen und nicht unbedingt ausnutzen, wenn es nicht zwingend notwendig 
ist, und bei Dir ist es nicht zwingend notwendig.

> 1. Sollte ich besser parallel zu C noch eine Z-Diode einbauen?
Das hilft gegen Überspannung am Eingang und ist keine schlechte Idee. 
5.1V sind ein gängiger Wert für Z-Dioden.

> 2. Ist das mit dem Spg.-teiler überhaupt ok so oder geht das gar nicht?
Im Prinzip ist das eine mögliche Lösung. Es kommt aber darauf an, was Du 
genau willst - daher meine Fragen am Anfang.

Du musst Dir im Klaren sein, dass Du voraussetzt, dass das 
Ground-Potential überall das gleiche ist. In der Realität ist das nicht 
immer der Fall. Beispiel: Schutzleiterpotential zwischen zwei Gebäuden. 
Deswegen nimmt man auch Glasfaser für die Netzwerkverbindung zwischen 
zwei Gebäuden.

Eine gängige Vorgehensweise ist der Einsatz von Optokopplern. In einem 
Optokoppler ist eine LED, die Du mit passendem Vorwiderstand an Deiner 
Eingangsquelle betreibst. Die beleuchtet einen ebenfalls eingebauten 
Fototransistor, der dann durchschaltet. Vorteil: keine elektrische 
("galvanische") Verbindung zwischen den beiden Seiten, damit keine 
Ground-Probleme, und der Controller hinter dem Optokoppler ist vor 
Schäden von außen geschützt. Maximal triffts den Optokoppler.

Wenn Du eine genau definierte Schaltschwelle brauchst, gibt es analoge 
Vergleicher, die die Eingangsspannung mit einer Referenzspannung 
vergleichen. Damit kannst Du beispielsweise einen Alarm auslösen, wenn 
die Eingangsspannung unter einen bestimmten Wert sinkt oder über einen 
Wert steigt.

> 4. Wie hochohmig ist eigentlich so ein Eingangsport zur Masse?
> Habe noch nichts darüber gelesen aber gehe in der
> Spannungsteiler-Schlatung  davon aus, dass man den Innenwiderstand
> vernachlässigen kann... oder muss ich soetwas bei der Berrechnung der
> Widerstände berücksichtigen um die minimale Eingangsspannung HI von 3,5V
> am Eingang zu erreichen

Für diese Fragen gibts das Datenblatt, da steht das drin. Z.B. für 
analoge Eingänge:
RAIN - Analog Input Resistance: min. 55 typ. 100 MΩ

Noch etwas: digitale Schaltungen erwarten an ihren Eingängen bestimmte 
Spannungswerte für 0 und 1:
hier: 0: bis max 0.2*Vcc 1: ab min 0.6*Vcc
Den Bereich zwischen 0.2*Vcc und 0.6*Vcc solltest Du vermeiden, denn 
hier ist es undefiniert, was der Prozessor tatsächlich liest, und es 
können erhöhte Ströme im Controller fließen, weil die 
Eingangstransistoren nicht richtig durchschalten und nicht richtig 
sperren. Zu diesem Thema schlägst Du auch noch den Begriff 
"Schmitt-Trigger" nach, der kann hier helfen.

fchk

von Thomas E. (thomase)


Lesenswert?

Jojo schrieb:
> habe mir gerade ein Starter-Kit gekauft :-) und plane als Neuling etwas
> planlos mein erstes Projekt:
Schön.

> Mit einem Atmega8 Microcontroller 24 verschiedene 22-28 Volt-Signale
> verarbeiten. Die Leitungslängen betragen bis zu 20 Meter.
Wie wäre es denn erstmal mir einer Leitung?

So wie sich dein Text liest, hast du festgestellt, daß dein Atmega im 
TQFP-Gehäuse 24 Eingänge hat. Und jetzt willst du damit 24 Leitungen 
abfragen und dann verarbeiten. Und dann? Was soll denn danach passieren? 
Dein "Projekt" ist gerade sowas wie ein PC mit einer wunderschönen 
Designertastatur aber ohne Monitor.

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

In einem Jahr sprechen wir uns wieder.

mfg.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Brauchst oder willst du eine Potentialtrennung?
Falls nein:
Machs so wie im Beitrag "Re: 24 V auf µC-Eingang mit Zenerdiode?"

Mit Potentialtrennung kommt da ein Optokoppler plus "Drumrum" pro Kanal 
dazu.

Jojo schrieb:
> 4. Wie hochohmig ist eigentlich so ein Eingangsport zur Masse?
Der spielt sich im oberen Megaohmbereich ab, wenn kein Pullup aktiviert 
ist...

Christian Berger schrieb:
> Eingangswiederstände
Schon wider!

von Jojo (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank für eure schnellen Antworten...
Spitze von euch, mir bei meiner anfänglichen Unsicherheit und den blöden 
Fragen zur Seite zu stehn.

Die Spannung soll in der Schaltung nicht genau gemessen werden. Der  HI 
Pegel soll sicher bei22 -28V erkannt werden. Low Pegel bei 0V- 2Volt. 
Zustände zwischen 2 und 22 Volt treten nicht auf. (Oder kann die lange 
Anschlussleitung irgendwie Spannungen induzieren,  die diese Zustände 
verfälscht?)

Die Lösung mit den Optokopplern ist wohl die  am besten Geeignete.


Die 5Volt hol ich dann aus einem LM317bt...
Bei max. 10mA je Eingang muss er also 240mA liefern. Muss aber noch das 
Datenblatt prüfen, ob das so ok ist, wie warm er wird, etc...  (Soll ja 
im Gehäuse verschwinden)

Die Ausgänge vom MC hab ich oben nicht erwähnt, da die weitere 
Verschaltung über Transistoren realisiert wird. Die Ausgänge werden also 
nicht die Eingangsseite belasten und sind deshalb für mich erst mal als 
irrelevant für die Signal Anpassung an den Eingängen deklariert.

Was meint ihr zu der Lösung im Anhang?

von c. m. (Gast)


Lesenswert?

Jojo schrieb:

> Was meint ihr zu der Lösung im Anhang?

scnr, aber ein 1.5mb 4.9mp foto eines bildschirminhalts ist imho 
grenzdebil.

von Jojo (Gast)


Lesenswert?

Sorry... Auf die schnelle am nicht Internetfähigem Laptop entstanden und 
mit dem Handy geschickt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wenn es 2 V gibt und 20 V und zwischen diesen Spannungen umgeschaltet 
wird, dann gibt es auch Spannungen dazwischen.

Die vorgeschlagene Lösung mag funktionieren, der Optokoppler ist aber 
"Perlen vor die Schweine geworfen". Denn wenn du keine Potentialtrennung 
brauchst oder willst, dann ist ein OK technischer Overkill.

Wie ernst sind die 0..2 V für "low"?
Besser wäre eine Schwelle, z.B. unter 10 V low und drüber high.

von Jojo (Gast)


Lesenswert?

Ja eine Schaltschwelle bei 10 V z.B. ist ok.
Also auch hier noch ein Schmitt-Trigger vor den MC-Eingang?
Wie könnte die Potenzialtrennung denn aussehen?

von Wilhelm F. (Gast)


Lesenswert?

Jojo schrieb:

> Meine Idee: einen Spannungsteiler aus 39k und 10k für jeden der 24
> Eingänge aufbauen und an dem 10k Widerstand 4,xx V - 5,7 V abgreifen um
> die Eingangsports damit zu beschalten.

So ähnlich könnte das gehen, denn ich habe an einem µC-Board auch sowas 
dran: Einen Widerstands-Spannungsteiler, der aus der RS232-Spannung 
+/-15V eine TTL-Spannung macht. Die Schaltung aus einem Buchvorschlag 
sparte sich die RS232-Transceiver. 2 einfache Schutzdioden vom Typ 
1N4148 pro Leitung wären aber nicht schlecht. Bei meiner RS232 gab es ja 
auch -15V. Die werden mit einer der Dioden einfach eliminiert.

Sogar in preissensitiven industriellen Schaltungen sah ich später noch 
mal so eine RS232-Schnittstelle, um sich den Transceiver einzusparen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jojo schrieb:
> Ja eine Schaltschwelle bei 10 V z.B. ist ok.
Das macht die Sache deutlich einfacher. Nimm die von mir verlinkt 
Schaltung.

> Also auch hier noch ein Schmitt-Trigger vor den MC-Eingang?
Brauchst du nicht. Ich habe zigtausende Eingänge nach der obigen 
Schaltung weltweit und problemlos im Einsatz.

> Wie könnte die Potenzialtrennung denn aussehen?
Für eine Potentialtrennung brauchst du erst mal 2 getrennte 
Versorgungen: eine für den uC und eine für die Sensoren. Und dann 
bezieht sich die Led des Optokopplers auf die 24V und der Transistor des 
Optokopplers auf die 5V. Die beiden Massen werden dann nicht verbunden. 
Der Vorteil? Von der 24V Seite können keine Störungen in den uC Teil 
einkoppeln.

von Jojo (Gast)


Lesenswert?

Welchen Link?

DANKE für die Infos und die Geduld...

von Jojo (Gast)


Lesenswert?

Ich habe auch nur diese 22-28 Volt als einzige Spannungsquelle zur 
Verfügung.
Wie realisiert man die 2.te Versorgungspannung?
24VDC/24VDC Converter, oder 24V/5V, 5V/5V ?
Die die ich gesehen habe sind teuer oder können nur 200mA.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Die Frage, die ich ganz zu Beginn gestellt hatte, war:
Brauchst du bzw. deine Schaltung eine galvanische Trennung?

Wenn und weil du die Frage nicht beantworten kannst, solltest du alle 
Informationen zu deinem System posten (Versorgung, Sensoren, Aktoren, 
Ströme und Spannungen, Einsatzbereich...). Dann kann man abwägen, was 
nötig ist.

von Wilhelm F. (Gast)


Lesenswert?

Jojo schrieb:

> Die die ich gesehen habe sind teuer oder können nur 200mA.

Einen PID-Regler zur Spannungserzeugung kann man notfalls in Software 
auf dem µC betreiben, den man gerade hat. Auf der CD des PICkit1 war ein 
interessanter PID-Regler in Assembler aufgeführt, der dort die 
Programmierspannung 13V des Zielcontrollers regelte.

Leider darf ich den aus Copyright-Gründen hier nicht veröffentlichen.

Man könnte das Beispiel aber auf der Microchip-Homepage unter 
Application Notes finden, das ist nicht unwahrscheinlich.

Ich fands mal genial, als praktisches Beispiel zur Anschauung.

Allerdings muß man den auf Bauteilparameter der verwendeten Bauteile 
anpassen. Wenn man Milliampere machen kann, gehen auch Ampere.

von Karl H. (kbuchegg)


Lesenswert?


von Jojo (Gast)


Lesenswert?

Zu den langen Anschlussleitungen: Die 22-28 V kommen aus einer Batterie, 
die über einen Drehstromumformer ständig geladen wird, solange der 
Umformer läuft. Die Maschine besteht aus Maschinenteilen, die in einer 
Halle auf ca. 60m² verteilt sind. Die Leitungen, die ich da am 
Microkontroller anschließen möchte, kommen von den verschiedenen 
Maschinenteilen.

Das Problem:

Ein Maschinenteil fällt sporadisch aus und verursacht einen Ausfall der 
kompletten Anlage. Welches der 15 Teile dafür verantweortlich ist, kann 
sich die Maschine nicht merken weil sie abschaltet.
Deshalb so viele lange Leitungen an den Eingängen...
(Die muss ich in der Halle an anderen 24 Volt Leitungen und Maschinen 
vorbei verlegen... Daher meine Bedenken wegen Störungen auf der Leitung, 
die die Funktion vom MC beeinflussen könnten)

Die anderen Eingänge brauche ich als Bedingungen und Rückmekldungen, die 
ein Triggerkriterium bilden um die Abfrage der 15 Maschinenteile auf 
Hi/Low zu starten und mir einen entspr. ''Fehlercode'' auf einer 
2stelligen 7Segment Anzeige darstellt.

Das ganze spielt sich in einer Anlage auf einem Bauernhof von meinem 
Onkel ab. Er lässt andauernd erfolglos Teile wechseln und es hilft 
nichts. Ich durfte mir mal die Pläne ansehn und bekam die Idee meinen 
bissher nur theoretischen Umgang mit MC's mal in der Praxis zu 
nutzen....

Also ich denke eine galvanische Trennung wäre hier angebracht aber ich 
weiß es nicht, du hast Recht...Ich hoffe du kannst mich noch mal 
anschubbsen...

von Michael (Gast)


Lesenswert?

Frank K. schrieb:
> Das hilft gegen Überspannung am Eingang und ist keine schlechte Idee.
> 5.1V sind ein gängiger Wert für Z-Dioden.

Vcc+0.5V ist kein Grenzwert, der nicht überschritten werden darf, 
sondern einer, der nicht überschritten werden kann (solange eine 
Strombegrenzung vorhanden ist), weil dann die am µC-Eingang eingebaute 
Diode gegen VCC leitend wird. Aber eine Diode in Leitrichtung zu 
betreiben, ist nun wirklich kein Verbrechen.

Was ist an einer Z-Diode besser als bei den eingebauten Dioden. Solange 
der Vorwiderstand so groß ist, dass man gut unter dem zulässig 
Maximalstrom bleibt, ist das doch völlig in Ordnung. Atmel schlägt das 
in einer App.Note (AVR182: Zero Cross Detector) sogar für Netzspannung 
vor.

von Wolfgang (Gast)


Lesenswert?

Frank K. schrieb:
> Das hilft gegen Überspannung am Eingang und ist keine schlechte Idee.
> 5.1V sind ein gängiger Wert für Z-Dioden.

Das ist leider ein Trugschluß, weil es voraussetzt, dass der µC immer 
unter Spannung steht bzw. die Verbindung zu den 24V-Signalen 
unterbrochen wird, bevor die Versorgungsspannung des µC abgeschaltet 
wird.
Bei ausgeschaltetem µC (Vcc=0V) darf die Eingangsspannung lt. Datenblatt 
nur im Bereich +/- 0.5 V liegen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Und falls trotzdem mal die Versorgung vom uC ausfällt und am Eingang 
eine Spannung anliegt, dann darf der Strom in den Pin nicht so groß 
werden, dass die Schutzdiode zerstört wird.
In diesem Fall ist die Lösung mit 2 Dioden (eine nach Vcc, eine nach 
GND) besser als die mit der Z-Diode.

von MCUA (Gast)


Lesenswert?

>In diesem Fall ist die Lösung mit 2 Dioden (eine nach Vcc, eine nach
>GND) besser als die mit der Z-Diode.
Das gibt aber einen extrem hohen Fehlerstrom! (in VCC) wenn bei 
abgeschalteter Platine immer noch Spannung am Eingang liegt.
Andere Möglichkeit, Gatter vornedran (oder andere CPU), die die Eing-U 
verkraften, ohne auf VCC abzuleiten. Um energetische Pulse abzuleiten 
kann man noch Supressor-Dioden dazu nehmen.

von Jojo (Gast)


Lesenswert?

Ich kann VCC von der 24V Batt. auch direkt abgreifen und wenns 
erforderlich ist (was ich immernoch nicht weiß) über einen DC/DC 
Converter  galvanisch getrennt quasi dauerhaft zur Verfügung stellen. 
Die Batterie fällt ja nicht aus im Fehlerfall. Verstehe ich das richtig, 
dass ich den Controller nicht ohne VCC an den Eingängen beschalten darf?

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.