Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

ich habe einen nicht mehr zuverlässig funktionierenden Mst Motor für die Bolex zerlegt und versuche nun mit einem Arduino die Impulse aus dem Reedkontakt des Motors auszulesen um so eine neu Steuerung zu basteln. 
Ich kann das öffnen und schließen wunderbar mit einem Durchgangsprüfer „hören“. Bei allen Geschwindigkeiten. Aus irgendeinem Grund schafft der Arduino aber erst ab sehr hohen Geschwindigkeiten überhaupt erst die Schließungen bzw. Öffnungen zu registrieren und ob dann alle Änderungen registriert werden, bin ich mir auch noch nicht ganz sicher.
Ich hab verschiedene Codes und auch Verdrahtungen an digitalen und analogen Pins probiert und vermute eher ein Problem im Motor bzw. am Reedkontakt, dass ich nicht verstehe. 

Hat jemand evtl. mehr Ahnung von diesem Motor und was das Problem sein könnte? Wie gesagt bei schnellerem Lauf also höherer Spannung, wird das dann irgendwann möglich zu lesen.

 

Danke sehr! 
Niklas

Geschrieben

Ein Reed-Kontakt schliesst ja nur. Wie hast Du den denn an den Arduino angeschlossen? Sinnvoll wäre zum Beispiel, den internen Pullup für den verwendeten Pin zu aktivieren und den Reed-Kontakt dann zwischen Pin und Masse zu legen.

Poste doch mal Dein Sketch und zeige, wie er derzeit angeschlossen ist.

 

(Wenn Du sicher keinen Impuls verlieren oder "zu spät" mitkriegen willst, solltest Du Pin 2 oder 3 verwenden und eine ISR darauf binden.)

  • Thumsbup 1
Geschrieben

Moin Friedemann, danke für die Antwort! Genau, ich hab den reedkontakt zwischen 2 und Ground und auch per INPUT_PULLUP...Meine Vermutung ist eben, da ich Schliessungen des Kontaktes bei höheren Geschwindigkeiten registriere, dass irgendwie vom höheren Motorstrom anhängig ist. Wobei eben...im Multimeter ist das Signal wunderbar zu hören.

Hier mein letzter Code:

const int motorPin1 = 8;
const int motorPin2 = 9;
const int reedPin = 2;
int lastState = -1;
int kontaktZaehler = 0;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(reedPin, INPUT_PULLUP);
  Serial.begin(9600);
  analogWrite(motorPin1, 50); 
  digitalWrite(motorPin2, LOW);
}

void loop() {
  int currentState = digitalRead(reedPin);
  if (currentState != lastState) {
    if (currentState == LOW) {
      kontaktZaehler++;
      Serial.print("Kontakt ");
      Serial.print(kontaktZaehler);
      Serial.println();
    }
    lastState = currentState;
  }
}


 

Geschrieben

Achso der Reedkontakt scheint ein NC zu sein...bei Stillstand messe ich Durchgang. Impulse nur zu hören bei laufendem Motor unter Strom. Per Hand kann ich das nicht auslösen.

 

besten Dank!

Geschrieben

Ich finde bei solchen Aufgaben ganz praktisch den Status des Kontaktes direkt mit einer LED anzuzeigen. Also direkt unter  

int currentState = digitalRead(reedPin);

ein

digitalWrite(LEDpin, currentState);

 

Dann kann man direkt die Auswirkungen von Drehzahl oder Änderungen an der Beschaltung live beobachten. Je nach dem kann eine Invertierung sinnvoll sein, damit man die Leuchten der LED besser sieht. 

Optimal wäre natürlich ein Oszilloskop um das Signal zu beobachten. dann sähe man, ob  der Reedkontakt nicht richtig durchschaltet, so dass der Pegel am Pin zu hoch bleibt.

 

Geschrieben

Moin Theseus,

 

und danke für den Input.

Das mit der LED kann ich mal einbauen. Allerdings, wenn nichts ankommt, zeigt mir die LED auch nichts an. Schauen wir mal.

Ich versuche mal in der Nachbarschaft ein Oszilloskop zu leihen. Vielleicht sehe ich da ja mehr. Wobei, wenn der Kontakt nicht richtig funktionieren würde, dann würde auch der Durchgangsprüfer nicht so eindeutig reagieren, oder?

Danke und Gruß,

Niklas 

Geschrieben

