Regelkreis innerhalb CAN-Bus möglich?

OP #4679927
Lesenswert?

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!
Angehängte Dateien:
Gast #4679947
Lesenswert?

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.
Gast #4680027
Lesenswert?

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.
Gast #4680030
Lesenswert?

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.
(Firma: mechapro GmbH) Persönliche Seite #4680035
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren