Forum: Mikrocontroller und Digitale Elektronik STM32 - Umstieg von UART auf CAN


von Jens Meisen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein STM32 Board, und steuer damit ein EPOS Regler (maxonmotor)
an. Gerne würde ich von UART auf CAN umsteigen, da CAN schneller
sein soll. (Mit UART komm ich nicht über 200Hz) Hierzu hätte
ich zwei CAN Anfängerfragen

- Die CAN RX und TX Pins habe ich an meinem Board als solche
  nicht "vorbereitet". Die werden bislang als Modellbau Servo Pins
  genutzt (Timerausgänge). Müssen hier typischerweise
  noch Kondensatoren oder Widerstände eingebaut werden?
  Oder funktioniert das direkt ab STM32?

- Brauche ich hier noch eine Art Adapter (wie von UART auf RS232,
  MAX3232 oder ähnliches). Die CAN Schnittstelle EPOS ist im
  Anhang beschreiben. Wenn ja, wo würde ich diese 120 Ohm (?)
  Widerstände (?) finden? Das könnte man ja in die Kabel
  einbauen, oder?

- Im EPOS Communication Guide ist irrsinnig viel technisches
  zu CAN beschrieben. Ist der Aufwand vergleichbar mit UART
  oder ist was für Profis? (also schwierg zum Laufen zu
  bekommen...)

Vielen Dank, über Tips würde ich mich sehr freuen
Jens

von Michi (Gast)


Lesenswert?

Jens Meisen schrieb:
> Mit UART komm ich nicht über 200Hz
Warum?

von Jens Meisen (Gast)


Angehängte Dateien:

Lesenswert?

>> Mit UART komm ich nicht über 200Hz
>Warum?

Weil das EPOS Protokoll sehr komplex ist. Mit Registern, Prüfsummen,
und vielem mehr... Schneller als 4ms geht nicht, siehe Anhang

von pete (Gast)


Lesenswert?

Jens Meisen schrieb:
> - Die CAN RX und TX Pins habe ich an meinem Board als solche
>   nicht "vorbereitet". Die werden bislang als Modellbau Servo Pins
>   genutzt (Timerausgänge). Müssen hier typischerweise
>   noch Kondensatoren oder Widerstände eingebaut werden?
>   Oder funktioniert das direkt ab STM32?
>
Du kannst verschiedene pins benutzen..blick ins datenblatt hilft


> - Brauche ich hier noch eine Art Adapter (wie von UART auf RS232,
>   MAX3232 oder ähnliches). Die CAN Schnittstelle EPOS ist im
>   Anhang beschreiben. Wenn ja, wo würde ich diese 120 Ohm (?)
>   Widerstände (?) finden? Das könnte man ja in die Kabel
>   einbauen, oder?

du braucht natürlich noch einen cantranceiver

von Frank K. (fchk)


Lesenswert?

1. Der CAN Controller besteht aus einem Digitalteil, der in Deinem STM32 
eingebaut ist, und einem Analogteil ("Transceiver"), der ein externer 8 
pinniger Chip ist, der an can-tx und can-rx angeschlossen wird.

2. Terminierung: ist wie die Zipfel an einer Wurst, an jedem Ende ein 
Terminator - im einfachsten Fall der besagte 120 Ohm Widerstand.

3. Damit Du den Can-Bus testen kannst, brauchst Du mindestens ein 
funktionierendes Gerät an Bus. Ansonsten läuft Dein Controller in einen 
Fehlerzustand.

fchk

von Jens Meisen (Gast)


Lesenswert?

Hallo,

super vielen Dank, wo kann ich denn einen fertigen CAN
Transceiver / Adpater Board kaufen?

Das einzige was ich gefunden habe ist das hier
http://www.ebay.de/itm/251042740085?_trksid=p5197.c0.m619
(China... ich glaub das sind dann auch schon Widerstände
eingebaut)

Viele Grüße
Jens

von Jens Meisen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir gerade ein neues STM32 Board bestellt
https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/

Hier gibt es schon eine fertige CAN Schnittstelle (inkl. CAN 
Transceiver)
und Samples Codes).

Kann ich jetzt einfach die Kabel verbinden, oder fehlt da
noch ein 120 Ohm Widerstand (auf dem Schaltplan von Olimex
finde ich nur einen ...)

Danke (für die Geduld) & Viele Grüße
Jens

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.