Forum: Mikrocontroller und Digitale Elektronik Lichtschranke als Taktzähler


von Boris (minussinsk)


Lesenswert?

Hallo zusammen,

ich bin recht neu im Forum und besitze ein technisches Background 
(Maschinenbauer). Elektrochtechnik ist für mich reines Hobby.
Nun zu meiner Frage. Ich würde gerne ein Lichtschranke LM393 Modul o.Ä. 
als Rotationsdetektor nutzen. Meine Idee ist es ein Rad mit einem 
Lochmuster rotieren zu lassen und den Sensor an diesen zu platzieren. 
Die Elektronik soll "nur" folgende Aufgaben haben: Solange sich das Rad 
dreht soll eine grüne LED leuchten, sobald das Rad aufhört zu drehen - 
nach ca. 1-3 Sec. (Einstellbar) soll eine rote LED leuchten. Die 
Schaltung soll ein high Signal (3,3-24V) beim Stillstand ausgeben und 
ein low Signal solange das Rad sich dreht, alternativ auch umgekehrt. 
Die Schaltung soll drei Anschlüsse besitzen: Versorgnungsspannung, 
Ground, Signalausgabe (high/low).

Die mechanische Seite ist relativ leicht mit einem 3D Drucker und ein 
paar Kugellager zu lösen, die Elektrotechnik fordert mich heraus. Ich 
denke es wäre relativ leicht mit einem Arduino und etwas Code zu lösen. 
Allerdings möchte ich diese Baugruppe so klein wie möglich aufbauen. 
Gibt es eventuell bereits fertige Schaltungen die man so beziehen kann, 
die genau solchen Fall abbilden können? Oder komme ich nicht drumherum 
so etwas selbst aufbauen und programmieren zu müssen?

Falls ich zu wenig Informationen aufgeschrieben habe oder etwas 
offensichtliches fehlt, kann ich es gerne noch ergänzen. Bitte nur 
Bescheid geben, welche Infos notwendig sind.

von Jörg R. (solar77)


Lesenswert?

Boris schrieb:
> Nun zu meiner Frage. Ich würde gerne ein Lichtschranke LM393 Modul o.Ä.
> als Rotationsdetektor nutzen. Meine Idee ist es ein Rad mit einem
> Lochmuster rotieren zu lassen und den Sensor an diesen zu platzieren.
> Die Elektronik soll "nur" folgende Aufgaben haben: Solange sich das Rad
> dreht soll eine grüne LED leuchten, sobald das Rad aufhört zu drehen -
> nach ca. 1-3 Sec. (Einstellbar) soll eine rote LED leuchten. Die
> Schaltung soll ein high Signal (3,3-24V) beim Stillstand ausgeben und
> ein low Signal solange das Rad sich dreht, alternativ auch umgekehrt.
> Die Schaltung soll drei Anschlüsse besitzen: Versorgnungsspannung,
> Ground, Signalausgabe (high/low).

Stichwort: retriggerbares Monoflop, z.B. CD4538

von Falk B. (falk)


Lesenswert?

Boris schrieb:
> Die mechanische Seite ist relativ leicht mit einem 3D Drucker und ein
> paar Kugellager zu lösen, die Elektrotechnik fordert mich heraus. Ich
> denke es wäre relativ leicht mit einem Arduino und etwas Code zu lösen.

Reichlich Overkill.

> Allerdings möchte ich diese Baugruppe so klein wie möglich aufbauen.

Du brauchst einen Lichtsensor, meist Phototransistor. Und ein 
Monoflop. Dazu einen Treiber, der 24V ausgeben kann. Kann man 
diskret aufbauen, siehe Transistor.

> Gibt es eventuell bereits fertige Schaltungen die man so beziehen kann,
> die genau solchen Fall abbilden können? Oder komme ich nicht drumherum
> so etwas selbst aufbauen und programmieren zu müssen?

Programmieren muss man da nix. Ein Monoflop gibt es auch schon als 
Bausatz. Aber meist nicht mit minimaler Größe.

von Manfred P. (pruckelfred)


Lesenswert?

Falk B. schrieb:
> Du brauchst einen Lichtsensor,

Auch als Gabellichtschranke bekannt.

Wenn man irgendwo noch einen sehr alten VW-Golf oder die Zündanlage 
einer alten BWM-K100 findet, als Magnetgabelschranke HKZ101.

