Hallo zusammen, ich hoffe das ihr mir Weiterhelfen könnt und zwar bin ich auf der Suche nach einem geeigneten Mikrocontroller um einen DC-Motor zu regeln. Der Microcontroller soll Signale vom einem Kombinierten Momenten- und Winkelsensor verarbeiten und dann einen BLDC-Motor (24 V , max. 10 A) regeln, womöglich wird noch ein Leistungssteller zwischen MC und Motor geschaltet. Momentensensor -Ausgang: -10....10 V -Messbereich :0...50 Nm (auf 0,1 Nm genau) Winkelsensor Ausgang: -Ausgang: 0 -10 V -Messbereich: +-450° (auf 0,1° genau) Um die Benötigte Auflösung zu erhalten brauche ich nach meinen bisherigen Erknntnissen einen 16 Bit Mikrocontroller. Außerdem wäre ein integrierter ADC und genügend Anschlüsse von Vorteil. Der Preis ist relativ egal, kann auch etwas teuerer werden. Hat jemand von euch einen Vorschlag für mich? Grüße, Jonn
Jonn17 schrieb: > ich hoffe das ihr mir Weiterhelfen könnt und zwar bin ich auf der Suche > nach einem geeigneten Mikrocontroller um einen DC-Motor zu regeln. Das kann jeder. Jonn17 schrieb: > Momentensensor > -Ausgang: -10....10 V > -Messbereich :0...50 Nm (auf 0,1 Nm genau) da muss man die Spannung noch irgendwie auf 0-5V umwandeln. Ansonsten kann das kein Mikrocontroller verarbeiten. Jonn17 schrieb: > Um die Benötigte Auflösung zu erhalten brauche ich nach meinen > bisherigen Erknntnissen einen 16 Bit Mikrocontroller. Falsch Jonn17 schrieb: > integrierter ADC eine gute Idee Schau dir mal die ATtiny an. Sind billig, leicht zu programmieren und der Support hier im Forum ist riesig. http://de.wikipedia.org/wiki/Atmel_AVR http://www.mikrocontroller.net/articles/AVR Hier mal eine kleine Starthilfe: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Jonn17 schrieb: > Um die Benötigte Auflösung zu erhalten brauche ich nach meinen > bisherigen Erknntnissen einen 16 Bit Mikrocontroller. Nein. Die Bitbreite der CPU hat damit nichts zu tun. Um die Rechengenauigkeit kümmert sich allein der C-Compiler. Ein ATmega48 sollte für Deine Zwecke richtig sein. Er hat einen 10Bit-ADC mit 6 Eingängen und max 23 IO-Pins. Peter
Jonn17 schrieb: > Um die Benötigte Auflösung zu erhalten brauche ich nach meinen > bisherigen Erknntnissen einen 16 Bit Mikrocontroller. Das Eine hat mit dem Anderen nur über den Faktor Rechenzeit was zu tun. Auch auf 8-Bit Controllern kann mit den Datentypen short und long und sogar float gerechnet werden... > Momentensensor > -Ausgang: -10....10 V > -Messbereich :0...50 Nm (auf 0,1 Nm genau) sind 500 Schritte... > Winkelsensor Ausgang: > -Ausgang: 0 -10 V > -Messbereich: +-450° (auf 0,1° genau) sind 4500 Schritte... Peter Dannegger schrieb: > Er hat einen 10Bit-ADC Reicht mit seinen 1024 Schritten also nur mit Einschränkungen bei der Winkelgenauigkeit...
Peter Dannegger schrieb: > Jonn17 schrieb: >> Um die Benötigte Auflösung zu erhalten brauche ich nach meinen >> bisherigen Erknntnissen einen 16 Bit Mikrocontroller. > > Nein. > Die Bitbreite der CPU hat damit nichts zu tun. > Um die Rechengenauigkeit kümmert sich allein der C-Compiler. Leider holt man sich damit einen entscheidenen Nachteil ins Design. Man erkauft sich die Genauigkeit nur durch die entsprechenden Software-Routinen die somit Rechenzeit und Flash-Speicher kosten. Viele 16 und 32 bit µC sind heute schon im Preisbereich der hier so geliebten ATmegas und Pics angekommen. Jonn Du hast leider nichts zur Deinen Anforderungen bezueglich der Regelung des Motors genannt. Die solltest Du bei Deiner µC-Auswahl mit berücksichtigen. Ansonsten geht es nur in Slow-motion, aber nicht in Deiner Anwendungsgeschwindigkeit. Ich selbst wuerde einen cortex-M3 von NXP oder TI nehmen. Software (compiler/debugger) gibt es als opensource dafuer. LG ein bastler
Zunächst einmal sind die Anforderungen an die Genauigkeit (und Auflösung) recht "sportlich", nämlich mehr als 12 Bit Auflösung für den Winkelsensor. Die internen AD-Wandler der 8 Bit AVRs reichen daher nicht aus. Bernhard
Danke für die schnellen Antworten und Vorschläge, ich werde mir die Micros mal angucken. Florian Z. schrieb > da muss man die Spannung noch irgendwie auf 0-5V umwandeln. Ansonsten > kann das kein Mikrocontroller verarbeiten Wie könnte man das anstellen? Durch einen Spannungteiler könnte man ja schonmal die Spannung auf -5V - 5V halbieren, oder? Jonn17 schrieb > Winkelsensor Ausgang: > -Ausgang: 0 -10 V > -Messbereich: +-450° (auf 0,1° genau) Ich hab nochmal nachgefragt, der Winkel muss zum Glück doch nur mit einer Aulösung von 1° arbeiten. Also müssten ja 10 Bit reichen. bastler schrieb: > Jonn Du hast leider nichts zur Deinen Anforderungen bezueglich der > Regelung des Motors genannt. Die solltest Du bei Deiner µC-Auswahl mit > berücksichtigen. Der Motor sollte eine Reaktionszeit von <0.05 s haben und auch auf 1° genau regeln. Außerdem soll er Drehmomentgeregelt sein, und laut Datenblatt muss eine Spannung von 24 Volt anliegen und über die Stromstärke kann man Drehmoment regeln. Da frag ich mich wie man das machen könnte, außer über einen veränderbaren Widerstand. Weil PWM funktioniert ja nur mit Spannung, und die soll ja gleich bleiben soweit ich das verstehe. Grüße
Viele 8-bit PICs und auch 16-bit dsPICs/PIC33 haben 12-Bit ADCs, ausserdem gibt es auch die 16-Bit Familie der dsPICs die speziell für Motorsteuer-Anwendungen ausgelegt ist.
Guck'st Du: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en021551
@Jonn17: Sagt Dir R=U/I was? Was muss man also bei einem Motor tun, um den Strom zu ändern?
Jonn17 schrieb: > Hallo zusammen, > > ich hoffe das ihr mir Weiterhelfen könnt und zwar bin ich auf der Suche > nach einem geeigneten Mikrocontroller um einen DC-Motor zu regeln. > > Der Microcontroller soll Signale vom einem Kombinierten Momenten- und > Winkelsensor verarbeiten und dann einen BLDC-Motor (24 V , max. 10 A) > regeln, womöglich wird noch ein Leistungssteller zwischen MC und Motor > geschaltet. Willst Du Sinus- oder Blockkommutierung machen? Ersteres braucht eine ganze Ecke mehr Rechenleistung, und Du brauchst im Grunde (mindestens) drei Timer (für jedes der drei Sinussignale einen). Überlege Dir mal grob Deinen Regelalgorithmus, wie Du ihn umsetzen willst, welche Auflösung Dein PWM haben sollte und welche PWM-Frequenz Du möchtest (über ca. 20 kHz hat es den Vorteil, dass der Mensch das Pfeifen nicht mehr hört). Dann kannst Du abschätzen, wie schnell Dein uC sein soll (und Du kommst recht schnell auf ziemlich hohe Anforderungen an die Rechenleistung).
Ist der Winkelsensor mit +-450° nicht etwas übertrieben? Das wären 900° also etwa 2,5 Umdrehungen. Oder doch eher +-45°
Hi, wie schon geschrieben, es gibt von einigen Herstellern gue Lösungen um deine Anforderungen an die Motorsteuerung zu realisieren. Sowohlmit optimierter Hardware wie auch mit vorbereiteten Codebeispielen und Librarys... Es gibt also keinen Grund deine Anforderungen zu senken nur damit man den von einigen hier in fast Religiöser Veehrung vorgeschlagene AVR verwenden kann. Ein Hersteller mit solchen Lösungen ist Microchip, wo sowohl Lösungen für 8Bit, 16Bit und 32 Bit Architekturen existieren. (Die 32Bit Pics basieren übrigends auf dem MIPS kern.) PICler schrieb: > Guck'st Du: > http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en021551 Ich würde als Link eher diesen hier vorschlagen: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2125¶m=en026178 Der ist allgemeiner. Daneben gibt es es auch noch unter den Vertretern der ARM/Cortex Familien einige sehr gut geeignete Lösungen. Ich hatte auch noch einen Link für den STM32 in den Favoriten, leider ist der nach der Umstellung der ST Website tot und irgendwie mag mich die neue Navigation nicht. Auf jeden Fall gibt es da aber auch was - incl. speziellem Dev. Board und Codebeispielen. Und ich würde jede Wette eingehen das es sowohl bei den Cortex M3 Vertretern von TI wie auch von NXP ähnliche Lösungen gibt! Schaue dir diese Familien mal an. Was du verwendest ist letztendlich egal. In erster Linie würde ich das von der Eignung abhängig machen. Wenn du aber evtl. mehrere Gleichwertig geeignete Lösungen findest dann kannst du schauen wo dir die Dokumentation des Herstellers am ehesten liegt, wo man am meisten zu im Netz findet und wir die Verfügbarkeit der Produkte ist. Ich mag eigendlich Microchip gerne, gut Verfügbar und der Hersteller stellt eine komplette Einsteigerfreundliche Software (IDE und Compiler) und viele Beispiele aus dem eigenen Haus zur Vefügung. Bedeutet alles aus einer Hand. (Gilt sowohl für 8/16 als auch 32Bit Architekturen) Bei den ARM hast du das -aus einer Hand- nicht so starkt, auch bei der Toolchain musst du erst mal ein wenig mehr arbeit investieren bis alles ordentlich läuft da viele Lösungen diverser HErsteller zusammenarbeiten müssen, aber ist das alles erledigt sind das auch hervorragende Architekturen. Also reine Geschmackssache... Gruß Carsten
Tja, auch ich halte die Anforderungen für einen AVR zu groß. Lieber einen Schein mehr ausgeben für die Entwicklungsumgebung, aber dafür nicht Gefahr laufen, hinterher auf das verkehrte Pferd gesetzt zu haben. Ich würde einen ARM-M3 nehmen: inzwischen einigermaßen gut erhältlich (kommt auf die Type und den Hersteller an), spottbillig und sehr schnell. Das STM3210C, das ich immer wieder bei solchen Fragen empfehle (ich weiß, wird manchem schon zum Hals 'raushängen) hat sogar schon einen Steckverbinder extra für solche Motorsteuerungsgeschichten. Schau Dir halt einfach mal die Kiste an. Gruß - Wolfgang
Schon erstaunlich, wenn man es wagt, einen 8-Bitter vorzuschlagen, wird das fast schon als Beleidigung empfunden. Natürlich braucht man ja schon für ne Blink-LED mindestens einen 64-Bit Quadcore. Vielleicht sollte man erstmal von der Hardware her rangehen. Was ist das für ein Motor. Hat er Hallsensoren, interne Kommutierung, sind die Spulenanschlüsse überhaupt einzeln herausgeführt? Und man muß auch nicht alles selber programmieren. Es gibt fertige ICs, die einem den Großteil der Arbeit und Entwicklungszeit abnehmen, z.B.: http://www.trinamic.com/tmc/render.php?sess_pid=446 Und dann tuts auch ein 8-Bitter und langweilt sich noch. Peter
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.