mikrocontroller.net

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


Autor: Vinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Vinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: mgiaco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Vinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Michael K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.