Hi, I'm currently studying the PID feedback system, and I would like some ideas on some simple projects that do not require much hardware and incorporates PID.
I really think doing a simple project that incorporates PID, will help a lot with my understanding of it and I will be able to see how changing the k values affects the output. So any help would be great .
Did you already try some simulation program on your PC?
A very simple setup would consist of a RC filter, connected to a PWM output, with analog inputs connected to the filter and a pot. Then you can try to adjust the PWM duty cycle according to the pot reading. In the next step 2 RC filters in series will simulate a more complex (realistic) control path.
Well known example is control of a DC motor, with varying speed (pot reading) and load (manual pressure...).
DrDiettrich:
Well known example is control of a DC motor, with varying speed (pot reading) and load (manual pressure...).
So you're saying here that I could use a pot and a dc motor, where I could use the pot or manual pressure to change the speed of the motor and then PID would come in by adjusting the speed of the motor back to it's desired speed?
Jiggy-Ninja:
You could also try controlling the position (like a servo motor)
For this could I also use a pot to change the position of the servo, and then PID would set the position of the servo back.
SMM2:
For this could I also use a pot to change the position of the servo, and then PID would set the position of the servo back.
I don't think that is what was intended.
I think the idea was to make a DC motor (with gears) behave like a servo. The output shaft of a servo has a potentiometer on it and a PID system would normally be used to match the actual position to the commanded position. The bigger the error the faster the motor should move to make the correction. As it gets closer to the desired position it will slow down so it does not overshoot.
I think the idea was to make a DC motor (with gears) behave like a servo. The output shaft of a servo has a potentiometer on it and a PID system would normally be used to match the actual position to the commanded position. The bigger the error the faster the motor should move to make the correction. As it gets closer to the desired position it will slow down so it does not overshoot.
While heating is a simple example for a PID application, the high time constants make it not well suited for demonstration purposes. Also these constants differ for heating and cooling, bad when the controller overshoots. In fact it's more an example for the limits of a PID controller, than for its use.
SMM2:
I had found this on PID motor speed control.
Also how could I make a DC motor behave like a servo?
In the video there is a sensor measuring the speed of the motor and the Arduino adjusts the power to keep the speed constant.
The servos that you buy for model aircraft etc are DC motors made to behave like servos. A servo uses a position sensor rather than a speed sensor. When the motor runs the much lower speed output shaft moves a potentiometer. The Arduino can tell from reading the voltage on the potentiometer whether the output shaft is in the correct position. If it is, it stops the motor. The trick is to get a fast response that does not overshoot.