I didn't want to damage Arduino Nano 33 IoT board and I didn't know what signals were appropriate for the motors and their wiring diagram etc., for the motors that I salvaged from and office printer. So, to avoid any mishap, I used my Arduino Uno to experiment with motors first.
I provided clock signal of 20kHz using PWM on one of the Arduino pins and supplied other signals like CW/CCW, START/STOP, READY, etc. and gave power. It ran perfectly fine! You can see the gears in the picture below.
It was running smooth. Even when I gave brake signal, the motor would stall instantly. However, I don't know why I did what I did later. I thought let's spin the motor in reverse direction. This is because in the chair, we need both directions, i.e., standing up and sitting down. I stupidly gave the CCW signal without stopping the motor and it stopped. Since then, it's not working anymore. I don't know what must have happened but I notice that it's still consuming 63 mA compared to ~200 mA in usual situation. After fiddling around for some time and trying another BLDC motor from same printer, I turned to stepper motor. Other BLDCs couldn't fit into those gears because of different pitch of their teeth.
Anyways, now that I had stepper motor, I needed a driver as it didn't have one. I had L293DNEL293DNE in my Arduino box (luckily!) so I tried to run stepper motor with it. And it worked fine! So, from BLDC to stepper motor, my project experienced unexpected turn. Anyways, I continued and fit this motor unit onto the chair to experiment.
