Hello, can someone please help me connect a dc motor to this pwm control circuitry.

I wanted help in connecting a dc motor to this control circuitry given in Simulink such that the as the duty cycle changes, the speed of the DC motor changes proportionally. If possible then please complete the circuit and share the file with me in the comments as I have project submission tomorrow afternoon. I have attached the model above.

Réponses (1)

Hello @Anant,
As per my understanding, you are trying to drive a DC machine using the control circuit made using NE555 timer. Your aim is to vary speed by turning the knob.
You can do this by using a buck converter that receives gate pulses from the control circuit. The output of buck converter drives the DC motor. I am suggesting one of the possible way to do it in the below screenshot.
Here, I have used the model “DC Motor” available in “Simscape > Electrical > Electromechanical > Brushed Motors”. I am using a frictional load to model mechanical load torque on the machine.
In the above Simulink model, I am turning the “duty Cycle control knob” and observing the speed output of the DC motor on the scope. Below scope shows the speed of the DC motor.
I have attached the Simulink model. To know more information about the block used, navigate to the ”help” tab of the “block parameters” for that particular block.

10 commentaires

Anant
Anant le 29 Oct 2024
Modifié(e) : Anant le 29 Oct 2024
Hello @Shivam Gothi, thank you so much for this! Although I have few questions, why have we used the inertial component and frictional load? Also can you elaborate on the Buck converter part? And also please do tell me is this speed a little less for a dc motor?
Hello @Anant,
The control circuit will give the PWM (Pulse width modulated) signals. Their amplitude can range from 3v to 15v. You cannot directly drive a motor from those signals, because they cannot deliver that much amount of power. Therefore, we need a buck converter to power a DC motor.
I have randomly selected the "back emf constant" parameter for the DC motor in its "block parameters". I have selected the value of 0.072v/rpm. That is why, the speed is less. You have to input the value of "back emf constant" as per your motor specifications.
But if those signals cannot deliver that much amount of power, then doesn't Buck converter convert high dc voltage to a lower one?
Hello @Anant,
you are correct .The buck converter is there to regulate the terminal voltage to control the speed. I tried to explain the answer in a simple manner, therefore not mentioned those information in detail.
Hello @Shivam Gothi, actually I have to explain it to my lab incharge tomorrow in detail about all the process of speed control going on here. So can you tell in detail about why Buck converter is being used and why we took this as back emf/rpm? If possible please do help me increase the speed in the circuit as after changing the back emf/rpm I got more lower speed.
Hello @Anant,
kindly provide me the following specifications of the motor. It will help me to adjust the parameters accordingly
  • Rated terminal voltage of motor
  • rated speed of motor
If possible, also provide:
  • Inertia of motor
  • damping coefficient of motor.
  • Rated terminal voltage of motor: 9-12 V
  • Rated speed of motor: 15000 rpm
  • Inertia: 2.9e-6
  • Damping coefficient: 10^-4
Also please explain the Buck converter part for me
Also please tell me why does the simulation take too much time for a 100k potentiometer than a 470k one?
Hello @Anant,
Also provide the electrical parameters of motor such as its resistance and inductance. You can alse pulg in the values in the model and check whether it is working as per your satisfaction.
The back-emf constant can be approximately calculated by (rated terminal voltage / rated speed (in RPM))

Connectez-vous pour commenter.

Produits

Version

R2024a

Question posée :

le 28 Oct 2024

Commenté :

le 30 Oct 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by