I’m working on a prototype for a motorized knob. I just discovered SimpleFOC and it looks amazing! Can’t wait to start experimenting with it. This is my first post here so if I’m in the wrong place, my apologies.
My aim is to create a knob that can be turned smoothly by hand (like a rotary potentiometer) while also being motorized to move to the correct angular position determined by a Teensy microcontroller. I am planning to use an AS5048 encoder, a Teensy 4.1, and a low cost shaftless BLDC motor such as the one linked below:
I’m familiar with brushed DC motors, but I haven’t worked with brushless DC motors before. I’ve read about cogging in brushless motors. Is cogging typically noticeable enough in an inexpensive motor that it would prevent a smooth rotational action when turning by hand unpowered?
I’m also considering using a stepper motor, but I’ve heard that they are more noisy and power hungry, which are both considerations for my project.
Have you seen the smartknob view project by Scott Bez? It is probably of interest to you. There are also some other users here who are doing related work with haptic textures (I am also interested in these).
There is no way to predict the cogging torque from Aliexpress, these listings are super devoid of technical specifications for the most part. I bought a sample of almost all of the BLDC motors that are under $3 on Aliexpress and the cogging varies wildly, sometimes even from motor to motor of the same kind (although it is certainly small and the user will not notice if you only have one to compare against). I have this motor you linked though, and the type B type A version has very low cogging torque (and has 360 rotation), I really like it. Although, I will say (in general), for UI experience, you can notice the cogging much less when you are pushing on the knob (i.e. if it installed in a panel, or similar). You will not really notice it at all if you are driving the motor even with small currents like 200mA. This is another one I can recommend: https://www.aliexpress.us/item/4001287141247.html?spm=a2g0o.order_list.order_list_main.102.55b51802v9Hs1f&gatewayAdapt=glo2usa4itemAdapt&_randl_shipto=CA
you do not want to use stepper motor for this, they are hard to backdrive and have significant detents that are nice for indicated that you are turning something but if you are planning to additionally implement feedback, it will not be nice.
earlier I wrote that the encoder was bad, I was thinking of AS5600. this encoder should be fine
I went through that smartknob project to find a good motor. I ordered a number of candidates for a couple bucks each on aliexpress. Some of them are very low cogging, not something you would notice in your application I think. Most of them would be very noticeable, however with the sensor and so on you could probably compensate for it. I could not use the aliexpress motors in my project, but here were the good ones, I have 7 of them I have no use for if you want them: https://www.aliexpress.com/item/1005004385440039.html?spm=a2g0o.order_list.order_list_main.114.50041802AjwRvB
Make sure you get the one that has full 360 degree rotation.
Thanks for the reply. Yes I have seen the smartknob project! Very cool stuff, can’t wait to see what the community does with it. I don’t need any of the haptic stuff for what I’m working on, just angular positioning, but it has given me some helpful insight regardless!
Do you have any suggestions on magnetic encoders that are less expensive than the AS5048? I am working with USB midi and am planning to have multiple knobs going at once so 14 bit and SPI capability are the main things that would be nice to have.
yeah there is one floating around on the forum, the SC6022DC or something, that is recommended. Apparently it’s fast and food. You can get the magnets on aliexpress btw, search diametrically magnetized magnet, 6 mm ones are recommended.
Some people are saying the driver with simplefoc works fine with that angle sensor, I found there was a minor issue with it but that might have been a problem with my code.
I would love to see more info on your project when you are ready, I was also interested in doing USB midi devices with knobs
MT6701 is 14 bit and has SSI (similar to SPI)
MT6835 is “21” bit with SPI
these are both relatively cheap. @Karl_Makes_Music has a good bit of experience with the MPS sensors and can probably make a recommendation.
I would be happy to take those leftover motors off your hands if you still have them Anthony! It might be because I’m on mobile but I’m not seeing a way to PM you. If you’re able to, can you send me a message and we can coordinate from there?
Thanks for the advice on encoders and magnets as well. The 6701 looks like a good fit.
I will try to post some updates here with my progress once I have some stuff put together! I actually managed to make a working prototype that responded to midi CC info in real-time from my DAW using a DC motor, a potentiometer, and a Teensy in USB midi mode. It worked albeit with major overshoot and oscillation issues. The non-geared DC motors I was able to find were either too high rpm or didn’t have enough torque to get usable results and geared DC motors are noisy and don’t rotate nicely by hand so hopefully BLDC and simpleFOC are the answer!