Forum: Analoge Elektronik und Schaltungstechnik Definierte Eingangs Pegel für uC schaffen


von Martin L. (martin-l)


Lesenswert?

Hallo, ich bin neu im Forum - bitte nicht beisen!
Also nur so als hintergrund:
Ich mache gerade eine Ausbildung zum Fachinformatiker fachrichtung 
Systemintegration.
Davor hab ich ne Ausbildung zum Haus und Hof elektriker absolviert.

So nun zu meiner Frage:
Ich habe ein Projekt am laufen wo eine Warensicherung gebaut werden 
soll.
Problem hierbei ist das die Halter wo das Gerät "sichern" sollen fertig 
eingekauft werden, Diese Halter haben zwei LED's und einen Abreiß 
Kontakt für die Absicherung. Schaltung von diesem Gerät ist hier:

    Ausgang   _/_----[  ]-----GND
                     0,6M Ohm  |
                               |
                               O LED
                               |
                               |
                              +2,2V (Led VCC)

So, jetzt habe ich das Problem, das ich den Ausgang vom Schaltausgang 
nicht
auswerten kann weil dieser gegen GND geschalten wird und wenn ich diese 
offen also ohne einen Widerstand gegen VCC betreibe dauert es ewig bis 
sich genügend Strom "sammelt" um uC Eingang durchzusteuern.

Ich hate zuerst versucht einen Widerstand mit rund 200M Ohm gegen VCC zu 
schalten aber hier ist dann ein zu kleiner Spannungsunterschied so das 
es der uC nicht erkennt.

Es tretten folgende Spannungen auf:
5,0V bei offenem Schaltkontakt,
4,4V bei geschlossenem Schaltkontakt.

Ich habe schon versucht das ganze mit einem Schmitt Trigger auf einen 
definierten Pegel zu setzen also 0V oder 5V.

Habt ihr hier eine Idee?

Als uC wird ein Atmega 162 eingesetzt.
Achso eventuell wird später auch ein Schieberegister eingesetzt um einen
kleineren uC verwenden zu können!

Das hauptproblem ist die Schaltung pro Sicherungsmodul sollte nicht zu 
umfangreich werden, da die Schaltung 15* gebaut werden muss und dass auf 
maximal 2 Europlatinen...

Vielen herzlichen Dank!!

von Micha (Gast)


Lesenswert?

>Hallo, ich bin neu im Forum - bitte nicht beisen!
Wir beißen nur, wenn der Fragesteller zu faul ist sich selbst Gedanken 
zu machen, absolut nicht auf Vorschläge hört oder keine Informationen 
zur Verfügung stellt. Sonst sind wir ganz lieb. ;)

>    Ausgang   _/_----[  ]-----GND
>                     0,6M Ohm  |
>                               |
>                               O LED
>                               |
>                               |
>                              +2,2V (Led VCC)

Bist du dir sicher, dass das so stimmt? Ich verstehe die Schaltung 
nämlich so, dass die LED immer leuchtet (da direkt zwischen Vcc und GND; 
Vorwiderstand fehlt) und der Widerstand überflüssig ist.

Des Weiteren sind die Widerstände IMO wertemäßig recht weit daneben, da:
I=U/R => I=5V/200000Ohm => 0,000025A = 25uA
Und das ist quasi der best-case - bei kleinerer Spannung bzw. größerem 
Widerstand wird der Strom noch kleiner.

Gängig bei LEDs sind, sagen wir mal, zwischen 1mA und 15 bis 20mA. Das 
wäre dann ein Widerstand im Bereich ~1kOhm.

von Ralf (Gast)


Lesenswert?

Hallo Martin,

ich bin mir zwar auch nicht sicher, dass ich das alles richtig 
verstanden habe, aber ich will's mal versuchen.

Du hast also einen hochohmigen Ausgang (ca. 600kOhm) und da treten 
Spannungsunterschiede (5V...4,4V) auf, die Du detektieren willst.

Direkt am uPC-Pin wird das nicht gehen, weil dort idR. TTL-Eingange 
(Schaltschwelle ca. 0,7V) vorhanden sind. Es gibt uPCs mit integrierten 
Komparatoren. Aber da sind pro uPC dann max. 1 bis 2 Stk. von vorhanden. 
Mit einem integrierten Analog-Digital-Wandler wird es auch nicht 
funktionieren, weil der eine niederohmigere Quelle braucht.

Ich würde diskrete Komparatoren verwenden um die Pegel anzupassen und 
die Impedanz zu veringern. Wenn keine besonderen Ansprüche an das 
Zeitverhalten gestellt werden, geht vielleicht der Klassiker "LM311" 
dafür.

