Тёмный

9.5 encoder strategies for open source bldc control 

Josh Pieper
Подписаться 9 тыс.
Просмотров 11 тыс.
50% 1

Опубликовано:

 

11 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 46   
@mattanimation
@mattanimation 2 года назад
I'm always blown away at how much work you've done for this, kudos man.
@electronicscaos
@electronicscaos 2 года назад
From the last 14 years I'm working on repairing industrial servomotor's drives, including reverse engineering of a lot of stuff (from drives to communication protocols and even some proprietary encoders) and some development. And I can tell you that: your work is amazing. I do most my stuff inside FPGAs for convenience, but there are some old digital drives that runs servomotors with boards fully based on digital ports and comparators, without any programmed components in it.
@jonwatte4293
@jonwatte4293 2 года назад
What a round up of sensors!
@jcims
@jcims 2 года назад
Yes!!! Thank you so much for continuing to develop the platform. I'm really stoked to see this development as I'd love to use moteus to build a precision tracking gimbal. I built one for RF tracking last year and the built in mag encoder was perfectly fine for that, but optical is orders of magnitude more demanding for low speed performance, high stiffness, low jitter/noise. Seems like this could really help with that (plus ring motors/encoders are fantastic for gimbals) I don't know if i ever asked this on the discord, do you have any thoughts on the feasibility of adding a lightweight interpreter (eg lua or similar) directly to the firmware, allowing the controller to operate standalone for use cases that don't require an external comms/application (eg force feedback, stabilizers/dampers)? I started going down that road but had to hang the project up for other reasons.
@awesjosh
@awesjosh 2 года назад
Thanks for the positive words! I do have plans to implement user executable scripts, although they aren't very fleshed out at the moment.
@jcims
@jcims 2 года назад
@@awesjosh That's awesome!!!
@franksiam2975
@franksiam2975 2 года назад
good work, thank you for the video. please also make a sensorless variant. you have current sense onboard. for low speed i think HFI is good.
@awesjosh
@awesjosh 2 года назад
I'd definitely like to!
@imabeapirate
@imabeapirate 9 месяцев назад
How did you order the IC pz encoder? I'd love to try one out, but can't figure out how to get one for a 26mm shaft at the resolution you used?
@awesjosh
@awesjosh 9 месяцев назад
You can order prototype quantities of ic-Haus products in the US on their US website: us-shop.ichaus.com/
@candas1
@candas1 2 года назад
Hi, I am a contributor to an open source FOC firmware meant to be used on hoverboard mainboards. I am working on some improvements like deadtime distortion compensation and discovered your blog and youtube channel. It's a gold mine, thank you so much for sharing all this knowledge. Did you happen to test cogging torque compensation on the hoverboard motor? Is the ripple noticeable on a motor with that many poles? Thanks in advance.
@awesjosh
@awesjosh 2 года назад
Thanks! I haven't tested cogging compensation on hoverboard motors, although I do have some data points that may be useful. The current cogging compensation implementation assumes a known absolute rotor reference. While it may work on hall-effect only motors that lack that, sub-optimality may result. Hoverboard motors don't have a lot of cogging torque anyway, and high pole count motors will generally not work as well with this technique, so it isn't something I was even thinking of exploring. That said, there may be gains to be had if you want to try.
@girayyillikci3188
@girayyillikci3188 11 месяцев назад
Hey Josh, I looked for the 3d print part that holds the encoder reader. Could you provide the model link please. Thanks in advance, Keep your good work 👍
@awesjosh
@awesjosh 11 месяцев назад
There are a lot of 3d printed parts in this video... which one are you asking about?
@girayyillikci3188
@girayyillikci3188 11 месяцев назад
I m sorry, the one for aksim-2 @@awesjosh
@awesjosh
@awesjosh 11 месяцев назад
Here are links. However, I'm not sure I'd recommend their use. 3D printing tolerances and rigidity are only barely suitable to make the AksIM-2 work. Here I was just trying to demonstrate that it would work at all, not make a usable end system. drive.google.com/file/d/18l3m_1UHxQQP-YGWm4zG2CfOQZ1IhFtA/view?usp=sharing drive.google.com/file/d/1rl7AZosQT7wwO9aKcB-BATbgy3DkYugY/view?usp=sharing
@minisebino
@minisebino Год назад
Hi, is it possible to use the AksIM-2 encoder over SPI on the aux port? If not, could you tell which communication type is supported for RS422? There is Asynchronous serial or Binary synchor-serial as options on the website. Thank you. Great product and videos btw! Keep up to good work :)
@awesjosh
@awesjosh Год назад
SPI is not supported for the AksIM-2, only RS422. Asynchronous serial is the correct option.
@bennguyen1313
@bennguyen1313 2 года назад
I understand the Hall effect , RLS absolute encoder, and Quadrature incremental encoders are used to keep track of position, but how is the commutation done? Is that all sensor-less, i.e. it uses just the back-emf of the motor? Also, is a BLDC motor a subset of a servo motor? For example, if a brushless motor has the encoders and electronics for commutation then it's a servo motor? I'm interested in learning control-loops (PID, model-based, etc).. eventually do robot applications, something like that of peng-shihui's ONE robot. Do you have any tutorials or online-courses that you'd recommend? For example, Arizona edu has a nice AeroPendulum project that uses Processor/Hardware-In-The-Loop.. unfortunately you need Simulink!
@awesjosh
@awesjosh 2 года назад
For commutation, the relationship between the rotor and stator must be known. Hall effect sensors provide that information coarsely for a motor of any number of poles. Absolute positioning sensors can also provide that information if the resolution is sufficient to resolve between the poles of the motor. For instance, the absolute magnetic sensor on moteus works fine for motors with up to around 40 or 50 pole pairs. Sensorless approaches can also provide that information, although the most general ones require that the motor be moving at a decent speed to be accurate enough to use, so there is typically an open loop spin-up phase and low speed operation is not possible. Servo motors are any motor, brushless or not, where the output position is fed back into the control loop to reduce the output error. For control loops and practical implementation, many vendors have good information and tutorials. For example Microchip has a wealth of resources, including things like the video "20084 MC2 - How to Succeed in Motor Control". I don't have any specific online courses to recommend unfortunately.
@SurvivalSquirrel
@SurvivalSquirrel 9 месяцев назад
Everything about this video ist very good! Except that ugly solder blob at 14:55 ;-). If i wouldnt be somewhat poor, id send you some money for that effort.
@kristofpucejdl
@kristofpucejdl Год назад
Hello, I am wondering if I can use the AS5048A? I just got some iFlight gimbal motors with this encoder mounted. It comes wired in PWM output mode. I suppose it could be rewired to SPI though.
@awesjosh
@awesjosh Год назад
That encoder is not currently supported, although if you wanted to hack in the firmware it would probably not be too hard to add.
@kristofpucejdl
@kristofpucejdl Год назад
@@awesjosh Alright, good to know. Funny enough it actually seems to work fine via SPI... I have not even checked the interfaces, they just looked similar so I figured it was worth a try. I am, however, facing the issue with the poor current measurement with the gimbal motor. I read your blog post about switching out the shunts but sadly I only have much larger values on hand (0.1 Ohm is the smallest) and I think that wouldn't work. Btw I am at CBA @MIT Media Lab right now, trying to make use of your controlers for some robotics project :) You happen to in Boston area as well right?
@awesjosh
@awesjosh Год назад
@@kristofpucejdl for gimbal motors you can use a non-current controlled mode for better response: jpieper.com/2021/12/06/voltage-mode-control-for-gimbal-motors/ If you are interested, the mjbots Discord can be an easier way to have back and forth conversation: discord.gg/W4hUpBb And yes, we're based in Cambridge!
@awesjosh
@awesjosh Год назад
Dm me on Discord and we can discuss!
@awesjosh
@awesjosh Год назад
Or email to jpieper@mjbots.com !
@piotrpokryszka805
@piotrpokryszka805 Год назад
I would like to use your design as a mechanical shutter for the light beam. Can you tell me at what maximum frequency the motor can rotate ? What is the stability of rotation ?
@awesjosh
@awesjosh Год назад
The more likely limit in an application like that is maximum acceleration, for which the answer is entirely dependent upon the load. The best I can tell you is to try experimenting and see what is achievable.
@piotrpokryszka805
@piotrpokryszka805 Год назад
@@awesjosh The motor will rotate at a constant speed. acceleration is not important, but the stability of the rate of rotation.
@awesjosh
@awesjosh Год назад
Understood. However, the answer is largely the same. I have not quantified rotational stability with any motor, you'd have to experiment.
@piotrpokryszka805
@piotrpokryszka805 Год назад
@@awesjosh Thank you for your reply :)
@Ender_Wiggin
@Ender_Wiggin Год назад
Have you looked into the MPS MA330 encoders yet? They have some solid dev boards if you want to test them out.
@awesjosh
@awesjosh Год назад
I have validated other MPS encoders, like the MA732. In my tests, the AS5047P that moteus now uses provides superior performance, albeit with a larger package size. jpieper.com/2020/08/21/testing-alternate-magnetic-encoders/
@Ender_Wiggin
@Ender_Wiggin Год назад
@@awesjosh I am surprised that it performed better. I would love to read the write up of those results. I am considering using the MPS encoders and would like to know what your results showed. I know one option I have considered is the MA600 seems to use a different front end tech. My backup option is the Broadcom AEAT-8800 or AEAT-9955 but they are quite costly.
@Ender_Wiggin
@Ender_Wiggin Год назад
Just realised that you are doing software based quadrature. Is this inturpt based? What is the max edges per revolution pre sec before the motor control performance is affected?
@awesjosh
@awesjosh Год назад
It is interrupt based for the r4.11. You should aim to keep the rate at less than 30k counts per second, although depending upon signal integrity brief periods of up to 2x that are OK.
@Ender_Wiggin
@Ender_Wiggin Год назад
@@awesjosh Are the pins different for the N1 hardware?
@girayyillikci3188
@girayyillikci3188 10 месяцев назад
Hi Josh, For the aksim-2 what did you use as an interface to program the aksim encoder? If additional converters or aux devices from RLS i would like to buy them. I did the assembly with the 3d parts but the encoder flashes red light. I believe I need to program it as you also mentioned in your article. Best
@awesjosh
@awesjosh 10 месяцев назад
I did no additional programming with the AksIM-2 at all, I get them from the factory and wire up with that circuit (or connect them directly to the moteus-n1). It is probably easier to provide support in the mjbots Discord if you can go to mjbots.com and find it. If not, what moteus board do you have?
@pcboreland1
@pcboreland1 Год назад
Will this work with a 23 bit encoder like the Broadcom AS37-H39B-B?
@awesjosh
@awesjosh Год назад
Unfortunately, the protocol for that encoder is not supported at the moment. The closest comparable would be the AksIM-2 from RLS.
@awesjosh
@awesjosh Год назад
The only encoder moteus supports currently that has a 22-bit resolution is the ic-HAUS ic-PZ as shown in this video. However, it is relatively hard to use. The moteus firmware is open source, so you can always add support for any encoder you like yourself.
Далее
VESC (Best Open Source ESC) || DIY or Buy
10:42
Просмотров 620 тыс.
FOC Driver Controller PCB - Slow Brushless Control
14:19
Open Source ESC based on Arduino - High Speeds
16:58
Просмотров 177 тыс.
FOC Driver + Feedback Magnetic Sensor - Arduino
14:34
Brushless DC Speed Controller
15:11
Просмотров 364 тыс.
How to build MIT Mini Cheetah Controller
12:29
Просмотров 105 тыс.