Hallo, ich suche nach einer Möglichkeit einen drehzahlgeregelten Motor zu beeinflussen. Der Motor wird per PWM auf eine festgelegte Drehzahl geregelt. Die Drehzahl beträgt ca. 2200 U/min und wird per Hallsensor am Motor erfasst. Ab Drehzahl 600 U/min möchte ich in die Regelung eingreifen können. Ich möchte der Motorsteuerung eine höhere Drehzahl vorgeben als er tatsächlich hat um die tats. Motordrehzahl zu senken. Ich bin auf der Suche nach einer Möglichkeit, benötge auch Hilfe bei der Ausführung und Programmierung. Über Hilfe freue ich mich! Grüsse Thomas!
Hi Nun, so ganz einfach wird's vermutlich nicht sein, denn du kannt nicht einfach einen größeren Istwert ausgeben, um eine kleinere Drehzahl zu haben. Du mußt an dieser Stelle in den Regelkreis eingrefen, und ob das die Hardware zulässt, kann ich von hier nicht sagen. Es ist auch nicht üblich, den Istwert zu verfälschen, sondern man gibt einen anderen Sollwert für die Drehzahl vor. Aber wie bereits gesagt, ohne die Kenntnis um die Hardware ist von hier aus kaum Hilfe möglich. Gruß oldmax
Hallo, die Steuerbaugruppe gibt ein PWM Signal aus und treibt damit den Motor an, der Hallsensor am Motor gibt die Rückmeldung an die Steuerung wie schnell der Motor dreht. Ich möchte mich direkt in die Messung der Drehzahl reinhängen und den Wert bewusst verfälschen. Ich kann den Motor nur so selber anpassen. Grüsse Thomas!
Variante 1 analog: Ist-Drehzahl in Spannung, Spannung so verändern daß sie bei 0rpm und bei 600rpm gleich ist, bei 2000rpm kleiner, und dann dieses Spannung per VCO in eine Freqeunz wandeln. Statt einem Knick wird man eine logarithmische Kennlinie anstreben die per unlinearem Bauelement gemacht wird, wohl eine Diode. Variante 2 digital: Ein uC lässt eine Schleife immer rumlaufen. Er zählt die Zeit (Anzahl der Durchläufe weil so programmiert wird daß der Zeitbedarf konstant ist) Er zählt die Eingangsimpulse und er generiert Ausgangsimpulse Dann muß nur eine entsprechende Umrechnung rein, hier realisiert man vermutlich einen Knick ab 600 weil das einfacher ist als eine Kurve. Es geht ja bloss um 10-35 Impulse pro Sekunde. Interessanter ist bei der Form, daß man Störungen ausfiltert und er nicht aus Versehen 5000 Impulse pro Sekunde zählt.
Hallo, die Variante 2 ist wohl das was ich benötige. Die ganze Geschichte müsste dann angepasst auf die Verhältnisse bei mir werden. Also wäre der nächste Schritt wohl, Aufnehmen der Istzustände an der Anlage und Entwicklung der Schaltung. Dann kann programmiert werden. Ewt. wäre es dann auch gleich möglich die Drezahl in einem gewissen Band per Poti zu verändern unf gleichzeit die Geschichte auf einem einfachen Display wiederzugeben. Grüsse Thomas!
> Ewt. wäre es dann auch gleich möglich die Drezahl in einem gewissen Band > per Poti zu verändern unf gleichzeit die Geschichte auf einem einfachen > Display wiederzugeben. Wenn du schon Schwierigkeiten mit einfacher Impulserzeugung hast, bringen dich diese Schmankerl's nicht näher ans Ziel. BOOL pin, pinold; int pincount,cycle,poutcount; #define C600 irgendeine Konstante ab der der Knick erfolgt for(;;) { pin=PINA&1 if(pin&&!pinold) { if(pincount<C600) cycle=pincount; else cycle=2*(pincount-C600)/3+C600; pincount=0; } else pincount++ pinold=pin; if(poutcount==0) { PORTA.1~=1; poutcount=cycle/2; } else poutcount--; }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.