[Coco] leading to that CNC Coco machine
George Ramsower
georgeramsower at gmail.com
Wed Feb 6 21:51:25 EST 2008
When I worked in a machine shop and used Mazatrol on Mazak machines, I
learned that it really was quite easy... just a lot of stuff to learn.
Mazatrol isn't anything like basic, but it looks like it wouldn't be
difficult to make a B09 program look like Mazatrol. However, I had intended
to make mine use G codes, but as I get into this, I see it may be easier to
use my own protocol.
The coco takes WAY too much time to do the math while in operation on the
mill. So I intend to build a file generated from the desired plans to be
loaded and used by a smaller program to make the machine do what the file
indicates... much like the original paper tape NC machines did. It would be
my own code, since mine would be a lot simpler. I don't need to do "rapid
moves", control feed rates and things like that. It's too slow already and
all I need to do is just tell it where to go.
I haven't actually tried this theory yet. I'm still working on completing
the mechanical part of the mill. Right now, I'm finishing the X axis lead
screw assembly which is making my brain ache. Only photos can explain this
and I'll get that onto my site as I feel the propensity to do so or, if
people start hounding me for the details.
http://coco.thetinbox.com
From: "Charlie" Sent: Wednesday, February 06, 2008 7:29 PM
Subject: Re: [Coco] leading to that CNC Coco machine
> George, I work with CNC machines everyday. I do programming, setup and
> lead-man work.
> I mostly work with Cincinnati Milacron machines. Our a2100 controllers run
> WindowsNT4 and touchscreens.
> The programming for these is very advanced, and if you can believe it, my
> experience with coco and mc-10
> basic has made me a very good programmer on these machines. Some times I
> laugh when I browse
> through the 500 page prgramming book, looking at all the similarities to
> basic.
>
> Anyway, I think your coco CNC is very cool. Keep it up!
> -Charlie
>
> George Ramsower" <georgeramsower at gmail.com> wrote in message
> news:006b01c86797$6872dd60$a6b8b1d8 at house...
>>
>> ----- Original Message -----
>> From: "George Ramsower"
>>
>>> Most of the inaccuracy in the total length is because of the way I was
>>> doing the math when I move it in such a way that leaves fractions of
>>> steps and those steps were getting out of sync with the real position
>>> and the cheap lead screws which are nothing more than "all thread rods".
>>> So, I'm working on converting actual, desired positions and then
>>> converting that number to the stepping of the motors to get to that
>>> point. This will help, but will not compensate for the threaded rods.
>>
>>
>> Okay. The way I finally fixed this problem with accumilating errors was
>> to use simple addition to a REAL variable that adds the positive and
>> negative move requests to the axis. Then I simply convert the actual
>> desired inch position to a number that relates to the stepper motor
>> position.
>> The current stepper motor position is stored in another REAL variable.
>> So, If the stepper motor isn't where it is wanted to be, the routine just
>> moves it until it matches the desire position.
>>
>> Any errors with fractions are eliminated and the axis always goes where
>> it is supposed to.
>>
>>
>> The following is just a testing routine to work out these little
>> problems. It's not pretty but I'm getting the problems worked out with
>> it. This routing moves the Z axis and nothing else.
>>
>> PROCEDURE zinches
>> DIM zstep(8):BYTE
>> DIM answer:STRING
>> DIM stepz,z,inchz,posz:REAL
>> BASE 1 \ POKE $FF60,0
>> inch=12816 \inchz=0
>> FOR x=1 TO 8 \ READ zstep(x) \NEXT x
>> DATA 1,3,2,6,4,12,8,9
>> x=1
>> 10 (* ------------------------------ Start Here
>> inchz=0
>> posz=0
>> PRINT "Zpos - "; posz
>> 20 (* ------------------------------ Loop begins
>> POKE $FF62,0
>> PRINT "inchz = "; inchz
>> PRINT "Stepper should be at "; inchz*inch
>> PRINT "Stepper is at "; posz
>> INPUT " Move (use - to go away from home) ",answer
>> inchz=inchz+VAL(answer)
>> stepz=inchz*inch
>> IF stepz>posz THEN GOSUB 100 \ ENDIF
>> IF stepz<posz THEN GOSUB 200 \ ENDIF
>> GOTO 20
>> (* ---------------------------- End Here
>> END
>> 100 (* ----------------------------- stepping PLUS
>> WHILE stepz>posz DO
>> z=z+1 \ IF z>8 THEN z=1 \ ENDIF
>> POKE $FF62,zstep(z) \posz=posz+1
>> ENDWHILE
>> RETURN
>> 200 (* ------------------------------ Stepping Minus
>> WHILE stepz<posz DO
>> z=z-1 \ IF z<1 THEN z=8 \ ENDIF
>> POKE $FF62,zstep(z) \posz=posz-1
>> ENDWHILE
>> RETURN
>>
>>
>>
>> George
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>>
>
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
More information about the Coco
mailing list