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
Warum verwendet Ihr nicht einen Arduino als Schnittstelle zwischen PC und Atuomatisierungsaufgabe? Das System ist günstig und überall verfügbar.
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.
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
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
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
Nachtrag: mit deiner Annahme der Funktion liegst du richtig.
Vielen Dank für die Antworten. Grüße OR
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.