Das Leuchten der LED ist unabhängig von der anderen Programmlogik. man schon mal ausschließen, dass der Arduino zwar was detektiert, aber die erwünschte Reaktion ausbleibt, weil man sich bei der Logik der IFs irgendwie verhäddert hat. Hier ist es übersichtlich, aber bei komplexeren Abfragen hilfreich. Man sieht ob die LED regelmäßig blinkt, oder ob Störungen vorhanden sind. Man könnte den internen Pull-Up gegen ein externes Poti (z.B. 100k-Poti bzw. verschieden große Widerstände) ersetzen und sieht an der Led, ob sich beim Drehen des Potis was ändert. Das ist übersichtlicher und direkter als der Serialmonitor.

Geschrieben

Hallo zusammen,

 

also die LED hab ich eingebaut. Ich würde sagen die zeigt das an, was ich auch im serial Monitor gesehen habe. Sie glimmt schwach, bei höheren Geschwindigkeiten. Da ist die Frequenz wirklich so hoch, dass man das höchstens noch als leichtes flimmern wahrnimmt. Bei niedrigeren Drehzahlen zeigt sich die LED nichts an…

Am 25.2.2026 um 11:56 schrieb Friedemann Wachsmuth:

Ist der Reedkontakt an der Welle oder stationär? Vielleicht hat er einen Hau und öffnet nur noch mit genug Fliehkraft?

Friedemann, das ist eine gute Frage. Ich kann das leider nicht einsehen. Um den Motor weiter zu öffnen, müsste ich vermutlich Gewalt anwenden. Ich hätte auch Skrupel, da ich keine Ahnung hätte ob ich den wieder zusammen bekomme. 
Was allerdings dagegen spricht ist doch, dass ich das Signal bei allen Geschwindigkeiten deutlich mit dem Durchgangsprüfer höre…

Tja, leider bin ich noch nicht weiter.

 

 

Geschrieben
Am 23.2.2026 um 20:39 schrieb Niklas:

Impulse nur zu hören bei laufendem Motor unter Strom. Per Hand kann ich das nicht auslösen


Das spricht ja dafür, dass das nicht einfach nur direkt ein Reedkontakt ist. Sonst wäre egal, ob der Motor "unter Strom" ist...

Geschrieben

Hallo Friedemann, danke fürs mitdenken. 
 

vor 8 Stunden schrieb Friedemann Wachsmuth:


Das spricht ja dafür, dass das nicht einfach nur direkt ein Reedkontakt ist. Sonst wäre egal, ob der Motor "unter Strom" ist...

Ja das stimmt in der Tat. 
also ich hab mal versucht Fotos zu machen. Ich hoffe man erkennt irgendwas. Motor hat folgende Anschlüsse: 

blau und rot sind plus und minus/Stromversorgung.

Die beiden Schleifer an den Achsenenden hab  ich zusätzlich an die Masse angeschlossen. Zumindest bei dem „hinteren“ bewirkt das auch erst, dass der Motor genug Last? Hat um richtig zu drehen. Ohne diesen Anschluss kommt er nicht richtig in die Gänge. 
Beim vorne zu sehenden Schleifer bin ich nicht sicher was zu tun ist. Da tut sich nichts, wenn ich den anschließe oder weglasse.

Und dann noch die zwei grünen Kabel. Das ist der Kontakt. Eines an der Masse und eines direkt an Pin 2  oder aber zum entprellen parallel zu einem Kondensator geschaltet. Hat leider auch nichts gebracht…

Pin 8 und 9 gehen zum Motorcontroller.

 

IMG_7012.jpeg

IMG_7013.jpeg

IMG_7014.jpeg

Geschrieben

Ist das wirklich ein Reed-Kontakt und nicht ein Pilotton-Generator, der mit Induktion das Signal erzeugt. Rein optisch hätte ich was Richtung Tachogenerator vermutet. Wenn es ein Generator ist, dann ist vermutlich die induzierte Spannung hochgenug, dass der Arduino die registriert, wenn der Motor schnell dreht. Miss mal mit einem Multimeter die Spannung beim Drehen zwischen den beiden grünen Anschlüssen (Wechsel- und Gleichstrommessbereich ausprobieren). 

Geschrieben

Genau was Hans sagt. Ich tippe da auch nicht auf Reed-Kontakt. 
 

Welche "beiden Schleifer am Achsende" meinst Du? Diese rote Kappe? Da sehe ich nur ein Kabel (orange) dass an die Kontaktfeder zur Motorachse geht (warum auch immer). Hattest Du die rote Kappe schon mal ab?

Ich vermute, das ganze funktioniert anders als Du denkst...

Geschrieben

Unter der roten Kappe ist dieser Fliehkraftschalter, zur Geschwindigkeitssteuerung. Genau…da wo ich das orange Kabel angelötet habe. Da wird vermute ich dieser Schalter angeschlossen und ist für mich nicht relevant.

