Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller-Auswahl


von Florian S. (florian_s37)


Lesenswert?

Hallo Forum,

ich bin auf der Suche nach einem geeigneten Mikrocontroller bzw. einem 
möglichst kompletten Eval-Board für mein Projekt. Ich habe schon einige 
Zeit damit verbracht, das Web zu durchforsten und schon einige Ideen, 
was geeignet sein könnte - und würde gerne eure Meinung dazu einholen.

Zum Aufbau: Der Controller soll am Ende einen PID-Regler implementieren, 
der die Position eines Motors regelt (Motor-Treiber ist extern schon 
vorhanden) und mit einigen weiteren Sensoren und Schaltern verbunden 
sein. Zusätzlich sollen die Sensordaten über die serielle Schnitstelle 
an einen PC gesendet werden und - umgekehrt - soll der PC über die 
serielle Schnistelle verschiedene Kennfelder an den Controller übergeben 
können.
Kurz gefasst sind Anforderungen:
- 4 Analoge Ausgänge, möglichst 12-bit (d.h. evtl über I2C/SPI und 
externen Baustein?)
- 2 Analoge Eingängen, möglichst ebenfalls 12 bit
- 3 digitale Eingänge, 3 digitale Ausgänge
- serielle Schnittstelle
- Genug RAM, um die Stützstellen mehrer Kennfelder zu speichern
- Genug Rechenleistung, um die Kennfelder zu interpolieren (linear 
genügt erstmal) und den Regler mit mindestens 1 kHz zu berechnen

Momentan realisiere ich das ganze auf einem normalen PC, der über ein 
Linux mit RTAI-Realtime-Patch verfügt und mit einer USB-DAQ-Karte 
verbunden ist. Dort läuft dann direkt der Code, der aus meinem 
Matlab-Modell heraus erzeugt wurde (beinhaltet eine State Machine, 
Ein/Ausgabe-Funktionen, ein paar Filter und den Regler selbst). Für 
erste Experimente war das auch eine ganz gute Lösung, allerdings ist der 
Aufbau recht fragil und über USB kann man auch kein vernünftiges 
Realtime-Verhalten erzielen. Deshalb also mein Wunsch, möglichst das 
komplette Matlab-Modell auf einen Microcontroller zu übertragen.
Ich habe mir bislang vor allem die verschiedenen ARM-Typen angeschaut 
und auch schon einige interessante Demo-Boards gefunden, die eventuell 
für diese Aufgabe in Frage kommen könnten, z.B. etwas in Richtung des 
"Embest LPCEB2000" mit einem NXP LCP23xx/24xx. Auf CAN und Ethernet 
könnte ich jedoch verzichten, wichtiger wären einigermaßen genaue D/A 
und A/D Wandler. Außerdem bin ich mir sehr unsicher, wie viel RAM mein 
Code wohl brauchen wird. Welche Ansätze gibt es, das abzuschätzen? Gibt 
es eine Möglichkeit, das Matlab-Modell "mit einem Click" auf den 
Controller zu übertragen? :)

von Jörg B. (manos)


Lesenswert?

Ich würde mal nach Boards mit ATXMega suchen. Alle A1 Versionen haben 4 
D/A Ausgänge und reichlich A/D, alle in 12Bit.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hi Flo, vielleicht findest ja auch Gefallen an meinem XMega-Board:
Beitrag "ATxmega-Experimentierplatine in Gold/Schwarz ab 12.04.10 eventuell Bausatz"

Als Alternative vielleicht das XPLAIN aber ich weiss nicht ob da alle 
Pins, die Du brauchst, durch Stiftleisten zugaenglich sind.

Gruss,
Michael

von Florian S. (florian_s37)


Lesenswert?

Danke, der ATXMega sieht wirklich interessant aus. Ob er von Speicher 
und Geschwindigkeit her passt werde ich wahrscheinlich erst 
herausfinden, wenn ich das ganze mal getestet habe...

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Flo wenn das nich fuer Deine Anwendung reicht wirst in der AVR-Familie 
auch nicht fuendig, das markiert das Ende der Fahnenstange. Da wirst Du 
dann auf was groesseres ausweichen muessen. Aber ich behaupte jetzt 
einfach mal dass es wahrscheinlich nicht der Fall ist ;)

von slw (Gast)


Lesenswert?

wie viel geld willst Du ausgeben? Wie schnell muß regler laufen?

von Stefan (Gast)


Lesenswert?

Es gibt eine AppNote mit der implementierung eines PID im AVR, google 
mal danach, fertigen Code gibts auch! 12bit ADC müsste es geben und 
12bit DAC über PWM!

von Master S. (snowman)


Lesenswert?

vielleicht sind auch die DSPs von Microchip etwas für dich:
http://www.microchip.com/ParamChartSearch/chart.aspx?mid=14&lang=en&branchID=8154
(tipp: oben links gibt's "Parametric Search")

von Master S. (snowman)


Lesenswert?

> Gibt es eine Möglichkeit, das Matlab-Modell "mit einem Click" auf
> den Controller zu übertragen?
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en538347

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.