CAN Bus Tutorial - Typical CAN Bus Applications
The following is an excerpt from A Comprehensible Controller Area Network by Wilfried Voss.
One frequently asked question is regarding any other field of application, besides automobiles, where CAN is successfully used. There is not just one answer, but many.
There is no particular niche for CAN; its use is universal from any industrial application, space, aviation, maritime, medicine, and household applications such as washers, dryers, and even coffee machines.
The main advantage of a Fieldbus system like CAN lies in reducing expensive and maintenance-intensive wiring and the increased performance of a multi-processor system (distributed intelligence). CAN is especially suited to be the serial communication system of choice when excellent performance is a must.
The main applications for CAN are in the fields of
- Passenger Cars
- Trucks and Buses
- Off-Road Vehicles
- Passenger and Cargo Trains
- Maritime Electronics
- Aircraft and Aerospace Electronics
- Factory Automation
- Industrial Machine Control
- Building Automation
- Lifts and Escalators
- Medical Equipment and Devices
- And many more…
Most industrial applications are using higher layer protocols such as CANopen or DeviceNet on top of the CAN application layer (see also Chapter 3.5 - Higher Layer Protocols). It is estimated that about 90% of industrial applications using CANopen do involve motion control partly.
Cisco Systems, a networking company, uses a CAN sub-network to implement system initialization and hot-swapping on the large PC boards that implement routers. The number of installed CAN nodes, between 500,000 and 1 million, makes this one of the larger non-automotive applications.
Some other reputable high-tech companies using CAN for various purposes and products are, for instance, Hewlett-Packard, Lockheed, Boeing, NASA, and many more.
Another important market for CAN (in combination with CANopen) is medical equipment and devices, starting from operating room components such as lights and tables, cameras, X-Ray, ultrasound machines, and more, up to larger equipment such as CAT scanners. All major medical companies in the US, including GE Medical, Philips Medical, and Siemens Medical, favor CAN/CANopen over any other Fieldbus technology and consequently, demand CAN/CANopen compatibility from their numerous vendors and suppliers.
DeviceNet, the other popular higher-layer protocol for industrial automation, is especially suited for factory automation and is widely used in the chemical and semi-conductor (wafer handlers and other robotic machinery) industry.
Let’s do a case study: One of the most demanding automation tasks in terms of speed and accuracy is motion control. The connection between the control processor (e.g., an industrial PC) with an integrated motion controller and the motor with an integrated resolver or encoder requires extensive wiring. The situation quickly becomes worse when the task involves the use of multiple motion axes. Not only can the number of wires rapidly go into the thousands, but it also becomes increasingly difficult to add more motion controllers since, for instance, a PC can only accommodate a certain number of interface boards. Another worsening factor is that each PC’s performance will be limited when it comes to reaction times necessary to serve each motion controller.
Picture 1.3.1: Sample CANopen Network
The solution to this dilemma is the use of distributed control, as shown in an example in picture 1.3.1. Each component, digital and analog I/O, and each motion axis is equipped with its own controller. The network connection between all components and the central controller is accomplished with CAN; in this case, CANopen. CANopen is a higher layer protocol, additional software on top of the CAN physical and data link layer (refer to Chapter 3.5: Higher Layer Protocols).
This design provides the ease of adding almost unlimited components (CANopen is limited to 128 nodes, sufficient for the vast majority of automation applications) without performance loss. The number of wires between the components is reduced to two, which not only reduces the cost of the wiring itself but also reduces time-consuming maintenance and service during the start up of the machine or in the case of malfunctions.
The servicing of each component in the network will be improved due to the fact that the engineer only needs to plug the service unit (e.g., a notebook computer) somewhere into the network in order to communicate with either unit. This can be done with only one service software package since all nodes in the network speak the same language. There is no need for a dedicated service program for each individual unit.
The cost-saving resulting from the reduced wiring should not be underestimated. To demonstrate this in the following: A manufacturer in the Boston area produces machinery requiring on average 3 to 5 motion control axes per machine and several hundred I/O points. They overhauled the machine design by using CANopen technologies instead of regular wiring. The cost savings were in the neighborhood of $1,500 per machine. In good economic times, they sell 500 machines per year. You do the math…
PiCAN 2 - CAN Bus Interface for Raspberry Pi
This PiCAN2 board provides Controller Area Network (CAN) Bus capabilities for the Raspberry Pi. It uses the Microchip MCP2515 CAN controller with MCP2551 CAN transceiver. Connection are made via DB9 or 3-way screw terminal.
There is an easy-to-install SocketCAN driver, and programming can be accomplished in C or Python.
The PiCAN board is fully compatible with the new Raspberry Pi 4 Model B.