Lichtschranke für Carrerabahn Im Unterforum Alle anderen elektronischen Probleme - Beschreibung: Was sonst nirgendwo hinpasst
Autor |
Lichtschranke für Carrerabahn |
|
|
|
|
BID = 650112
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
|
Hallo,
ich habe mir beigefügte Schaltung für eine Lichtschranke
zusammengelötet. Diese funktioniert auch soweit, wenn ich
die LDRs mit den Fingern abdecke und wieder Licht draufkommen
lasse. Meine Selbstgeschriebene Software erkennt das dann.
Wenn nun ein Auto über den LDR fährt, kommt nur ganz selten
ein Signal an der Seriellen Schnittstelle an. Die LED leuchtet
immer auf, also muss das Signal am Ausgang A ankommen, oder?
Meine Vermutung ist, dass das Signal am Ausgang A nicht lange
genug am Ausgang anliegt oder zu schwach ist, wenn die Autos darüber
fahren. Ein Freund von mir, der eine ähnliche Schaltung
zusammengebaut hat, sagte ich solle einen Schmitt Trigger zwischen
Ausgang und Serieller Schnittstelle einlöten. Das habe ich gemacht,
leider ohne Erfolg. Ich habe auch die LED am Ausgang weggelassen,
da ich glaube dass der 56 Ohm Wiederstand zu klein ist. Hat aber auch nichts geholfen.
Ich habe hier im Forum gelesen, dass die TTL Bausteine (in meinem Fall 7400) eigentlich nur geeignet sind LEDs zu schalten. In dem Beitrag wurden CMOS Bausteine genannt (4011 bzw. 74HC132).
Bringt das etwas in meinem Fall?
Wie kann ich es erreichen, dass das Signal 1 Sekunde anliegt. Ich meine ich hätte etwas von Monoflop gelesen.
Wie kann ich das in meiner Schaltung einbauen?
Zwischen Ausgang und serieller Schnittstelle?
Ich bin für jede Hilfe dankbar.
Gruß Kai |
|
BID = 650123
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
|
Die serielle Schnittstelle ist für solche Spielerien ja gar nicht gedacht.
Welchen Pin benutzt du und wie fragst du ihn ab?
Der LS08 ist besser geeignet eine LED zu treiben als CMOS, aber natürlich wird dabei der Ausgangspegel schlecht.
Da du ja im dem Gehäuse noch genügend Gatter übrig hast, solltest du mit dem Ausgangssignal, das die LED bedient, noch ein weiteres Gate als Puffer antreiben, damit das wieder einen ordentlichen Pegel herstellt.
Ausserdem ist der High-Pegel der TTL-Gates für die RS-232 Schnittstelle ohnehin etwas knapp.
Lege deshalb noch einen Widerstand, vielleicht 1..3 kOhm, von dem Ausgang der zur Schnittstelle geht, nach +5V.
P.S.:
Zitat :
| in meinem Fall 7400 | Was denn nun?
In der Schaltung hast du einen 74LS08 eingezeichnet. Das ist ein Unterschied, denn der 00 invertiert, der 08 nicht!
Die Masseverbindung zwischen Rechner und TTL hast du ja hoffentlich nicht vergessen.
[ Diese Nachricht wurde geändert von: perl am 24 Nov 2009 3:58 ] |
|
BID = 650134
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Hallo perl,
vielen Dank für die Antwort.
Was wäre denn besser dafür geeignet (Parallele Schnittstelle, USB)?
Ich benutze die PINS 1(CD) und 6(DSR) einer 9-poligen Schnittstelle.
Das Programm ist in Java geschrieben. Die verwendete Library ist die RXTXComm. Jede millisekunde prüft das Programm ob ein Signal an einem der PINS anliegt. Wenn dem so ist, wird reagiert.
Die Masseverbindung zwischen TTL und Serieller Schnittstelle ist vorhanden. Diese liegt an PIN 5 der RS232.
Mit dem 7400 ist mir ein Fehler unterlaufen. Ich verwende den eingezeichneten Baustein 74LS08.
Wie muss die Schaltung mit dem zweiten Gatter und dem zusätzlichen Widerstand aussehen? So wie in dem Bild "Lichtschranke Version 2"?
Speziell geht es mir um den zusätzlichen Widerstand. Das habe ich nicht ganz kapiert, glaube ich. Liegt dann nicht immer ein High Signal an der Seriellen Schnittstelle an?
Gruß
Kai
|
BID = 650143
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Jede millisekunde prüft das Programm... |
Dein Wort in Gottes Gehörgang!
Weder Java noch Windows haben etwas von einem Echtzeit-Betriebssystem.
Du kannst ja mal versuchen bei jeder Prüfung DTR umzupolen.
Mit einem Kopfhörer solltest du dann hören können, wenn das Programm da vorbeikommt. Bei der behaupteten Polling-Geschwindigkeit sollten sich 500Hz ergeben, also etwas höher als der 425Hz-Wählton beim Telefon.
Die Frequenz kann man auch mit einer FFT-Freeware am Audio-Eingang messen. Dann aber unbedingt einen 20:1 Spannungsteiler vorschalten, damit der Audio Eingang nicht durch die hohe Spannung der RS-232 (bis zu plus und minus 15V !) beschädigt wird.
Die FFT auch am besten auf einem separaten Rechner laufen lassen, da sie ziemlich rechenintensiv ist und allein schon deine Polling-Geschwindigkeit in die Knie zwingen kann.
Deine Schaltung ist ansonsten richtig.
Den 10k-Widerstand am Eingang wirst du weglassen können, denn aus einem TTL-Eingang kommt etwas Strom heraus. Ohne den Widerstand wird das etwas lichtempfindlicher aber auch langsamer reagieren.
Du solltest es dir aber zur Angewohnheit machen, bei ICs (egal ob analog oder digital) direkt an den Versorgungsanschlüssen einen keramischen 100nF Kondensator mit möglichst kurzen Drähten zum GND-Pin (Vss bei CMOS) bzw. nach Masse zu legen.
Man vermeidet so hochfrequente Selbststörungen der Schaltung.
Bei dieser Schaltung spielt das noch keine Rolle und es wird auch ohne diese Kondensatoren funktionieren, aber sobald Flipflops, Zähler oder Verstärker verwendet werden, kann das den Unterschied zwischen "geht" und "geht nicht" ausmachen.
Warum in letzter Zeit immer wieder Schaltungen mit den langsamen LDR auftauchen ist mir ein Rätsel. Ich vermute, dass es sich dabei um den Abverkauf der letzten Exemplare handelt, die wegen des Gehalts an giftigem Cadmium in der professionellen Technik nicht mehr verwendet werden dürfen.
|
BID = 650155
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Ich habe den kleinen Prüfintervall genommen, damit der Rechner so oft wie möglich nachprüft. Ich habe schon gemerkt, bei den Zeiten, die die Software gemessen hat, wenn ich getestet habe, dass das mit den Intervallen nicht so richtig hinkommen kann.
Ich wusste nicht, dass LDRs eigentlich nicht mehr erlaubt sind.
Jetzt weiß ich aber warum der Verkäufer so komisch
geschaut hat als ich ihm gesagt habe, dass ich gerne
welche hätte.
Was kann ich denn statt der LDRs verwenden?
Foto Transistoren?
Ich versuche die Schaltung in den nächsten Tagen mal umzulöten.
Aber im Voraus schon einmal vielen Dank für Deine Hilfe.
Gruß Kai
|
BID = 650161
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Ich wusste nicht, dass LDRs eigentlich nicht mehr erlaubt sind. |
Du brauchst dich darum kaum zu kümmern, und der Verkäufer hat auch nichts verbotenes getan.
Gemäß RoHS verboten ist das "erstmalige Inverkehrbringen" solcher schadstoffhaltigen Dinge. Dazu gehört auch bleihaltiges Lötzinn!
Sofern der Verkäufer das Teil nicht selbst importiert hat, war es ja schon in Verkehr gebracht, und er darf es weiterverkaufen.
Du aber baust nun ein neues Gerät damit, welches selbst auch den Regeln unterliegt.
Das darfst du auch, wenn du es selbst behältst.
Es gibt auch ein paar weitere Ausnahmen (z.B. militärisches Gerät), die für dich aber nicht zutreffen werden.
Strenggenommen darfst du dein Bastelwerk aber nicht einmal mehr verschenken, denn auch das wäre ein "Inverkehrbringen".
Solche LDRs können insbesondere Abfallzeiten, also bei Verdunklung, von mehreren Zehntelsekunden haben. Das Erkennen von Licht geht meist schneller.
Für eine Stoppuhr ist diese Langsamkeit nicht gerade wünschenswert.
Fototransistoren sind schneller, so um 1ms oder schneller.
Am schnellsten reagieren Fotodioden. Damit bekommt man problemlos Reaktionszeiten von weniger als 50ns hin. Allerdings ist ihre Lichtempfindlichkeit auch sehr viel geringer.
[ Diese Nachricht wurde geändert von: perl am 24 Nov 2009 11:25 ]
|
BID = 650316
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Ich habe die Schaltung erweitert um den 3KOhm Widerstand, das zusätzliche UND Gatter und den Kondensator am Eingang (siehe Bild). Die Schaltung zeigt das gleiche Verhalten.
Welche Möglichkeiten habe ich noch?
Fotodiode statt Foto Widerstand?
Operationsverstärker am Ausgang des 74LS08(LM324)?
|
BID = 650324
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| habe die Schaltung erweitert um den 3KOhm Widerstand, das zusätzliche UND Gatter und den Kondensator am Eingang (siehe Bild). Die Schaltung zeigt das gleiche Verhalten. |
Ok, wenn die LED den Zustand richtig anzeigt, wird es wohl an deiner Software liegen.
Hast du ein Messgerät und damit mal geschaut, ob deine +5V Speisung und der Ausgangspegel in Ordnung sind?
Theoretisch braucht ein RS-232 Empfänger den Wechsel zwischen 0V und +5V und umgekehrt nicht zu erkennen, weil die Norm sagt, dass nur Pegel positiver als +3V und negativer als -3V sicher erkannt werden müssen.
Die 0 liegt also im "Niemandsland".
Praktisch aber haben alle RS-232 Empfänger, die ich bisher daraufhin untersucht habe, ihre Entscheidung in der Gegend um +1,5V getroffen.
Evtl. schaust du mal, welcher Schnittstellentreiberbaustein da verbaut ist und siehst mal im Datenblatt nach.
Das richtige Verfahren wäre es aber einen RS-232-Schnittstellentreiber zu verwenden. Es gibt da welche, die nur +5V Speisespannung benötigen und sich die höheren positiven und negativen Spannungen selbst herstellen.
Du solltest dabei berücksichtigen, dass die RS232 Treiberbausteine in aller Regel invertieren.
Der älteste und bekannteste davon ist der MAX232, aber er hat Nachfolger, die noch einfacher anzuwenden sind.
[ Diese Nachricht wurde geändert von: perl am 24 Nov 2009 21:50 ]
|
BID = 650343
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Hallo Perl,
ich habe 3 Stück der RS232 gefunden und werde
mich mal damit auseinandersetzen.
Vielen Dank für Deine Unterstützung.
Gruß
Kai
|
BID = 653508
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Hallo Perl,
ich habe den MAX232 an die Ausgänge geschaltet, leider habe ich den gleichen Effekt. Die Serielle Schnittstelle bekommt das irgendwie nicht
mit. Ich habe in CSharp ein kleines Programm geschrieben, dass mir anzeigt wenn ich über die Fotowiderstand fahre. Die Software bringt das gleiche Resultat.
Ich habe den Max 232 so verschaltet wie es im Datenblatt steht mit 1yF.
Ist 1yF zu wenig?
Hast du vielleicht noch eine Idee?
Gruß Kai
|
BID = 653511
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Ich habe den Max 232 so verschaltet wie es im Datenblatt steht mit 1yF.
Ist 1yF zu wenig? |
Nein, das ist schon ok. Es gab da mal etwas Verwirrung mit der Grösse dieser Kondensatoren, was aber lediglich auf einem Druckfehler beruhte.
Aber bei solchen Problemen immer die ganze aktuelle Schaltung posten, vielleicht stimmt damit ja doch noch etwas anderes nicht.
Vorab kannst du ja mal den Ausgangspegel des MAX messen, wenn die Schaltung mit dem PC verbunden ist:
Wie gesagt, mussen in belastetem Zustand Spannungen negativer als -3V und positiver als +3V erreicht werden.
Eigentlich gibt es ja nur zwei Möglichkeiten wenns nicht funktioniert:
1) Der LDR ist zu lahm
2) Deine Software ist zu lahm.
Mangels Oszilloskop solltest du das feststellen können, indem du die LED mit einem Kopfhörer hintereinanderschaltest.
Dann solltest du jedesmal einen Knacks hören, wenn sich der Schaltzustand ändert.
Auch recht kurze Impulse, bei denen man das Blinken der LED vielleicht nicht sieht, kann man hören.
Im zweiten Schritt kann man den Kopfhörer dann auch mal an den Ausgang des MAX anschliessen - ohne LED. Auch dort sollte man die Knackse hören können.
Allerdings wird durch die Belastung mit dem Kopfhörer der RS232-Pegel so schlecht werden, dass der PC nichts mehr registrieren kann.
Es geht dabei ja auch nur darum festzustellen, ob es da einen Impuls gibt oder nicht.
Wenn die Hardware in Ordnung ist, muss der Fehler in der Software liegen. Falls es daran liegen sollte, dass die Software kurze Impulse übersieht, kann man die Impulse auch mittels etwas Hardware verlängern.
Für einen Rundenzähler wird das reichen, aber für eine Stoppuhr wäre dann die Genaugkeit der Zeitnahme wahrscheinlich nicht akzeptabel.
[ Diese Nachricht wurde geändert von: perl am 8 Dez 2009 1:53 ]
|
BID = 653576
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Ich werde die gesamte Schaltung posten.
Ich werde den LDR durch eine Fotodiode ersetzen
und wenn das auch nicht funktioniert,
dann gehe ich an die Software. Dann wird wohl C++
herhalten müssen.
Das mit dem Kopfhörer probiere ich auch mal aus.
Wie kann man denn das Ausgangssignal verlängern?
Mit einem Kondensator???
Vielen Dank für Deine Hilfe!
|
BID = 653708
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Wie kann man denn das Ausgangssignal verlängern?
Mit einem Kondensator??? |
Warum brauchst du drei Fragezeichen?
Eine einfache RC-Beschaltung reicht in der Tat manchmal aus, aber generell ist es sicherer die extra dafür entwickelten Monoflops zu verwenden.
Aus der 74LS-Serie kämen z.B. 122, 123, 221, 423 in Frage.
Auch der für viele andere Zwecke verwendete NE555 ist brauchbar.
|
BID = 654228
kaijoe Gerade angekommen
Beiträge: 8 Wohnort: Weiterstadt
|
Warum da 3 Fragezeichen stehen, kann ich dir nicht sagen,
beabsichtig war lediglich 1.
So wie es aussieht funktioniert die Schaltung aber mit
dem MAX232. Ich habe das ganze unter Linux getestet, bisher hatte
ich Windows Vista als Betriebssystem.
Bei den ersten Rennen gab es keine Probleme, alle Signale wurden
erkannt, gleichgültig wie schnell ich durchgefahren bin.
Mal schauen ob das auch so bleibt.
Wenn nicht, nehme ich ein Monoflop.
Ich melde mich nochmal, wenn ich richtig getestet habe.
Gruß Kai
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 24 Beiträge im Durchschnitt pro Tag heute wurden bisher 1 Beiträge verfasst © x sparkkelsputz Besucher : 180933644 Heute : 980 Gestern : 9165 Online : 694 20.4.2024 7:25 2 Besucher in den letzten 60 Sekunden alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.057107925415
|