Hallo allerseits! Kennt vielleicht jemand einen oder mehrere Microcontroller, die von Hause aus mit Quadratur-Encoder-Interface ausgestattet sind, (um damit einen Motorcontroller zu entwickeln)? Bisher bin ich nur bei Microchip's PICs fündig geworden. PIC18F2331, PIC18F4331, etc. PICs sind allerdings nicht so sehr meine Baustelle und ich will nicht schon wieder neue Entw.-Tools anschaffen (ICD2, PIC18 Compiler). Ideal wäre ein ARM oder 8051er Kern. AVR natürlich auch ;-) Danke und Gruß, Frank
Ich kenne nur die dsPICs, aber die gehören auch in die nicht gewünschte Gruppe. Schau mal bei den Herstellern, die Motor Controller herstellen. ST könnte was haben.
Bis etwa 500kHz Impulsrate kann man das doch bequem in Software machen. Oder man stellt z.B. nen AT89LP2052 dafür ab, der dann über UART oder SPI die Zählerwerte an den Hauptprozessor sendet. Peter
Hmm, naja "bequem" ist ein dehnbarer Begriff denke ich, wenn der Controller eigentlich noch "nebenbei" nen Motion-Controller samt PID-Regler mit 1 .. ? kHz Abtastrate realisieren soll und ein Kommandointerface zum Zugriff auf die Parameter bieten soll. Soweit zumindest die Idee... Bin auf der Suche nach einem preiswerten Ersatz für LM629 / HCTL1100 und da fand ich den PIC als SingleChip-Lösung schon sehr charmant. Leider der falsche Hersteller ;-)
der LM3S601 (32KB) oder LM3S801 (64KB) von Luminary Micro hat slch einen Quadrature Encoder Interface (QEI). Mache derzeit ein Projekt mit dem LM3S601.
Hey, das is'n richtig guter Fund!! Hast du ne Größenordnung, was die Teile kosten?
ja bei mouser.com kostet der derzeit 8,48USD ab einem Stück und ab 220 Stück 7,07 USD. Bei dem Distri Atlantik-Elektronik sind die Preise ähnlich. Ich habe die aber bei Mouser bestellt, weil ich noch heute auf die Muster von dem Distri warte. Bei der Stückzahl ab 20k liegt der bei unter 3USD.
Warum nimmst du nicht z.B. einen TMS320F2812 oder auch die 16 Bit Version. Die haben einen Quadraturencoder drinne und den Rest eh. Für einen PID sind die DSPs auch sicherlich schnell genug (sind ja häufig auch in den MOtorcontrollern drinne). Preis dürft ca. 20 Euro sein bei kleinen Stückzahlen. Thomas
> Hmm, naja "bequem" ist ein dehnbarer Begriff denke ich, > wenn der Controller eigentlich noch "nebenbei" nen Motion-Controller > samt PID-Regler mit 1 .. ? kHz Abtastrate realisieren soll und ein > Kommandointerface zum Zugriff auf die Parameter bieten soll. > Soweit zumindest die Idee... Wo ist das Problem? Ich hab so eine Steuerung im Mega8 laufen. Samplerate der Quadratursignale ist 35kHz. Motorsteuerung ueber PWM. Ausserdem laeuft da noch ein Kaskadenregler fuer Geschwindigkeit und Position. Und natuerlich Kommandouebergabe von aussen ueber RS232 und ein DiagnoseLCD an I2C. Ich sehe wirklich keinen Grund fuer so eine kleine Sache gleich einen fetten Prozessor aufzufahren. Olaf
Vielen Dank mal an alle für die guten Hinweise! Die Frage hier zu stellen, hat sich richtig gelohnt. @olaf: ich suche ja gerade NICHT nach einem "fetten Prozessor". Im Gegenteil. So klein (und billig) wie möglich. Aber mit Quadratur Eingang QEI (bzw. "two phase enocder input", wie ich gerade bei Reneasas gelernt habe) und ein paar PWM Ausgängen. Habe mit dem AtMega8 auch schon mal 'nen (einfachen) PI-Regler programmiert (100Hz). Mit der Berechnung der Regelung war der schon sehr gut beschäftigt! Wenn man dann noch die A/B-Signale ein ext.Int. Pins hängt, dann kommt der Controller zu nichts anderem mehr, als in der ISR ne Variable hoch- oder runterzuzählen. Daher hätt' ichs halt gern in Hardware. Frank
Naja, das mit den Drehgebern sollte bei gescheiter Programmierung (tm)nicht die Welt sein. Beitrag "Drehgeber auslesen" http://www.mikrocontroller.net/articles/Drehgeber Und ein Mega8 @ 16 MHz hat 16000 Takte pro Millisekunde. Damit sollte ein PI Regler, der ja ausser ein paar Multiplikationen und Additionen nix weiter braucht, machbar sein. MfG Falk
ARM-Fan wrote: > Wenn man dann noch die A/B-Signale ein ext.Int. Pins hängt, > dann kommt der Controller zu nichts anderem mehr, als in der > ISR ne Variable hoch- oder runterzuzählen. Daher hätt' ichs halt > gern in Hardware. Da sollte man nicht mit Bauchgefühl rangehen, sondern einfach nachrechnen. Also wie hoch ist die maximale Impulsrate bei maximaler Motordrehzahl. Und dann reichlich gerechnet 100 Zyklen für den Interrupt annehmen und die CPU-Last in % ausrechnen. Peter
> Da sollte man nicht mit Bauchgefühl rangehen, sondern einfach > nachrechnen. Ein wahres Wort gelassen ausgesprochen. :-) Das kann ich auch nur empfehlen da es halt stark von der Mechanik abhaengt. Ich kann allerdings sagen das ich eine Anwendung wo der SampleIRQ mit 35kHz laeuft etwa 500mal verkauft habe und es hat sich noch keiner beschwert. Ich glaub machbar waere auch noch so 40-50kHz. Der Kaskadenregler (2xPID) ist dagegen nicht so das problem da der viel langsamer laufen kann. Und wenn man gehobene Ansprueche hat kann man ja noch einen HCTL-2000 von HP nehmen. Sollte hier aber absolut unnoetig sein, Nebenbei gesagt, die Programmierung von soetwas ist der kleinere Teil, mehr Arbeit macht es die Regelparameter herauszufinden mit dem ein System unter allen bedingungen stabil laeuft. Olaf
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.