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
M serie has one 12-bit High Speed PSC (Power Stage Controller) :
- Non Overlapping Inverted PWM Output Pins With Flexible Dead-Time
- Variable PWM duty Cycle and Frequency
- Synchronous Update of all PWM Registers
- Auto Stop Function for Emergency Event
supported by avr-libc , it that can be useful.
They have JTAG _AND_ ISP. Using ATmega let us in the arduino community , our tool set and knowledge.
So the more valuable is ATmega64M with 64kb like sanguino.
more infos on this atmel products at http://atmel.com/products/canvan
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. Such header board card should cost around ~8€ and can easily be integrate in our electronic parts.
JTAG
- 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.