SPICE model for brushed DC motor -- some questions

Could some electronics guru please shed some light on this ? I created a SPICE model for a simple brushed DC motor. It is complete as it includes the models for torque and inertia. When excited with a SPICE pulse or piece-wise linear model, the armature current, when plotted shows the upward and downward spikes, of the correct amplitude, as expected. Now when I replace the SPICE pulse or piece-wise linear sources with a DC source and a power MOSFET that is pulsed (switched-on/off) with at the same frequency as for the pure SPICE case, the armature current looks very different. Namely, there are no downward going spikes, and the amplitude of the positive spikes is smaller than when the excitation is made with the SPICE pulse or piece-wise linear. I have used a SPICE 'switch' but that has not helped either. I use HSpice or NgSpice alternatively, and the results are consistent. Any hints/suggestions would be of immense help. Thanks in advance.

Reply to
dakupoto
Loading thread data ...

help to post your model.

Reply to
Robert Macy

The pulse generator always has a zero impedance: it holds its voltage regardless of current.

When you use a switch or MOSFET, the impedance is low (but not zero) when the MOSFET is on, and infinite when the MOSFET is off. The LTSpice switch model also works by changing its impedance.

It may be educational to look at the voltage across your motor as you switch the MOSFET on or off.

--
Tim Wescott 
Control system and signal processing consulting 
www.wescottdesign.com
Reply to
Tim Wescott

I had already checked the voltage at the output node of the MOSFET/switch -- that is, the input node of the motor, and it is much lower than the case when the motor is excited with SPICE PULSE or PWL. So, clearly the impedance is driving the voltage down.

Reply to
dakupoto

The following is the bare-bones brushed DC motor with a piece-wise linear excitation. I use HSpice/NGSpice.

*SIMPLE BRUSHED DC MOTOR

V_AMP 1 0 DC 0.0 AC 1 PWL(0MS 0V 5MS 5V 10MS 10V 1000MS 10V 1010MS 5V 102

0MS 0V 1050MS 0V 1060MS 5V 1070MS 10V 2000MS 10V 2010MS 5V 2020MS 0V 2050MS 0V 2060MS 5V 2070MS 10V 3050MS 10V 3060MS 5V 3070MS 0V)

  • MOTOR VOLTAGE RA 1 2 0.5 LA 2 3 0.0015 H_EMF 3 4 VSENSE2 0.05 VSENSE1 4 0 DC 0V

  • MOTOR TORQUE BASED ON INERTIA AND FRICTION H_TORQ 6 0 VSENSE1 0.05 LJ 6 7 0.00025 RB 7 8 0.0001 VSENSE2 8 0 DC 0V

  • MOTOR POSITION FPOS 0 11 VSENSE2 1 CPOS 11 0 1 RPOS 11 0 1MEG

  • ANALYSIS .OPTIONS NOPAGE METHOD=GEAR .IC V(2)=0.0 V(3)=0.0 V(4)=0.0 V(6)=0.0 V(7)=0.0 V(8)=0.0 V(11) =0.0 .PROBE V(*) .TRAN 100ms 3100ms 50ms UIC .PRINT TRAN V(1,4) I(VSENSE1) I(VSENSE2) .END
Reply to
dakupoto

Without thinking hard about whether the actual values are correct, the topology of your model looks good.

--
Tim Wescott 
Control system and signal processing consulting 
www.wescottdesign.com
Reply to
Tim Wescott

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.