Den „oberen“ Schleifer sieht man nicht gut auf dem Bild. Aber da bin ich ja mit der Masse recht sicher…

Und ja! Ich messe Wechselspannung zwischen den beiden grünen Kabeln! 
Das heißt genau was? Wie funktioniert so ein Tachometer?

Danke euch, ihr seid eine große Hilfe!

Und ja aus dem Signal, was aus den grünen Kabeln kommt wird in der Original Schaltung ein Pilotton gemacht….

Geschrieben

Stimmt, steht hier auch: "Pilot generator, 50 or 60 ~ incorporated". 
 

IMG_7552.thumb.jpeg.cdfa9024079109d3b140902af718737b.jpeg

 

Du musst das Tachosignal aufbereiten. Was ist denn Dein Ziel? Impulse am Arduino zählen? 
 

So ganz grob müsstest Du das Tachosignal "für Arduino" gleichrichten (Diode), verstärken und dann vielleicht noch formieren (Schmitt-Trigger) und ggf. filtern (Tiefpass). Für konkretere Hinweise muss man aber wissen was Du vor hast und bräuchte wohl auch ein Oszilloskop, um die Signale genauer untersuchen zu können. 

Geschrieben

I see…alles doch nicht so einfach wie erhofft. 😉

Mein Ziel wäre dieses Signal zu benutzen um die Drehgeschwindigkeit genau einzustellen. Da sollte ja dann sehr stabil gehen auch um Syncsound zu machen usw. Und eben ein kleines Menü zu programmieren , an dem ich dann verschiedene Geschwindigkeiten einstellen kann.

aber dazu muss ich erstmal dieses Signal lesen können.

An ein Oszilloskop bin ich leider noch nicht gekommen. 

Geschrieben

Ich fürchte, das wird nichts. Ich sehe da keinen elektronischen Regelkreis, die 24 fps sind vermutlich mit einem Fliehkraftregler (in der roten Kapsel?) vermeintlich genau fest eingestellt. Die grünen Kabel erzeugen lediglich einen Burst, den Du später im Zweibadverfahren zur tatsächlichen Synchronisation verwenden kannst. 

Geschrieben

Was Du tun müsstest (nicht ganz einfach):

- Den mechanischen Drehzahlregler entfernen und durch eine Impulsscheibe ersetzen (optisch oder magnetisch)

- Die Motorspannung zukünftig programmatisch fein regeln

- Dazu einen passenden Regelkreis aufbauen (PLL oder PID-Regler)

 

Für letzteres habe ich ein ähnliches Projekt in der Mache, aber es ist nicht fertig und für bestehende Projektorregelungen auf TCA955-Basis konzipiert. 
 

Kurz: Machbar, und reizvoll, aber kein "kleines Arduinoprojekt". 

Geschrieben

Hmm...Und du meinst ich kann das nicht dann so nutzen, dass ich darüber ein finetuning der Geschwindigkeit über den Arduinocode erreichen kann?

Alternative wäre dann evtl. einen ganz normalen Encoder, magnetisch oder optisch anzubauen...wobei das noch mehr Bastelei bedeutet...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Filmvorführer.de mit Werbung, externen Inhalten und Cookies nutzen

  I accept

Filmvorfuehrer.de, die Forenmitglieder und Partner nutzen eingebettete Skripte und Cookies, um die Seite optimal zu gestalten und fortlaufend zu verbessern, sowie zur Ausspielung von externen Inhalten (z.B. youtube, Vimeo, Twitter,..) und Anzeigen.

Die Verarbeitungszwecke im Einzelnen sind:

  • Informationen auf einem Gerät speichern und/oder abrufen
  • Datenübermittlung an Partner, auch n Länder ausserhalb der EU (Drittstaatentransfer)
  • Personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen, Erkenntnisse über Zielgruppen und Produktentwicklungen
Durch das Klicken des „Zustimmen“-Buttons stimmen Sie der Verarbeitung der auf Ihrem Gerät bzw. Ihrer Endeinrichtung gespeicherten Daten wie z.B. persönlichen Identifikatoren oder IP-Adressen für diese Verarbeitungszwecke gem. § 25 Abs. 1 TTDSG sowie Art. 6 Abs. 1 lit. a DSGVO zu. Darüber hinaus willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden. Weiterführende Details finden Sie in unserer  Datenschutzerklärung, die am Ende jeder Seite verlinkt sind. Die Zustimmung kann jederzeit durch Löschen des entsprechenden Cookies widerrufen werden.