Encoder Eigenbau

Hallo zusammen,

bin gerade dabei mir einen Encoder für eine Nähmaschine zu bauen. (siehe Aufbau. Sorry für die schlechte Qualität) Dazu habe ich ein Lichtschrankenmodul und einen Arduino benutzt. Der Arduino steuert gleichzeitig die Geschwindigkeit der Nähmaschine über Phasenanschnittsteuerung.

Leider verzählt sich meine Programm bei den Umdrehungen immer. Habe schon versucht die Lichtschranke zu entprellen, allerdings ohne Erfolg.

Kann mir jemand weiterhelfen?

Danke
Janik

main.cpp (2.79 KB)

jan981:
... Habe schon versucht die Lichtschranke zu entprellen, allerdings ohne Erfolg.

Elektronische Schalter prellen mWn nicht.

Gruß

Gregor

Schwer zu erkennen, aber ist das eine Öffnung in deinem Handrad ?
Diese Öffnung soll dann deine Lichtschranke detektieren ?

Mir bekannte Bauweisen haben immer mehr als eine Öffnung die detektiert werden.
Da sind Fehler dann besser zu vermeiden. Und im offenen Aufbau ist es besser mit Markierungen auf der "Scheibe" zu arbeiten.

(deleted)

Und wenn Du deinen Lichtschrankenzähler im loop hochzählst, kannst Du dir den Interrupt gleich auch schenken. Das funktioniert nur, wenn der Loop schnell genug ist - was bei deinen ganze delay eher fraglich ist. Wenn Du schon einen Interrupt nutzt, musst Du auch den Zähler in der ISR hochzählen.

Dass ich mir den Code nicht angesehen habe, war wohl eine gesunde Entscheidung :slight_smile:

SCNR

Gregor

@Gregor

chöntisch bitte dini Abchörzige erklärä, isch nämlich müesam, jedesmol zerst müse ä suechmaschine ufzrüefä, zom dini Biiträg vollständig zverschto. oder wenigschtens dronderschriibä, was die Abchörzig (SCNR) söll bedüütä.
lLanged nämlich scho, dass ich han müesä Hochdütsch lernä zum im dütschä Forum chönnä zlesä, do willi nöd au no Stenografie müäsä lernä.

Stefan

Deltaflyer:
chöntisch bitte dini Abchörzige erklärä, isch nämlich müesam, jedesmol zerst müse ä suechmaschine ufzrüefä, zom dini Biiträg vollständig zverschto. oder wenigschtens dronderschriibä, was die Abchörzig (SCNR) söll bedüütä.
lLanged nämlich scho, dass ich han müesä Hochdütsch lernä zum im dütschä Forum chönnä zlesä, do willi nöd au no Stenografie müäsä lernä.

Hast ja recht. Wenn es eine Abkürzung und obendrein ausländisches Deutsch ist, wird's schwierig.

FYI :slight_smile:

Gruß

Gregor

Hallo,
Eigendlich willst Du eine Frequenz oder Drehzahl Messung bauen. Danach kanst Du mal hier im Forum suchen.

Mir ist aber noch nicht ganz klar wozu das gut sein soll. Willst Du einen geschlossene Regelkreis bauen oder sollen nur Sollwerte für die Drehzahl als Stellgrösse eingestellt und der Istwert angezeigt werden. Wozu soll ein Regelkreis gut sein. Das zu nähende Material stellt doch keine nenneswerte Last für den Motor dar, auch gibt es keine wesentlichen Störgrössen die eine Regelung rechtfertigen würden.

Eventuell machst Du auch mehrere Auskerbungen in die Pappscheibe, dann wird die Auflösung besser und du bekommst auch bei kleinen Drehzahlen eine vernünfige Auflösung. Das hängt aber auch vom Messverfahren ab. Wenn Du Impuse pro Zeiteinheit (Tormessung) misst ist bei kleinen Frequenzen die Anzahl der Impulse / Umdrehung wichtiger. Wenn Du eine Periodendauer Messung machst (zeit zwischen zwei Flanken) ist das nicht so wichtig.

Heinz

Deltaflyer:
@Gregor

chöntisch bitte dini Abchörzige erklärä, isch nämlich müesam, jedesmol zerst müse ä suechmaschine ufzrüefä, zom dini Biiträg vollständig zverschto. oder wenigschtens dronderschriibä, was die Abchörzig (SCNR) söll bedüütä.
lLanged nämlich scho, dass ich han müesä Hochdütsch lernä zum im dütschä Forum chönnä zlesä, do willi nöd au no Stenografie müäsä lernä.

Stefan

