ASI CANopen
Protocol documents
CAN over BACDoor?
We support PEAK PCAN-USB dongles.
To make a CAN version of BACDoor, you must do the following:
- Navigate to C:\Accelerated Systems or wherever you installed your copy of BACDoor.
- Make a Copy of the BacDoor folder in C:\Accelerated Systems And rename it BACDoor CAN. The old version will be your TTL version. (Mine says BacDoor 6015 CAN since it specifically has the dictionary for firmware 6.015 and I made it a CAN version. Note: I keep a copy of BACDoor for every firmware I deal with.)
- See image below.
- Open your BACDoor CAN folder and open and edit BacDoor.exe.config, or BACDoor.dll.config, in a text editor, I used notepad++.
- Un-comment line 19 by removing the “<!–“ at the start and “–>” at the end
- Original: <!–<add key=”EnableCANCommunicationObject” value=”true”/>–>
- After editing: <add key=”EnableCANCommunicationObject” value=”true”/>
- Now BACDoor can communicate over CANOpen using a PCAN-USB device.
FAQs
Question 1
Q: Can Command Timeout Threshold (1 sample) and Average command timeout threshold (100 samples) be made to respect CANopen writes or is there some other parameter we should use?
A: You must send a rolling counter on the high Byte of Remote state command on a heartbeat within the timeout thresholds.
Low byte | Remote State Command | 0 = Off 1 = Idle 2 = Active |
High byte | Watchdog Counter | Rolling Counter from 0 to 255 |
Question 2
Q: CAN sync loss faults motor?
A: If CAN sync loss timeout is not respected (RPDO), and Command timeout threshold (1 sample) and Average Command timeout threshold (100 samples) are set (typically 1000ms and 250ms respectively). It will trigger the Faults bit 8 Network communication timeout fault which causes the motor to be disabled until the controller is power cycled, and the LED should flash a 2,1 sequence while faulted.
Question 3
Q: How do you use Remote network voltage for throttle when running in local mode (e.g. Control command source = throttle or pedal and throttle) when Command timeout threshold (1 sample) and Average Command timeout threshold (100 samples) are set?
A: You must send a heartbeat, rolling counter, on the Remote state command above 255. e.g. A rolling counter from 256 to 511. (0x0100 to 0xFF00)
Question 4
Q: Communication loss braking?
A: If the communication loss fault triggers, it will initiate braking to 0 only if in remote speed mode, Control command source = 0 (serial stream) and Speed regulator mode = 0 (speed). The braking current is limited by Remote comm loss braking current as a function of rated motor current for braking. Braking will occur for 10 seconds.
It does not trigger in other modes, i.e. Control command source is not set to 0 (serial stream)