Forum: Mikrocontroller und Digitale Elektronik DC Getriebemotor mit Hall auf Position fahren


von Art (Gast)


Lesenswert?

Hallo Leute,
ich bin dabei einen Motor über ein Mikrocontroller anzusteuern/zu 
regeln. Der Motor besitzt schon von Haus ein integrierten Hall (vor der 
Untersetzung),der pro Umdrehung 4 Inkremente liefert.
Ich habe gelernt, dass ich für eine Regelung ein diskretes Signal 
brauche, bekomme aber nur ein Drehzahl abhängiges Signal.  Mir fehlen 
also Ideen wie ich da vorgehen soll.

Ausgangssituation: (Türklappe für meine Katze)
Ich habe ein Getriebemotor mit einer Untersetzung 1:500. Der Hall-Sensor 
hängt direkt am Motor und erzeugt 4 Impulse pro Umdrehung. Ich möchte 
Die Last um 150° positionieren. Von Anfangs- Bis End-Position bekomme 
ich 4*500* (150/360) =833 Impulse.

Problem:
Bsp.: Bei einer normalen Regelung würde ich eine z.B jede Millisekunde 
einen Wert für die Lage bekommen und würde danach regeln.

Durch den Hall Sensor habe ich das Problem, dass wenn ich mich der 
End-Position nähere ich zu wenig Impulse zur Verfügung habe.

Heißt das für mich, dass ich am besten eine Steuerung machen soll, die 
bei erreichen des 800sten Impulses einfach den Strom reduzieren soll und 
bei Impuls 833 den Strom komplett abschaltet? Die Tür sollte nicht 
überschwingen bzw. stößt gegen einen Anschlag.

Ich würde mich freuen, wenn Ihr mir ein paar Ansätze bzw. Ideen geben 
könntet.

PS: Ich möchte keine Endschalter integrieren und die Positionierung 
sollte durch den vorhandenen Hall erfolgen. Möchte was dabei lernen.

Gruß
Art.

von Willi (Gast)


Lesenswert?

Art schrieb:
> Der Motor besitzt schon von Haus ein integrierten Hall (vor der
> Untersetzung),der pro Umdrehung 4 Inkremente liefert.

Hall oder Echo? Was sind Inkremente?

Du solltest Dir schon die Mühe machen, etwas genauer zu formulieren.
Wie Du schon erwähnt hattest, ist es ratsam, kurz vor Erreichen Der 
Endposition die Motorgeschwindigkeit zu drosseln und dann den Motor ganz 
zu stoppen. Ohne Endschalter zu arbeiten ist riskant. Andernfalls 
testest Du den Motor auf Überstrom, wenn er gegen die Endposition fährt 
oder gerade die Katze 'ausquetscht'.

von Michael D. (etzen_michi)


Lesenswert?

Guten Tag.

Ich würde das so machen, das du mal misst wie viele "Impulse" der Motor 
auf welcher Drehzahl an welcher Stelle in welche Richtung nachläuft.

Dann nach Tabelle/Rechnung nachlaufen lassen ggf. nachbessern.

von Stone (Gast)


Lesenswert?

Naja sobald du die Hallsensoren Impulse verwendest ist es schon ne 
Regelung( Rückführung)zumindestens wenn du sie mitzählst.


>bei erreichen des 800sten Impulses einfach den Strom reduzieren soll und
>bei Impuls 833 den Strom komplett abschaltet? Die Tür sollte nicht
>überschwingen bzw. stößt gegen einen Anschlag.
Sollte klappen. Du musst nur dafür sorgen, dass die klappe beim 
abschalten nicht wieder runterfährt. Mindestens einen Endschalter 
sollest du vorsehen nicht das die Klappe bei Einschalten auf 45° steht 
und es einen crash gibt beim öffnen. Irgendeine möglichkeit deinen 
Zähler zu nullen sollest du auf jeden Fall haben.


Gruß Matthias

von Axel D. (axel_jeromin) Benutzerseite


Lesenswert?

Wie stabil ist denn das Nachlaufen? Wieviele Impule kommen noch nach 
Spannung aus?

Wenn das halbwegs gleich ist, muste halt etwas eher stoppen.

Aber wie schon vorher gesagt, einen Endschalter brauchst Du sowieso.

Und wenn Du mal in die mechanische Endlage fährst, wird sich wohl auch 
nichts zerlegen.


Axel

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

eine Position anfahren, indem man rechtzeitig vorher langsam wird und 
den Motor einige Schritte zuvor stoppt, ist tatsächliche keine 
Lageregelung, aber wenns den Zweck erfüllt, interessiert das ja keine 
Sau, äh Katze.

Ich habe hochpräzise Messmaschinen für die Autoindustrie gebaut, da war 
der Übergang zur langsamsten Geschwindigkeit ebenso wie das Ausschalten 
vor der Position als Parameter einstellbar, und die Maschinen haben 
zuverlässig auf 1µ positioniert, nur nicht so schnell wie bei einem 
4-Quadranten-Lageregler.

Gruss Reinhard

von Martin (Gast)


Lesenswert?

Ohne Endschalter läuft dir die Klappe irgendwann davon.
Du brauchst eine Kalibrierung auf 0.
Irgendwann werden Impulse verlohren gehen bzw. bei Störimpulsen zuviel 
gezählt.