Eigentlich gefallen mir Dialekte aber geschrieben tue ich mir sehr schwer. :wink: :wink: :wink:
Pfiati Uwe

Rentner:
Eigendlich willst Du eine Frequenz oder Drehzahl Messung bauen.

Da soll der TO mal genauer erklären, wozu das ist. Bei einer Nähmaschine würde ich eher darauf tippen, dass er damit die Stiche zählt. Eine Umdrehung = ein Stich.

Edit: Hab’ an einem Kommentar gerade gesehen, dass er wohl doch die Drehzahl damit regeln will. Dann ist ein Impuls/Umdrehung aber definitiv zu wenig.

Danke für die vielen Antworten. Wie ihr bereits gemerkt habt bin ich noch blutiger Anfänger in der Programmierung.

Da die Nähmaschine sich bei niedrigen Drehzahlen nicht regelmäßig dreht ist es schwierig mit einer Steuerung zu arbeiten, deshalb muss ein geschlossener Regelkreis her.

Wenn ich das von früher noch recht in Erinnerung habe, dann bedeutet eine Umdrehung an dem Rad der Nähmaschine = 1 Stich. Der Widerstand, der sich dem Motor entgegenstellt, schwankt bei der Ausführung eines Stiches recht stark. Deshalb wird deine Regelung besonders innerhalb dieses einen Stiches aktiv werden müssen.
Wobei jetzt die Frage ist, an welchem Rad Du misst. Das geht aus deinem Bild nicht eindeutig hervor. Wenn es direkt am Motor ist, hast Du noch eine Übersetzung - d.h. wieviel Umdrehungen macht der Motor um einen Stich auszuführen? Ich bin jetzt nicht der Regelungsexperte ( war schon im Studium nicht mein Lieblingsfach - und das ist ein paar Jahrzehnte her :wink: ) aber denke schon, dass Du mehr als einen Impuls/Umdrehung brauchst, um eine ordentliche Regelung hinzubekommen.

jan981:
....Wie ihr bereits gemerkt habt bin ich noch blutiger Anfänger in der Programmierung.

Wenn du schon nicht der Fachmann bist, verstehe ich nicht, warum du nicht auf unsere Anmerkungen eingehst.
Wie sollen wir da helfen ?

So lange was schreiben bis es bei dir passt ?

Das Drehrad sitzt auf der Nähmaschine hinten drauf und ist für den Handbetrieb gedacht.

Bin gerade dabei den Code unter Berücksichtigung der Ratschläge auszubessern und eine neue Scheibe für die Lichtschranke zu fräsen. Da stellt sich die Frage wie viele Schlitze ihr reinmachen würdet und wie breit diese sein sollten? (Innenduchmesser 70mm und Außendurchmesser 80mm)

Eine Frage stellt sich mir noch. Bei meinen bisherigen Probemessungen hat das Programm immer 32 Impulse von der Lichtschranke detektiert obwohl es real nur 20 waren. Das heißt doch das es nicht unbedingt nur an den vielen fehlplatzierten delays liegt, sondern auch einen anderen Grund haben kann oder?

(deleted)

jan981:
Das Drehrad sitzt auf der Nähmaschine hinten drauf und ist für den Handbetrieb gedacht.

Und wieviel Umdrehungen macht das Rad pro Stich? Eine? Dann brauchst Du möglichst viele Impulse / Umdrehung. Kannst Du den Encoder nicht direkt am Motor anbringen?

Ja, wenn er zu viele Impulse detektiert liegt das eher nicht an delay's, dann muss das noch eine andere Ursache haben. Mit so wenigen Impulsen lässt sich aber eh kein ordentlicher Regelkreis aufbauen - da sind die Totzeiten viel zu groß.

Das Drehrad macht genau eine Umdrehung pro Stich. Da es die Nähmaschine meiner Mutter ist, darf ich sie auf keinen Fall aufschrauben :frowning:

Danke Peter werde es morgen versuchen. Mit wie vielen Impulsen pro Drehungen würdest du an die Sache rangehen und wie breit muss der Spalt in der Scheibe sein?

(deleted)

Deltaflyer:
@Gregor

chöntisch bitte dini Abchörzige erklärä, isch nämlich müesam, jedesmol zerst müse ä suechmaschine ufzrüefä, zom dini Biiträg vollständig zverschto. oder wenigschtens dronderschriibä, was die Abchörzig (SCNR) söll bedüütä.
lLanged nämlich scho, dass ich han müesä Hochdütsch lernä zum im dütschä Forum chönnä zlesä, do willi nöd au no Stenografie müäsä lernä.

Stefan

Der war gut, ich hab hab mich weggerollt. You made my day.
Oder für dich einfacher:
Isch guat gsi:-))