Hi all -
I’ve seen a number of posts on CD about CAN and have been a loss. If anyone can explain CAN, I’d be appreciative.
Thanks
Hi all -
I’ve seen a number of posts on CD about CAN and have been a loss. If anyone can explain CAN, I’d be appreciative.
Thanks
CAN stands for “Controller Area Network” and is a vehicle communication system developed by Bosch. Bosch developed CAN as a standard method of communication between all of the various controller modules in a car.
CAN works very well as a method to communicate between multiple control modules. Since the Jag speed controllers have their own on-board processing, you can think of them as individual control modules which you can communicate with using CAN.
More info can be found here: http://en.wikipedia.org/wiki/CAN_bus
Can itself is just another way to communicate with Jaguar motor controllers (outside of FIRST, it is used for a lot more, like all of the sensors in a car for example). Compared to the alternative, PWM, CAN allows for a lot more information to be sent between devices.
The real importance of CAN stems from the fact that, when using CAN, the jaguars’ processors can be used to preform tasks that would otherwise be dealt with by the cRIO, notably PID control. PID control utilizes feedback to react to situations so that the desired output matches the actual output. That is, instead of guessing what PWM duty cycle will get a certain speed, PWM control will adjust the duty cycle to ensure that that speed is met.
Using the jaguars’ PID controls allow one to control speed, position, average voltage, and current (I’m not sure that the last 2 are technically PID, but they are still available if CAN is used). By extension, these control modes, when properly utilized, can be used for things such as ensuring that your robot moves in a straight line in autonomous, or for regulating shooter speed and angle.