Chargement en cours…
Interface différentielle haute vitesse avec isolation galvanique 2500 Vrms, immunité EMI pour ESP32, STM32 & ROS2
| Caractéristique | Valeur / Spécification |
|---|---|
| Débit maximal | Jusqu à 1 Mbps (norme ISO 11898-2) |
| Tension logique | 3.3V et 5V compatible sans convertisseur de niveau |
| Isolation galvanique | 2500 Vrms (protection totale MCU contre retours inductifs) |
| Protections intégrées | Diodes TVS anti-surtensions, protection ESD ±16kV |
| Compatibilité matérielle | ESP32 (TWAI natif), Raspberry Pi, Arduino, STM32 |
| Résistance de terminaison | 120 Ohms intégrée commutable par cavalier |
import rclpy
from rclpy.node import Node
from std_msgs.msg import String
import can
class CanBridgeNode(Node):
"""Nœud ROS2 pont CAN-Bus pour télémétrie mécatronique."""
def __init__(self):
super().__init__('can_bridge_node')
self.pub = self.create_publisher(String, '/can/rx', 10)
self.bus = can.interface.Bus(channel='can0', bustype='socketcan', bitrate=500000)
self.timer = self.create_timer(0.01, self.poll_can) # 100 Hz
def poll_can(self):
msg = self.bus.recv(timeout=0.001)
if msg:
self.pub.publish(String(data=f"ID:0x{msg.arbitration_id:X} Data:{msg.data.hex()}"))
def main():
rclpy.init()
node = CanBridgeNode()
rclpy.spin(node)
node.destroy_node()
rclpy.shutdown()