Howdy AAC! My virgin post. Be easy on me.
I'm taking a semiconductors class that has spent a lot of time on the underlying physics around semiconductors in general, and diodes and MOSFETs in particular. As a final project, we have the assignment to create a brushed DC motor driving circuit, with the following specs:
We build an oscillator (using 555 is fine) to generate a sawtooth, which feeds into the ...
My task is the "switch" portion of this, so I immediately thought "hey, use a MOSFET, since that's what we're learning about" ... and thus did I find out why most folks use dedicated MOSFET-driver chips, especially once the frequencies get "high" - and no, we can't use such a chip in this assignment.
So, my initial attempt was simply trying various MOSFET models with an appropriate PWM piped in from a signal generator. Models included BS-170 and 2N7000 jelly beans, an MTP3055 power MOSFET, as well as a "logic level" RFP30N06LE power MOSFET. In all cases, when the PWM signal was applied directly to the gate of the MOSFETs, the issue we'd have was a) top speed was considerably lower than "true" 100% voltage at 100% duty cycle (we were using 12V for Vmtr), but much worse, b) the motor would stall out and die at *35%* duty cycle, as if it were only "seeing" 0.5V effective input. Oddly, this 35% fall-off point didn't change much across the different MOSFETs.
So ... I did some (actually, lots of) reading and have learned a lot about various aspects of the gotchas here. My main theory became that the gate wasn't getting turned "on all the way" - we were kicking around in the triode/linear region, and burning off a lot of power (and yes, the MOSFETs generally getting quite hot). The two possible issues that seemed possible were a) insufficient current to completely activate the MOS capacitance in the MOSFET gate, and b) Vgs not set right to ever turn on.
Therefore, I conducted an experiment: for each MOSFET, use the same setup, but try varying either the PWM frequency, or the PWM max voltage (again, using the signal generator for this). What did I find? Going from 10kHz PWM to 1kHz PWM frequency brought the motor die-off point from 35% to 12% duty, and going to a whopping 100Hz for the PWM frequency yielded a PWM duty cycle floor of 2%. Great! The PWM voltage tests, on the other hand - where I boosted Vgs up closer to 10V (except on the logic-level FET) yielded NO change in the duty cycle floor - it stayed at 35% or so.
Next, I found a number of sources on the web that deal with parts of this problem, of course, but unfortunately, many solutions I found collapse fairly quickly to "and this is why we use MOSFET driver chips". I did, however, find Syed Tahmid's excellent blog post on low-side MOSFET drivers, and after studying the schematics so I thought I knew what was going on, we went with "Fig. 4":
I started with big 10k's for R28/R29, and used simple S8050/8550's for the BJTs. After a few false starts where I learned that I don't pay enough attention to what the heck I'm doing when breadboarding, resulting in the sad deaths of several BJTs, I got the circuit working properly ...
... except: the motor died off around the 35% duty cycle mark. &*^^$$^&***((%$###!!!
I have a few operating theories on issues. R28/R29 are awfully large, but dropping them to 5k didn't seem to help, but I wasn't confident in the change and it might have been when I was still cleaning up my previous mis-connection mess(es). I know from some Multisim runs that dropping R28/29 TOO low yields badness, both transistors end up being on at the same time, which yields sadness ... but I'm not clear on what my true range is here, knowing that I need to achieve 10kHz gate open/close rates.
Hence, this post to all you knowledgeable folks: any ideas on what to do now? Am I missing something incredibly basic here? Is there a true "single component" option (a perfectly selected MOSFET or ???) that would actually fulfill most of the requirements, and we're just making this complicated? Or am I barking up the right tree but the components I've used just aren't right yet?
So sorry for the length of this thing, but I wanted to get all the info out there initially so folks inclined to help don't have to ask me a bunch of follow-on questions just to figure out what the heck I'm trying to do.
Thanks in advance for any help!!!!!!
Jeff
I'm taking a semiconductors class that has spent a lot of time on the underlying physics around semiconductors in general, and diodes and MOSFETs in particular. As a final project, we have the assignment to create a brushed DC motor driving circuit, with the following specs:
We build an oscillator (using 555 is fine) to generate a sawtooth, which feeds into the ...
- PWM modulator, using a voltage comparator, to generate a spec'd 0-5V PWM signal at 10kHz frequency
- A "switch" then should be implemented to make that PWM vary the speed of our wee DC motors, from at least 10%-90% duty cycle, and preferably 2%-98%
- DC brushed motor is 8-15V motor, draws 100mA with no-load (and indeed, there won't be any loads for this assignment). Driven off of pure DC from our power supplies yields an active range all the way down to 0.5V, however.
- The main portion of the grade is on whether the thing works, but "works" includes the full PWM range actually working properly, AND power efficiency being relatively decent (don't have the switch consuming an additional 5W, for instance). We also have to produce a "cost" of our switch, but frankly, this matters less to me if everything else works really well.
My task is the "switch" portion of this, so I immediately thought "hey, use a MOSFET, since that's what we're learning about" ... and thus did I find out why most folks use dedicated MOSFET-driver chips, especially once the frequencies get "high" - and no, we can't use such a chip in this assignment.
So, my initial attempt was simply trying various MOSFET models with an appropriate PWM piped in from a signal generator. Models included BS-170 and 2N7000 jelly beans, an MTP3055 power MOSFET, as well as a "logic level" RFP30N06LE power MOSFET. In all cases, when the PWM signal was applied directly to the gate of the MOSFETs, the issue we'd have was a) top speed was considerably lower than "true" 100% voltage at 100% duty cycle (we were using 12V for Vmtr), but much worse, b) the motor would stall out and die at *35%* duty cycle, as if it were only "seeing" 0.5V effective input. Oddly, this 35% fall-off point didn't change much across the different MOSFETs.
So ... I did some (actually, lots of) reading and have learned a lot about various aspects of the gotchas here. My main theory became that the gate wasn't getting turned "on all the way" - we were kicking around in the triode/linear region, and burning off a lot of power (and yes, the MOSFETs generally getting quite hot). The two possible issues that seemed possible were a) insufficient current to completely activate the MOS capacitance in the MOSFET gate, and b) Vgs not set right to ever turn on.
Therefore, I conducted an experiment: for each MOSFET, use the same setup, but try varying either the PWM frequency, or the PWM max voltage (again, using the signal generator for this). What did I find? Going from 10kHz PWM to 1kHz PWM frequency brought the motor die-off point from 35% to 12% duty, and going to a whopping 100Hz for the PWM frequency yielded a PWM duty cycle floor of 2%. Great! The PWM voltage tests, on the other hand - where I boosted Vgs up closer to 10V (except on the logic-level FET) yielded NO change in the duty cycle floor - it stayed at 35% or so.
Next, I found a number of sources on the web that deal with parts of this problem, of course, but unfortunately, many solutions I found collapse fairly quickly to "and this is why we use MOSFET driver chips". I did, however, find Syed Tahmid's excellent blog post on low-side MOSFET drivers, and after studying the schematics so I thought I knew what was going on, we went with "Fig. 4":
I started with big 10k's for R28/R29, and used simple S8050/8550's for the BJTs. After a few false starts where I learned that I don't pay enough attention to what the heck I'm doing when breadboarding, resulting in the sad deaths of several BJTs, I got the circuit working properly ...
... except: the motor died off around the 35% duty cycle mark. &*^^$$^&***((%$###!!!
I have a few operating theories on issues. R28/R29 are awfully large, but dropping them to 5k didn't seem to help, but I wasn't confident in the change and it might have been when I was still cleaning up my previous mis-connection mess(es). I know from some Multisim runs that dropping R28/29 TOO low yields badness, both transistors end up being on at the same time, which yields sadness ... but I'm not clear on what my true range is here, knowing that I need to achieve 10kHz gate open/close rates.
Hence, this post to all you knowledgeable folks: any ideas on what to do now? Am I missing something incredibly basic here? Is there a true "single component" option (a perfectly selected MOSFET or ???) that would actually fulfill most of the requirements, and we're just making this complicated? Or am I barking up the right tree but the components I've used just aren't right yet?
So sorry for the length of this thing, but I wanted to get all the info out there initially so folks inclined to help don't have to ask me a bunch of follow-on questions just to figure out what the heck I'm trying to do.
Thanks in advance for any help!!!!!!
Jeff