Forum: Digitale Signalverarbeitung / DSP / Machine Learning ScicosLab <---> Arduino ToolBox


von Weinga-Unity (Gast)


Lesenswert?

Hallo Kollegen!

Passend zu
  Beitrag "Re: Neues Open-Hardware Projekt + Realtime-Linux + Scilab/Scicos"
kommt nun ein Lösungsansatz.

Ich habe die letzte Zeit an einem Scicos Block gearbeitet (derzeit für 
WIN32 und ScicosLab 4.4.1), der direkt über eine serielle Schnittstelle 
eine Verbindung zu einem µC aufnimmt und Signale übertragen kann. Das 
ganze kann man direkt aus der Simulation raus machen, wenn man unter den 
Simulationsoptionen den Real-Time Scaling Faktor auf 1 stellt.

Als Beispielboard wird Arduino-UNO (Code ist ebenfalls enthalten) 
verwendet, welches die 6 ADC's, 3PWM, 6 digital Outputs und einen 
Inkremental-Weggeber Eingang an den Scicos-Block weiterreicht.

Der Block selbst ist generisch aufgebaut, sodass über die Blockparameter 
die Formatierung der Signale in den Paketen für die serielle 
Schnittstelle eingestellt werden kann.

Die ganze Angelegenheit funktioniert bis etwa 20ms Zykluszeit und man 
kann mit dieser soft-real-time Fähigkeit die ScicosLab mit sich bringt 
doch das eine oder ander Projekt realisieren.

Eine erste Version habe ich unter
  http://bioe.sourceforge.net/scicosserialinterfaceblock.php
veröffentlicht.

Falls es doch schneller gehen muss, würde ich dennoch ein Echtzeit-Linux 
und z.B. die BIOE-Module verwenden.

Würde mich freuen, wenn der eine oder andere den Code gebrauchen kann 
und vielleicht sogar ein kleines Feedback zurück liefert.

Gute Nacht.

von chris (Gast)


Lesenswert?

Hallo Kollege,

sehr schönes Projekt. Damit wird es für Studenten möglich, sehr günstig 
selbst zu experimentieren.

Weiter so,
chris

von Thomas W. (thomas_v2)


Lesenswert?

Hallo Klaus,
das Projekt sieht interessant aus, vor allem sehr schön dokumentiert.

Hast du schon Erfahrungen mit aktuellen Scilab Versionen (5.3.x) sammeln 
können? So wie es aussieht läuft dort die Integration von eigenen 
Modulen (jetzt Xcos) völlig anders. Und wie das bei Scilab numal so ist, 
ist das alles sehr spärlich dokumentiert.

von Weinga U. (weinga-unity)


Lesenswert?

Hallo Thomas!

Ich habe schon einmal Probiert bestehende Blöcke in 5.3.x zu verwenden. 
Soweit ich mich noch erinnern kann, hat die Funktion selbst 
funktioniert, nur die Darstellung in XCos hatte Probleme.

So liegt die Vermutung nahe, dass man nur die Interface-Function 
überarbeiten muss. Wenn man in Scicos 4  selbst schon Blöcke gemacht 
hat, sollte man mit dem Source von 5.3.x in der Lage sein, die 
Anpassungen durchzuführen.

Das Buch Modelling and Simulation with Scilab-Scicos (ScicosLab) hilft 
einem da sehr weiter, bzw. gibts unter 
http://www.scicos.org/documentations.html genügend Literatur dazu.

Liege ich richtig in der Annahme, dass du diese ToolBox mit Scilab 5.3.x 
verwenden willst?

mfg, Klaus

von Thomas W. (thomas_v2)


Lesenswert?

Weinga Unity schrieb:
> Liege ich richtig in der Annahme, dass du diese ToolBox mit Scilab 5.3.x
> verwenden willst?

Ich wollte sie mir zumindest gerne mal ansehen. Allerdings nicht weil 
ich deine Toollbox konkret verwenden möchte, sondern als Anregung für 
eine eigene Toolbox die mir so im Kopf rumgeht die deiner recht ähnlich 
ist.

Die Dokumentation auf der Scilab Seite ist leider nicht ganz auf dem 
aktuellen Stand. Das ScicosCBlockTutorial.pdf gilt noch für die alten 
Versionen. Über den ATOMS Modul Manager kann man sich ein XCos Toolbox 
Skeleton installieren. Das stellt mehr oder weniger ein 
Programmier-Rumpf für eigene C-Toolboxes dar. Und der Aufbau 
unterscheidet sich schon etwas von deiner Toolbox. Wahrscheinlich führen 
aber mehrere Wege zum Ziel.

von Weinga U. (weinga-unity)


Lesenswert?

Hallo Thomas,

es gibt Neuigkeiten: Der Block ist jetzt für die neuen Scilab Version 
portiert und Linux + Windows.

https://atoms.scilab.org/toolboxes/wgserialxcosio

Dokumentation gibt es in Form eines Hilfe Eintrages zum Block und der 
PDF-Datei die im Atom Paket runtergeladen werden kann.

Vielleicht hilft dir das jetzt auch noch weiter (oder wem Anderen).

Da die Portierung hauptsächlich in Linux durchgeführt wurde und nur 
gelegentlich Tests in Windows gemacht wurde, bitte ich um Windowstester.

Lg, Klaus

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.