How's everyone wiring 4wd over can these days?

I know it’s been talked about before, but it’s been a while. Chat gpt is throwing spanners and I had enough weird experience with the hobbywing esc’s to cast some doubt.

Previously I just connected can h and l between esc’s and the ground to the shield of the cable on one end. I’m assuming that’s all everyone is still doing. However that setup lasted most of a year and then my board full throttled into a wall.

So I rage quit vesc still no idea what happened and went to hobbywing with split ppm. Initially from advice, aware of the gnd loop issue I didn’t connect that signal ground but found on hard throttle/heavy sag one ESC would cut out and id get street faced. Connected that gnd and all was good :man_shrugging:

Now im back on 4wd vesc, just curious if anyone is doing anything different with opto isolation or perhaps a ferrite choke?

1 Like

I’m running 2 D100s and I only connect CAN L and H. So far no issues, granted I don’t rl do launches often.

1 Like

I’m running split throttle signal and independent loopkeys. No issues either, but I’m probably an edge case.

1 Like

Ferrite chokes filter high frequencies. You know what’s very high frequency? Your CAN communication lmao.
Don’t put ferrite chokes on your digital signal lines, it’ll fuck up the communication signals.

Optoisolation is overkill, and also won’t work (because CAN is timing-sensitive and bidirectional. Gets very complicated very quickly)

CANH, CANL, GND is all you need.

Theoretically, you don’t need the ground connection because CAN is a differential signal, but I’ve always had better luck with vesc with the signal grounds connected.
I use shielded wire for long runs(>20cm). I use the shield as the ground connection, tieing it to ground at each endpoint(vesc).

“Ground loops” aren’t an issue for a bunch of reasons.
Here’s an amazing video that’s worth every second of your time, seriously.

If you’re having issues with longer runs (>2m) check that you have exactly two 120ohm terminating resistors on your bus. Quickest way to check is measure resistance between CANL and CANH is roughly 60Ohm.
Alternatively, lower the CAN baud rate in vesctool.

Btw, The CAN protocol is designed to work on bus lengths of 40~250m++ (depending on exact implemention). So we’re nowhere hitting CAN signal integrity limits on our silly skateboards.

For comparison, I wouldn’t run UART/serial or pwm/ppm longer than 1m. Shorter if it’s unsheilded and/or near power wires

6 Likes

Thanks for posting - looking forward to watching that video.

My 4WD only has the CAN H/L connected between the two dual VESCs (Flipsky 75100 Dual version), using 2 conductor unshielded wire. I power everything on at once with one QS-8 loop key. I haven’t had a problem yet, but sounds like I should run a CAN ground line between them too.

I did put a wire along the deck creating continuous ground between the front and back trucks in the hope to lessen risk of static buildup frying the CAN after @Tony_Stark posted about that in their Radium thread.

1 Like

One thing to add- twist the wires around themselves, if they aren’t already.

If the wires are twisted, electrical noise because of external EMI (ex. High power motors) will cancel out. This happens because CAN is a differential communication protocol (like Ethernet) and some physics waves hands

From an engineering standpoint, it’s entirely possible to justify that shielding CAN cables is overkill, and twisted pair is enough ( for the short runs that we have)

No reason to fix something that’s not broken :slightly_smiling_face:

5 Likes

Thanks for the info - sounds like it’s not urgent but when I have a chance I should redo the CAN wiring entirely both for the ground and also to add the twisting too. I used 2 conductor wire combined in PVC so I can’t twist them as-is.

My motors are a low current / higher voltage setup - 4X Maytech 6355 125kv on 20S - and I ride very casual speeds so possibly part of why it’s been working OK

Is it recommend to connect the Ground cable between 2 ESCs? I only connect CAN L and H, so far no issue just yet.

Are you sure it is not a remote issue?

1 Like

I’m 20mins in.. learning that energy isn’t transmitted in current or voltage.. learning wtf wave guides are.. thinking.. hmm. when am i going to understand grounding.. lol.

2 Likes

Watched an hour of this now and this is a pure goldmine of knowledge. Crazy to think that this is the kind of stuff I signed up to university for, 3.5 years in, and at uni they didn’t teach anything even remotely useful in the topic, yet I learned so much in just a single hour now on youtube. I’ll continue it tomorrow. Thanks for sharing!

4 Likes

Awesome!! I’m glad yall are finding it insightful. Changed how I understood electricity.

This painfully mirrors my 5 years experience as well.

1 Like

you should read the comments. it’s like a cavalcade of in the field people going “why was i never taught this way” ..

2 Likes

Til now no idea, could have been the reacher sensors or the static thing. Registers a full ppm signal with no input like there’s now a dead short on that rail. I carried on using the same remote and receiver no issues.

Cheers dude, I’ll check that video out. A lot of my lift gear communicates over can so I’ve experienced the reliability issues those can terms can create so that resistance check was definitely on the list. I figured there was something up with the ground loop theory when chat gpt was sticking to its guns.. I guess explains the issue I had with the hobbywing ppm split.

What are your thoughts on a shielded multicore, I’ve got some 4 core belden laying around. Using 3 conductors for can l, h and gnd and then connecting the gnd to shield at just one end. I guess you’re not playing with baud rate and leaving that default too?

Shielded multicore is awesome. Wish it was easier/cheaper to source.

Only want to use 2 conductors for CANL and CANH. No need for a dedicated ground conductor. Only using two conductors keeps the twisted wrap of CANL and CANH symmetrical, which is best for their EMI resistance (even with a shield). Probably not enough to matter for most applications tho?

Btw, grounding connection through the shield is fine because it doesn’t carry any current or high speed signaling. And even arguably, the higher resistance/impedance of the shield isn’t a negative for grounding (kinda like esd straps)

Unnecessary for all vesc esk8s, the default is fine. That said, I have played with increasing the baud rate for TITS (to increase data frequency, just because)

High baudrates increase the amount of data the bus is able to carry. There’s two primary limitations;

  1. bus length. The longer the bus, the longer it takes for the signal to travel down it. Because CAN is bidirectional, you want the entire bus to be at the same level before sending the next bit
  2. signal integrity/harness construction. Higher frequency switching is more susceptible to noise(EMI) and ringing(ex. bad bus termination). These can be controlled with good harness construction/design(ex. Shielding and termination resistors)
1 Like