|
|
Regelalgorithmus in Mikrocontroller-Projekt einbinden |
|
Jimmy |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.12.2010, 22:43
Titel: Regelalgorithmus in Mikrocontroller-Projekt einbinden
|
|
|
|
|
Hallo zusammen,
ich bin noch recht neu im Bereich embedded Codegenerierung und versuche gerade einen Einstieg zu finden
Was ich machen will:
Zunächst soll in Simulink ein Regelkreis simuliert werden. Wenn ein geeigneter Regler gefunden wurde, soll der Regler in C-Code übersetzt werden, und dieser Code in ein Mikrocontroller-Projekt (IDE des uC-Herstellers) eingebunden werden.
Ich stelle mir das so vor, dass ich den Regler in ein Subsystem packe, von diesem Subsystem mit dem Embedded Coder den C-Quellcode erstelle und die so generierten Dateien einem Mikrocontroller Projekt hinzufüge. Der Regelalgorithmus wird dann in der Interrupt-Service-Routine eines Timers aufgerufen, um die Regelung in Echtzeit laufen zu lassen.
Nun benötigt der Regelalgorithmus natürlich Zugriff auf die Prozessorperipherie (z.B. AD-Wandler, Quadrature Encoder, PWM, ...) und da frage ich mich wie man das am besten umsetzen könnte.
Hat sowas schonmal jemand gemacht, bzw. gibts zu diesem Thema gute Literatur?
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 20.12.2010, 21:39
Titel:
|
|
Hallo Jimmy,
ich denke das dies über die Möglichkeiten dieses Forums hinausgeht. Trotzdem: "Ja, das haben schon viele vorher gemacht".
Je nach Rahmenbedingung ein paar Vorschläge:
Bei Testinstallation oder Erstanwendung in Hochschule oder Unternehmen -> MathWorks-Vertrieb kontaktieren und Beratung eines Applikationsingenieurs anfragen. Dies gibt genug Starthilfen.
Training oder Coaching bei MathWorks erfragen. Das stellt Effizienz und Erfolg sicher.
Bei konkreten Problemen mit konkreten Modellen und Codes -> MathWorks Technischer Support
Andreas
|
|
|
ppirokke |
Forum-Fortgeschrittener
|
|
Beiträge: 64
|
|
|
|
Anmeldedatum: 19.11.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2010a
|
|
|
|
|
|
Verfasst am: 21.12.2010, 06:06
Titel:
|
|
Hi Jimmy,
ich denke nicht, dass Simulink den von dir genutzten µC bezüglich Kompilierung unterstützt. Du kannst dir ja mal ein erzeugtes C-File anschauen, da siehst du recht gut wie der Code zusammengeschustert wird, was recht speicheraufwendig geschieht.
Ich vermute, dass gerade wenn du nur einen Regler realisieren willst, die beste Idee ist, wenn du den Regler diskretisierst und dann selber mit C oder Assembler programmierst. Zu der Programmierung selber kann ich nur http://www.mikrocontroller.net/ empfehlen, da wird dir zügig geholfen wenn du Fragen hast.
Gruß ppirokke
|
|
|
Jimmy |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.12.2010, 15:16
Titel:
|
|
ppirokke hat Folgendes geschrieben: |
Hi Jimmy,
ich denke nicht, dass Simulink den von dir genutzten µC bezüglich Kompilierung unterstützt.
|
Der Realtime Workshop Embedded Coder unterstützt eigentlich die gängisten µC. Kompiliert wird der Code ja vom Compiler des Prozessorherstellers.
Im Moment schaue ich mir gerade die s-Functions an. Damit lässt sich ja c-Quellcode in die Simulation einfügen und wenn ich das richtig verstehe auch hardwarespezifischer Code einfügen, der bei der Code-Generierung verwendet wird.
|
|
|
ppirokke |
Forum-Fortgeschrittener
|
|
Beiträge: 64
|
|
|
|
Anmeldedatum: 19.11.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2010a
|
|
|
|
|
|
Verfasst am: 23.12.2010, 16:08
Titel:
|
|
Hi,
kommt ganz drauf an was du verwendest. AVR und PIC werden denke ich nicht unterstützt, sobald du leistungsfähigere µC nutzt könnte es klappen, aber ob es sich wirklich rentiert wage ich zu bezweifeln, ein einfacher Regelalgorithmus lässt sich prima von Hand programmieren. Sobald man aber DGLs einbindet um beispielsweise Smith Predictor zu realisieren oder eine GUI zu nutzen, ist es sicherlich intressanter das ganze von realtime umsetzen zu lassen.
Gruß
|
|
|
Jimmy |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.12.2010, 09:22
Titel:
|
|
PICs und dsPICs werden unterstützt. Zumindest was die Datentypen angeht.
Ansonsten hast du natürlich recht, allerdings gehen die Regelanwendungen schon über das bloße Einstellen von ein paar PI-Reglern hinaus (Zustandsrückführung, Zustandsbeobachtung, usw).
|
|
|
vega1013 |
Forum-Century
|
|
Beiträge: 162
|
|
|
|
Anmeldedatum: 26.02.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.12.2010, 22:23
Titel:
|
|
|
|
Jimmy |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 18.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.12.2010, 00:42
Titel:
|
|
Jepp, auf das Projekt bin ich auch schon gestoßen. Ich werde mir das demnächst mal näher anschauen, allerdings bin ich mir noch nicht ganz sicher wie man bei diesem Blockset für die Echtzeitfähigkeit sorgen kann. Dort wird ja direkt aus Simulink heraus das hex-file generiert, das dann auf den Controller geladen wird.
Der Ansatz eine vom RTW generierte C-Funktion in die ISR eines Timers zu packen würde mir nach wie vor am besten gefallen.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|