CAN-ISO: Galvanically isolated CAN-BUS Shield (ARDUINO)
Category : CAN-BUS PROJECTS
The first “galvanically isolated” product, professional on the world market for Arduino and / or similar !!
or write me: rubinolab(at)gmail dot com
It is a “professional” shield complete with all hardware protections with standard CAN pin-out on the DB-9 easy to use.
Why choose it compared to other products? Mainly because it is galvanically isolated, quality, high performance, reconfigurable.
But why do you need galvanic isolation? To operate safely since you usually work on CAN lines with different connected devices. In the event of a malfunction of a CAN device (not isolated), for example a power supply failure or voltage losses that may occur in a working environment due to humidity or rain, it is possible that there is a dangerous voltage for the user on the CAN line. In general, according to the IEC 60479-1 International Electrotechnical Commission, the minimum voltage threshold considered dangerous for a person is 50Vac (AC voltage at 50Hz) and 120Vdc (DC voltage). The most frequent and most important effects that the electric current produces on the human body are basically four and just tens of milliamps are enough to find one of the conditions: Tetanization (> 10-15mA), Breathing arrest (20-30mA), Ventricular fibrillation ( 70-100mA), Burns (> 100mA).
Where is it used? It can be used in many fields, to connect multiple devices with only 2 twisted wires. It’s a Real-Time system, at the speed of 1Mbit / s it is possible to connect lines of 40 meters, while at 10kbit / s lines up to 6 kilometers.
I report some fields of use:
- Industrial Automation, Control, Sensors, and Drive Systems
- OBD II (On Board Diagnostics) Automotive
- Industry 4.0 internet of things
- Building and Climate Control (HVAC) Automation
- Security Systems
- CAN Bus Standards such as CANopen, DeviceNet, NMEA2000, ARINC825, ISO11783, CAN Kingdom, CANaerospace
- Technical informations for the right use of the shield.
- Open Source RubinoLAB’s team code examples
- Open Source community support
Thanks to the community support this page will also collect the best Makers project, giving to the Makers community the best code repository and hardware for their projects.
Disclaimer: RubinoLAB cannot be considered responsible for the improper use of the project.
CAN-ISO is a shield isolated galvanically, with protection and filter on can-bus for board Arduino or similar.
In combination with an Arduino board it is a powerful device for the command, test and analysis of a CAN network.
CAN-ISO can be powered by the Arduino board via USB or by an external 12V power supply on the DB-9 connector. The card is always isolated with both the Arduino power supply on the DB-9 connector.
- Fully compliant with the CAN 2.0A & CAN 2.0B Bosch specifications
- ISO 11898-2 (High speed CAN) physical interface
- CAN baud rate adjustable by software up to 1Mbps
- 1000Vrms galvanic isolation barrier
- Bus-Fault Protection of –27 V to 40 V
- ESD protection
- Common Mode Filters CAN
- 120 ohm terminating resistor at CAN node (setup)
- MCP2515 @16MHz
- Circuit Operating Voltage: 5V (3.3V on request)
- Isolated power supplies between board Arduino and CAN-BUS (the device prevents noise currents on a data bus or other circuits from entering the local ground and interfering with or damaging sensitive circuitry)
- Fully compatible with higher level protocols such as CANopen, DeviceNet, NMEA2000, ARINC825, ISO11783, CAN Kingdom, CANaerospace
- Industrial standard DB-9 connector (possibility to supply external to 12V dc)
- Protection inversion of polarity on the DB-9 (supply external to 12V dc)
- LED indicators
- The CAN-ISO Shield contains onboard a internal CAN bus termination that is possible insert or no with pinhead
- The CAN bus must be terminated with a 120 Ohm resistor, with a single 120 Ohm resistor for short cable lengths (< 2m)
- For long CAN networks (>10m) & in noisy environments the use of screened, twisted pair wire is recommended.
|Arduino UNO (ATmega328)||100%||tested|
|Arduino Mega (ATmega1280/2560)||100%||not tested|
|Arduino Leonardo (ATmega32U4)||100%||not tested|
Several basic tests have been conducted in order to guarantee that the shield is properly working. Tests include clock frequency measurement, power absorption, EMI filter characteristics.
Furthermore other specific tests have been conducted with dedicated instruments or custom hardware. These tests includes:
|ISOLATION||up to 1000 V||Isolation instrument:
|COMMUNICATION ERROR||more of 10 hours continuous communication||two shields have been used for loopback test|
The CAN-ISO Shield have successfully passed all the above mentioned tests!
On-Board Diagnostics (OBD)
OBD-II to DB9 interface
This is the standard connection to OBD-II for all vehicles from 2008. For old vehicles or FORD cars the OBD-II pinout may vary and depends on the car manufacturer.
The first example is the CANINO code. This code transform your Arduino hardware + CAN-ISO to a bridge between the USB serial port and the CAN BUS. The packets are easily readable with a serial terminal, this allow to easily debug the line or write a custom graphical interface with LabVIEW, Python, Processing etc.
For the example: Code configuration and test CAN-ISO
A YouTube video where CAN-ISO communicates with a CAN BUS control unit, using the “CANINO” code and the “LabView” graphical interface:
For use with “professional” graphical interface: CANHacker
To share your project made with CAN-ISO, please send an email to: info(at)rubinolab dot com and propose you idea. If considered interesting, your project can be hosted in the RubinoLAB website or linked to our page.
Where to buy
We have created a first series to meet our needs and those of many makers, while stocks last. If there is further request there will be a further production.
The cost of CAN-ISO (Made in Italy) is 35 euro (only shield).
or write me: rubinolab(at)gmail dot com