[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