Forum: Projekte & Code Neues Open-Hardware Projekt + Realtime-Linux + Scilab/Scicos


von Weinga-Unity (Gast)


Lesenswert?

Hallo,

seit 2008 arbeite ich an einem Open-Hardware Projekt, mit dem man ein 
Low-Cost Automatisierungssystem in Kombination mit z.B. RTAI-Linux und 
Scilab/Scicos erstellen kann um z.B. Regelungsaufgaben zu realisieren.

Das Open Hardware Projekt BIOE (Basic Input Output Element) 
http://www.bioe.at.tt stellt somit die Ein- und Ausgänge zur Verfügung, 
die z.B. in Scilab/Scicos (sogar unter Windows, nur dann keine harte 
Echtzeit) angesprochen werden können. Die Hardware verwendet einen 
AT-Mega16.

Mehr darüber findet ihr auf der Homepage (ist nicht vollständig, aber 
bereits brauchbar).

Ich hoffe, den einen oder anderen wird das Projekt nützlich sein.

mfg Weinga-Unity

: Verschoben durch Admin
von chris (Gast)


Lesenswert?

Warum verwendet Ihr nicht einen Arduino als Schnittstelle zwischen PC 
und Atuomatisierungsaufgabe? Das System ist günstig und überall 
verfügbar.

von Weinga-Unity (Gast)


Lesenswert?

Ganz einfach: Es musste eine Schnittstelle verwendet werden, die 
schnelle Lese- und Schreibzyklen zulässt, und dabei mehrere Geräte an 
der selben Schnittstelle angesprochen werden können. D.h. irgendwelche 
USB2xxx Adapter fallen aus, auf denen ja einige Arduino aufbauen. Eine 
serielle Schnittstelle selbst ist auch nicht so recht geeignet, wenn 
mehrere Slaves angeschlossen werden sollen. RS485 & CO sprachen mich 
auch nicht so recht an, da auch meist seriel benötigt wird. PCI, 
Firewire usw. soweiso nicht, weil es sollte ja einfach aufzubauen sein. 
Die Druckerschnittstelle bot sich deshalb an und zeigte in den ersten 
Versuchen auch eine sehr gutes Echtzeitverhalten unter RTAI-Linux. 
Außerdem hat sich später gezeigt, dass das nachrüsten einer "echten" 
parallelen Schnittstelle heutzutage kein Problem ist (selbst bei manchen 
Netbooks).

Ein Lese- Schreibzyklus eines Endpunktes beträgt (abhängig von 
PC-Hardware) zwischen 25-40µS für einen 16bit Wert. Sicher können mit 
USB auch Automatisierungsaufgaben gelöst werden, nur halt nicht bei 
Abtastzeiten von z.B. 1ms ohne Verletzung einige Annahmen über das 
Automatisierungssystem bei der Verwendung der linearen Systemtheorie.

Ich hoffe, die Antwort erklärt einiges.

von Weinga-Unity (Gast)


Lesenswert?

Aktualisierung: die Version 1.3 ist nun veröffentlicht.

- neue Schaltpläne und Layouts
- Verbesserung der Dokumentation (Startanleitung)
- Regelungen können in C implementiert, mit SCILAB/SCICOS verifiziert 
und anschließend auf den AVR mit der selben C Datei implementiert 
werden.

http://www.bioe.at.tt

von OR (Gast)


Lesenswert?

Hallo,

So wie ich das verstehe, fährst Du die Regelungstechnik unter RTAI/Linux 
und benutzt dann die parallele Schnittstelle für die Signalausgabe.
Den Ansatz finde ich eigentlich ganz gut. Jetzt habe ich ein bischen 
Erfahrung in der Regelungstechnik und würde mir das ganze gern mal 
anschauen.

Was mich interessieren würde:
- Was für eine Linux Distribution fährst Du? Muss man den Kernal 
patchen?
- gibt es spezielle Anforderungen an die PC-Hardware?
- Die Hardware: Ich bin jetzt nicht so der Fan vom selber ätzen. Gibts 
die Leiterplatten irgendwo zu erwerben?
- noch was zum timing: Du schreibst, Du kommst auf 40us für einen 16bit 
Wert. Angenommen ich würde eine 200us Zeitscheibe im PC rechnen. 
Wieviele Signale kann ich dann zu den Slaves runterschicken, bzw 
wieviele kann ich gleichzeitig lesen?
- Was hast Du gegen rs485?

Dank und Grüße
OR

von Weinga-Unity (Gast)


Lesenswert?

Hallo, ich versuche zu beantworten:

- Ich verwende RTAI mit Debian (RTAI 3.8 mit Lenny hab ich schon am 
laufen gehabt, wobei der kernel nicht von mir gepatch wurde; mein 
letzter Patch war noch mit RTAI 3.5 und einem 4er Debian).

- eigentlich keine Anforderungen an Hardware. eeePC-700 mit Paralleler 
über PCI-Express hat auch funktioniert. Man musste nur WLAN ausbauen und 
gehäuse etwas auschneiden. Man braucht halt eine echte Parallele. Die 
Adresse kann man beim BIOE umstellen.

- Fertig zum Erwerben gibts leider nichts. Ich hab auch kein Interesse 
einen Vertrieb aufzubauen.

- ich verstehe jetzt nicht ganz was du mit 200us Zeitscheibe meinst. Die 
40us sind so die worst-case messungen die ich bei neuer PC hardware 
gemessen habe. Bei älteren gehts auch mit bis zu 25us :-).
Also angenommen du realisierst eine Regelung mit 1er Stellgröße und 1er 
Messgröße und möchtest im 1/10 der Abtastzeit die Ein- und Ausgabe 
erledigt haben, dann müsstest du mit 800us die Abtastzeit für deine 
Regelung wählen.

- Was hast Du gegen rs485: nichts.

mfg Weinga-Unity

von Weinga Unity (Gast)


Lesenswert?

Nachtrag: mit deiner Annahme der Funktion liegst du richtig.

von OR (Gast)


Lesenswert?

Vielen Dank für die Antworten.

Grüße
OR

von Weinga-Unity (Gast)


Lesenswert?

Bemerkung:

Ich habe erst vor kurzen BIOE mit UBUNTU 10.04, RT_PREEMPT und SCICOSLAB 
(http://linux3.dti.supsi.ch/~bucher/rt_preempt.html) getestet und das 
System war nach ca. 2 Stunden eingerichtet, betriebsbereit und 
echtzeittauglich :-). Also um einiges einfach einzurichten als RTAI. Für 
erste Versuche das Richtige.

Aktueller Link zu BIOE: bioe.bplaced.net
(der andere ist momentan offline)

mfg Weinga-Unity

von Weinga-Unity (Gast)


Lesenswert?

Kurze Info:

Wegen Serverschwierigkeiten habe ich mich nun dazu entschieden das BIOE 
Projekt mit Sourceforge zu hosten.

http://bioe.sourceforge.net

mfg Weinga-Unity

Beitrag #6613631 wurde von einem Moderator gelöscht.
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.