Thread Tools
This thread is privately moderated by Jack Crossfire, who may elect to delete unwanted replies.
Mar 04, 2015, 12:05 AM
Registered User
Jack Crossfire's Avatar
Thread OP

Breadboard ESC

It was a niche, a basic, boring product no-one else in the world made. Path following wasn't going so well, either. Finally, a completely silent motor emerged. The only way to eliminate the commutation noise was to drive all 3 phases with continuous sine waves. That meant there could be no back EMF sensing. A single hall effect sensor would tell when there was a stall & the relative phase between the sine wave & the magnets. A PID controller would adjust the speed to optimize the phase.

It worked, more or less, but there ended up being a wide range of speeds which would give the optimum phase to the hall effect sensor & consume the same amount of current. Then it suddenly stalled or suddenly ratcheted, jumping in current & phase.

There was just enough bending in the hall effect sensor phase for the PID controller to keep it in the optimum speed. If it stalled, the program automatically started it back up. The optimum phase depended on where the hall effect sensor was placed.

The ATmega was barely fast enough, since it only had 256 clockcycles between PWM interrupts. 256 was the longest period the hardware PWM could generate for 6 channels. The ADC would fire on each PWM period. It would detect zero crossings instead of multiplying dot products, to determine phase.

A better strategy would be to use 1 timer to generate 4 software interrupts & use the software to bit bang the pins. This would allow it to run at the full 20Mhz, using an arbitrary PWM period, but not be as accurate as hardware PWM. There would be harmonics where similar duty cycles would hit the same interrupt. Hardware PWM was what would make it silent.

It needed the full 19V & the stepper wound motor to generate enough torque. It still didn't make any commutation or PWM noise at 19V. There would be no need for a BEC.
Sign up now
to remove ads between posts
Mar 04, 2015, 10:31 AM
Waste Nothing
RickC_RCAV8R's Avatar
Jack : I have been following this one for a while . What does your code look like ? I am still confused a bit as to the freq. of the interrupts and having to use a custom master clock . You mentioned the loss of the Atmega's internal kernel routines based upon the clock rate IF one chooses a custom clock instead . TIMER functions being clock dependent and such . I think that this is more of a Hall Effect sensor problem . What is its max freq. ? How about its sensing 'cone' window (aperature) ? Maybe the aperature is too wide . Just some thoughts on this one .

I would like to see your sketch / code though . Regards : RickC
Apr 04, 2016, 09:41 AM
Registered User
looks pretty cool, does the arduino control the car completely or does it just act as the programmed chip inside a normal esc?

Quick Reply
Thread Tools