We wanted to take a look at a novel approach to driving the haptic motors. Why not go for a common and cost effective constant current driver? Teammate Peter provided a driver for me to play with. It is at this point I started to wonder if he is playing with my mind. The driver provided is a SM16126D, for which I can I only find the specification sheet in Chinese 1804162143_Shenzhen-Sunmoon-Micro-SM16126D_C81394.pdf (lcsc.com). Well, CLK is clock in any language, let's wire this up.
Not wanting to get too crazy, I went with timing using the Arduino delayMicroseconds with the minimum recommend value of 3. That gives me a clock frequency of 333Khz which is well below the max frequency of 25Mhz that the chip can handle, yet it should give me some level of control over the sensation provided by the haptic motor.
Breadboard that all up with the circuit.
Nothing good... unfortunately the motors in the haptic device don't appear to respond well to the constant current driver. The motor will spin up a few times, then not work again unless I reverse the polarity, then I get a few more spins. I think it may have something to do with how the constant current driver is always at a specific voltage and limits the current to zero when in an "off" state. You can see it as the Blue trace on the scope.
A few more tests, but I think I may be back to the driver drawing board, and off to a more traditional motor driver configuration.