You call it FOCShield... but it does not do Field Oriented Control. Too be able to control the field, you have to messure the phase currents... but you dont do that. What you are doing is a sinusoidal cummutation not a foc!
I can't believe this happened in my version of the universe!! Great project Antun Skuric!! I have to say u produced something affordable than odrive controller or clearpath motors. The opensource community is going to celebrate this invention. Is this suitable for 3d printers? Can we have both position control and velocity control integrated in someway for moving over large distances?
Great project! I have used your library and the motors have excellent torque without any overheating. If I wanted to control the motor movement with different input devices like a joystick or another encoder, is the software easily adaptable for this functionality.
Would have never thought that the simple Atmega328 has fast enough float math to do the FOC algorithm at reasonable cycle time (not to mention ADC sampling speed). What is the typical update rate of the algorithm?
I see the program file. He does not use fix time interval or interrupt for control loop. But made it in loop program. Just relax to the code to finish its routine command until the end of program then start a new loop again and again. So it definitely work without constraint in calculation time. It also made me puzzled.
Hello Antun, I am still playing with this library and having some issues...still. 1. with the angle control i have to type a target "T6.275" to get 1 full 360 rotation I cannot figure out why its not "T360"??? I have the encoder set to 2048 and everything initializes good...2. I have been using an UNO clone and also esp32 D1 R32 but the esp just will not work correctly it works but is all jittery and makes the motor hot also the simplefoc shield V2.0.4 not the same one you are using. I have mapped the pins correctly but maybe the esp pins need to be a specific type like interrupt pins or pwm pins although im pretty positive they are all interrupt capable???
great, simple description. Thank you. could this work to drive a BLDC generator, spinning at say 6000 RPM. I have an engine tied to a BLDC and would love to use this for FOC in regenerative mode
@@theskura Thanks for your reply! Oh I didn't know it supported the drv8301. I'm planning on using the drv8302 driver with STM board. Where can I find some documentation about using a STM board?
On Aruduno UNO , 12V power supply and the optical encoder with 2048 ppr, the max speed is around 10 rad/s. But if you configure atm103 to 500 ppr then you can go up to 25rad/s and so on. If you use stm32/esp32/Teensy and similar you'll be able to go up to 70rad/s. The same is true if you use SPI sensor instead of optical encoder even for Arduino UNO. :D
@@theskura thank for this response. Any ideas on how to jack it up to 200 to 300 rad/s? (I believe the max speed for the gimbal motor is around that range?)
@@creative_cooper Maybe for 48V or at least 30. On 12V they will not be able to go higher than 60-70. On 24V, they can go up to 120. At least the motors from the video GBM 4108-120T. To go up to 100+ rad you will need to switch to stm/esp/teensy/samd boards though
This is one of the more under-rated channels I've ever seen.
You call it FOCShield... but it does not do Field Oriented Control. Too be able to control the field, you have to messure the phase currents... but you dont do that. What you are doing is a sinusoidal cummutation not a foc!
Really you have done a great work @antun skuric. Good job and keep it forward to some more applications.
Wonderfull !! Excellent !! Just what I'm looking for !
I can't believe this happened in my version of the universe!! Great project Antun Skuric!! I have to say u produced something affordable than odrive controller or clearpath motors.
The opensource community is going to celebrate this invention. Is this suitable for 3d printers? Can we have both position control and velocity control integrated in someway for moving over large distances?
@@theskura That's fantastic! How can we contact you if we have any future queries or suggestions? Pls, provide the contact info.
Please Show exactly what you type in. Your documentation is not clear to me.
Thank you so much for this!
Great project! I have used your library and the motors have excellent torque without any overheating. If I wanted to control the motor movement with different input devices like a joystick or another encoder, is the software easily adaptable for this functionality.
do U have an example with foc mini, but without encoder. i cant make it work with uno and 2408 motor.
Would have never thought that the simple Atmega328 has fast enough float math to do the FOC algorithm at reasonable cycle time (not to mention ADC sampling speed).
What is the typical update rate of the algorithm?
I see the program file. He does not use fix time interval or interrupt for control loop. But made it in loop program. Just relax to the code to finish its routine command until the end of program then start a new loop again and again. So it definitely work without constraint in calculation time.
It also made me puzzled.
amazing projeck
Do you have any experience with using L6234 in max current (5-6A)
Does everything work as well?
Great job!!!
Hello Antun, I am still playing with this library and having some issues...still. 1. with the angle control i have to type a target "T6.275" to get 1 full 360 rotation I cannot figure out why its not "T360"??? I have the encoder set to 2048 and everything initializes good...2. I have been using an UNO clone and also esp32 D1 R32 but the esp just will not work correctly it works but is all jittery and makes the motor hot also the simplefoc shield V2.0.4 not the same one you are using. I have mapped the pins correctly but maybe the esp pins need to be a specific type like interrupt pins or pwm pins although im pretty positive they are all interrupt capable???
Hey @DustanWebb, the angle is in radians. So for one full rotation you'd need 2*pi radian = 6.28. Also the velocity is in rad/second. :D
@theskura ah...thank you that makes sense, I just figured I didnt configure something correctly.
great work bro
great, simple description. Thank you. could this work to drive a BLDC generator, spinning at say 6000 RPM. I have an engine tied to a BLDC and would love to use this for FOC in regenerative mode
Can i use an optical encode like photoelectric encoder? It has A and B channels as well
Yep sure!
Hello what could be the problem with the serial comunication?
To add to that; what CUI encoder is on the back of that thing? An incremental one right?
Very interested in this board. Can you recommend some truly high torque motors compatible with this board?
Is absolute angle control possible from the get-go? Or would you need homing?
Amazing work! What about implementing a DRV8301 or TMC4671 driver? Thanks!
@@theskura Thanks for your reply! Oh I didn't know it supported the drv8301. I'm planning on using the drv8302 driver with STM board. Where can I find some documentation about using a STM board?
Can we use 1 Chanel encoder for this project
So with this setup you can only control one motor with one arduino?
Great work!! Which is the model of brushless motor you are using in the video?
Thanks a lot! It is one of the iPower GBM 4108-120T :D
Can I use this arduino in control servo motor.
Awesome work, as always, but please Antun - remove your address on your website! Looking forward to you making robots with this :D
can u do it with ML?
Is there a way to buy one from you directly?
Maybe you should hack a JYQD board to drive bigger motors, like a Hoberboard Wheel... O.0
I mean, that board is driven with PWM, but you may hack it to make it work with STEP/DIR interface with your project to hold position with big motors.
I'm curious, what is the maximum speed for this?
On Aruduno UNO , 12V power supply and the optical encoder with 2048 ppr, the max speed is around 10 rad/s.
But if you configure atm103 to 500 ppr then you can go up to 25rad/s and so on.
If you use stm32/esp32/Teensy and similar you'll be able to go up to 70rad/s.
The same is true if you use SPI sensor instead of optical encoder even for Arduino UNO. :D
@@theskura thank for this response. Any ideas on how to jack it up to 200 to 300 rad/s? (I believe the max speed for the gimbal motor is around that range?)
@@creative_cooper Maybe for 48V or at least 30.
On 12V they will not be able to go higher than 60-70. On 24V, they can go up to 120.
At least the motors from the video GBM 4108-120T.
To go up to 100+ rad you will need to switch to stm/esp/teensy/samd boards though
@@theskura great!... I'd buy the boards and experiment myself. Thanks.