Hallo! Ich arbeite gerade an der Steuerung für unser Maturaprojekt einen Tripod. (Bild) Nun habe ich, dass Problem dass ich mit möglichst echtzeitfähiger Kommunikation die drei Motoren ansteuern soll. Die Koordinatentransformation ist bereits erledigt und ich habe jetzt auch schon ein WinCe Board von Keith & Koep, auf dem Windows CE 4.0 installiert ist. Dazu haben wir drei Antriebsregler von miControl besorgt die einen USB-CAN Umsetzer dabei haben. Kann man mit diesem USB-CAN Umsetzer überhaupt in echtzeit übertragen? Unser WinCe Board hat auch einen CAN-BUS integriert, aber ich leider habe noch nicht die größte Erfahrung in CAN-Protokoll Programmierung... Was meint Ihr, wie würdet ihr es lösen? Sollte ich die Motoren über ein anderes WinCe Board, der ein USB-Target hat, mit dem USB-CAN Umsetzter ansteuern ODER mit dem bereits vorhandenen Board über den CAN-BUS? Oder gibt es andere bessere Möglichkeiten ? (Linux...) Danke für eure Hilfe!!!
René schrieb: > möglichst echtzeitfähiger Definiere doch deine Echtzeitanforderung. Dann kann man auch abschätzen ob es Reicht. - Windows CE 4.0 ist, glaube ich, nicht Echtzeitfähig. - Eingebaute Schnittstellen weisen immer geringere Latenszeiten auf, als externe. - Linux ist nicht Echtzeitfähig. Es sei den du nimmst ein spezielles Echtzeitkernal. - Auch ist der CANbus nicht Echtzeitfähig. Ausnahme: TTCAN. Echtzeit heisst: Eine bestimmte Reaktion in einer definierten Zeit. Die "definierten Zeit" kann auch eine Stunde sein. Du musst kein Echtzeitsystem haben. Meistens reicht es, wenn es ausreichend Schnell ist. Welche Reaktionszeiten benötigt euer Projekt den?
Laut Berechnung wäre 1ms ideal, aber wahrscheinlich würden konstante 10ms Taktzeiten pro gesendeten Wert (8Byte Nachrichten) reichen, aber ich weiß nicht um wie viel sich die Linearität der Gerade ändert bei 10ms... Wichtig ist, dass der Timer möglichst genau 1ms (10ms) schafft und nicht von anderen Programmen abgelenkt werden kann... Die müssten halt immer konstant sein, was beim normalen Win7 leider nicht gewährleistet ist... WinCe ab 4.0 ist echtzeitfähig...
Moin, 1ms Latenz ohne Jitter wirst du über USB nicht hinbekommen... Dein größter Feind werden dabei die Schwankungen in der Latenz sein. Hast du dir mal ein paar Linux-Alternativen angeschaut? Z.B. hier: http://www.linuxcnc.org/ Ich weiß nicht ob sich deine Anforderung damit 1:1 umsetzen lässt. Zumindest bietet die Software einen Hardware Abstraction Layer, mit dem sich die Geometrie deiner Maschine nachbilden lässt. Schnittstellen werden auch genügen unterstützt.
Danke für eure bisherigen schnellen Rückmeldungen!!! Ja, das Problem ist, ich habe bereits ein C#-Programm geschrieben, das wird wahrscheinlich nicht auf einen Linux-System laufen...
managed Anwendungen sind oft auch nicht echtzeitfähig (Der Garbage Collector haut einem willkürlich rein)
... Eine bestimmte Reaktion in einer definierten Zeit. ... Nach dieser Definition ist der CAN-Bus echtzeitfähig.
Martin schrieb: > Nach dieser Definition ist der CAN-Bus echtzeitfähig. Nein. Du kannst nicht hervorsagen wie viele Messages mit höherer Priorität sich "vordrängeln" werden. Nur TTCAN ist echtzeitfähig. http://de.wikipedia.org/wiki/TTCAN#TTCAN
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.