It’s the most enlightening channel I’ve found in YT on the force feedback implementations. Thank you soooo much! Your movies give inspirations to my next project - force feedback suit for a flight simulator. So I’m planning to apply: - joystick Y axis with 200W BLDC motor - joystick X axis with 125W BLDC motor - rudder pedals with gimbal BLDC motor - throttle lever with gimbal BLDC motor (autothrottle ready + thrust reverser function) - flaps lever with gimbal BLDC motor (number of detents dependent on aircraft) All motors equipped with AS5048/5600 encoders. The gimbal motor planned for rudder pedals is too weak for the real force feedback action. It will provide position sensing and some vibration effects.
Great work! I made my own smart knob with a esp32 + 2804 bldc motor + as5600 magnetic sensor... it´s working great and I was searching for how to improve the virtual detents feeling when I found your video! thanks!
We'll be great to use for boat engine control(forward, neutral, reverse and proportional speed control with feedback) and also with joystick docking system
I want to make this for music playback now, but also with the ability to seek/scrub through a song using the dial. It could be the playback indicator too, showing progress. And it could have detents at the ends for next/previous!
Wow, great vid! The new PS5 controllers have a kind of haptic feedback that makes the video game control extremely realistic. I really hope that something like this will be developed by the video game industries.
I always wanted to build some cool stuff using bldc motors for now i am just running some bldc with simple esc, but the FOC is great, amazing and wanted to learn FOC It seems like you and i have same area of interest
this reminds me of the iDrive control knobs. They can't move themselves, and the clicks are all mechanical, but if there's no further options, you can't rotate the knob any further. I'm not quite sure how it works (disassembly videos don't really show enough to really see all the parts). Can't wait to see more work on this, I would love to have an extra input device that rotates, even just as an over-the-top volume knob. But a lot of other workflows could benefit from it, too, from digital painting to video games.
Which library on patreon pertains to this video? because there are three for closed loop? are either one of those have the exact setup in this video? because that's the one I'm looking for
I like the idea of the knob being the indicator in your product example but I don't think it would work for most users. You should try with a separate display ( and the knob being just a knob)
How does this translate to running on an ESP32? I would imagine the register changes for PWM frequency would need to be modified but otherwise it would work fine?
Hi Pablo! ty for you research work, would you upload the schematic for the breakout board of the l6234 driver? i can't buy the board anymore so atm i have only the ic and i would like to make the pcb on my own
I am currently working on a project at witch i also need to make a haptic knob. So i wanted to become a paytrion member but saw i could only pay with creditcard or paypal wich i dont have. Is there any other possibility to see your code?
Amazing demo! What a great channel, your videos are very clear and consise, which makes it very easy to follow. I was wondering if you could shed some light on whether it would be possible to use your code on an arduino to control an ESC and motor (paired with an encoder) to do FOC? As I was thinking of using bigger motors, which would need a lot more current than your board can supply. Still thinking of buying one to test it out on a smaller scale first.
Im afraid it could be challenging with ESCs, but ill look into it and let you know if I find something promising. You can also check Vedder VESC project :)
I've bought your controller board and I'm very excited to finally get to learn more and get hands-on experience with BLDC motors. Funny enough I'm more interested in learning now than when I was studying Electronics Engineering the couple past years :D One question though - will I be able to do position control with a BLDC sensorless motor with the control board? Cheers from Denmark
Thanks and congratulations! You will be able to, but it will be open loop, therefore it wont have a lot of torque. There is a video on Open loop control on my channel, take a look at it. :)
@@juanpablocanguro Awesome! I've just received the board but I have a question regarding the bootloader that needs to be installed. I can't seem to find the MISO/MOSI/SCK/RESET pins on the new revisited board, which are shown in the Setup Guide. Only VCC, GND and A0,A1,A2 and A3 can be found. How do I proceed? Best Regards
@@juanpablocanguro Yea awesome! Well, playing around with a motor only lasted a few minutes until one of the AO4606 blew.. :D Was only doing around 2A continuous. Ordered a few spare AO4606 chips so I'll see if I can replace the bad one. Learning already! Cheers
Thank you for sharing your ideas freely. I've been playing with brushless motors but it didn't do what I wanted. These ideas are very cool and I'll revisit my projects and make them a reality. Question. What kind of power or motor size do you need for a UI like this? I've been stuck in the gimbal brushless versus RC brushless. Is it noticeable that you use one or the other?
No, a normal DC motor cant do this as the coil control is made mechanically on the commuter. You can order a board from the link on the video and experiment :) its super fun!
@@juanpablocanguro for me it's possible, but I don't understand how do it. Maybe I have to control pwm with angular position instead counter... Which is your philosophy about pwm control?
Well, once you understand that the angle of the field is changing direction and intensity, you could potentially do it with an H bridge and an angular encoder, you would create a lookup table or a function that correlates the angle of the shaft with the direction and magnitud of the magnetic field. You cannot change the angle between the magnetic field and the rotor as is kept relatively constant by the commuter, but you can change the intensity with pwm and its direction. So a Proportional control law would represent the “spring” example... youll have to program more code to achieve the same result. Good project!
Hello Pablo... this is very interesting and has tremendous application in haptic feedback... I really admire your research on this topic.. gives lot of motivation to explore this field.... may I ask what is the correlation between the Electrical Position(epos) and Number of notches created? Did you found this notches number(8 and 34) by try and error method ? I suppose some mathematical correlation/equation could be derived. I would appreciate if you could shed some light on this topic.
Thank you Hannan. Yes, trial and error to start but then the logic behind it kicked in. I recommend you experiment a bit and let me know if you get stuck along the way, maybe I can be of help :)
@@juanpablocanguro Sure my friend with whom I will be working on a project has ordered 3 boards from eBay recently. The new boards are little different from your old board. How to flash bootloader on the new boards as the Pitch pins not available on new board. Or bootloader flashing is not required?
@@juanpablocanguro Hello Pablo, I got your board and I must say that they are really nice andhandy..... Well I experimented with changing the equation and I was able to generate many different number of detents( or notches/bumps what you call it.... sometimes these notches are not evenly distributed for 0 to 360 degree of knob .......... so far I did not find any robust logic behind this... i plotted the epos for complete range of electrical positions 0 to 48*P for various equations... i find that there is some correlation or logic but the number of detents generated does not directly makes sense.... Please could you give a hint if I am in correct direction... your feedback would be highly appreciated.
@@420hannan in my experience I noticed some notches skipping because of sampling frequency. Maybe thats the case? I think the program might need more refinement as this was more a proof of concept than an actual finished code :) let me know what your research shows :)
Consider continuing the same research using voice coils. They have linear torque/current ratio and you can calculate impact force by posistion. I was in the same exact path with you regarding haptic, but for a FB/haptic thumbstick. That's one of the designs: liliumjsn.blogspot.com/2019/07/voice-coil-redesign-for-maco.html?m=1 Keep up the great content!
@@juanpablocanguro Ask someone who's never used it before to play a CD, especially someone who's never used a CD player before, see how long it takes them to figure out they have to wave their hand in front of it to open it and how long it takes them to figure out how to play something. It appears to light up all track number buttons until it realizes the track count is limited then unlights; that's a bit confusing. The buttons aren't delineated by purpose so it takes a lot of scanning. It's clearly form-over-function. I think you're confusing intuitive with memorable. At least that's one up over most UI's described as intuitive: they are neither intuitive or memorable.
Thanks Pablo, for introducing the "relative" speed concept between two magnetic fields. It does inspires me or rather, reminded me of one of the ways I saw other people do things like active cancelling of the cogging torque, which I never was able to understand until now, at least a bit closer :-P One small question, in terms of the triangular or sawtooth torque/stiffness bumps/notches, I found in "Closed_loop_haptic_interface_youtube.ino" file please correct me if I am wrong but, did you just use the switch case statement to generate such waveforms?
It’s the most enlightening channel I’ve found in YT on the force feedback implementations. Thank you soooo much! Your movies give inspirations to my next project - force feedback suit for a flight simulator.
So I’m planning to apply:
- joystick Y axis with 200W BLDC motor
- joystick X axis with 125W BLDC motor
- rudder pedals with gimbal BLDC motor
- throttle lever with gimbal BLDC motor (autothrottle ready + thrust reverser function)
- flaps lever with gimbal BLDC motor (number of detents dependent on aircraft)
All motors equipped with AS5048/5600 encoders. The gimbal motor planned for rudder pedals is too weak for the real force feedback action. It will provide position sensing and some vibration effects.
this is genius! This going to bring a much better user experience for future products!
Awesome demo!
Great work! I made my own smart knob with a esp32 + 2804 bldc motor + as5600 magnetic sensor... it´s working great and I was searching for how to improve the virtual detents feeling when I found your video! thanks!
Good luck, let me know how you go!
which BLDC motor driver did you use?
@@ronitkumar9259 simplefoc mini
Wow, that is genius! Thank you for sharing!
Exceptional video as always! Thank you ;)
BMW did this with the iDrive in 2002. It blew my mind the first time I used it
I remember!!! I came across the patent from the company that developed it for BMW
This is great. Immediately thought about using something like this for my electric skateboard remote. I need to watch parts 1-5 now :)
Simply amazing! Makes me want to build something like that.
this is great! thx for that. 🙂
We'll be great to use for boat engine control(forward, neutral, reverse and proportional speed control with feedback) and also with joystick docking system
Brilliant!
I want to make this for music playback now, but also with the ability to seek/scrub through a song using the dial. It could be the playback indicator too, showing progress. And it could have detents at the ends for next/previous!
Wow, great vid! The new PS5 controllers have a kind of haptic feedback that makes the video game control extremely realistic. I really hope that something like this will be developed by the video game industries.
Yeah lets hope so!!!
@@juanpablocanguro Do you have (or planning to create) a discord server?
I always wanted to build some cool stuff using bldc motors for now i am just running some bldc with simple esc, but the FOC is great, amazing and wanted to learn FOC
It seems like you and i have same area of interest
this reminds me of the iDrive control knobs. They can't move themselves, and the clicks are all mechanical, but if there's no further options, you can't rotate the knob any further. I'm not quite sure how it works (disassembly videos don't really show enough to really see all the parts).
Can't wait to see more work on this, I would love to have an extra input device that rotates, even just as an over-the-top volume knob. But a lot of other workflows could benefit from it, too, from digital painting to video games.
Which library on patreon pertains to this video? because there are three for closed loop? are either one of those have the exact setup in this video? because that's the one I'm looking for
this is why I love the internet
Nice! How can I change the position of torque signal?
I like the idea of the knob being the indicator in your product example but I don't think it would work for most users. You should try with a separate display ( and the knob being just a knob)
great job!
How does this translate to running on an ESP32? I would imagine the register changes for PWM frequency would need to be modified but otherwise it would work fine?
very cool channel, glad I stumbled upon it! (thanks for nothing youtube algorithm...)
Hi Pablo! ty for you research work, would you upload the schematic for the breakout board of the l6234 driver? i can't buy the board anymore so atm i have only the ic and i would like to make the pcb on my own
If you access my Patreon account you will find a method for building a driver that is cheap and reliable for BLDC 😊
Legend!
what are your thoughts on doing this with the simpleFOC library?
I haven’t looked into it, but Im hoping someone will update the library to include some of these haptic functionality:)
I am currently working on a project at witch i also need to make a haptic knob.
So i wanted to become a paytrion member but saw i could only pay with creditcard or paypal wich i dont have.
Is there any other possibility to see your code?
how to get hollow shaft feedback ?
Amazing demo! What a great channel, your videos are very clear and consise, which makes it very easy to follow. I was wondering if you could shed some light on whether it would be possible to use your code on an arduino to control an ESC and motor (paired with an encoder) to do FOC? As I was thinking of using bigger motors, which would need a lot more current than your board can supply. Still thinking of buying one to test it out on a smaller scale first.
Im afraid it could be challenging with ESCs, but ill look into it and let you know if I find something promising. You can also check Vedder VESC project :)
@@juanpablocanguro thank you! I have seen the VESC, was thinking of a cheaper setup as it is a bit expensive. Let me know how it goes. Appreciate it!
@@stefanguiton ok! Then you should definitely start with our board ;)
@@juanpablocanguro yeah your board is great value for money, will do! Thanks
I've bought your controller board and I'm very excited to finally get to learn more and get hands-on experience with BLDC motors. Funny enough I'm more interested in learning now than when I was studying Electronics Engineering the couple past years :D
One question though - will I be able to do position control with a BLDC sensorless motor with the control board?
Cheers from Denmark
Thanks and congratulations! You will be able to, but it will be open loop, therefore it wont have a lot of torque. There is a video on Open loop control on my channel, take a look at it. :)
@@juanpablocanguro Awesome! I've just received the board but I have a question regarding the bootloader that needs to be installed. I can't seem to find the MISO/MOSI/SCK/RESET pins on the new revisited board, which are shown in the Setup Guide. Only VCC, GND and A0,A1,A2 and A3 can be found. How do I proceed?
Best Regards
@@TrebbienGuitar the new version already has the bootloader embedded :)
@@juanpablocanguro Yea awesome! Well, playing around with a motor only lasted a few minutes until one of the AO4606 blew.. :D Was only doing around 2A continuous. Ordered a few spare AO4606 chips so I'll see if I can replace the bad one. Learning already! Cheers
Thank you for sharing your ideas freely. I've been playing with brushless motors but it didn't do what I wanted.
These ideas are very cool and I'll revisit my projects and make them a reality.
Question. What kind of power or motor size do you need for a UI like this?
I've been stuck in the gimbal brushless versus RC brushless. Is it noticeable that you use one or the other?
Thanks you! Go for the gimbal, the increase in number of poles will give you more torque :)
I've seen the code: great job. Only a question: if I have one coil (classic DC motor) is it the same thing for you?
No, a normal DC motor cant do this as the coil control is made mechanically on the commuter. You can order a board from the link on the video and experiment :) its super fun!
@@juanpablocanguro for me it's possible, but I don't understand how do it.
Maybe I have to control pwm with angular position instead counter... Which is your philosophy about pwm control?
Well, once you understand that the angle of the field is changing direction and intensity, you could potentially do it with an H bridge and an angular encoder, you would create a lookup table or a function that correlates the angle of the shaft with the direction and magnitud of the magnetic field. You cannot change the angle between the magnetic field and the rotor as is kept relatively constant by the commuter, but you can change the intensity with pwm and its direction. So a Proportional control law would represent the “spring” example... youll have to program more code to achieve the same result. Good project!
Is the health of the motor at all effected by continuous use for these purposes?
If you take care and not exceed the maximum current rating for the coils then you should be fine :)
So cool! I want that! What do you use for your 3D models?
Fusion 360 :)
the vw Phaethon had something like that dial
Thanks for the info, I understand bmw series 7 also had something like this back in the early 2000s... haven’t tried it yet!
where can I buy your board?
eBay :) There is a link in the description. Thanks for your support
Hello Pablo... this is very interesting and has tremendous application in haptic feedback... I really admire your research on this topic.. gives lot of motivation to explore this field.... may I ask what is the correlation between the Electrical Position(epos) and Number of notches created? Did you found this notches number(8 and 34) by try and error method ? I suppose some mathematical correlation/equation could be derived. I would appreciate if you could shed some light on this topic.
Thank you Hannan. Yes, trial and error to start but then the logic behind it kicked in. I recommend you experiment a bit and let me know if you get stuck along the way, maybe I can be of help :)
@@juanpablocanguro Sure my friend with whom I will be working on a project has ordered 3 boards from eBay recently. The new boards are little different from your old board. How to flash bootloader on the new boards as the Pitch pins not available on new board. Or bootloader flashing is not required?
@@420hannan the new boards come preloaded with boot loader. Theres also some minor references and pinout available at the Github page :)
@@juanpablocanguro Hello Pablo, I got your board and I must say that they are really nice andhandy..... Well I experimented with changing the equation and I was able to generate many different number of detents( or notches/bumps what you call it.... sometimes these notches are not evenly distributed for 0 to 360 degree of knob .......... so far I did not find any robust logic behind this... i plotted the epos for complete range of electrical positions 0 to 48*P for various equations... i find that there is some correlation or logic but the number of detents generated does not directly makes sense.... Please could you give a hint if I am in correct direction... your feedback would be highly appreciated.
@@420hannan in my experience I noticed some notches skipping because of sampling frequency. Maybe thats the case? I think the program might need more refinement as this was more a proof of concept than an actual finished code :) let me know what your research shows :)
🥰
Consider continuing the same research using voice coils. They have linear torque/current ratio and you can calculate impact force by posistion. I was in the same exact path with you regarding haptic, but for a FB/haptic thumbstick. That's one of the designs: liliumjsn.blogspot.com/2019/07/voice-coil-redesign-for-maco.html?m=1
Keep up the great content!
This looks very cool indeed! Keep me posted with your results :)
dial for keyboard :)
You say the B&O CD player is intuitive but it's not.
Thats your opinion. I find it very intuitive. Common sense is not always common ;)
@@juanpablocanguro Ask someone who's never used it before to play a CD, especially someone who's never used a CD player before, see how long it takes them to figure out they have to wave their hand in front of it to open it and how long it takes them to figure out how to play something. It appears to light up all track number buttons until it realizes the track count is limited then unlights; that's a bit confusing. The buttons aren't delineated by purpose so it takes a lot of scanning. It's clearly form-over-function. I think you're confusing intuitive with memorable. At least that's one up over most UI's described as intuitive: they are neither intuitive or memorable.
@@idontusenumbers you have given me something to think for sure. I agree now its not intuitive to open the glass… its memorable. Thanks for the input.
Vientos
hola j
Hola Lucas!
gracias por ablar me
Thanks Pablo, for introducing the "relative" speed concept between two magnetic fields. It does inspires me or rather, reminded me of one of the ways I saw other people do things like active cancelling of the cogging torque, which I never was able to understand until now, at least a bit closer :-P One small question, in terms of the triangular or sawtooth torque/stiffness bumps/notches, I found in "Closed_loop_haptic_interface_youtube.ino" file please correct me if I am wrong but, did you just use the switch case statement to generate such waveforms?