Enough testing had been done to settle on an interface. The fastest stepping in full step mode is 250Hz, so there's enough UART bandwidth for packets. The MOSFETS require PWM since 100% duty cycle at 5V makes them hot. It would be a 4 byte code with a 0xff, 0x88 sync code, a PWM duty cycle & the MOSFET code. Bits 0:2 enable the MOSFETs & bits 4:6 set the directions.
A delay of 4ms between steps made it spin fast. A delay of 256ms between steps made it spin coarsely but slowly. A delay of 15-19ms inclusive stalled it or made it spin backwards. The motor still got too hot at the lowest duty cycle which didn't stall, even though the MOSFETs were acceptible. It would need to time out the MOSFETs in the 4ms range & vary the duty cycle based on speed.
There wasn't enough precision for slow camera movement. This took the luster out of full stepping. With the roughness also encountered in microstepping, the only practical motor driver pointed back to an external L6234. The F330 can't drive the MOSFETS with its hard wired CEX pins. It needs to use an interrupt handler.
Blheli says it generates 24khz PWM on the F330. There's no sine wave table & it doesn't use the CPA to drive the MOSFETs, so it's probably full stepping. It uses the single Timer0 to generate PWM. There might be more precision to be gained with microstepping at 24khz.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.