CANopen

From RepRap
Revision as of 13:18, 7 December 2008 by Ronan (talk | contribs) (ard'ware)
Jump to: navigation, search

CANopen Headquarter

Canopen-logo.gif

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 PFC http://en.wikipedia.org/wiki/Power_factor_correction 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

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

share work with ?

http://ecomodder.com community need CAN/CANopen to communicate with their car and work with arduino.