Home > Software engineering >  Big brand I VB, feedback control, compensate and correct
Big brand I VB, feedback control, compensate and correct

Time:10-31


I'm going to control the position of a motor, but feedback compensation part I do not understand, ask the great spirit guide
My request is that: I to set a value to a motor, the motor running, I use sensors to b (a) is not equal to b, because there is a deviation, through the program is correct, I want to know the value is equal to the setting of the motor running a

CodePudding user response:

Ctrl<-- -- -- -- -- -- -- & gt; Motor
A0 -- -- -- -- -- -- -- -- -- -- -- -- & gt; |
| & lt; -- -- -- -- -- -- -- -- -- -- -- b0
A1=a0 - b0 - & gt; |
| & lt; -- -- -- -- -- -- -- -- -- -- - b1
A2=a1 - b1 - & gt; |

General feedback control, probably just like this,

Retreat more fill less,

CodePudding user response:

Thank you, whales a great god, if can use VB shows so much the better

CodePudding user response:

Trying to say is, 10000 pulses to the motor, motor should exercise to point A stop in theory, however, due to the condition of the missing pulse stepper motor movement, so, usually, 10000 pulses, the motor can run only to point B (B is closer than A point away from the starting point), is this meaning?
If is this meaning, the best thing to do is on the rotating shaft of the motor and an encoder, use it to detect the pulse number, that is to say, if one revolution of the motor must be 1000 pulses, the encoder will count to 1000, but the control pulse must be greater than or equal to 1000,
Say from design ideas, your this problem should not problems, but the electrical design, add a detection feedback device, problems will be easily determined,

CodePudding user response:

Concrete way is to send a big drive pulse motor, motor sports, with real effective in the process of electric motor encoder count pulse count, the number of pulses when the number of impulse to want to control after (i.e., motor sports to position to), immediately stop sending motor drive pulse,

CodePudding user response:

@ veron:
1, for this question, you say to the motor detection is generally use Timer cycle scanning, in order to real-time display (see the clear), generally longer, if the motor speed is high, will be more than the set value of,
2, I do want to make it similar to the CNC machine tool equipment, motor encoder, some 500 lines here precision can satisfy, but due to the load transmission gear clearance of what, not necessarily in motor position, can achieve want position, so we need to be that kind of feedback

CodePudding user response:

This kind of thing is usually done by the machine, PC usually pass task or periodic task to lower machine, they will take care of control that piece, do a state echo, most real-time acquisition and precision control this is done by the machine, so as to guarantee the accuracy,

CodePudding user response:

In my experience, the idea of the original poster is unable to realize, usually control motor are using pulse output, or the PLC module to control, so as to the reading of the encoder, PC trying to keep up with the speed, it is not realistic,

CodePudding user response:

@ veron
Motor is private servers, a private servers as lower machine drive, drive control, I use VB primarily to detect the position of the external load, according to the actual location of the external load and setting up the position difference to continue to control the motor running, add the difference step on to the next in the operation of the motor

CodePudding user response:

This is the design of the automatic control problems. With the VB have what relation?
The key is you have to understand the logic of closed loop control process, as for the feedback compensation amount, can slowly adjust. Until it is right.

CodePudding user response:

These problems are servo motor of the building Lord, for the upper machine, also is a command, told pulse output unit (or module, or the board) pulse and the control signal is, in plain English, the working principle of PC is impossible to achieve your requirements, recommend the original poster can understand the working principle of the servo motor, as long as you understand the working principle of the servo motor, I think your problem is not the problem,
And servo motor drive is a pulse signal feedback, I said don't need the encoder, servo motor do very powerful now, these are all very basic functions, the principle is very simple,

Another way, if your machine is the stop motion to the same location specified every time, then it is recommended that you install a photoelectric switch in this position for localization, every time when the motor running to this position will stop sending pulse can, there is no need for pulse feedback compensation or something,

CodePudding user response:

references to the tenth floor Veron_04 response:
another way, if your machine is the stop motion to the same location specified every time, then it is recommended that you install a photoelectric switch in this position for localization, every time when the motor running to this position will stop sending pulse can, there is no need for pulse feedback compensation or something,

+ 1

CodePudding user response:

@ niu he dad
There are views, thank you

CodePudding user response:

@ veron human
Have the opportunity to tell you something about the knowledge of the CNC machine, photoelectric switch is a relay, and it just cut off the power supply, height, even to cut off the motor power under the big moment of inertia will run for a while, not immediately stop,
Thank you to provide advice to me, thank you

CodePudding user response:

CNC machine tool is not only what software or electronic circuits, and mechanical problems, and, if you want to add photoelectric switch, must be considered buffer speed on mechanical design in the right position, not the place, and, in the process of handling motor stalling, not to stop the power supply is finished, but to be reversal or electromagnetic tensioning operation, this will reduce the buffer of the problem, so, this kind of problem not only from the software, and electronic and machinery for the overall design, of course, if you do not have conditions on hardware with brake system, only rely on software to solve this kind of error, but relatively speaking, the precision is not enough,

CodePudding user response:

reference 13 floor u011546874 reply:
@ veron human
Have the opportunity to tell you something about the knowledge of the CNC machine, photoelectric switch is a relay, and it just cut off the power supply, height, even to cut off the motor power under the big moment of inertia will run for a while, not immediately stop,
Thank you for your provide suggestion for me, thank you ha

Photoelectric switch, not relay, accurate to say it is a DI signal device, in addition you said the motor rotating inertia of the problem, it is easy to solve, and in the actual work, I often deal with such problems in interpretation is as follows:

You give a high frequency pulse, servo motor drives the servo motor would run at a high speed, when you are at the highest speed of motor sports a certain number of pulses, the pulse number can be in the process of debugging, such as 90% of the total pulse number, or the movement to the distance from the photoelectric switch suitable pulse number), you can reduce the output of the pulse frequency, lower frequency, the motor speed will slow down, slow the speed of you see fit (by adjusting the speed you can access), slow motion to the position of photoelectric switch, the motor is easy to stop running, didn't you say inertia,
PS: whether pulse output card or PLC module, are a function of acceleration or deceleration, that is, the motor speed increase and decrease are not footing, but a rise or decline curve, this you can go see the specific information,

CodePudding user response:

More than a word of mouth, the number of pulses, determines your workpiece running distance,

CodePudding user response:

Caution: be careful returned empty error,
  • Related