I made a similar motor, but it has a physical driver built in. Speed is controlled by driver placement and direction by current polarity. Switching is accomplished by using a light source, a reflection device on the rotor, and a stationary light-recognition switch.
Switching the low side/s is like you are doing a "BOOST " MODE pwm whereby the DC link voltage can exceed the nominal rectified volts.. Whereas with pwm on the high side you have multiple benefits.. 1) now it's like a buck mode controller...just what we want when a lower speed than max.is required .. 2) it serves as an auto bootstrap for the upper gate drivers...even recharging the bt.strap caps during each pwm off time. 3) speed is directly prop.to ( d ) or (t-on). 4) B.E.M.F. can be sensed during the (off time) of the pwm.
It's better to do the pwm switching on the top transistor because it completely breaks the loop and it can't build up 'momentum' at low duty cycles, potentially damaging the bottom transistor with voltage spikes I think
A bifilar wound flux switching motor is the simplest in this category..no complex electronics..& can be speciallywound to simulate a seriers dc motor with those benifits..
Once again - nice job 👍🏻 Switch the high side because you are boot strapping the high side MOSFET gates. The boot strap capacitors discharge quickly and require recharging. I’m guessing you are using high/low side gate driver IC’s?
100 points it is. The bootstrap capacitors for the top mosfets last about 0.25 seconds, so if the power stroke lasts longer than that, the motor can stall. (That's still quite long, I used quite large capacitors, so the driver is luckily still usable) I'm using some npn transistors for driving the mosfets, driver ics would be a better option.
@@AKIOTV Yep. Boost strap circuit was also what I think how this is now done. Also some driver IC have just integrated that. Maybe to use some chips also allow separated power source to do it. I think now it's only low side is connected to PWM pins and top side is controlled from GPIO. If all would have been PWM pins then it would just be SW update. When I design something I usually put some dummy resistors and place to cut traces If I think I need to swap some pins in future.
@@AKIOTV yes ..but one at (phase) at a time in sequence, & the top is like any continuous running pwm single switch..... there's no limitation on that single switch..if properly sized & controlled.
Please take this as constructive feedback. I think your topics are great and you have good information. I have you at 2x speed and I still think you are slow to get to your point. In a way it sounds like your talking to yourself to convince yourself of your point. The art of concision is so valuable in industry, it will serve you for years to come if you put the forethought into what you are saying before starting. Put up a text blob in the first 3 sec noting any assumptions made, and move past it. Unless your stretching for time to hit an algorithm. Talking faster could help you but its not just saying words faster.
Fine project , I too build Arduino projects, I have never built a project with this style motor however I wonder if this is the style motor in the DJI drones
Very cool. It's such a fascinatingly simple motor design. I'd be interested in seeing if it can be run at low RPM in conjunction with more accurate feedback. A multi-axis hall sensor perhaps, or a quadrature encoder. Or maybe holding arbitrary fixed positions, micro-step stepper-driver style. Regarding balancing, you might check out the setups to balance rc props for balancing the rotor. It's basically a levelled stand with two pair of low-resistance steel wheels for the shaft to run between. A similar arrangement of four cheap skate bearings with the shields removed might work as well? Although the shaft would probably be needed to be straitened out first. Or if you have a scope, there is a video on dynamically balancing a motor with a small speaker as a contact vibration sensor, that seems it could be applicable? Rather than referring it to a BLDC, since that seems ambiguous, perhaps call them PMSM, permanent magnet synchronous motor. That seems to be an accepted terminology. Also, if I understand correctly, the SRM stator and physical arrangement of poles are similar to a PMSM, and the relative magnetization forces between rotor and stator would seem to be functionally identical between them. Therefore the difference between SRM and PMSM is in how the process of inductively magnetizing the rotor for smooth rotation requires very different driver voltage waveform in the stators? Just to clarify.
The motor can run as slow as you want, even with simple sensors like these, but because my controller uses the top mosfets for commutation, and these can only be turned on for about 1 second at most, making the slowest speed possible about 0.3RPM. (due to something called bootstrapping, which is needed to drive high side mosfets). This is why I recommended using the low side mosfets for this instead, it avoids this problem. (Potentially there is a workaround for my poor design, in which the top mosfets are briefly turned off during the power stroke to recharge the bootstrap capacitors) In a nutshell, the big difference with a permanent magnet motor is that in a PM motor, you can have say a magnet north pole on the rotor being attracted towards the next (south) stator pole, while being repelled by the previous (north) one. This push-pull action doesn't happen in an SR motor, since rotor poles can never be repelled, only attracted. This is why phases need to be driven independently, and why the direction of the current in the coils is irrelevant. It also means the drive waveform is not a pure sine wave. For the smoothest operation ideally you want the current to be as close as possible to an ideal square wave. (Which may require a very weird drive voltage waveform). I'll keep your idea for balancing in mind, it may be useful for my boat propeller too 👍
Norty putting magnets on the rotor! Must do the inductive version, minimised hardware and physical size, maximised control... Then you can sell the PCB! Home made pancakes motors are awesome for tiny and low power PTZ control of covert CCTV cameras, for example, so low-speed uses are interesting, especially if you create a design using an axial absolute position encoder, high precision servos etc... Turbine generator projects also interesting. I hope you keep this up long enough to do all the things!!!
Not the reason I was looking for but quite an interesting answer still, I suppose it could make a slight difference depending on the orientation of the board.
Hi, I want to create my own SRM based on your videos (they are a great inspiration), but I have some questions. What is the purpose of D3, D2, and D1? Are these diodes preventing reverse current? What is the nominal power rating of the resistors before these diodes? How can I determine the current my motor will need? I want to use the DRV8300 to drive the MOSFETs. Is it a good choice, or do you recommend other MOSFET drivers? Are C1, C2, and C3 capacitors needed, or can I use one larger capacitor at the input?
@@kotrinio7868 C1, 2 and 3 are bootstrap capacitors to drive the top mosfets. They are charged through D1, 2 and 3. The drive voltage of the high side mosfets needs to be higher than the supply voltage, or thr mosfets will not turn on. Therefore, a capacitor (say C1) is charged up to the supply voltage (24v), then, when Q10 and Q6 are opened, C1 is disconnected from ground and instead connected to the source of the mosfet, pushing the voltage on the top of C1 above the supply voltage so that the mosfet can turn on. If diode D1 wasn't there, this wouldn't happen, the capacitor would immediately discharge. The need for a bootstrapping circuit like this could be eliminated by using P-mosfets for the high side instead.
this is such an amazing and brilliant video. I have a few questions about this too. with these motors would they run more efficiently if they were dirven with a sinusoidal voltage rather than a constant pwm? with permanent magnet motors they benefit form sinusoidal voltage input but since this has no permanent magnets would it? it still seems so since the primary reason for sine wave is motor geometry and angular velocity but would you know? and i think its really awesome how you release all your code and diagrams, i could never design something like this myself but having some designs to copy, learn from, and tinker with is great. and would it be better to do fast switching on the high side mosfet for the same reason that the diodes are necessary? if you switch the mosfet that feeds the phase quickly then it doesnt experience the high voltage from inductance. im also a novist everything I sad here could be wrong. its a very good video though.
Due to the way the motor works, the ideal current waveform is a perfectly square wave. The drive voltage to obtain this, is usually some very weird shape. The reason doing PWM on the top mosfet is better, is because the top mosfet is driven using a so called "boot strap capacitor", which limits the amount of time the mosfet can remain on. That limits the length of the power stroke if the top mosfet is used for the slow switching. More info on the motor is on my other video about the motor itself. btw thanks for watching 👍
@AKIOTV what do you mean the drive voltage to obtain a square wave current profile in the SRMs stator is some "weird shape"...what shape specifically? Also, how to use shunt resistors for closed current control (measuring the coils' inductances) and driving the motor as a generator?
Hi, great video on a homemade device. However your schematics are in KiCad, can you also provide an EXPORTED jpg or png of your schematic? To make just a look an easy process.
I would have thought switching the low side would be the better option as N type transistors tend to be more researched, available, and capable, and to me that means they should have better switching efficiencies. That being said, I have no idea why that thinking is wrong.
@AKIOTV do you have any recommendations for where to start? I tried to do some research but ended up nearly getting my phone hacked in the process... I'd like to try to build a ground penetrating radar but it does seem pretty tough
@@boots_and_a_banjo maybe there are some off the shelf modules/kits around you could try. Otherwise I don't know, just start with a suitable transmitter?
@@melodywave3 This type of motor does have the ability to achieve very high speeds. The back-emf is current dependent, so as the motor speeds up, the increase in emf is tempered by the decreasing current, allowing for the speed to climb further, similar to what happens in series wound dc motors. That would be excellent for some death-spinner. I do think you'd want a better mechanical design than my motor though.
@@AKIOTV how does this relate to FOC/simplefoc/Fettec sfoc? I know those are geared to PM BLDC's but are those approaches, intended to provide more smoothly modifiable sinusoidal please current, possible?
I made a similar motor, but it has a physical driver built in.
Speed is controlled by driver placement and direction by current polarity.
Switching is accomplished by using a light source, a reflection device on the rotor, and a stationary light-recognition switch.
nice
Switching the low side/s is like you are doing a "BOOST " MODE pwm whereby the DC link voltage can exceed the nominal rectified volts..
Whereas with pwm on the high side you have multiple benefits..
1) now it's like a buck mode controller...just what we want when a lower speed than max.is required ..
2) it serves as an auto bootstrap for the upper gate drivers...even recharging the bt.strap caps during each pwm off time.
3) speed is directly prop.to ( d ) or (t-on).
4) B.E.M.F. can be sensed during the (off time) of the pwm.
I am not a native english speaker but I know you are a excelent comunicator
It's better to do the pwm switching on the top transistor because it completely breaks the loop and it can't build up 'momentum' at low duty cycles, potentially damaging the bottom transistor with voltage spikes I think
That was great ty . I am trying to imagine its ability as a diy ebike wheel hub motor .
A bifilar wound flux switching motor is the simplest in this category..no complex electronics..& can be speciallywound to simulate a seriers dc motor with those benifits..
Nicee, hoping for performance numbers at some point, but the build itself is already completly new to me
Once again - nice job 👍🏻
Switch the high side because you are boot strapping the high side MOSFET gates. The boot strap capacitors discharge quickly and require recharging. I’m guessing you are using high/low side gate driver IC’s?
100 points it is. The bootstrap capacitors for the top mosfets last about 0.25 seconds, so if the power stroke lasts longer than that, the motor can stall. (That's still quite long, I used quite large capacitors, so the driver is luckily still usable)
I'm using some npn transistors for driving the mosfets, driver ics would be a better option.
@@AKIOTV Yep. Boost strap circuit was also what I think how this is now done. Also some driver IC have just integrated that. Maybe to use some chips also allow separated power source to do it.
I think now it's only low side is connected to PWM pins and top side is controlled from GPIO. If all would have been PWM pins then it would just be SW update. When I design something I usually put some dummy resistors and place to cut traces If I think I need to swap some pins in future.
For Top side pwm ,most economical is the (1T & 3B) switch configuration...here you save two power switches & their related drive circuitry...
This is true, but the maximum output of such an n+1 circuit is lower, since current to all phases flows through that single mosfet.
@@AKIOTV yes ..but one at (phase) at a time in sequence, & the top is like any continuous running pwm single switch..... there's no limitation on that single switch..if properly sized & controlled.
So you’re saying you’ll have a SRM powered skateboard in two weeks? 😂 Another great vid, nice work.
Definitely replicating that motor with PWM on the high side.
Please take this as constructive feedback. I think your topics are great and you have good information. I have you at 2x speed and I still think you are slow to get to your point. In a way it sounds like your talking to yourself to convince yourself of your point. The art of concision is so valuable in industry, it will serve you for years to come if you put the forethought into what you are saying before starting. Put up a text blob in the first 3 sec noting any assumptions made, and move past it. Unless your stretching for time to hit an algorithm.
Talking faster could help you but its not just saying words faster.
Fine project , I too build Arduino projects, I have never built a project with this style motor however I wonder if this is the style motor in the DJI drones
you really know your stuff mate, and have a great way of explaining it! subscribed! :)
@@dimitritzer5028 Thanks :)
Very cool. It's such a fascinatingly simple motor design. I'd be interested in seeing if it can be run at low RPM in conjunction with more accurate feedback. A multi-axis hall sensor perhaps, or a quadrature encoder. Or maybe holding arbitrary fixed positions, micro-step stepper-driver style.
Regarding balancing, you might check out the setups to balance rc props for balancing the rotor. It's basically a levelled stand with two pair of low-resistance steel wheels for the shaft to run between. A similar arrangement of four cheap skate bearings with the shields removed might work as well? Although the shaft would probably be needed to be straitened out first. Or if you have a scope, there is a video on dynamically balancing a motor with a small speaker as a contact vibration sensor, that seems it could be applicable?
Rather than referring it to a BLDC, since that seems ambiguous, perhaps call them PMSM, permanent magnet synchronous motor. That seems to be an accepted terminology.
Also, if I understand correctly, the SRM stator and physical arrangement of poles are similar to a PMSM, and the relative magnetization forces between rotor and stator would seem to be functionally identical between them. Therefore the difference between SRM and PMSM is in how the process of inductively magnetizing the rotor for smooth rotation requires very different driver voltage waveform in the stators? Just to clarify.
The motor can run as slow as you want, even with simple sensors like these, but because my controller uses the top mosfets for commutation, and these can only be turned on for about 1 second at most, making the slowest speed possible about 0.3RPM. (due to something called bootstrapping, which is needed to drive high side mosfets). This is why I recommended using the low side mosfets for this instead, it avoids this problem.
(Potentially there is a workaround for my poor design, in which the top mosfets are briefly turned off during the power stroke to recharge the bootstrap capacitors)
In a nutshell, the big difference with a permanent magnet motor is that in a PM motor, you can have say a magnet north pole on the rotor being attracted towards the next (south) stator pole, while being repelled by the previous (north) one. This push-pull action doesn't happen in an SR motor, since rotor poles can never be repelled, only attracted. This is why phases need to be driven independently, and why the direction of the current in the coils is irrelevant.
It also means the drive waveform is not a pure sine wave. For the smoothest operation ideally you want the current to be as close as possible to an ideal square wave. (Which may require a very weird drive voltage waveform).
I'll keep your idea for balancing in mind, it may be useful for my boat propeller too 👍
Well done, nice vid with great explanations.
@@torgjerde4283 thank you :)
Norty putting magnets on the rotor!
Must do the inductive version, minimised hardware and physical size, maximised control...
Then you can sell the PCB!
Home made pancakes motors are awesome for tiny and low power PTZ control of covert CCTV cameras, for example, so low-speed uses are interesting, especially if you create a design using an axial absolute position encoder, high precision servos etc...
Turbine generator projects also interesting.
I hope you keep this up long enough to do all the things!!!
13:20
Heat?
faster switching means more heat, and heat rises
although 'bottom' and 'top' seem fairly arbitrary in this case.
Not the reason I was looking for but quite an interesting answer still, I suppose it could make a slight difference depending on the orientation of the board.
Hi, I want to create my own SRM based on your videos (they are a great inspiration), but I have some questions. What is the purpose of D3, D2, and D1? Are these diodes preventing reverse current? What is the nominal power rating of the resistors before these diodes? How can I determine the current my motor will need? I want to use the DRV8300 to drive the MOSFETs. Is it a good choice, or do you recommend other MOSFET drivers? Are C1, C2, and C3 capacitors needed, or can I use one larger capacitor at the input?
@@kotrinio7868 C1, 2 and 3 are bootstrap capacitors to drive the top mosfets. They are charged through D1, 2 and 3.
The drive voltage of the high side mosfets needs to be higher than the supply voltage, or thr mosfets will not turn on. Therefore, a capacitor (say C1) is charged up to the supply voltage (24v), then, when Q10 and Q6 are opened, C1 is disconnected from ground and instead connected to the source of the mosfet, pushing the voltage on the top of C1 above the supply voltage so that the mosfet can turn on. If diode D1 wasn't there, this wouldn't happen, the capacitor would immediately discharge.
The need for a bootstrapping circuit like this could be eliminated by using P-mosfets for the high side instead.
So cool. Have you tried to make to change your srm motor driver into a generator?
not yet
this is such an amazing and brilliant video. I have a few questions about this too. with these motors would they run more efficiently if they were dirven with a sinusoidal voltage rather than a constant pwm? with permanent magnet motors they benefit form sinusoidal voltage input but since this has no permanent magnets would it? it still seems so since the primary reason for sine wave is motor geometry and angular velocity but would you know? and i think its really awesome how you release all your code and diagrams, i could never design something like this myself but having some designs to copy, learn from, and tinker with is great. and would it be better to do fast switching on the high side mosfet for the same reason that the diodes are necessary? if you switch the mosfet that feeds the phase quickly then it doesnt experience the high voltage from inductance. im also a novist everything I sad here could be wrong. its a very good video though.
Due to the way the motor works, the ideal current waveform is a perfectly square wave. The drive voltage to obtain this, is usually some very weird shape.
The reason doing PWM on the top mosfet is better, is because the top mosfet is driven using a so called "boot strap capacitor", which limits the amount of time the mosfet can remain on. That limits the length of the power stroke if the top mosfet is used for the slow switching.
More info on the motor is on my other video about the motor itself.
btw thanks for watching 👍
@AKIOTV what do you mean the drive voltage to obtain a square wave current profile in the SRMs stator is some "weird shape"...what shape specifically? Also, how to use shunt resistors for closed current control (measuring the coils' inductances) and driving the motor as a generator?
Very nice indeed thankyou for a great upload!!!!!❤❤❤❤
Hi, great video on a homemade device.
However your schematics are in KiCad, can you also provide an EXPORTED jpg or png of your schematic?
To make just a look an easy process.
good point. I'll upload one later today.
I would have thought switching the low side would be the better option as N type transistors tend to be more researched, available, and capable, and to me that means they should have better switching efficiencies. That being said, I have no idea why that thinking is wrong.
This is true, but on my board n-channel mosfets are also used for the high side.
Have you ever considered building a radar device?
Yes, I want to make one some day. It's hard though haha.
@AKIOTV do you have any recommendations for where to start? I tried to do some research but ended up nearly getting my phone hacked in the process...
I'd like to try to build a ground penetrating radar but it does seem pretty tough
@@boots_and_a_banjo maybe there are some off the shelf modules/kits around you could try. Otherwise I don't know, just start with a suitable transmitter?
With how low of a profile this is, it could potentially direct drive a horizontal weapon on a combat robot
You mean like in something like Battlebots? Those spinny things are insane haha.
@@AKIOTVprecisely! they have all sorts of weight classes. this kind of motor could potentially innovate in a weapon system
@@melodywave3 This type of motor does have the ability to achieve very high speeds. The back-emf is current dependent, so as the motor speeds up, the increase in emf is tempered by the decreasing current, allowing for the speed to climb further, similar to what happens in series wound dc motors. That would be excellent for some death-spinner. I do think you'd want a better mechanical design than my motor though.
Brilliant! Design files for the motor available? Fee?
Haha those don't exist. I had a general idea of the design in mind but the exact dimensions etc I pretty much made up as I went along.
Ah. Ok. Thanks for the reply. I'll see what I can do and it's in with the controller files you offer. Thanks!@@AKIOTV
And great explanation on the controller method, btw.
@@AKIOTV how does this relate to FOC/simplefoc/Fettec sfoc? I know those are geared to PM BLDC's but are those approaches, intended to provide more smoothly modifiable sinusoidal please current, possible?
@@AKIOTVand what would be the cost to hire you to redesign and produce the modified controller inclusive of Regen braking?
Out of 20 minutes of talking, only 11 seconds are honorably dedicated to the motor. How generous - NOT!!!