Hallo, Ich möchte einen CAN-Bus in einen Regelkreis integrieren und wollte fragen ob das überhaupt geht. Kurze Erklärung: Mittels einem Joystick soll die x,y und z-Koordinate vorgegeben werden können (Sollwert). Dieser Sollwert geht dann in einem Computer (PID-Controller). Dieser PID-Controller empfängt die aktuelle x,y und z-Position und gibt dann entsprechende Verstärkungswerte für den x,y und z-Motortreiber auf einen CAN-Bus aus. Die Motortreiber hängen auf einen gemeinsamen CAN-Bus zusammen mit dem PID-Controller. Die Motortreiber empfangen somit über den CAN-Bus die Verstärkungswerte. Dabei muss aber jeder Motortreiber (x,y,z) darauf achten, dass er den für sich relevanten Verstärkungswert herausfiltert: Motortreiber für die x Achse muss aus dem CAN-Signal den Verstärkungswert für die x-Achse bekommen und Motorcontreiber für die y Achse muss aus dem CAN-Signal den Verstärkungswert für die y-Achse bekommen usw... Die aktuelle Winkelposition jeder Achse wird zudem dem Computer (PID-Controller) direkt als Istwert geliefert. Zur besseren Veranschaulichung habe ich euch noch eine kleine Prinzipskizze angehängt. Bei Unverständnis bitte Nachfragen :-) So, was meint ihr, kann man einen CAN-Bus in einem Regelkreis mit einbinden oder ist das zuviel Totzeit und der Regler wäre instabil? Bzw. wird sowas vielleicht sogar in der Praxis gemacht? Wenn ja, wie sieht es mit funktionaler Sicherheit aus? Viele Grüsse und besten Dank!
:
Bearbeitet durch User
Kommt natürlich drauf an wie die Zeitkonstanten des Systems sind. Wenn du deine Motoren mit 1 umin drehen lässt, sollte es wohl gehen.
Horst schrieb: > Kommt natürlich drauf an wie die Zeitkonstanten des Systems sind. > Wenn du deine Motoren mit 1 umin drehen lässt, sollte es wohl gehen. mhm, kann man die Zeitkonstante des CAN-Bus irgendwie im vornherein abschätzen?
Die Totzeit des Busses ist in der Groessenordnung vom Meldungslaenge/Baudrate und die sollte einiges Schneller wie die Zeitkonstante des zu regelnden Systems sein. .. so nebenbei wird das ABS & das ESP in Auto mit diesem Bus geregelt.
ягт ден троль раус schrieb: > so nebenbei wird das ABS & das ESP in Auto mit diesem Bus geregelt Das sind aber separate CAN-Busse mit nur 1 Master 1 Slave und damit deterministisch.
Lothar schrieb: > Das sind aber separate CAN-Busse mit nur 1 Master 1 Slave und damit > deterministisch. Ob das auf einem Bus mit mehr Teilnehmern genauso funktioniert, kommt doch wohl auf die Priorisierung der Nachrichten an.
Möglich? Ganz klar ja. Evtl gibt es Einschränkungen bzgl. Performance.
Der Grafik zufolge ist es auch nur ein Sender und 3 Empfänger? Sollte also ohne weiteres gehen.
CanIO schrieb: > Der Grafik zufolge ist es auch nur ein Sender und 3 Empfänger? Dem Text zufolge kommen die ist Werte von den Aktoren. Wie dem auch sei. Bei 1 Mbit/s bekommt man knapp 8 Nachrichten in 1 ms unter. Das reicht für die meisten Anwendungen einer Positionsregelung aus.
karl schrieb: > Dem Text zufolge kommen die ist Werte von den Aktoren. > > Wie dem auch sei. Bei 1 Mbit/s bekommt man knapp 8 Nachrichten in 1 ms > unter. Das reicht für die meisten Anwendungen einer Positionsregelung > aus. Das denk ich auch. Du musst dir halt über die Priorisierung der Nachrichten Gedanken machen. Also evtl. die Prioritäten in Abhängigkeiten von den Regelwerten dynamisch verändern. Alternativ (dann kannst du das ganze recht deterministisch machen) festlegen, dass die Reihenfolge der Nachrichten immer N1,N2,N3 ist, egal ob N1,N2 geregelt werden müssen oder nicht. Dann hast du zwar nicht die schnellsten Nachrichten zu N3, zum testen ist es aber definitiv einfacher. Also quasi Zeitslots einführen.
Hallo Lothar, > ягт ден троль раус schrieb: >> so nebenbei wird das ABS & das ESP in Auto mit diesem Bus geregelt > > Das sind aber separate CAN-Busse mit nur 1 Master 1 Slave und damit > deterministisch. Da hängen auch bei ESP inzwischen mehr als zwei Teilnehmer am Bus... Im Bereich Motorsteuerung reicht die Bandbreite von CAN inzwischen z.T. nicht mehr aus, da setzt sich Flexray mehr und mehr durch. Aber für Regler mit mittleren Anforderungen sollte das schon gehen. Immerhin gibt es mit CANopen einen eigenen Standard für die Automatisierungstechnik, incl. Profilen für Antriebe. Mit freundlichen Grüßen Thorsten Ostermann
:
Bearbeitet durch User
Das Problem dürfte in erster Linie nicht der Bus sein sondern der "Computer" Wenn das was PC mäßiges ist bei dem der CAN womöglich noch über USB angebunden ist würde ich mir eher darüber Sorgen machen. Matthias
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.