CFE18 steht für "Can Bus Function Extension" bzw. umgangssprachlich auch "Can Switch Board" - wozu wird dieses Modul benötigt?
Can Bus Verbindungen im Fahrzeug stellen unsere Kunden teilweise unter große Herausforderungen. Vor allem bei Motorsportapplikationen, wenn Elektronik im Lenkrad untergebracht werden muss und anschließend Informationen von Einstellknöpfen (Trimpots) oder Druckknöpfen über Can Bus übertragen werden soll.
CANchecked bietet nun ein kleines Zusatzmodul, welches 18 Anschlüsse: 9 für Druckknöpfe und 9 für analoge Eingänge (0-5V Signal). Ein Spannungswandler um den Anschluss an ein 12V Kfz-Bordnetz zu gewährleisten ist auch bereits integriert.
- Die CFE18 Hardware -
Mit lediglich 29x27mm ist die Platine sehr kompakt gehalten und findet so überall Platz. Der Pin-Abstand beträgt 2,54mm - für die Stromversorgung aus Sicherheitsgründen 3,81mm.
Zur Befestigung haben wir ein Loch eingebracht, welches als Verschraubung genutzt werden kann.
CFE18 - Can Bus Terminierung
Auf der Platine ist ein Lötjumper angebracht.
Schließt man diesen, so ist die Can Bus Terminierung mit 120 Ohm aktiv. Standardmäßig ist der Lötjumper OFFEN.
- Anschlüsse -
12V / GND (oben) | Spannungsversorgung 6-22V (verpolungssicher) |
A0-A8 | 9 analoge Eingänge (0-5V) |
D0-D8* | 9 digitale Eingänge (maximal 5V) (interner Pullup 20-50K) *D8 entfällt bei v0.8 |
5V/SGND | Spannungsversorgung analoge Sensoren bzw. Sensormasse |
CANL/CANH | Can Bus Verbindung (Can Low, Can High) CAN 2.0 A/B – 125, 250, 500, 1000 kbps |
AUX1-3* | Low Side Ausgänge 0.5A maximal - *ab Platine v0.8 |
RX/TX/DTR/GND | optional: für eventuelle Updates (Zusatzhardware nötig) |
- Motorsport-Lenkrad -
Ein Anwendungsfall wäre ein Motorsportlenkrad. Im Bild sieht man die ungefähre Größe, wobei die Lenkrad-Nabe 50mm im Durchmesser ist. Mit lediglich 4 Verbindungen über ein Spiralkabel lassen sich so vielfältige Eingänge über Can Bus übertragen.
Danke an PT Motorsport Electronics für das exzellente Beispielbild, wie die Integration unseres Can Switch Boards erfolgen kann.
- Anschlussmöglichkeiten -
Am CFE18 lassen sich Switches (Schalter) als auch Trimpots (Verstellknöpfe) anschließen.
Aber auch Sensoren wie Öldruck, Benzindruck, Ladedruck, Abgasgegendruck und die Integration in ein eigenes Gehäuse wäre denkbar.
- CFE18 Anschluss / Default Can Bus Stream -
Die Daten der Eingänge werden abgefragt und alle 50ms übertragen (100Hz - änderbar von 1Hz bis ca 300Hz - je nach Smoothing). Die Daten werden als „unsigned big endian“ übertragen.
Sobald 12V und Masse verbunden sind, leuchtet die grüne Status LED auf der Vorderseite und die Can Bus Daten werden übertragen.
Can Bus ID: 0x700 (Base Data CAN ID – änderbar)
Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Base ID | AIN0 0-1023 | AIN1 0-1023 | AIN2 0-1023 | AIN3 0-1023 | ||||
Base ID +1 | AIN4 0-1023 | AIN5 0-1023 | AIN6 0-1023 | AIN7 0-1023 | ||||
Base ID +2 | AIN8 0-1023 | bit masked DIN0-7 | DIN0 0-1 | DIN1 0-1 | DIN2 0-1 | DIN3 0-1 | DIN4 0-1 | |
Base ID +3 | DIN5 0-1 | DIN6 0-1 | DIN7 0-1 | DIN8 0-1 | unused | *version |
*ab Software Version 3
- Digitale Ausgänge -
*Ab Hardware v0.8
Das CFE18 besitzt ab der Hardware 0.8 drei digitale Ausgänge. Diese sind bis maximal 500mA belastbar und schalten gegen Masse (LOW SIDE).
Hierfür sendet man ein Can Bus Frame alle 100ms (CAN Id ist hier konfigurierbar - ab 500ms Pause zwischen den Frames wird der Timeout aktiviert und die Ausgänge werden deaktiviert):
(0=inaktiv, 1=aktiv)
Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
CAN RX ID (default: 0x640) | AUX1 0/1 |
AUX2 0/1 |
AUX3 0/1 |
unused |
Die Einstellung erfolgt über Can Bus - siehe Konfigurationsmöglichkeiten
- AIN smoothing -
*Ab software version 3
Wenn die analogen Eingänge zu stark fluktuieren, so lassen sie sich mittels Software glätten. Dies ist je analogen Eingang getrennt konfigurierbar.
Bei jedem Senden werden die analogen Eingänge ausgewertet (default. 20Hz).
Einstellung | Glättung |
0 | keine Glättung |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
Ist also zum Beispiel ein Glättungsfaktor von 4 eingestellt, so wird der Durchschnitt der letzten 16 Messungen genommen. Dadurch wird der Wert ruhiger (glatter), aber reagiert auch verzögerter auf Schwankungen. Hier muss man einen gesunden Mittelweg finden.
Die Einstellung erfolgt über Can Bus - siehe "Konfigurationsmöglichkeiten"
- Konfigurationsmöglichkeiten -
Über Can Bus lassen sich folgende Werte anpassen:
Data CAN ID: | mit welcher Can Id die Daten gesendet werden | default: 0x700 |
Config CAN ID: | mit welcher CAN Id das Board konfiguriert werden kann - NEUSTART erforderlich | default: 0x70A |
Frequenz: | mit der die Daten über dan Can Bus geschickt werden in Millisekunden | Default: 10ms = 100Hz |
Can Bus Speed: | 1=125kbps, 2=250kbps,3=500kbps,4=1Mbit - NEUSTART erforderlich | Default: 3 = 500kbps |
Modus: | 0=default, 1=EMUv3, 2=Haltech IO12B, 3=Haltech IO12A+B, 4=Motec | Default: 0 |
*Smoothing: | glätten der analogen Eingänge, je Eingang konfigurierbar (0-6) | Default: 1 |
*ab Software Version 3
Byte 0+1 sind immer 0x0C und 0x0A
Byte 2 Feature beginnend mit 0x0A
Features:
can id: 0x0A (high byte) + 0x0B (low byte)
config can id: 0x0C (high byte) + 0x0D (low byte)
frequency: 0x0E
can bus speed: 0x0F
mode: 0x10
can id RX: 0x12 (high byte) + 0x13 (low byte) from CFE18 v0.8
Example 1: change data can id to 0x600
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x0A | 0x06 | unused | |||
0x70A | 0x0C | 0x0A | 0x0B | 0x00 | unused |
Example 2: change frequency to 50Hz (20ms = 0x14 in hex)
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x0E | 0x14 | unused |
Example 3: change can bus speed to 1Mbit
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x0F | 0x04 | unused |
Example 4: change mode to EMUv3
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x10 | 0x01 | unused |
Example 5: change smooting on AIN1 to 4 (=16)
can id | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 |
0x70A | 0x0C | 0x0A | 0x14 | 0x04 | unused |
(0x14 = AIN1, 0x15 = AIN2, 0x16 = AIN3, 0x17 = AIN4, 0x18 = AIN5, 0x19 = AIN6, 0x1A = AIN7, 0x2B=AIN8)
- Steuergerät / ECU Konfiguration -
Die analogen Eingänge liefern 10bit Auflösung und somit Werte von 0 bis 1023. Im Steuergerät muss der Wert umgerechnet werden. Alle Werte sind „unsigned big endian“
Beispiele:
5V Spannung AIN0
0x700 Byte0+1
Multiplikator: 5; Divisor: 1023; Offset: 0
oder Multiplikator: 0.004887585533
Abgastemperatur (type k) AIN7:
0x702 Byte6+7
Multiplikator: 1250; Divisor: 1023; Offset: 0
oder Multiplikator: 1.2218963832
Für die digitalen Eingänge nutzt man entweder die einzelnen Bytes. Z.B. DIN6: 0x702 Byte 6 oder die Bitmask bei 0x702 Byte2
z.B. DIN6: 0x702 Byte2 Mask:0x40
- Dokumentation / Download -
Diese Seite findest du auch als PDF hier zum herunterladen: