Sevcon Gen4 CANOpen (TwizyCfg) Help Please

ninetyeighter

100 µW
Joined
Jul 12, 2021
Messages
8
Hi all,

To start, I am completely new to this world. With that said:

I have a 3-wheeled 48v EV that uses a master-slave Sevcon Gen4 configuration (S2 36/48V 275A AC Motor Controller). The company that made it is out of business and I am trying to connect to the CAN bus. I have an Arduino UNO and the SeeedStudio v2 CANBus Shield and am using the Twizy-Cfg project to connect. I had to modify the code to use CAN pin 9 instead of 10, otherwise is repeatedly tries to connect. Once I switch to 9, it seems to connect and I get the menu in the serial monitor.

I have a DB9 to USB since the EV takes a USB connection. I was able to connect this way as well as the direct CANHI/CANLO connections on the shield. That is where my luck ends. No matter what commands I send, I always get the SEVCON OFFLINE response. After some digging, I thought it could be a CAN termination issue and I cut the P1 pad connection on the CANBus shield. I know for a fact that the company used to modify the Sevcon configuration using the Sevcon's Calibration programming tool (as opposed to the DVT software). I read the calibration tool's manual and see that it assumes that the master/slave configuration is terminated and that the calibration tool doesn't provide termination. So, I feel like I should be able to read the Sevcon name, or put it in to pre-op mode, etc.

I've also tried various versions of the CAN library that Twizy-Cfg uses and some of the basic examples for receiving CAN messages. No luck.

I'd love any troubleshooting suggestions or help. Given my almost no experience with this stuff, I am at a loss as to what the next step should be.

Also, here is a diagram I was able to track down to show the CAN Bus wiring on my EV.

RaptorCanbus.png

Thanks,
NinetyEighter
 
Have you checked the delivery date of your Twizy? Seems Renault was not happy with end users improving on their Sevcon configuration:
twizy.PNG
 
I don't actually have a Twizy, but my EV (EcoSpin Raptor) uses a Sevcon Gen 4. I am attempting to use Twizy config code with some minor mods. I am not even able to send a read-only command. I've also tried other CANOpen arduino monitors. At a minimum, I'd expect some command to work, namely, version checking, vendorID ... something, even if it was locked. My EV company went out of business in 2015 or 2016.

Here is the response for the "rs 100a 00" command. No matter what I try, nothing works.
RS: ERROR 0003 SDO 0x100A.00: 0x05040000: SEVCON OFFLINE

I thought it might be a login username/password issue, but I assume I'd be able to see SOME messages even when not logged in.

Thanks!
 
According to the Sevcon Calibration manual, it can autodetect the baud rate by listening to the heartbeat. From the manual:

sevcon.png

This implies, to me, that there has got to be some initial commands that can be sent before logging in. So, in a master-slave configuration, where the master is terminated properly and I understand what I have read:

1) What is my response node and my receive node? The TwizyCfg code uses 0x581 and 0x601 for receive/response assuming nodeID is 1. How do I know the IDs in my config? I tried looping through all nodeIds (600+i) and seeing if a message came back. No luck.
2) When I connect my Arduino Can Shield, what is that nodeID? Should I expect to see the rx/tx on the shield flashing or solid? Should the "int" led do anything?
3) Is it possible that a manufacturer can remove CANOpen support for a Sevcon controller?

I'm at a loss and am about to start punching seals and otters. Please help!?

Thanks
 
It would seem that you have no CAN communication. Do you know what the bus frequency is, Twizy-Cfg has it hard coded to 500kbps so if that does not match your controllers you will need to change that parameter. Since you have two Sevcon controllers on the bus there is also the issue of what Can node ID Twizy-Cfg is trying to log in to.

In any case in the first instance the utility looks for SEVCON type (Twizy 80/45) via a readsdo(0x1018,0x02) and will throw an error if the Sevcon is not an OEM Twizy unit. That issue would be easy to overcome but you will need some basic C programming skills.
 
Well, crap.

After searching for a while, I ran across a few forums with people with similar issues. Most of them seemed to be discussing bad boards or soldering issues. Then, of all places, a 1-star review on Amazon was discussing how his CAN Bus board came with NO jumpers connected. I looked at mine and what do you know!? No jumpers connected.

I've ordered another one. I'd solder them myself, but I don't want to chase down another set of issues if other parts of this board are bad.

I'll provide follow up when I get the new board ... given all of the overwhelming interest in this thread :lol:

(my bad board)
sevcon.png
 
kiwifiat said:
It would seem that you have no CAN communication. Do you know what the bus frequency is, Twizy-Cfg has it hard coded to 500kbps so if that does not match your controllers you will need to change that parameter. Since you have two Sevcon controllers on the bus there is also the issue of what Can node ID Twizy-Cfg is trying to log in to.

In any case in the first instance the utility looks for SEVCON type (Twizy 80/45) via a readsdo(0x1018,0x02) and will throw an error if the Sevcon is not an OEM Twizy unit. That issue would be easy to overcome but you will need some basic C programming skills.

See my last post. I'll try it out when I get the new one, but even if I had a good board, I'd expect the readsdo(0x1018,0x02) to work, at a minimum, so that the returned value could even be checked against the Twizy version. I think I spent so much time thinking I was doing something wrong because the CAN.begin() call was outputting that it successful.
 
I got it all working now that I got a working can bus shield!

Now for the crazy CANOpen learning curve.
 
Back
Top