Can't help myself: going to arm chair quarterback this.
Since sine waves work better at low speed consider a DAC driving small power amps. A dual output 8 bit DAC could easily generate the frequencies involved and allow tailoring the curve with RPM. Closing the loop would likely be easier and more effective with an optical pickup of some sort: that would do away with back EMF problems at different speeds and increase precision for better tuning, which is crucial for efficiency.
At some point off-the-shelf motor drivers are insufficient.
A brushless motor controller is basically a DAC anyway - so no need for separate components.
A brushless motor is essentially 3 large inductors. They act as a filter to PWM drive signals, which means that the resultant current is fairly continuous - much like a class D audio amplifier uses the inductance of a speaker to create smooth sine waves.
There's no need to add an intermediate smooth analog stage (which is what a true DAC would give you) - because then either you drive a linear amplifier and have massive power losses in the drive transistors, or drive a class D type amplifier (which turns your nice continuous signal back into PWM to the drive transistors) and you've just added an unnecessary digital -> analog -> PWM sequence.
When you want good low speed control of a brushless motor, the gold standard is a high resolution encoder (often magnetic) coupled with "field oriented control" - which is essentially using your 6 drive transistors to create a magnetic field which is exactly 90 degrees ahead or behind your permanent magnet field. You can use entirely digital PWM switching to create that field, as the natural filtering effect of the motor coils smooths it out, and the resultant driver & motor is highly efficient.
The much simpler "6 step commutation" discussed in the video can give almost as good control at low speeds, but the magnetic field you create in the coils isn't necessarily perfectly aligned with your motor's magnetic field, which means some of the magnetic force generated is just pulling on your bearings and not driving the motor. That means overall efficiency is slightly less and the torque at low speeds is variable depending on rotor position.
Would work, but I'd estimate that it would require 4x the circuit area that this fella is working with. Plus adding some Z axis height for the optical encoder.
For what he wants to do (real small, real light PCB based BLDC motor), I'd say his approach is right on track.
A DAC would involve a larger PCB. A small DDS (si5341) would be pretty good though at 3x3mm. Three phased channels could drive the six inductors far beyond any feasible speed here.
> Plus adding some Z axis height for the optical encoder.
A SMT photodiode and IR LED could do this off the edge with some fiddling, which appears to be in ample supply here.
Huh? That DDS is a silly choice. For one thing, those chips are $27 a pop and only available in QFN44 and QFN64. (May have been smaller FF at some other point, but not any more.) The final BLDC driver he selected is like $1.50.
Not to mention that you can't adjust the drive phases of a DDS with I2C fast enough to be of any use for BLDC. Once you add in a sensor/feedback element, it definitely wouldn't have the latency performance you'd need for BLDC.
You'd usually want 3 phases for a brushless DC motor, right? Though I'm sure theres a cheap Chinese 3/4 channel DAC on LCSC since the output quality won't matter.
I haven't considered using a DAC with a motor before, but that strikes me as extremely inefficient, which is one of the design considerations. You're basically going from a simple class D amp to a class A one. The motor has plenty of inductance so you may as well PWM it for efficiency.
Since sine waves work better at low speed consider a DAC driving small power amps. A dual output 8 bit DAC could easily generate the frequencies involved and allow tailoring the curve with RPM. Closing the loop would likely be easier and more effective with an optical pickup of some sort: that would do away with back EMF problems at different speeds and increase precision for better tuning, which is crucial for efficiency.
At some point off-the-shelf motor drivers are insufficient.