| Electronics > Projects, Designs, and Technical Stuff |
| Motion control, S-curves and other stuff >> controlling lift with DC motor |
| << < (6/14) > >> |
| jbb:
--- Quote from: krisRaba on October 09, 2019, 07:56:08 pm --- ... Delta pos method is better for low speeds, delta time for high speeds so basing on setpoint I use "crossover" speed to decide which measurement should be forwarded to speed variable ;) At the moment it works like a switching point but maybe I should use some kind of proportional change in wider range? I don't know ;) ... I wonder if that planned current loop will help with such things. Current loop will be fast, much faster than speed loop, and current measurements are available each cycle so no need to wait for speed pulse to react. As fas as I understand that, between speed loops there will be a constant current setpoint and current loop will try to handle it. Constant current means constant torque... How it will react to changing friction or other disturbance? With constant torque additional friction will probably slow down the lift and it will have to wait for speed loop that will ask for more current/torque to keep speed setpoint... --- End quote --- Switching between sense modes does seeming something that makes a ‘bump.’ Maybe you can experiment? A ‘mixed’ region might be an option to improve matters if necessary. IE you could smoothly transition from delta pos mode to a mix of delta pod and delta time to full delta time. A current / torque control loop would indeed keep the same current setting between updates of the speed controller. (Look up Zero Order Hold if you’re interested.) Any changes in the plant mechanics (eg friction or changing load) will cause a change in speed that the speed control loop needs to deal with. |
| Kasper:
Looks like you are well beyond my understanding of this subject but I'll share something simple that worked for me. I had to make a test set move air like human lungs. Was given a couple 2L syringes and a linear actuator with controller with speed input and position output I used speed = sine(position) and added extra variables for tuning. That worked well enough but when I later saw a professional version I was jealous of its simplicity. It used disc and rod (like a train). They just needed steady motor speed and the disc smoothly changed the speed and direction of the rod. It also had easy and accurate way to set travel distance: connect the rod to holes at different radius on the disc. |
| krisRaba:
--- Quote from: jbb on October 10, 2019, 12:42:34 am ---Switching between sense modes does seeming something that makes a ‘bump.’ Maybe you can experiment? A ‘mixed’ region might be an option to improve matters if necessary. IE you could smoothly transition from delta pos mode to a mix of delta pod and delta time to full delta time. A current / torque control loop would indeed keep the same current setting between updates of the speed controller. (Look up Zero Order Hold if you’re interested.) Any changes in the plant mechanics (eg friction or changing load) will cause a change in speed that the speed control loop needs to deal with. --- End quote --- If I recall correctly it was way below that crossover speed but thank you for your suggestion, I will check that twice to be sure. I think it is caused by non-constant update rate in delta pos method and for very low speeds update period is probably longer than control loop period so it becomes a little bit nervous that no reaction can be observed for previous demand ;-) I will try to check it somehow. And thanks for one more keyword. I will check what it stands for ;-) |
| krisRaba:
--- Quote from: Kasper on October 10, 2019, 03:39:36 am ---Looks like you are well beyond my understanding of this subject but I'll share something simple that worked for me. I had to make a test set move air like human lungs. Was given a couple 2L syringes and a linear actuator with controller with speed input and position output I used speed = sine(position) and added extra variables for tuning. That worked well enough but when I later saw a professional version I was jealous of its simplicity. It used disc and rod (like a train). They just needed steady motor speed and the disc smoothly changed the speed and direction of the rod. It also had easy and accurate way to set travel distance: connect the rod to holes at different radius on the disc. --- End quote --- Thanks for example. I also prefer situations where physics does the hard job, not calculations ;-) |
| IconicPCB:
For the adventurous spirits forget PID nonsense... go straight to take back a half algorithm for those dificult to control processes. |
| Navigation |
| Message Index |
| Next page |
| Previous page |