CANopen
Contents
CANopen Headquarter
For people who are interesting in a CANopen architecture on reprap or other arduino/AVR/atmega projects. CAN & ethernet powerlink related stuff too.
People interested , add you there :
CiA profiles
Interesting profiles for reprap :
- CiA 402: CANopen device profile for drives and motion control
- CiA 406: Device profile for encoders (rotating and linear) - product example http://www.vicatronic.fr/fraba.htm
- CiA 420 series: CANopen profiles for extruder downstream devices
find tutorial and presentation about CANopen here : http://www.canseminar.com/Tutorials.html
ard'ware
Arduino AtmegaXXX have no CAN
actual design : Atmega serial TX/RX <-- RS232 --> FTDI chip <->[USB connector]<-- USB --> Host PC
with this MCU , with need something like CANSPI like http://www.mikroe.com/en/tools/can2/ So MCP2551 + MCP2515 . So we can agreed it's not cheap ( 5$ of components ).
But Atmel has Atmega with CAN support :
- ATmega16M1
- ATmega32M1
- ATmega64M1
- ATmega32C1
- ATmega64C1
This chips have no ISP but JTAG. To reduce cost, on a distributed network, we don't need the electronic part to program/debug in each node so we can make a minimalist board, like arduino mini pro, with only jtag header , dip hole and the CAN connector. JTAG offer us debug purpose ... a ~8€ setup.
- AVR Dragon low cost JTAG/ICSP ( 50 $ ) , see :
- AVR JTAG ICE clone , kits start at 15 € , a good choice for DIY guy.
- low cost parallels jtag ( 5$ ) , slow but cheap ( for occasional needs as bootloader flashing ).
Of course, JTAG interface is not useful for user who don't need bootloader flashing and embedded software developing
more on product page : http://www.atmel.com/products/canvan
Software
CANopen stack
CanFestival
An AVR Port by Andreas GLAUSER and Peter CHRISTEN already exists in CanFestival for at90can128. I've worked to make it compile fine , fix some header and autotools. I've not commit yet my modification because i can't test it for the moment because i need the hardware. Ronan
Modification list :
- remove static config.h
- fix source header for avr-libc
- add Makefile.in for drivers/AVR
- add MCU switch in configure
- convert example/AVR/Slave Makefile into a proper Makefile.in
CANopen bootloader
First thing we need after making CANopen working is a bootloader on CANopen.
links
- http://www.canfestival.org : open source CAN and CANopen stack.
- http://www.ocera.org/download/documents/documentation/wp2.html CANopen is a part of OCERA architecture.
- http://www.beremiz.org : Open Source framework for automation
- http://www.ethernet-powerlink.org is "CANopen over Ethernet"
http://ecomodder.com community need CAN/CANopen to communicate with their car and work with arduino.