Hello Guys,
I have a project that I will be attempting for the first time, and need some help in implementing it. I have a 0.5HP Rotomag 110V Brushed DC Motor whose speed I would like to control using the PWM output (adjustable between 2Hz and 100kHz) of a Siemens S7-1214C PLC. Speed will be measured using a sensor measuring a high signal at a single notch in a secondary geared shaft, meaning 1 pulse per revolution. My idea is to wire the sensor into an edge triggered digital input and use an interrupt routine to calculate the time between pulses to obtain the speed. Max shaft speed is 2250RPM or 26ms/rev. PLC cycle time is around 10ms. Speed would be fed back and pulse width controlled using PID. I would like to be able to simply enter a speed value on the HMI and have the system run up to this speed. Available mains voltage is 230/400V.
Questions: 1) I’m not sure what component I need to interface the PWM signal with the motor. Are there power amplification modules for this purpose that take in a PWM signal and output an analog voltage? Or can I somehow amplify the PWM signal directly and run it into the motor? What PWM frequency would you recommend? The motor max speed will be around 800RPM and low load, this speed is obtained under no-load conditions by applying ~55V DC to the motor.
2) Is the cycle time fast enough for this operation? It seems like interrupting the cycle every 26ms with a 10ms cycle time may affect something (there is of course the PID instruction and some data logging which may be interrupted by the routine). Haven't worked much with PLC interrupts. Any pitfalls here?
3) Any input regarding other pitfalls, hardware that might make things easier or calculation methods that might make things easier? Again it’s the first time I’m attempting a project like this, seems entirely doable but need to figure out how to implement everything.
Btw, this project is for an educational environment. Any input would be greatly appreciated!! Thanks!!
I have a project that I will be attempting for the first time, and need some help in implementing it. I have a 0.5HP Rotomag 110V Brushed DC Motor whose speed I would like to control using the PWM output (adjustable between 2Hz and 100kHz) of a Siemens S7-1214C PLC. Speed will be measured using a sensor measuring a high signal at a single notch in a secondary geared shaft, meaning 1 pulse per revolution. My idea is to wire the sensor into an edge triggered digital input and use an interrupt routine to calculate the time between pulses to obtain the speed. Max shaft speed is 2250RPM or 26ms/rev. PLC cycle time is around 10ms. Speed would be fed back and pulse width controlled using PID. I would like to be able to simply enter a speed value on the HMI and have the system run up to this speed. Available mains voltage is 230/400V.
Questions: 1) I’m not sure what component I need to interface the PWM signal with the motor. Are there power amplification modules for this purpose that take in a PWM signal and output an analog voltage? Or can I somehow amplify the PWM signal directly and run it into the motor? What PWM frequency would you recommend? The motor max speed will be around 800RPM and low load, this speed is obtained under no-load conditions by applying ~55V DC to the motor.
2) Is the cycle time fast enough for this operation? It seems like interrupting the cycle every 26ms with a 10ms cycle time may affect something (there is of course the PID instruction and some data logging which may be interrupted by the routine). Haven't worked much with PLC interrupts. Any pitfalls here?
3) Any input regarding other pitfalls, hardware that might make things easier or calculation methods that might make things easier? Again it’s the first time I’m attempting a project like this, seems entirely doable but need to figure out how to implement everything.
Btw, this project is for an educational environment. Any input would be greatly appreciated!! Thanks!!