On Sunday 04 March 2018 07:53:59 Mark wrote:

> Fellas,
>
>
> Took me two years from the start of the shop building to bringing the
> machinery back to life.  A short description of the machine in
> question.  A relatively simple two axis (X & Z) saw beveler that cuts
> tapered triangles of bamboo out of bamboo flat stock.  Has two saws on
> the cutting head set up in a "V" (with a slight .003" gap between the
> two saws at the bottom) that make a single pass cut leaving the
> finished strip with a full length skinny tab at the bottom so that the
> strip doesn't get lifted and ground up by the spinning saws.
>
>
> The strips are held down on a 55" long by 1 1/2" wide table which is
> the X axis. The saws start cutting from the smallest cross section
> dimension to the largest cross section dimension in the G Code file. 
> The problem I'm having and trying to correct is that along the length
> of the table the top of the table varies anywhere from .003" inches
> below the median dimension to about .005" above the median dimension
> to the Z axis's zero. Due to the construction of the machine, there's
> no real way to flatten the table top to less than + or - a thou or
> two.
>
>
> We initially had this discussion on the list a few years ago, but I
> can't seem to find my notes or emails from the list on possible
> solutions. What I'm trying to achieve is for the Z axis to compensate
> for the X axis differences in height every inch along the table. There
> are sections along the table that are the same height, ie say 10
> inches long are all .003 higher than the median, stretches along the
> table that are all at the median height, and stretches of the table
> that are below the median height.
>
>
> There was something Andy talked about that he wrote, but I don't
> remember what that was. It was something in hal code if I remember
> correctly. I'm a bit weak on coding stuff for hal, so I may need a
> little hand holding to implement that kind of stuff.
>
>
> Thanks,
>
> Mark
>
>
That is something that Andy wrote, called lincurve, see man 9 lincurve 
for a basic explanation. What isn't mentioned is that in a motion 
scenario, it will probably feed a pair of sum2's, one summing the 
command from motion to the machine in order to sum the command from 
motion and the correction into the stepgen controlling the x (height) 
axis, and a 2nd sum2 with its input from the lincurve set for a gain 
of -1, and its feedback from the stepgen summed so that the effect of 
the first "offset" is subtracted from the feedback back to motion, 
effectively hiding any corrective motions from the motion controller 
which would generate either corrections, or following errors.

The confusing part for me would be that the x input would be derived from 
the saws z (length along the trackage) position, and the corresponding y 
output controls the error corrections applied to the height motor drive.

As the man page says, it is a maximum of 16 points long, and I've no clue 
if it could be cascaded to more points, however from your description of 
the errors, 16 points seems like more than enough to do a considerable 
error reduction. The calibration, done with a series of setp's in the 
hal file, can be easily corrected for wear error over time.

Your ability to measure the error will likely determine how accurate the 
correction can be.

Beyond this, Andy can probably explain it better than I can since he 
wrote it. My only experience with it was in trying to linearize the 
spindle speed control, a miserable failure trying to correct the errors 
caused by some bob optoisolators so slow as to need stakes set and a 
surveyer called. Getting rid of the opto's was an amazing thing. You can 
start by switching the bob out for a SainSmart, which has no opto's in 
its output circuitry. I still had to bypass 2 in its inputs as they died 
at about 200 spindle rpms since the encoder I bought was a 1000 line 
encoder, and is spinning at motor revs, making it effectively a 7161 
line encoder. That roughly equals a 360 kilohertz signal into the 5i25 
encoder A/B's at full speed. Spindle speed however is now +- maybe 2 
rpms from 50 to 3000.

I intend to incorporate it into my Sheldon Lathe as a bed wear correction 
mechanism, since I expect there has been some in the nearly 70 years of 
its life. There, I expect I could use a laser pointer to develop the 
needed corrections. But I've bigger problems than bed wear as I am 
gradually fine tuning for a bent spindle, which I assume occurred when 
it fell over with the chuck mounted, landing on the compound and 
wrecking it, bent bolt, casting breakage etc. Easily fixed with a solid 
block of cast for the QCTP mount as the computer is a far more accurate 
compound angle cutter than the manual rotation of the compound on its 
base can ever be. I've about got everything else under control, so thats 
about next. But I have some half built furniture to finish first. I've 
had another blood clot reminder that I am on the downhill side of life, 
and I do want to get them done before I miss roll call. So my warfarin 
dose is back up...

Alone ATM, the missus is in the shop with a broken leg, possible cast 
removal in May. Osteoporosis etc, to go with the COPD. She did that the 
night before I was scheduled to have a sore leg looked at. The 
ultrasound tech called the ER, and they kept me for 6 days, pouring in 
the heperin. Its better, but I've been instructed to get the hell out of 
this chair every 30 minutes.

-- 
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to