G* findet: 
https://www.sonnecy-shop.com/de/hall-effekt-drehzahlgeber-cyhme301-ausgangssignal-npn-oc-versorgungsspannung-4.5-v-24-v-dc-alternative-fuer-hkz101-hkz101s-hkz121-siemens.html

Die Dinger sind quasi fertige Arbeit und resistent gegen 12V-Kfz.

von Michael B. (laberkopp)


Lesenswert?

Boris schrieb:
> komme ich nicht drumherum so etwas selbst aufbauen

Ist jedenfalls preiswert.
1
 +---+-----+--+--------+------+----+-- +
2
 |   |     |  |        |      |   _|_
3
 |   |     |  R5       R7     |   \_/
4
 R1  R2    R3 |        |      |    |
5
 |   |     |  +--------(-----|+\   R9
6
 |   +--C1-+  +--|+\   |     |  >--+--
7
_|_LS|     |  |  |  >--+--+--|-/
8
\_/:|<     +--(--|-/   |  |   |
9
 |   |E    R4 R6 LM393 C2 R8  |
10
 |   |     |  |        |  |   |
11
 +---+-----+--+--------+--+---+-- GND
Die Widerstandswerte hängen von der Versorgungsspannung und 
Lichtdurchlassigkeit der Lichtschranke LS ab, bei 5V könnte 
funktionieren:
1
R1 100 Ohm
2
R2  47k
3
R3 100k
4
R4  47k
5
R5 100k
6
R6  51k
7
R7 470k
8
R8 1Meg
9
R9 470 Ohm
10
C1 100nF
11
C2 10uF
Man sollte R1 und R2 so anpassen, dass bei einem Loch die Dpannung am 
Collektir des Ohototransistors auf unter 1V fällt und wenn dunkel auf 
über 4V steigt.
Man kann C2 auf die gewünschte Ausfallzeit anpassen.
Und mit C1 langsames drehen unterdrücken.

von Jörg R. (solar77)


Lesenswert?

Boris schrieb:
> ich bin recht neu im Forum..

Trotzdem darfst Du auf Kommentare eingehen, oder hat sich das Problem 
erledigt? Oder denkst Du die User hier schreiben aus Langeweile 
Kommentare?

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Manfred P. schrieb:
> Auch als Gabellichtschranke bekannt.

Kennst du die geometrischen Gegebenheiten?

von Jörg R. (solar77)


Lesenswert?

Boris schrieb:
> (..)
> Nun zu meiner Frage. Ich würde gerne ein Lichtschranke LM393 Modul o.Ä.
> als Rotationsdetektor nutzen. Meine Idee ist es ein Rad mit einem
> Lochmuster rotieren zu lassen und den Sensor an diesen zu platzieren.

Rainer W. schrieb:
> Manfred P. schrieb:
>> Auch als Gabellichtschranke bekannt.
>
> Kennst du die geometrischen Gegebenheiten?

Du würdest anhand dieser Beschreibung wohl eher zu einer 
Reflexionslichtschranke raten?

Ob jetzt eine Gabellichtschranke in einem Gehäuse, oder Sender und 
Empfänger sich sonst wie gegenüber stehen ist doch völlig egal.

Für mich klingt Gabellichtschranke daher erst einmal logisch.

Kannst Du auch direkt auf ein Problem eines TOs eingehen, oder reicht es 
bei Dir nur dafür andere Kommentare madig zu machen?

: Bearbeitet durch User
von Boris (minussinsk)


Lesenswert?

Hallo zusammen,

entschuldigt, dass ich etwas "abgetaucht" bin. Ich wollte Euch aber 
nicht mit Zwischenständen langweilen. Ich bin dem Thema retriggerbares 
Monoflop nachgegangen und bin auf den IC NE555 gestoßen. Wie hier von 
Mitgliedern schon erwähnt, war die Idee diesen in Kombination mit einem 
LM393 und einer Gabellichtschranke zu nutzen. Die Signalgenerierung der 
Gabellichtschranke mit einem LM393 funktioniert sehr gut, ich bekomme 
ein sauberes 0V/5V Digitalsignal. Die Schaltung, die Michael B. gepostet 
hat gib es als fertiges Modul zu kaufen, was ich dann auch gemacht habe.
Um den NE555 anzuschließen habe ich mir einige Videos auf YouTube 
angeschaut und bin auf folgedendes Video gestoßen: 
https://www.youtube.com/watch?v=y2uEzDftkiU

Hier wird eine nachtriggerbare monostabile Kippschaltung beschrieben. 
Diese habe ich als fertiges Modul bezogen. Leider passiert folgendes: 
Falls das Rad auf High stehen bleibt -> meldet der NE555 ein Fehler, so 
wie es sein sollte. Allerdings meldet dieser keinen Fehler falls das Rad 
auf Low stehen bleibt, weil der Trigger Eingang wohl permanent 
getriggert wird. An dieser Stelle komme ich leider nicht weiter .... 
habt Ihr vielleicht einen Tipp für mich?

Beste Grüße
Boris

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


Lesenswert?

Boris schrieb:
> gib es als fertiges Modul zu kaufen, was ich dann auch gemacht habe
Was hast du denn da gekauft?

> habt Ihr vielleicht einen Tipp für mich?
Zeig mal in einem Schaltplan und einem Foto, und was du da aufgebaut 
hast.

> habt Ihr vielleicht einen Tipp für mich?
Du brauchst ein flankengetriggertes rertiggerbares Monoflop.

: Bearbeitet durch Moderator
von Boris (minussinsk)



Lesenswert?

Lothar M. schrieb:
> Zeig mal in einem Schaltplan und einem Foto, und was du da aufgebaut
> hast.
>

Das ist gerade der Aufbau, die Rote Led fungiert als Diode, damit man an 
der LM393 Platine ein sauberes Signal bekommt.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Boris schrieb:
> WhatsApp_Image_2024-10-24_at_09.27.37.jpeg

Wo kommt dabei der im Titel genannte Zähler ins Spiel?

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


Lesenswert?

Boris schrieb:
> Das ist gerade der Aufbau
Hast du einen Link zu diesen Modulen? Und wie wurde NE555-Board mit ener 
Diode "angepasst"?

> die Rote Led fungiert als Diode, damit man an der LM393 Platine ein
> sauberes Signal bekommt.
Warum ist das nötig?

von Walter T. (nicolas)


Lesenswert?


Beitrag #7761352 wurde vom Autor gelöscht.
von Boris (minussinsk)


Lesenswert?

Rainer W. schrieb:
> Boris schrieb:
>> WhatsApp_Image_2024-10-24_at_09.27.37.jpeg
>
> Wo kommt dabei der im Titel genannte Zähler ins Spiel?

Es ist ein Lochrad montiert der die Lichtschranke triggert.

von Boris (minussinsk)


Lesenswert?

Lothar M. schrieb:
> Boris schrieb:
>> Das ist gerade der Aufbau
> Hast du einen Link zu diesen Modulen? Und wie wurde NE555-Board mit ener
> Diode "angepasst"?
>
>> die Rote Led fungiert als Diode, damit man an der LM393 Platine ein
>> sauberes Signal bekommt.
> Warum ist das nötig?

Warum es nötig ist kann ich Dir nicht sagen. Das Signal des LM393 Boards 
geht nicht vernünftig auf Ground -> LED Leuchtet permanent. Mit der 
zusätzlichen Roten LED ist der Signal sauberer.

von Jörg R. (solar77)


Lesenswert?

Boris schrieb:
> Lothar M. schrieb:
>> Boris schrieb:
>>> Das ist gerade der Aufbau
>> Hast du einen Link zu diesen Modulen? Und wie wurde NE555-Board mit ener
>> Diode "angepasst"?
>>
>>> die Rote Led fungiert als Diode, damit man an der LM393 Platine ein
>>> sauberes Signal bekommt.
>> Warum ist das nötig?
>
> Warum es nötig ist kann ich Dir nicht sagen. Das Signal des LM393 Boards
> geht nicht vernünftig auf Ground -> LED Leuchtet permanent. Mit der
> zusätzlichen Roten LED ist der Signal sauberer.

Zeige den kompletten! Schaltplan und den kompletten! Aufbau.

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


Lesenswert?

Boris schrieb:
> Das Signal des LM393 Boards
Zum **DRITTEN** Mal: welche Boards verwendest du?

Ist das denn so schwierig, die Links zu diesen Boards hierher zu 
kopieren?

von Jörg R. (solar77)


Lesenswert?

Lothar M. schrieb:
> Boris schrieb:
>> Das Signal des LM393 Boards
> Zum **DRITTEN** Mal: welche Boards verwendest du?
>
> Ist das denn so schwierig, die Links zu diesen Boards hierher zu
> kopieren?

Ein Salamithread ohne Salami:-)

von Rainer W. (rawi)


Lesenswert?

Boris schrieb:
> Es ist ein Lochrad montiert der die Lichtschranke triggert.

Und wer oder was zählt da?
In deinem Blockschaltbild ist davon nichts zu sehen.

: Bearbeitet durch User
von Boris (minussinsk)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Boris schrieb:
>> Das Signal des LM393 Boards
> Zum **DRITTEN** Mal: welche Boards verwendest du?
>
> Ist das denn so schwierig, die Links zu diesen Boards hierher zu
> kopieren?

Links zu den gekauften Boards:

LM393 Board
https://www.pollin.de/p/joy-it-speedsensor-lm393-mit-lochscheibe-810878

NE555 Board:
https://www.berrybase.de/timer-modul-breakout-ne555-einstellbar?number=TIMM-NE555&utm_source=google&utm_medium=cpc&gad_source=1&gclid=EAIaIQobChMI-qa-mIaniQMVHZGDBx3k4RQREAQYAyABEgIKRfD_BwE

Das NE555 Board wurde so angepasst dass es nachtriggerbar ist - siehe 
Bild im Anhang. (Diode hinzugefügt)

Diode zwischen LM393 Ausgang und dem NE555 Eingang gehangen um das 
Signal zu verbessern.

Sind weitere Informationen notwendig?

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


Lesenswert?

Boris schrieb:
> um das Signal zu verbessern.
Was ist denn schlecht an dem Signal und was wurde durch die Diode 
besser?

Boris schrieb:
> Das NE555 Board wurde so angepasst dass es nachtriggerbar ist
Jetzt müsste es eben nur noch flankengetriggert arbeiten statt wie 
bisher pegelgetriggert.

: Bearbeitet durch Moderator
von Boris (minussinsk)


Lesenswert?

Der Thread kann geschlossen werden. habe das Problem mit einem Arduino 
gelöst. Den Ausgang von dem LM 393 Board auf den Arduino Eingang 22 
gelegt Hier ist der Quellcode dazu:
1
const int inputPin = 22;
2
const int outputPin = 24;
3
const unsigned long timeoutDuration = 3000; // 3 seconds in milliseconds
4
5
int lastState = LOW;
6
unsigned long lastChangeTime = 0;
7
8
void setup() {
9
  pinMode(inputPin, INPUT);
10
  pinMode(outputPin, OUTPUT);
11
  digitalWrite(outputPin, LOW);
12
}
13
14
void loop() {
15
  int currentState = digitalRead(inputPin);
16
  
17
  if (currentState != lastState) {
18
    lastState = currentState;
19
    lastChangeTime = millis();
20
    digitalWrite(outputPin, LOW);
21
  } else {
22
    if (millis() - lastChangeTime > timeoutDuration) {
23
      digitalWrite(outputPin, HIGH);
24
    }
25
  }
26
}

: Bearbeitet durch Moderator
von Boris (minussinsk)


Lesenswert?

Lothar M. schrieb:
> Boris schrieb:
>> um das Signal zu verbessern.
> Was ist denn schlecht an dem Signal und was wurde durch die Diode
> besser?

Die Signaldiode auf dem LM 393 Board ist nie komplett ausgegangen. Es 
war immer ein wechsel zwischen hellem leuchten und dunklem leuchten. Mit 
der Diode zwischen den beiden Boards geht die Signaldiode auf dem LM393 
vollständig aus und an.

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


Lesenswert?

Boris schrieb:
> habe das Problem mit einem Arduino gelöst.
Das ist soweiso sinnvoll, wenn hinterher eh' ein µC drankommt.

> currentState != lastState
Das ist die von mir erwähnte Flankentriggerung.

von Manfred P. (pruckelfred)


Lesenswert?

Jörg R. schrieb:
> Rainer W. schrieb:
>> Manfred P. schrieb:
>>> Auch als Gabellichtschranke bekannt.

> Für mich klingt Gabellichtschranke daher erst einmal logisch.

Hat er nun auch verwendet.

> Kannst Du auch direkt auf ein Problem eines TOs eingehen, oder reicht es
> bei Dir nur dafür andere Kommentare madig zu machen?

Das ist die Kernkompetenz vom (rawi).

Lothar M. schrieb:
> Boris schrieb:
>> Das NE555 Board wurde so angepasst dass es nachtriggerbar ist
> Jetzt müsste es eben nur noch flankengetriggert arbeiten statt wie
> bisher pegelgetriggert.

Soweit ich weiß, kann der 555 keine Flankentriggerung und man hätte eher 
zum 4528/4538 gegriffen.

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.