von sagsig (Gast)


Lesenswert?

Impulse zaehlen und bei 800 auf ''Langsam'' umschalten und auf 
Endschalter zufahren. Vielleicht kannst du den Strom ueberwachen ...wenn 
die Katze oder deine Hand sich in der Tuere verklemmen ,dann sollte eine 
Umkehr stattfinden oder zumindest der Strom stark reduziert werden.

von Bernhard S. (b_spitzer)


Lesenswert?

Das Problem liegt ähnlich wie beim Fensterheber im KfZ. Einklemmschutz, 
aber trotzdem zuverlässiges Schließen bei wechselnden 
Umgebungsbedingungen. Grundsätzlich sollte da eine Überstomerkennung 
rein, wenn man aus seinen Tierchen kein Gulasch machen möchte (oder sie 
zumindest reichlich verstört). Die Überstromerkennung wird auf den 
letzten Inkrementen umgeschaltet und die Klappe mit definiertem Strom 
zugefahren. Damit entfällt der Endschalter. Das Einschalten bei 
unbekannter Position geht nur mit einem Servicetaster, der vom 
Tierbesitzer nach Stromausfall o.ä. betätigt werden muß. (ist beim 
Fensterheber auch nicht anders - halb offenenes Fenster, Batterie 
abklemmen, das erste mal geht auch kein Automatikbetrieb).

@sagsig
hochwertige Industrieroboter werden teilweise mit einer Genauigkeit 
unter 50µm angeboten. Das erreichen die noch mit einer kilogrammschweren 
Last am Ausleger. Eine Positionierung im µm-Bereich ist bei geeigneter 
Dimensionierung und Materialauswahl kein Problem - einfach mal den 
geistigen Horizont einige µm ausweiten...

unn tschuess
Bernhard

von Art (Gast)


Lesenswert?

Hallo,
und danke für die (kritischen) Antworten. Ich habe vergessen zu 
erwähnen, dass ich natürlich zusätzlich eine Ankerstromüberwachung habe, 
so dass ich in einem Fehlerfall rechtzeitig die Klappe abschalten und 
etwas zurückfahren kann. Schließlich möchte ich keine Mausefalle ähhh... 
ich meine Katzenfalle bauen. Habe die Flohtüte noch lieb ;).

Das mit der Kalibrierung habe ich momentan vernachlässigt. Werde dann 
wahrscheinlich die Strommessung (Blockstrom) für die Kalibrierung im 
geöffneten Zustand messen müssen. Falls es nicht zuverlässig 
funktionieren sollte, werde ich um ein Endschalter nicht drumherum 
kommen. Muss aber auch ohne gehen.

@Willi:
Die eingebauten Hall liefern ein PWM Signal. Ist in der Antriebstechnick 
schon lange üblich.
http://de.wikipedia.org/wiki/Hall-Sensor
Gleich die erste Animation.
Dies ist ein technisches Forum, es muss sich nicht jeder angesprochen 
fühlen bzw. mitreden können.

Gruß
Art.

von Reinhard Kern (Gast)


Lesenswert?

Art schrieb:
> Falls es nicht zuverlässig
> funktionieren sollte, werde ich um ein Endschalter nicht drumherum
> kommen.

Statt eines Endschalters könnte man an der Klappe einen Balken anbringen 
mit 2 Schaltern links und rechts, der das Auflaufen am Ende ebenso 
meldet wie eine eingeklemmte Katze. Dürfte keine grosse Sache sein. Auch 
die Stromüberwachung kann man mit einiger Intelligenz ausstatten, z.B. 
Ableitung bilden - ein plötzlicher Stromanstieg mitten in der Bewegung 
heisst Alarm. So etwa wie bei Aufzugtüren.

Gruss Reinhard

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Die Hallsensoren liefern kein PWM-Signal. Die Pulsweite ist immer 
gleich. Die Frequenz ändert sich mit der Drehzahl.

Was du bei diesem Projekt lernen kannst, ist das die Auflösung des 
Gebers zu niedrig ist für eine vernünftige Regelung. Drehzahlregelung 
wird im Leerlauf noch gehen, aber schon bei niedrigen Geschwindigkeiten 
wird es Probleme geben. Solche Motoren sind (ohne zusätzlichen, 
hochauflösenden Drehgeber) nicht für Positionieraufgaben geeignet.

Mit freundlichen Grüßen
Thorsten Ostermann

von Martin (Gast)


Lesenswert?

Art schrieb:
> Hallo Leute,
> ich bin dabei einen Motor über ein Mikrocontroller anzusteuern/zu
> regeln. Der Motor besitzt schon von Haus ein integrierten Hall (vor der
> Untersetzung),der pro Umdrehung 4 Inkremente liefert.
> Ich habe gelernt, dass ich für eine Regelung ein diskretes Signal
> brauche, bekomme aber nur ein Drehzahl abhängiges Signal.  Mir fehlen
> also Ideen wie ich da vorgehen soll.
>
Hallo,

Mich würde interessieren was für ein Motor benutzt, kannst du bitte die 
Datenblätter zu Verfügung stellen ?
Danke

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.