Version 2 of AN3813K Brushless DC Motor Driver Arduino Shield (PLL Version) for use with VCR Cylinder Motors with precision speed control with feedback.
Specifically designed to be used with the Arduino ProMini PiDuino HAT and the STM32F746G Discovery Board, but can also be used on any Arduino Uno R3 compatible target. Supports both 5V and 3.3V logic with on-board level-shifters.
This version replaces the old Version 1 board. This version has improved voltage ranges and trim control for the V-to-F and F-to-V circuits, adds a flip-flop to make the V-to-F output 50% duty cycle, and fixes the AN3813K chip footprint without the need for an adapter board, as it’s a Shrunk DIP-18 not a Wide DIP-18.
Note: Populate either C1-C3 with R1-R3 or populate C12-C14 without R1-R3. C1-C3 is a low-side filter and C12-C14 is a high-side filter. Only one set is needed. Preference is generally for C12-C14. In either case, those capacitors should be bipolar.
All smaller surface mount discrete parts are 1206 footprint.
ERRATA: This version is missing a very important 10K pull-up resistor from LM331 V-to-F (U301) pin 3 (output) to pin 8 (+5VA). Without the pull-up resistor, the U305 flip-flop will not see the frequency output from the V-to-F and the U304 PLL will not have a frequency reference to lock to, keeping the Torque Error (ET) signal to the AN3813K in the off-condition, and the motor will not run.
Note: The 4046 PLL circuit often doesn’t drive the ET (Torque Error) signal low enough during initial startup to provide enough torque to get the motor spinning. Some clever programmatic manipulation of the Speed and ETR (ET Reference) DAC values after applying the motor enable signal can be made to work as an automatic startup solution.
However, the simplest solution, if manual start is acceptable, is to add a manual push-button between ET and GND to serve as a “start button” for the motor.
Another automatic solution would be to replace the push-button with a MOSFET transistor connected to an unused processor output pin, but that burns another processor pin.
See the AN3813K BLDC VCR Cylinder Motor Driver Arduino Shield PID Version V1 for the PID Version of this board. Both versions are viable solutions depending on preference of Analog PLL circuit or Digital PID via a microcontroller.