Grundkonzept Ideen Vorschläge

Hallo zusammen,

ich möchte ein kleines Bastelprojekt für einen Prototypen starten.

Ziel ist es eine Platte zu bewegen und bei einem bestimmten Ereigniss die genaue Position der Platte zu kennen. Desweiteren soll die Position auf einem Display ausgegeben werden sowie kleinere Einstellungen über das Display möglich sein. Zusätzlich möchte ich zum Schluss den Postionswert seriell an einen über USB angeschlossenen Rechner Seriell übertragen können.

Eigentlich etwas zu groß für mich aber was solls. Wer nicht anfängt ist schon gescheitert.

Als Display wollte ich auf ein Standard 3D Drucker LCD Display mit angebauten Drucktastern zurückgreifen.
Die Ereignissteuerung würde ich mit einem micro Endschalter umsetzten und dadurch einen Interupt auslösen.

Beim Antrieb jedoch bin ich mir etwas unsicher. Folgende Möglichkeiten sind mir in den Sinn gekommen.

  1. Steppermotor und Winkelsensor an der Platte. Sobald der Microendschalter auslöst lese ich das Signal des Winkelsensors in der ISR aus und zeige es auf dem Display an.
    -->direkt Messunge was gut ist, jedoch unsicher wie genau diese Winkelsensoren sind 0,2 Grad+- Genauigkeit wären schon notwendig

  2. Steppermotor und Drehwertgeber. Sobald der Microendschalter auslöst nehme ich den Wert des Drehwertgebers und rechne mir diesen in die den Winkel des Tisches um. ( Refferenzierung zwischen Geber und Tisch vorrausgesetzt und natürlich mechanisch sauber gebaut)
    -->Refferenzierung Notwendig, durch Geber jedoch sehr genau. Evtl. Probleme durch "verlorene" Daten des Encoders durch ISR und Display --> viele Bibliotheken mit Interrupts was mir etwas Kopfschmerzen bei der Genauigkeit bereitet.

  3. DC Motor mit Hallsensoren. Hierbei zähle ich die Anzahl der gefahrenen Kommutierungen (oder wie man das nennt) und rechne mit hieraus ebenfalls indirekt den Winkel des Tisches aus.
    -->Nach jeder Kommuntierung ist mir die Position bekannt und ich kann durch die Refferenzierung auf die Position schließen und Gleichzeitig keine Bibliothek mit Interrupts erforderlich, außer für das Display.

Ich bin mir mit meinen 3 Varianten noch sehr unschlüssig und finde alle 3 irgendwie nicht ganz passend. Ich möchte hierbei so genau wie möglich sein, befürchte aber dass mir das Zusammenspiel aus Display, Motor und Erfassung der Tischposition ein Bein stellen wird.

Hast hier jemand eine Meinung dazu was denn Sinnvoll sein könnte oder einen Alternativvorschlag wie das ganze etwas Sinniger umsetzbar wäre.

bester Grüße
Marvin

Dreh oder Längsbewegung?

Warum brauchst du für das Display interrupts?

Nein.
Die Ungenaugkeiten werden rein auf der Eingabeseite sein.
"Abweichung" 0,2° sagt ersmal nichts aus.
Über welche Größenverhältnisse sprichst Du?
Platte... Rund? -> Sensorik an der Aussenkante....

Wenn du einen Closed Loop Schrittmotor benutzt, brauchst du keinen Sensor. Nur den Endschalter.

Die Platte wird Waagerecht montiert und an einer Seite gelagert. Die andere Seite soll ich dann über Motor/Welle etc. anheben. der Winkel der Platte zur Horrizontalen soll gemessen / berechnet werden.

Ich meine vor einigen Monaten hatte ich mit der Liquidcrystal Bibliothek gearbeitet und habe dort gesehen dass Interrupts verwendet werden.

Das mit der Ungenauigkeit verstehe ich nicht ganz. Kannst du das nochmal anders erläutern?
Platte soll ca 15cm lang sein und wird an einer seite befestigt und von an anderen aus immer weiter angehoben. Sensorik kann ich platzieren wo ich möchte, wobei bei 15cm größe nicht so viel Platz ist.
Im Eneffekt muss ich bei Auslösen des Sensors wissen bei wie viel Grad Neigung der Tisch steht.

Habe ich hier nicht auch einen Schrittmotor der einen Encoder Eingebaut hat. Die Ansteuerung/Auswertung ist doch die einem CL Stepper die gleiche wie Stepper und auf der anderen Wellenseite ein Encoder?

Aaah! Jetzt kommen wir der Sache schon näher - Das ist also keine horizontale (Kreis)Bewegung, sondern einfach nur das vertikale kippen.
Du willst das Prinzip der (digitalen) Wasserwaage übernehmen.

Schrittmotor, Gewindestange. Und Du kannst je nach (Fein-)Gewinde ohne grosses Bimborium den veränderten Winkel ausrechnen. -> Da die Steigung und die Anzahl der Steps je Umdrehung bekannt sind...

Und beim Stichwort Gewinde-Steigung kommt mir in den Sinn, das wir doch schon mal sowas hatten. Evtl @Rentner ?

Du schreibst von Schrittmotoren und willst dann den Winkel messen. Bei einem Schrittmotor sollte der µC aber immer genau wissen, wieviel Schritte er in die eine oder andere Richtung gemacht hat. Bei einer hinreichend guten Mechanik läßt sich damit der Winkel berechnen, messen sollte überflüssig sein. Nur wenn Schrittfehler beispielsweise durch Überlastung auftreten können, wäre eine Überprüfung mittels Drehwertgeber notwendig.

Wenn man Interrupts verwenden sollte, dann eventuell bei Hallsensoren. Interrupts in Verbindung mit einem Display deutet auf ein Mißverständnis hin.

Gewindestange Messingbuchsen habe ich hier schon zusammengebaut... Man könnte auch einfach das von dir genannte offensichtliche machen. Wenn man den Wald vor lauter Bäumen nicht sieht.
Dank dir!

1 Like

Habe hier noch einen alten NEMA 17 rumliegen, keine Ahnung welche elektrischen Eigenschaften. Den werde ich zu für den Prototyp erstmal verwenden. Da ich "nur" eine 150x80x3mm Alu Platte und ca 30-50 Gramm Zusatzgewicht bewegen muss, werden ich wohl kein Problem mit Schrittfehlern bekommen. Besten Dank

Wenn Du einen Schrittmotortreiber mit Stromsteuerung verwendest, verschenkst Du möglicherweise Drehmoment, aber der Treiber beschränkt den maximalen Strom. Sollte der Motor mehr als Handwarm werden, muß der Strom reduziert werden.

Mit der Arduino-IDE kannst Du die Bibliothek Moba-Tools installieren, die bei Schrittmotoren im Hintergrund mit Interrupts arbeitet und damit das Hauptprogramm entlastet. Meine Empfehlung!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.