Read and Write CAN protocol messages using SPI through an Arduino Uno
2 views (last 30 days)
Show older comments
I have been spending a significant amount of time trying to find an answer to this but cannot find the full solution. I would appreciate some help on the issue. A bit of background to my issue:
- I am designing a set of hardware and software tools that can be used to quickly assess and test components in a car that utilise CAN protocol
- The objective of the set of tools is that anyone with Simulink can grab this kit, connect it up to their laptop and rapidly run a model through Simulink in order to send a few messages to the hardware and read the response. It has to be using simulink
- The hardware consists of (but is not limited to) an Arduino Uno and an MCP2515 CAN controller module (https://makerfabs.com/Comunication?product_id=340)
- I have the CANdbs for the hardware I'm trying to test
I have been using the "Simulink Support Package for Arduino" for communication and can drive parts of the 12V components, however when it comes to sending a CAN message, I'm having trouble constructing the blocks to achieve this. I have been trying to use the "CAN device driver for mcp2515" and the CAN blocks from the "Vehicle Network Toolbox" but have come up short.
Could someone provide feedback on the attached image and help guide me towards a solution? I'm not sure if I'm being a bit dim or I've gotten something fundamentally wrong.
1 Comment
Jenny H
on 3 Jun 2020
I see the MCP2515 CAN controller module's link is broken, are you talking about this MCP2515 module: https://makerfabs.com/can-module-mcp2515.html?
Answers (1)
Arun Kumar
on 27 Sep 2019
Hi,
Support for sending and receiving CAN messages from Arduino using MCP2515 is available in R2019b.
Use these blocks to send and receive CAN Messages:
- CAN Transmit: https://in.mathworks.com/help/supportpkg/arduino/ref/cantransmit.html
- CAN Receive: https://in.mathworks.com/help/supportpkg/arduino/ref/canreceive.html
Here are some examples on how to use the blocks:
Hope this helps.
2 Comments
Arun Kumar
on 30 Sep 2019
Hi Danyal,
For 2019a or earlier, you can use the following library block:
HTH!
See Also
Categories
Find more on Modeling in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!