Hello Guest it is September 15, 2019, 05:16:53 AM

Author Topic: Height Control for Router Table  (Read 8641 times)

0 Members and 1 Guest are viewing this topic.

Offline BR549

*
  •  6,886 6,886
    • View Profile
Re: Height Control for Router Table
« Reply #10 on: August 13, 2011, 05:48:31 PM »
Linear scale is a measuring device linear in nature that outputs vaues OR signals that are used in measuring  a comon signal is a quadrature output where there are 4 signals generated for each unit of movement. Basically same as a servo encoder but only it is linear not rotary.

It may be possible to have those ouputs Drive the Z axis motor movement up and down instead of directly from MACH3 It is called electronic gearing or slaving.

Yes the floating Z uses a mechanical platform mounted to Z in order for the cutter to follow the surface, not be controlled by the COntroller WHILE it is cutting.

Another thing about sonic sensors is the doppler effect of moving objects tends to distort distance measurements. Flying kerf and moving table may cause problems.

(;-)TP

Offline BR549

*
  •  6,886 6,886
    • View Profile
Re: Height Control for Router Table
« Reply #11 on: August 13, 2011, 06:08:09 PM »
MIght want to check again on the pid on low cost DTHCs  THE thcup/down is only the fairly high speed digital INPUT to control the Z thru MACH.

 IF those signals are erratic then the Z will be erratic. The PID filtering takes place in the DTHC.

Being that Mach3 is NOT a real time controller your on the fly height correction calculations are not going to work well. Yes you can use #vars for Zheight control but ONCE the moves are loading into the buffer then that is it.  IF you try to calculate the variable at the point the #var is loaded into the buffer you will find you cannot comp something that has not happened yet. the next problem is the only way you have to update those vars are thru either the brains or the macropump. At a MAX of 10 updates per sec you will fall FAR short of the speed to do it well.

The ONLY access you have at that point IS the THC functions up/down to comp the surface heights based on what the DTHC sees. AND it is NOT value based it is like playing ping pong slapping  the ball back and forth. THe Z at that point will not even use the motor vel/accel parameters it just basically slaps the motor wide open in the direction it is to move and lets the DTHC deal with it being correct in height. Woops overshot slap it back in the other direction.  That is where the PID has to step in. Same basic princible as a servo motor drive.

Just a thought, (;-)TP

« Last Edit: August 13, 2011, 06:17:51 PM by BR549 »
Re: Height Control for Router Table
« Reply #12 on: August 13, 2011, 07:53:55 PM »
Thank you for the lesson rrc1962 and br549, it has been extremely enlightening, and thanks for the quick responses... I now see why this has never been done before.

It should be possible to alter the buffer in Mach3 via plugin dll, right? Timing would be a huge issue though, and it's probably impossible as the buffer will be emptying and being filled very very quickly. Hmmmm..... just thinking out loud...

It appears near impossible at this point due to the buffer delay. If you designed a board or used PLC to intercept the pulses to modify them "on-the-fly" you would have to delay all motor pulses by the same delay as is introduced by adjusting Z to keep all motions in sync.

Interesting.... Now I see why BR549 was suggesting PLC....

Chris
Re: Height Control for Router Table
« Reply #13 on: August 13, 2011, 08:02:26 PM »

THE thcup/down is only the fairly high speed digital INPUT to control the Z thru MACH.


THC UP/DOWN is the only input to control Z through Mach...Unless you're talking about a THC that controls the Z independent of Mach.


 IF those signals are erratic then the Z will be erratic. The PID filtering takes place in the DTHC.


You're talking about signal conditioning, not PID control.  If the tip voltage is all over the place, then the height will be erratic.


Being that Mach3 is NOT a real time controller your on the fly height correction calculations are not going to work well. Yes you can use #vars for Zheight control but ONCE the moves are loading into the buffer then that is it.  IF you try to calculate the variable at the point the #var is loaded into the buffer you will find you cannot comp something that has not happened yet. the next problem is the only way you have to update those vars are thru either the brains or the macropump. At a MAX of 10 updates per sec you will fall FAR short of the speed to do it well.


I'm not talking about doing the math inside Mach.  I agree that this is way to slow.  The purpose of a PID loop is to attempt to look ahead.  If the there is a large difference between the set voltage and the tip voltage, then the loop moves the Z at a faster feed rate than if there were a smaller difference in an attempt to "catch up".  As the two voltages get closer the PID loop slows the feed rate.  It works very well, but it only work if the THC is controlling the Z axis motor drive directly.


The ONLY access you have at that point IS the THC functions up/down to comp the surface heights based on what the DTHC sees. AND it is NOT value based it is like playing ping pong slapping  the ball back and forth. THe Z at that point will not even use the motor vel/accel parameters it just basically slaps the motor wide open in the direction it is to move and lets the DTHC deal with it being correct in height. Woops overshot slap it back in the other direction.  


This is exactly how the low end THC's do it.  Just turn your THC feed rate up to about 25 and watch the Z axis bounce.  If these $500 THC's have a PID loop, then it's not working.  They simply filter the tip voltage to remove any noise and compare that to a set voltage.  If there is a difference, it triggers the THC UP or DOWN commands in Mach.  If there were some sort of PID control, then we would be able to run the THC feed rate at 100% as the PID would adjust feed rate and prevent over shooting.  As it stands, to reduce over shoot, we have to run the THC feed rate at 5-10%.  even that doesn't eliminate it.  It just reduces it to an acceptable level.


