1
\$\begingroup\$

MIT has build an autonomous RC race car. They put everything on GitHub. I have a similar project and therefor build one of those for my self (Almost the same but without TX1 and Sensors).

I am currently ordering parts. Thats when I found out that they have replaced the build in motor controller (VXL-3s) with a VESC motor controller. I haven't found a seller in my region yet. Ordering it from overseas takes maybe too long. Why are they even using a VESC in the first place? Can't one just control the ESC with PMW? The three cables (red, black, white) are there.

The much cheaper Donkey-Car (link) does it that way (on a toy). No controller was replaced. Do all ESC controllers have the same PWM frequency and width? Because in my opinion the only reason for a replacement could be that they didn't manage to communicate with the VXL-3s.

EDIT 1:

Just found this article from Makzine in which they state too that almost any ESC where the receiver is not integrated can be controlled by PWM. I'm just scared that I order a car which I can't control in the end.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ (1) MIT is not the most practical place in the world. (2) they're students. (3) there's a good chance that they felt the VESC would offer some incremental advantage, so they went with it. Or, they just wanted to. \$\endgroup\$
    – TimWescott
    Commented Mar 20, 2019 at 17:26

2 Answers 2

2
\$\begingroup\$

The VESC is an open source ESC, so it makes perfect sense that MIT students would be utilizing it. For a complicated automated race car, they would want full control of their entire system for reliability and control purposes. Using an off the shelf ESC doesn't give you a lot of options when it comes to programming the ESC. They also seem to be controlling the steering from that same ESC some kind of way.

At the end of the day, they are just using a traxxas motor. The motor is a Velineon 3500, so just find a matching ESC for that motor. Then you can control that with pretty much any source of PWM and a large range of frequencies. An arduino with the standard servo library works great with ESCs.

\$\endgroup\$
7
  • \$\begingroup\$ Thanks for the answer. Haven't bought the car yet. I could also buy a Traxxas with a brush motor. This would have the benefit that calibration is omitted. May I ask for your opinion? \$\endgroup\$
    – Mr.Sh4nnon
    Commented Mar 20, 2019 at 17:45
  • 1
    \$\begingroup\$ If you are looking for a race car, a brushless setup is definitely the way to go. Brushless motors vs brushed have massive advantages, including better efficiency, speed control, faster/stronger for the same weight as a brushed. Brushless motors also have active braking, which is very useful feature for stopping an RC car. Calibration only takes 5 minutes, and only needs to be done once, I wouldn't let that worry you. \$\endgroup\$ Commented Mar 20, 2019 at 18:04
  • \$\begingroup\$ I knew about that advantages, but the calibration process scared me. But in this case I'll definitely choose brushless. Thanks a lot! \$\endgroup\$
    – Mr.Sh4nnon
    Commented Mar 20, 2019 at 18:06
  • 1
    \$\begingroup\$ @Mr.Sh4nnon it appears they are controlling the steering via open source ESC (they definitely have hacked into the code!). Servo are also controlled by the exact same signal as the ESC. Adafruit's 12 PWM breakout (w/RP) would be perfect for the task, and I love that board, it's super useful. I have several laying around that I've played with over the years. \$\endgroup\$ Commented Mar 20, 2019 at 18:06
  • 1
    \$\begingroup\$ @Mr.Sh4nnon it's very simple! All you need to do is set your PWM to it's highest value, then power on the ESC. If the ESC sees a high signal on startup, it will enter calibration mode. Then simply decrease the PWM signal to its lowest value, the ESC will save both endpoints, and provide a series of beeps to let you know it's stored them. Then turn off the ESC, reset your PWM, and you are golden! \$\endgroup\$ Commented Mar 20, 2019 at 18:08
3
\$\begingroup\$

All ESCs that are designed to work in an RC car use the same pulse width and (roughly) frequency. It's the RC non-standard (as in, everyone uses it, and has since the 1970's, but there's no standards document). 50-60Hz frame rate, a 1ms positive-going pulse is full reverse (zero throttle on a plane), a 2ms positive-going pulse is full throttle (plane or car). Different car ESCs may have different pulse widths for zero speed -- you'll need to dig around, or just find out what it is for your ESC by experimentation.

\$\endgroup\$
3
  • \$\begingroup\$ Thank you for your answer! I'm going to use a Nvidia Xavier as on board computer. However for the PWM I still need something else. Would a Raspberry Pi with the 12x PWM board from Adafruite be suitable for this task? By the way. The Steering servo is usually also controlled by the ESC right? So how can they be controlled simultaneously? I only see one PWM. \$\endgroup\$
    – Mr.Sh4nnon
    Commented Mar 20, 2019 at 17:50
  • 1
    \$\begingroup\$ I don't know about Raspberry Pi accessories -- you'll need to figure this out. If the board you mention has 12x PWM, how do you only see one? \$\endgroup\$
    – TimWescott
    Commented Mar 20, 2019 at 19:39
  • \$\begingroup\$ I only saw one on the controller. But it seems the the VESC which was used from the MIT has two cables. One each for motor and steering. \$\endgroup\$
    – Mr.Sh4nnon
    Commented Mar 20, 2019 at 19:41

Your Answer

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

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