mikrocontroller.net

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


Autor: Martin Lang (martin-l)
Datum:

Bewertung
0 lesenswert
nicht 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!!

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Micha (Gast)
Datum:

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

Autor: Martin Lang (martin-l)
Datum:

Bewertung
0 lesenswert
nicht 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!!! ;)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Martin Lang (martin-l)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Martin Lang (martin-l)
Datum:
Angehängte Dateien:

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

Jetzt kommt er!

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.:
     ------o-------
           |
           |

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

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

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin Lang (martin-l)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Martin Lang (martin-l)
Datum:

Bewertung
0 lesenswert
nicht 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... :)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Micha (Gast)
Datum:

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

Autor: Martin Lang (martin-l)
Datum:

Bewertung
0 lesenswert
nicht 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)!

Autor: Martin Lang (martin-l)
Datum:

Bewertung
0 lesenswert
nicht 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! ;)

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.