Replies: 13 comments 6 replies
-
Well, probably the best advice is to scope the output of the transceiver with an oscilloscope but that presupposes that you have one. My best guess would be a bad transceiver. Those are cheaper than a whole new board but would require you could desolder an 8 pin module then solder down the new one. The easiest way to test a dual CAN board like that is to run short wires H to H and L to L between the two CAN buses. Then you can send traffic between them and test that they both work. This requires no extra hardware other than the two short wires. Just "CANSEND0=0x123,4,1,10,20,30" or something like that. If the serial console shows that CAN1 got a frame then they both work. If it doesn't then you're back to the above where you've got to see if one or both transceivers have failed. One last idea to check: it should have defaulted to the right board but make sure it doesn't think you have an A0 or A5 board. I think systype should be 1 for the EVTV ESP32 board. But, it doesn't hurt to check that. |
Beta Was this translation helpful? Give feedback.
-
Hi,
You can also use a digital DVM. When the bus is running you'll get some AC
voltage, depending on the data rate. When it's idle, it should be 2.5 VDC.
When the bus is asserted, the value is 0 VDC.
Also make sure the H & L lines are the right way round and the ground is
connected. Ideally a scope is needed.
…On Thu, Sep 21, 2023, 8:01 PM Collin Kidder ***@***.***> wrote:
Well, probably the best advice is to scope the output of the transceiver
with an oscilloscope but that presupposes that you have one. My best guess
would be a bad transceiver. Those are cheaper than a whole new board but
would require you could desolder an 8 pin module then solder down the new
one.
The easiest way to test a dual CAN board like that is to run short wires H
to H and L to L between the two CAN buses. Then you can send traffic
between them and test that they both work. This requires no extra hardware
other than the two short wires. Just "CANSEND0=0x123,4,1,10,20,30" or
something like that. If the serial console shows that CAN1 got a frame then
they both work. If it doesn't then you're back to the above where you've
got to see if one or both transceivers have failed.
One last idea to check: it should have defaulted to the right board but
make sure it doesn't think you have an A0 or A5 board. I think systype
should be 1 for the EVTV ESP32 board. But, it doesn't hurt to check that.
—
Reply to this email directly, view it on GitHub
<#670 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACYGU7BPGJ5LMNTZSUPGKFLX3TPNLANCNFSM6AAAAAA5CHR6BE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@collin, I don't have an oscilloscope so I tried wiring the two busses. Do I send the "CANSEND0=0x123,4,1,10,20,30" using the "Send:" field and clicking "Send Text" button under the console? I did not get anything in the console other than the serial comms i see all the time. How do I check the systype? @Simtronic, with the short wires connecting the two ports I have 0V between H/L lines. I do not have a ground in this setup - not sure what to ground against in this test (i did connect ground to one of the ground pins but no change). thanks, |
Beta Was this translation helpful? Give feedback.
-
Yes, sending the command CANSEND0=0x123,4,1,10,20,30 should cause it to send a frame out of CAN0 and you should then get a message that CAN1 received a message. You should get confirmation in both directions so if you didn't get any response then try again. If that doesn't work then make sure you have some sort of line ending set (CR, LF, or CRLF). You can check the systype with the ? command. Once again, you need it to send a line ending but otherwise just ? Your board should have a ground pin near the CAN wires. Use that even if nothing is attached there. It's still a ground. Measure from ground to the H and L lines. They should be floating around 2 to 2.5v. If there is traffic on them you will measure voltage between them too. If there is no traffic then the voltage between H and L is zero. |
Beta Was this translation helpful? Give feedback.
-
Oh, i was trying in SavvyCAN itself. I switched to a straight serial connection and was able to send the commands. Systype is 1. When I send CANSEND0=0x123,4,1,10,20,30 all i see is Sending frame with id: 0x123 len: 4 I get ~2.8v from ground to each can line, but see no voltage delta across H/L when running the command (but it's only one packet). I have ordered another board, but would still like to try figure out what's wrong with this one, and fix it if I can. thanks p.s. I sent the command a few times. Here are the entire contents of the serial console after connecting, sending ?, and then the CANSEND0 commands Build number: 618 Enable line endings of some sort (LF, CR, CRLF) Short Commands: Config Commands (enter command=newvalue). Current values shown in parenthesis: SYSTYPE=1 - Set board type (0=Macchina A0, 1=EVTV ESP32 Board 2=Macchina A5) CANEN0=1 - Enable/Disable CAN0 (0 = Disable, 1 = Enable) CANSEND0=ID,LEN, - Ex: CAN0SEND=0x200,4,1,2,3,4 CANEN1=1 - Enable/Disable CAN1 (0 = Disable, 1 = Enable) CANSEND1=ID,LEN, - Ex: CAN0SEND=0x200,4,1,2,3,4 BINSERIAL=0 - Enable/Disable Binary Sending of CANBus Frames to Serial (0=Dis, 1=En) BTMODE=0 - Set mode for Bluetooth (0 = Off, 1 = On) LAWICEL=1 - Set whether to accept LAWICEL commands (0 = Off, 1 = On) WIFIMODE=2 - Set mode for WiFi (0 = Wifi Off, 1 = Connect to AP, 2 = Create AP |
Beta Was this translation helpful? Give feedback.
-
The board is definitely bad - with a new one, i can read the CAN messages from my leaf battery no problem. Are the transceivers you mention labelled U2 and U5? I do have a related question though - i'm trying to get CAN messages from a different battery (hyundai ioniq 5) and am not having any luck. One thing I noticed is the serial comms show in the SavvyCAN serial console changes when I apply 12v to the ignition wire of the BCM. Can you explain what this is and why the serial messages would change, but no CAN messages are shown? tia, before IGN on: Write to serial -> f1 9 After IGN on: Got data from serial. Len = 56 |
Beta Was this translation helpful? Give feedback.
-
Yes U2 and U5 are the transceivers. 0x21 and 0x2A are ! and * and are sent when CAN module errors are detected. Either the CAN speed is wrong, it's using CAN-FD traffic, or otherwise something is wrong at the bus level. |
Beta Was this translation helpful? Give feedback.
-
Thanks. I was using the CAN-FD bus because I read somewhere they used can-fd so that’s a possibility. Can savvycan not handle those?Since is did see some messages from a obd2 device connected, I am assuming I had the speed right. -- charlesOn Oct 2, 2023, at 7:26 PM, Collin Kidder ***@***.***> wrote:
Yes U2 and U5 are the transceivers.
0x21 and 0x2A are ! and * and are sent when CAN module errors are detected. Either the CAN speed is wrong, it's using CAN-FD traffic, or otherwise something is wrong at the bus level.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
chevy went all in with FD on globalB, haven't seen a single Gm application
utilizing flexray..
…On Wed, Nov 15, 2023, 7:46 PM Collin Kidder ***@***.***> wrote:
Well, yes, it should work to read CAN-FD frames. But, support is not super
well tested at this point. I've had nothing really that does CAN-FD. Well,
at least I didn't used to. I have a 2022 Bolt EUV and it might use CAN-FD
but I don't think so. I think anywhere they would have needed the extra
capacity they went with FlexRAY instead. So, in theory CAN-FD should work
but I haven't been able to test it well. One thing that is definitely true
is that you cannot set the FD speed in SavvyCAN. You have to do that on the
serial console directly in the RET device itself. And, even then, I've
found that certain combinations seem to work oddly. I think I couldn't get
CAN-FD working properly when using 500k for the nominal speed. I think it
worked at 1M nominal and then 2M, 3M, 4M for the FD data bytes speed. I
never figured out why that is. It seems to be some oddity with the way the
CAN library is doing timing. But, once again, I had nothing to test against.
—
Reply to this email directly, view it on GitHub
<#670 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AI62NLV3Y3YMVVZ4Q77UUKLYEVV7FAVCNFSM6AAAAAA5CHR6BGVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM3TKOBSHE2TE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@collin80 would you mind providing a link to the right component to buy for the U2 and U5 transceivers for a esp32 can_due? I have been meaning to buy these but don't want to buy the wrong thing. If both can be the MCP2517FD, I'm happy to have both be CAN-FD capable once replaced. tia, |
Beta Was this translation helpful? Give feedback.
-
Hi Charles, My EVTV V2 ESP32 CANDue has the original TI SN65HVD234DR CAN transceiver in U2 |
Beta Was this translation helpful? Give feedback.
-
Hi Mark! This is very helpful, thanks. I do have a V2 board (i should have mention that when asking, sorry). My eyesight is terrible, but if you zoom into the attached photo, you can see the U5 matches, but not the U2. I think my U2 says VP23498M AF5Z. Maybe a TI chip, so the same? Let me know what you think please. Thanks for the tip, i am sure it will come in handy getting the originals off. |
Beta Was this translation helpful? Give feedback.
-
That's awesome thanks! |
Beta Was this translation helpful? Give feedback.
-
Collin, and anyone else who might be able to help, I am trying to figure out whats wrong with my ESP32 CANDue board. I have had it for several years and it used to work, but have not used it in a while. I went to go use it last week and have not been able to get it to work, even on a test setup i know it used to work on - a leaf battery where I can get the data from it via leafspy plugged into a OBD2 port on the same bus so i know there is traffic.
So it connects to the board fine and I can see console serial communication just fine, but no matter what bus or speed i try (and even with and without additional 120ohm termination) i can't get any CAN messages on the main window. I ran the ESP32RET firmware updater just in case, but no better.
How can I troubleshoot this? I suspect hardware, but would prefer to verify before just buying another.
tia,
charles
Beta Was this translation helpful? Give feedback.
All reactions