So I took a controls class and learned all the math and stuff about implemented an analog PID controller. I had a final project which was to move adjust a mount that held a small solar panel such that it had the greatest light incidence. We have photoresistors to measure the light levels, 4 of them, and moved the mount in two directions using servo motors.
Now the servo motors worked by sending PWM signals to them with a period of 20ms. Easy enough to implement on a micro.
The process I went through with completing that project was nothing like I had ever done in the class and it was fairly frustrating. In class, we had a system, and its step response. We then did all the math to develop a PID controller to give the desired settling time and %OS. What I did in reality was not that, and felt like hackery.
Ive read things of people measuring the response of their system and then uploading it to matlab and using simulink/control toolbox to get the right values of Kp,Ki,Kd and then converted it to appropriate values in Z domain and implement a digital PID controller. That is what I would like to do, but I am at a loss of how I would measure the step response of my system.
The system was as in this
https://browndoggadgets.dozuki.com/Guide/Dual+Axis+Solar+Tracker+2.0/14?lang=enI purchased the wood from them, and I used photoresistors just as them. The opposite is that I used an msp430 instead of an andruino. So my question is, for that system, how would I measure its step response in 1 axis? If that is even possible? Or is there some kind of mathematical model (a transfer function if you will) for a servo motor driven by a pwm that I am unaware of.