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
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.