Go Down

Topic: Schrittmotor mit integriertem Encoder, 4 polig (Read 395 times) previous topic - next topic

ArduinoUser1234

Kann der Arduino die Relais schon schalten? Also klicken die Relais wenn der arduino sie schalten will? (....oder fehlt da noch ein Treiber?)
Also das ansteuern der Motoren mit dem Arduino über das Relais funktioniert einwandfrei, das Relais "klickt" und gibt auch visuelles Feedback in Form einer Diode.

Sicherungen sind auch verbaut, die Motoren haben wirklich richtig Power.

themanfrommoon

Okay, dass heisst es funktionieren nur die Encoder nicht, richtig?
Da musst du wohl erstmal mit nem Oszilloskop messen was da passiert.

Peter-CAD-HST

Moin
ich würde mit Volt- und/oder Ohmmeter die Kontakte ENC+ und ENC- durchmessen, wenn der Motor dreht. Hier kommt ein Link zur Funktionsweise eines Encoders.
Viel Erfolg
Gruß Peter
und gesund bleiben
KISS Q&D - keep calm and carry on - mind the gap - beware of sharks! -

ArduinoUser1234

Der Hall-Sensor funktioniert auch nicht 100%, aber mein größtes Problem sind derzeit die Encoder.

Ein Oszilloskop zu nutzen ist eine gute Idee, ich bin mir halt aber immer noch unsicher, ob ich den Encoder nicht vielleicht komplett falsch verdrahtet habe.

Was am ehesten funktioniert hat, aber katastrophal ungenau war, war die Encoder-Pins mit 5V Arduino und Pin 18 zu verbinden und dann mit AttachInterrupt die Wechsel zu zählen.

Ich werde jetzt erstmal weiter probieren und mich später nochmal melden.

Vielen Dank an jeden!

themanfrommoon

Kannst so einen Encoder zerlegen, oder ein Datenblatt finden? Dann wäre es keine Raterei.

Ich vermute auch, dass es ein einspuriger Encoder ist, und kein zweispuriger (der würde eine Drehrichtungserkennung ermöglichen, brauchst du aber nicht, weil du die Polung vom Motor kennst).
Aber das können immernoch viele Varianten sein wie das Ding funktionieren könnte.

ArduinoUser1234

Die lassen sich leider nicht zerlegen, das sieht sogar sehr danach aus, als will man nicht, dass die zerlegt werden. Datenblatt auch unauffindbar. Sowie es scheint werden die Motoren aus Indien/China importiert.

Ich werde nochmal verschiedene Varianten ausprobieren, dabei die Spannugnsverläufe messen und dann berichten, vielleicht lässt sich das dann etwas besser einordnen.

Gruß
Raphael

Peter-CAD-HST

Moin,
hier kommt ein Link zu einer Encoder-Beschreibung, inlusive Testroutinen.
Gruss Peter
und gesund bleiben

KISS Q&D - keep calm and carry on - mind the gap - beware of sharks! -

themanfrommoon

Und wenn ihr ein Exemplar für die Wissenschaft opfert? Da kommt man viel schneller ans Ziel, als wenn man lange rumprobiert.

ArduinoUser1234

#23
Sep 24, 2020, 10:23 am Last Edit: Sep 24, 2020, 10:26 am by ArduinoUser1234
@Peter-CAD-HST Danke für den Link, das ganze funktioniert bei mir nicht, da die ich vermutlich nicht zwei Pins habe sondern nur einen.

Der Encoder benötigt definitv eine Versorgung. Bei verfahrenden Motor erhalte ich sonst 0V an den Encoder Pins.

@themanfrommoon Tja Problem ist ich habe davon nur 2 und die brauche ich beide.
War schon so verzweifelt, dass ich überlegt habe die Position nur über Zeit zu bestimmen, da die Verfahrgeschwindigkeit recht konstant ist, allerdings wird die sich vermutlich abhängig von der Batteriespannung verändern.

Ansich funktioniert die Positionsbestimmung per Zeit aber finde ich ziemlich unelegant.

ArduinoUser1234

#24
Sep 24, 2020, 10:58 am Last Edit: Sep 24, 2020, 11:05 am by ArduinoUser1234
Ich habe jetzt gerade die beiden vermeintlichen "Encoder"-Pins einerseits mit 5V per Arduino versorgt und den zweiten auf Arduino GND und Pin 18 gelegt.

Wenn ich analogRead(18) auslese habe ich bei Nicht-Betrieb die ganze Zeit einen konstanten Wert und sobald ich den Motor HIGH schalte springt dieser Wert und bleibt solange gleich bis ich den Motor wieder LOW schalte, dann springt er wieder auf den Ursprungswert zurück.

EDIT: analogRead(18) ist natürlich quatsch weil das beim Arduino Mega kein AnalogPin ist!

themanfrommoon

Also könnte das ein einfacher Reed Schalter sein?
Das finde ich aber seeeeeehr außergewöhnlich, kann ich fast nicht glauben.
Wie viele Impulse macht der denn pro Umdrehung? Das können ja höchstens 4 oder so sein?!

sth77

Ohne Datenblatt ist das doch alles Rätselraten. Ich werfe mal noch den Open-Collector-Ausgang in den großen Rätseltopf, könnte es ja theoretisch auch sein. Also analog zum Tachosignal eines PC-Lüfters.
Mein verwaister Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der irgendwann mal aktuellen Arduino-IDE 1.6.4

Peter-CAD-HST

@Peter-CAD-HST Danke für den Link, das ganze funktioniert bei mir nicht, da die ich vermutlich nicht zwei Pins habe sondern nur einen.

Der Encoder benötigt definitv eine Versorgung. Bei verfahrenden Motor erhalte ich sonst 0V an den Encoder Pins.

@themanfrommoon Tja Problem ist ich habe davon nur 2 und die brauche ich beide.
War schon so verzweifelt, dass ich überlegt habe die Position nur über Zeit zu bestimmen, da die Verfahrgeschwindigkeit recht konstant ist, allerdings wird die sich vermutlich abhängig von der Batteriespannung verändern.

Ansich funktioniert die Positionsbestimmung per Zeit aber finde ich ziemlich unelegant.
Moin ArduinoUser1234
nimm einen zweiten Arduino und lade eines der vielen Encoder-Sketches, die es gibt, und teste einfach ob der eingebaute Encoder überhaupt ein Encoder ist.
Viel Erfolg
Gruss Peter
und gesund bleiben
KISS Q&D - keep calm and carry on - mind the gap - beware of sharks! -

ArduinoUser1234

Habe jetzt auf einen Motor entdeckt, dass dort "mit Hall" drauf steht.

Aber ein normaler Hall-Sensor benötigt doch zumindest mal 3 Pins (VCC, GND, A0) oder irre ich mich?


themanfrommoon

...so ähnlich funktioniert auch Archäologie, oder?

Nee mal im Ernst, man kann doch nicht Datenblatt raten machen?!

Das soll ja auch keine private Try&Error Geschichte werden, sondern es soll sich funktionieren. Da müssen Fakten auf den Tisch, sonst haste verloren.
In der Industrie kostet 2 Stunden Raten mehr als so ein Motor.
Opfer einen Motor, zerleg den, und kaufe einen neuen, dann kommst du günstiger ans Ziel als stundenlang zu raten und zu probieren.

Wenn du 12V auf den Hall Sensor gibst wird er sich wohl mit Rauch bedanken oder klammheimlich aus der Affäre ziehen. Vielleicht funktioniert er ja auch schon garnicht mehr, wer weiss das schon?

Go Up