Ich weiß nicht welche Versorgungsspannungen zur Verfügung stehen. Der 
TL084 fällt mir dazu noch ein, aber der braucht negative 
Versorgungsspannung und auch mind. +8V wenn er 5V ausgeben soll. 
Vielleicht gehts auch mit TLC274. Der kommt mit einer 
Versorgungsspannung von 0...5V aus.
Das Letzte sind beides OPAmps mit extrem hohen Eingangswiderständen. 
Beide haben vier OpAmps in einem Chip.

von Micha (Gast)


Lesenswert?

Ehrlich gesagt kann ich das mit den 0,6MOhm noch nicht glauben. Sind es 
nicht vielleicht 0,6kOhm?

von Martin L. (martin-l)


Lesenswert?

Ok, die obere Schaltung war glaube ich nicht ganz glücklich:

>     Eingang uC O_/_----[  ]-----GND
>                     0,6M Ohm  |
>                               |
>                               V LED
>                               -
>                               |
>                               |
>                               O
                            Ausgang uC

Der Widerstand von 0,6M Ohm stimmt leider.
Ich bringe euch später am Abend noch einen Schaltplan im Detail.


Danke schon mal!!! ;)

von Gast (Gast)


Lesenswert?

So wie es jetzt gemalt ist fehlt der Vorwiderstand für die LED, die 
vermutlich auch falsch herum eingebaut ist, es sei denn der Controller 
liefert eine negative Spannung zu GND.

von Micha (Gast)


Lesenswert?

Poste mal einen Schaltplan, ja. Das ist leider noch immer nicht wirklich 
klar - zumindest für mich nicht. Was ist Eingang uC und was ist Ausgang 
uC und ist GND wirklich GND?

von Martin L. (martin-l)


Angehängte Dateien:

Lesenswert?

So hier habe ich noch einen Schaltplan von dem ganzen wie ich es mir 
dachte... Was aber nicht funktioniert. :(

So die LED ist aber immer noch falsch herum drinne... UPS!

Mit freundlichen Grüßen!!

Edit:
Folgendes habe ich mir überlegt, allerdings brauche ich dann min. 3 Pins 
für eine Sicherung. Könnte das so funktionieren?

Was meint Ihr kann ich das mit Schieberegistern durchführen?

von Martin L. (martin-l)


Angehängte Dateien:

Lesenswert?

Sorry, da war jetzt die andere Version vom Schaltplan nicht drinne...

Jetzt kommt er!

Ein schönes Wochenende übrigens an alle!! :)

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


Lesenswert?

Wenn da tatsächlich ein 600kOhm Widerstand im Taster eingebaut ist, dann 
muß dein Pullup R2 wesentlich hochohmiger sein (10x größer).
Das mit den 600 kOhm kann ich (wie andere auch) gar nicht so richtig 
glauben. Dafür wäre ein extrem hochohmiger und somit störempfindlicher 
Eingang nötig.


> Widerstand mit rund 200M Ohm
Woher hast du solche Widerstände?
Da reicht ein Leiterbahnabstand von 10 mm und normale Luftfeutigkeit 
aus.


Kannst du mal definieren, was schon (unveränderlich) da ist, und wo du 
noch ändern kannst. Muß die Anode der LED unbedingt auf GND liegen?
Oder ginge es auch so:
>     Eingang uC O_/_----[  ]---o- *VCC*
>                     0,6M Ohm  |
>                               |
>                               V LED
>                               -
>                               |
>                               |
>                               O
>                            Ausgang uC
Dann hättest du die LED nämlich schon mal richtig gepolt.


EDIT:
In einem Schaltplan werden i.A. nur dort Junctions gesetzt, wo ein 
Sternpunkt mit mindestens 3 Teilnehmern ist.

Hier z.B.:
1
     ------o-------
2
           |
3
           |

nicht aber, wenns einfach nur in ein Bauteil hinein geht:
1
     ------o-->|--o----

Man geht davon aus, dass die Leitung mit dem Pin implizit verbunden ist:
1
     --------->|-------

von Micha (Gast)


Lesenswert?

Normalerweise hasse ich das, aber hier ist angebracht: 
http://www.mikrocontroller.net/articles/Bildformate

Hast du dir die Schaltung selbst ausgedacht oder ist das (auf der 
rechten Seite) ein fertiges Bauteil?

von Micha (Gast)


Lesenswert?

>In einem Schaltplan werden i.A. nur dort Junctions gesetzt, wo ein
>Sternpunkt mit mindestens 3 Teilnehmern ist.
Richtig. I.d.R. ist es bei Eagle nicht nötig Junctions von Hand zu 
setzen. Zumindest nicht wenn man die Verbindungen mittels "Net" 
zeichnet.

von Martin L. (martin-l)


Lesenswert?

Das auf der Rechten Seite ist ein fertiges Bauteil!

Entschuldigung, ich habe nicht auf die Bildgröße geachtet.
Kommt nicht wieder vor! ;)

