Forum: Mikrocontroller und Digitale Elektronik Simulink und z.B. MEGA32


von Vinz (Gast)


Lesenswert?

Servus,

beschäftige mich derzeit etwas intensiver mit Simulink und bin u.a. auf 
die ganze Geschichte mit dem Real Time Workshop und der direkten 
Code-generierung  für diverse Targets gestoßen.

Wäre doch ne super Sache, wenn man auf diese Weise auch einen AVR uC 
programmieren könnte!

Hat einer von Euch damit schon Erfahrung gesammelt? Bzw. gibt es 
irgendwo schon Toolboxes etc?

Freu mich auf rege Antworten!

Gruß
Vinz

von mgiaco (Gast)


Lesenswert?

Hast du denn alle Toolboxen dazu?

Die Kosten ja ne menge. Ich wollte auch mal in der Schule so was machen 
aber da fehlten diese und die waren zu teuer. Deshalb von hand erledigt 
(Digitale Relger ja nur ein paar Konstanten Kopieren Einfügen etc.).

Wäre aber sicher ne super sache.

mgiaco

von Vinz (Gast)


Lesenswert?

Toolboxen sind einige bei meiner Firma vorhanden. Aber mir fehlt einfach 
die Grundlage, das Zeug einzurichten.
Suche zwar die ganze Zeit rum, aber fündig bin ich leider noch nicht 
geworden. Wunsch wäre, dass ich z.B. einen Analogeingang als Block in 
Simulink zur Verfügung habe, das dann in C code umwandele und dann mit 
ponyprog etc auf den uC jage ...

Haben nur wir beide uns dadrüber Gedanken gemacht? Kennt keiner noch 
weitere Infos zu dieser Schnittstelle?

von mgiaco (Gast)


Lesenswert?

Na ja das wäre auch mein Wunsch gewesen => Aber eben nur ein Wunsch. :-)

Mathworks hat so was für die ARM´s mit Tasking Compiler soweit ich weiß 
und für die mpc555 mit Metroworks Compiler aber für die AVR´s keine 
Ahnung, glaube ich nicht das die das haben.

>Aber mir fehlt einfach
>die Grundlage, das Zeug einzurichten.
>Suche zwar die ganze Zeit rum, aber fündig bin ich leider noch nicht
>geworden.

Übrigens genau das war auch mein Problem. Ich habe mir mal von meinem 
Digitalen Relger den Code erzeugen lassen und da waren etliche Methoden 
drin von denen ich nicht wusste wo die zu finden sind etc. => Ich hätte 
mehr Anpassen müssen als das Zeit gekostet hat von Hand zu schreiben.

Also wenn ihr in deiner Firma solche Toolboxen habt, dann würde ich mich 
ohne weiters trauen mal bei Mathworks anzufragen wo und wie man solche 
Anpassungen machen kann. Da bist du bestimmt am schnellsten.

Ich weiß ja nicht was du vor hast aber wenn es um Regler geht, dann bist 
du von Hand auf jedenfalls schneller glaube ich. Dann weißt du was der 
Code genau macht etc. Wo du was wie anpassen kannst etc.

von Vinz (Gast)


Lesenswert?

Danke schon mal.

Gut zu hören, dass sich doch noch einer über dasselbe Thema Gedanken 
gemacht hat!

Wahrscheinlich hast Du Recht und ich werd erstmal versuchen das Zeug 
selbst zu schreiben. Aber für die Zukuft ???
Oder ich steig einfach auf den MCP555 um ...

von Michael K. (Gast)


Lesenswert?

Wir nutzen in der Arbeit auch Simulink für die Reglerentwicklung von 
einem Industriehubschrauber. Wir nutzen neben dem RTW (Real Time 
Workshop) auch den Embedded Real Time Coder. Dort kannst du dann 
einstellen was Dein Target System ist und 8-Bitter wie die AVRs werden 
hier auch unterstützt. Wenn du fertige Blöcke haben willst um z.B. den 
ADC auszulesen wirst Du leider enttäuscht sein, denn die gibts nicht, 
aber so nen ADC per Hand auszulesen und die Werte dann in den von Matlab 
generierten Code zu schieben sollte kein Problem sein! Die Werte die in 
Deinen Simulink - Block laufen sollten als Busse definiert sein, genauso 
wie die Ausgabe - Werte. Wenn du den Code dann von Matlab erzeugen läßt, 
dann laßt Dir auch die Main (ert_main.c) ausgeben.
Hierbei gibts dann meist eine rt_onestep() - Funktion, die 
Funktionalität aus dem Simulink - Block enthält. Der Eingangsbus (wird 
in C als struct abgebildet) ist mit dem Kürzel U versehen und der 
Ausgangsbus mit Y. Vor dem Aufruf der Funktion rt_onestep() musst Du nur 
Deinen Eingangsbus mit den Werten belegen (z.B. vom ADC) und nach dem 
Aufruf der Funktion stehen die Ausgabewerte im Ausgangsbus.
Grüße,
Michael

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.