That is where the PID has to step in. Same basic princible as a servo motor drive.


How exactly does the PID step in?  We're talking about a system with ON/OFF UP/DOWN inputs.  You can not vary the feed rate based on conditions, which is the purpose of a PID loop.  The only possible way this could happen is if the THC were to pulse the THC inputs sort of like a DC speed control, but then I doubt Mach would be able to handle that.

Which THC are you running?  I have a Sound Logic and a CandCNC on the bench and I can tell you that neither of them have build in PID control. I know this because (1) They operate through Mach's THC commands and (2) Turning the THC feed rate past 15 turns the Z into a pogo stick.

Offline BR549

*
  •  6,886 6,886
    • View Profile
Re: Height Control for Router Table
« Reply #14 on: August 13, 2011, 09:30:44 PM »
You cannot look ahead any further than you can see data for, other than that you and the control are just guessing. If it gets faster than the the stiffness of the system you get the pogo so you slow the max velocity down to compensate.

The pid is used as PART of the sensoring of the arc voltages. IT tries to average out the input stream and make a smooth control output signal not just filter out high /low.

WITH the DTHC i am using now the first sign of unstable responce from the Z axis IS missed steps not motor oscillation. The system can run faster than the motor can phsically keep up. SO that tells me the pid is doing its job(;-).

HIYA CHris yes it is a complex subject. The DTHC is basicaly an advanced PLC system specifically engineered for the specific job of THC.  IF it was as easy as it looks everyone would be building one and they would be $10 a copy(;-).

COntour on the fly machining can be done BUT it takes alot of FAST control and responce to make it work well.  Probably well beyond MACH3 to do well

With  a buffered system you CAN run it 1:1 and fill as you go BUT the machining  MAY get choppy or slow as the drives may end up waiting on Data

Your milage may vary, (;-) TP

Offline BR549

*
  •  6,886 6,886
    • View Profile
Re: Height Control for Router Table
« Reply #15 on: August 13, 2011, 09:46:26 PM »
RRC , it is very easy to get the MACHINE to operate outside of the preset PID range. IF you use a feed screw that is too fast it is possible to outrun the pid because is not adjustable in most THCs and most pids are range specific to tuning SO if the PID is not use adjustable you MUST engineer the feedsytem to OPERATE in the boundaries of the set PID.

SAME goes true for the other end as well too slow or fine.

Get everything balanced and you have a very good working system.

Just a thought, (;-)
Re: Height Control for Router Table
« Reply #16 on: August 13, 2011, 09:53:03 PM »

The pid is used as PART of the sensoring of the arc voltages. IT tries to average out the input stream and make a smooth control output signal not just filter out high /low.





That's not PID, That's signal conditioning.  Our THC does not have a PID loop built in, but it does have a signal conditioner...and it's as stable as the day is long.  A PID loop is used to dynamically change motion parameters based on conditions, such as temperature, flow, voltage, etc.  They are used when a simple on/off won't work.  That's why the higher end THC's have PID control loops.  They control the Z axis directly and based on conditions adjust the feed rate accordingly.  That's why a THC with a PID control loop can respond at a much faster feed rate that one of these $500 THC's that use the Mach3 THC commands.
Re: Height Control for Router Table
« Reply #17 on: August 13, 2011, 10:00:10 PM »
RRC , it is very easy to get the MACHINE to operate outside of the preset PID range. IF you use a feed screw that is too fast it is possible to outrun the pid because is not adjustable in most THCs and most pids are range specific to tuning SO if the PID is not use adjustable you MUST engineer the feedsytem to OPERATE in the boundaries of the set PID.



If the PID is programmed properly, it adjusts the feed rate to meet conditions.  You're confusing signal conditioning with PID loops.  For instance, the Thermal Dynamics THC on their controller running a Koike machine with an Ultra-cut 400 plasma will run the Z at 100IPM.  The PID controller has control of that.  If the gap suddenly widens, the Z can go as high 100IPM to close the gap.  The actual feed rate depends on the amount of correction needed.

Offline BR549

*
  •  6,886 6,886
    • View Profile
Re: Height Control for Router Table
« Reply #18 on: August 13, 2011, 10:46:31 PM »
(;-)No confusion here.

(;-)TP
Re: Height Control for Router Table
« Reply #19 on: August 14, 2011, 09:24:20 AM »
To clarify for others reading this, signal conditioning and PID are quite different things. Signal conditioning removes noise and/or modifies the signal to be accepted by the next stage. PID stands for Proportional, Integral, Derivative and is used to improve the accuracy of the error correction by speeding up or slowing down the corrections to make it match the actual error as closely as possible with minimal overshoot. Without it the error correction cannot be accurate, as overshoot will always occur to some degree. The PID controls both the velocity and acceleration of the correction. According to what's been posted here this is impossible with the standard THC controls in Mach3 as there are no provision for controlling the feedrate, and thus no control of velocity or acceleration, aside from using a fast feedrate and sending the signals as pulses. This is likely to cause choppy movement on Z.