Mit den 0,6M Ohm ist wirklich tatsache!
Der Sinn von dem ist ja, das ist eine Art Warensicherung, an dem
zu sicherndem Gerät ist ein abriß Kontakt dran der einfach aufgeklebt 
wird.
Sobald man diesen Kontakt auch nur leicht verschiebt, soll der Alarm 
ertönen.

Deswegen ist der Widerstand denke ich so hoch!

Grüßle :)

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


Lesenswert?

> Mit den 0,6M Ohm ist wirklich tatsache!
Kannst du den Taster evtl. analog auswerten (Analogeingang oder 
Komparator)?
Mit einen 470kOhm Pullup für R2 erhältst du einen Spannungsteiler 
470kOhm+600kOhm = ca. 3V und abgerissen (offener Schalter) zieht der 
470kOhm den Eingang auf 5V.

von Micha (Gast)


Lesenswert?

Oder evtl. einen Pullup >5,4MOhm, aber dann wird das Ganze schon sehr 
empfindlich.

Du weißt schon, dass du nicht 3 Pins deines Controllers brauchst, 
sondern es auch mit weniger geht?

von Martin L. (martin-l)


Lesenswert?

Micha wrote:
>>In einem Schaltplan werden i.A. nur dort Junctions gesetzt, wo ein
>>Sternpunkt mit mindestens 3 Teilnehmern ist.
> Richtig. I.d.R. ist es bei Eagle nicht nötig Junctions von Hand zu
> setzen. Zumindest nicht wenn man die Verbindungen mittels "Net"
> zeichnet.


Ok, aber was ist den dann genau der Unterschied zwischen "Net" und 
"Wire"?
Bin im eagle noch nicht soooo ganz sicher... :)

von Falk B. (falk)


Lesenswert?

@  Martin Lang (martin-l)

>Ok, aber was ist den dann genau der Unterschied zwischen "Net" und
>"Wire"?

Net zeichnet echte elektrische Verbindungen, auch Netze genannt. Wire 
sind nur optische Striche, die man ggf. zu Netzen machen kann. Jaja, ist 
bissel inkonsistent hier das gute alte Eagle, aber wenn man es weiss ist 
das kein Problem. "Wire" braucht man nur selten, "Net" immer.

MFG
Falk

von Micha (Gast)


Lesenswert?

Und im Layout nimmst du auch nicht "Wire", sondern "Route".

von Martin L. (martin-l)


Lesenswert?

Micha wrote:
> Oder evtl. einen Pullup >5,4MOhm, aber dann wird das Ganze schon sehr
> empfindlich.
>
> Du weißt schon, dass du nicht 3 Pins deines Controllers brauchst,
> sondern es auch mit weniger geht?

Ja ich brauche 2 + 1 wenn ich die Umschaltung zwischen GND + VCC also 
Eingänge lesen - LED leuchten auf einen Pin schalte, aber dann sollte 
ich wohl nen kleinen Transistor sicherheitshalber benutzen? (Es sind 15 
Sicherungen mit je 2 SMD leds)

Und wenn ich ein wenig Logik mit reinnehme evtl. noch weniger aber damit 
habe ich noch mehr Bauteile mit auf der Platine. Und so hätte ich halt 4 
Schieberegister auf der Platine. Da bin ich mir noch unschlüssig... :)

Was meint Ihr?

P.s.: Danke für die Erklärung (Wire - Net)!

von Martin L. (martin-l)


Lesenswert?

Nochmal eine Frage:
Ich will später mal den UART mit einem Grasshopper Board verbinden um 
die Alarmmeldungen z.b. ins LAN zu senden, muss ich da dann eigentlich 
den Umweg über die RS232 Schnittstelle machen oder kann ich TXD auf RXD 
| RXD auf TXD auf dem Grasshopper verbinden?

Danke! ;)

von Micha (Gast)


Lesenswert?

>Ja ich brauche 2 + 1 wenn ich die Umschaltung zwischen GND + VCC also
>Eingänge lesen - LED leuchten auf einen Pin schalte, aber dann sollte
>ich wohl nen kleinen Transistor sicherheitshalber benutzen? (Es sind 15
>Sicherungen mit je 2 SMD leds)
Naja das ist relativ: Pin 5 (vom RJ45) muss ja nicht umschaltbar sein, 
sondern kann auch direkt auf GND liegen.

>Ich will später mal den UART mit einem Grasshopper Board verbinden um
>die Alarmmeldungen z.b. ins LAN zu senden, muss ich da dann eigentlich
>den Umweg über die RS232 Schnittstelle machen oder kann ich TXD auf RXD
>| RXD auf TXD auf dem Grasshopper verbinden?
Kommt auf die Betriebspannungen an: wenn beide gleich sind kannst du sie 
direkt verbinden, wenn nicht brauchst du eine Pegelanpassung.

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.