0
\$\begingroup\$

I was looking at this open source BLDC motor circuit, and I noticed it had a CAN bus transceiver apart of the circuit. I don't understand why this circuit would need a CAN bus transceiver? Does this actually do anything or is it most likely there just in case somebody wants to add additional things to the circuit later on?

From my understanding you would need CAN communication in an automotive applications to communicate with all the other devices on the same CAN bus, but in this circuit there isn't anything else you need to communicate with right? The only thing this circuit has is a MOSFET driver, some mosfets, temp sensor, BLDC motor sensor, and a BLDC motor. None of these devices need communication except the MOSFET driver, but the MCU can communicate with that with simple HIGH / LOW pulses.

Why is CAN communication included in this circuit and what are the uses of CAN communication in a circuit like this?

\$\endgroup\$
8
  • \$\begingroup\$ What would I do if I wanted to control the motor driver via CAN? I think I would need a CAN transceiver connected to the MCU ;) \$\endgroup\$
    – DKNguyen
    Mar 25 at 0:44
  • \$\begingroup\$ In the schematic it shows that the motor driver is being controlled by the MCU, not the CAN bus transceiver. Why do we need the CAN transceiver? \$\endgroup\$
    – Trev347
    Mar 25 at 1:05
  • \$\begingroup\$ Because the designer wants to hook up the entire motor driver (not the schematic block) to CAN bus and send commands to control it. \$\endgroup\$
    – DKNguyen
    Mar 25 at 1:07
  • \$\begingroup\$ What do you mean by "entire motor driver (not the schematic block)"? Are you saying if he wants to add additional things such as a LCD display or something similar to communicate with? What does "entire motor driver" mean? Cause i'm not seeing anything else to communicate with in the circuit since the MOSFET driver is controlled by the MCU \$\endgroup\$
    – Trev347
    Mar 25 at 1:27
  • 1
    \$\begingroup\$ Forget adding additional things. The designer just wants to be able to hook up the motor controller, aka the ENTIRE circuit (what I have been meaning when I say "motor driver") to a CAN bus and control it using CAN commands. Stop thinking as though the MCU with a CAN transceiver must be a primarily be a bus master. In this case it is mostly going to be receiving messages about how to control the motor. \$\endgroup\$
    – DKNguyen
    Mar 25 at 1:38

1 Answer 1

0
\$\begingroup\$

You could use the CAN bus to tell the motor driver how fast to spin the motor - or other things, like asking it the current motor position. You could also use any of the other interfaces, like I2C, SPI, UART, analog, PPM or USB. The designer of this board left your options open. The microcontroller has software to receive your commands and control the motor. I don't know which interfaces the software supports but I'm sure you could modify it to support any of them.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.