Ohio State (my home state) 42 Michigan (rays home state) 39 ;-)
I concider him northern wi ;)
Congrats on your team, jmk.
quite a battle
Sounds like both teams could have used help with defense.
jmkasunich, You said something recently about the compile farm. What's going on there?
working on moving it to virtual machines running on my main computer
should be faster, and save some electricity
I'll be phasing out the really old systems, and adding newer ones
I aim to have dapper, breezy, and BDI-4.something, probably 4.50
Ah. That sounds like a good plan.
also a non-realtime compile on breezy and maybe dapper
slot 2 that was running BDI-2 apparently had hard disk troubles starting a while back, I noticed it hadn't been updating, and checked it yesterday
RTAI isn't an issue with virtual?
not for compiling
not sure about running, but we never actually _ran_ the farm slots anyway
The switch over to new equipment should be a great improvement.
in theory we can now run 'scripts/runtests' -- this should work in a virtual environment
I might give that a shot after the rest is working
although I want to avoid running anything that might lock up the machine
with "vmware-cmd" you do have the ability to reboot the slots from the host's commandline
I know its not hard to recover
but automating could be a pain
jepler: how are the section 9 man pages handled by make clean, etc
does it clear that entire directory, or only the generated ones?
jmkasunich: they may be missed now, I'm not sure
I'm working on man pages for streamer and sampler, and should also do ones for stepgen, etc
those need to live in the .9 directory and not get erased
it looks like 'make clean' does nothing right now
I suppose we can leave it that way
or we can put the actual man pages somewhere in the docs/src tree, and have make copy them to docs/man
but that seems a little overly complex
03jepler 07HEAD * 10emc2/src/hal/components/Submakefile: remove generated manpages for 'make clean'
that should do it right -- only clean the generated ones
Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emc/2006-11-19.txt
Hi Ray, just finished 1st sinker conversion. had it scraped in, dovetails & cuts rock steady. Looking fwd to using Hal on one.
like, >just< finished, cant get the crap off my hands yet
I know the craponhands thing.
What kind of conversion.
elox hrp 19x, hydraulic edm to new popwer supply, 3kW motor and 50mm ballscrew (5 pitch)
300 amps, cuts great
it held a 25 amp finish cut on a 12x18 die for 1/2 hr dead steady, never blinked, stiffest system I ever saw ( Nasovia included )
heck stiffer trhan Droop & Rhine
300 amps sounds more like a welder.
the diff between desired & actual position never varied more than 1 unit of motion ( .0002" ) for 1/2 hr
yeh ;-) and it was Average amps ! (measured across the shunt)
wah. that sounds awesome
so 0002 was one encoder count?
got movies I'll post to my own site ( if I can remeber my url :-(
yes Accurite 5um scale
the material was some secret concoction, the weld ... i couldnt scratch it with a file, the parent... same thing
Nice setup. Sounds like good tuning.
used those automation direct amps, self tuning worked great
no pots :-)
oh yeah 3.3m/min and 20ms acceleration :-)
I've looked at the AD amps but have not tried one yet.
I thought I got them on YOUR reccomendation
btw nice article in the new mag
I know that we talked about AD amps and motors.
about your recent request about pc based cnc.. do you include stuff like dTau? or does the control need to be done by the pc?
I was thinking more of interesting and effective ways of organizing PC type stuff around a retrofit.
So I'm interested in any kind of pc based motion control
hmm, I used a pc inside this control, it's dos based with HCTL1000 motion chips, but is only a single axis control.
Well, I'll gather any pc info I got for you, but gotta stop now, fading fast. nite all!
my mill is running Triggs parts right now
I've been hacking Varkon a bit this week
rayh: so you're writing an article on PC CNC?
I'm working on describing some of the issues with using commercial PC stuff in a retrofit/jobshop environment.
I'm hoping it will get there.
03cradek 07HEAD * 10emc2/src/emc/rs274ngc/interp_convert.cc: end in the right place after g76
03cradek 07HEAD * 10emc2/nc_files/g76.ngc: why yes, this is my idea of documentation
03jmkasunich 07HEAD * 10emc2/docs/man/.cvsignore: man pages for the HAL streamer
03jmkasunich 07HEAD * 10emc2/docs/man/man1/halstreamer.1: man pages for the HAL streamer
03jmkasunich 07HEAD * 10emc2/docs/man/man9/streamer.9: man pages for the HAL streamer
cradek: just saw your lathe servo mount photo. What servo did you use? I'm looking at converting my Taig
I used some gifts from jmkasunich's junkbox
they have old (80s?) HP part numbers on them
came out of a printer from the company dumpster
unfortunately I don't know anything about them, or where to get more
I have some similar (slightly smaller) servos from original HP deskjets
ah, ok. was looking at jepler's etch-a-sketch servos and wondering about them, but saw where he had said they were slow.
they also have a high res encoder built in just like these
yeah, those have integral gearboxes
appropriate for the etch-a-sketch, where one turn of the knob moves a large part of an inch
not so good for a leadscrew
wondering how much of a problem the gearboxes would cause with backlash
cradek: I just took apart an old deskjet - instead of a servo, it had a DC motor, and a linear encoder on the carriage
long strip of mylar or something similar with lines printed on it
surplus center has some motors with encoders - let me find the link.
must have been newer than these
Electronic goldmine has those linear encoder strips (or similar)
the name of these is exactly "DeskJet", no numbers/letters
I think this was a 500C
jtr_emc: it's tempting to try those but I bet the resolution is low, and you would need exactly 0 backlash in your screws for it to not oscillate
the strip from my printer has 150 lines/inch (makes sense, quadrature gives 600 counts per inch, and its a 600dpi printer)
[04:14:26] <jtr_emc> http://www.surpluscenter.com/item.asp?UID=2006111822114613&item=10-1834&catname=
I don't know if the above motor would have sufficient torque.
looks a bit on the toyish side doesn't it
you'd have to step it down
cradek: is yours stepped down 3:1 or 4:1?
I stepped mine down 3:1 and they're a lot bigger than that
I think 4:1 is going to be hard to get with the scheme I used
I was already at the limit of tooth engagement on the small gear
that's what I was afraid of. Also thinking about all that weight hanging off the front of the carriage
surpluscenter looks dangerous
surpluscenter is 5 miles from me
I've gotten stuff from them before, and been pleased - but you can also buy the wrong thing
trying to avoid doing that through ignorance.
hmm, I could use a couple of those contactors... (if I ever get going on my spindle drive project)
[04:22:40] <cradek> http://www.surpluscenter.com/item.asp?UID=2006111822114613&catname=&qty=1&item=10-1796
dual-shaft means easy to add an the cheapest USD encoders
* jmkasunich gets out the calculator
8.4 oz-in, if I did the math right
0.88A full load
moving right along
thats physically about the same size as the ones you have
mine must be much stronger than that
but yeah, I was looking primarily at the size
have you ever measured the current while running?
stall is 1.5-2A I think
HP = amps * volts / 746
how many volts are you running?
that was at roughly 18ish
do you know how many RPM you get at 18V?
18V * 2A = 36W = 1/20HP
and if thats at stall, the continuous HP rating is a lot less
that 1/35 HP rating is probably continuous - it might be in the same range as yours
let me go check the label on mine (duh)
no - it's listed as intermittent duty.
but yours might be lower RPM and higher torque
[04:30:12] <jmkasunich> http://www.surpluscenter.com/item.asp?UID=2006111822114613&item=10-2328&catname=
they say nothing useful except 19.1V
the motors are 1.6" dia * 2.1" long
70 oz-in at 1800 RPM, for $50
about 3.3A at 28V
what rapids do you get on with your servo?
20 pitch screw?
60 ipm * 25.4 turns/inch = 1524 rpm screw * 3 = 4572 rpm motor
I might have more available but on something that small, motion is pretty abrupt at 60ipm
was just gonna ask that. 20 pitch on cross feed for me, looking at 16 for the longitudinal
you're converting a lathe?
if 19.1V = ~4600 rpm, then we can calculate Kv and Kt
not many lathes using emc yet
Taig, about the size of the Sherline
jmkasunich: I'm actually using 24v on the lathe
* cradek whistles innocently
yes, want to get a small conversion under my belt.
jtr_emc: do you have other machinery to use to make the conversion parts?
cradek: that motor should be delivering about 7 oz-in per amp
I used a (cnc) mill and (manual) lathe both
Logan 11x24 lathe, milling attachment for the Taig.
jmkasunich: wow I'm surprised at such a small number
it works great, I can stop a rapid with my hand, but it's some work
if you go to 2A peak, thats 14 oz-in at the motor, or 42 oz-in at the screw
the very fine pitch can only help
stop it by grabbing the pulley, or the table?
the table I mean
yeah, the pitch makes a big different there
the pulleys spin too fast to want to grab much
it will be fun to show it off at fest
7oz-in at 4600 rpm... with a 1" radius, that is 4600 * 2pi = 28888 inches per minute
and the table is doing 60 ipm
ratio of about 481:1
times 7 oz = 210 lbs
of course the screw has lots of friction - the entire powertrain is probably only 10-15% efficient
so you are down in the neighborhood of 20-30 lbs
so 5-10lbs with my hand to cause a FE, seems about right
so if jtr's screws are 16 instead of 25 like mine, he needs substantially more motor
actually, the diameter of the screw is more important than the pitch
especially for fine screws (16 and 25 are both fine)
ok this is the voodoo stuff you know about and I don't
because much more than half of the total force is friction, and the friction torque is table force * coeffecient of friction * radius of screw
so would 16 acme work about as well or better for me? it would sure be faster
its not voodo
is the existing screw acme, or triangle?
16 acme would probably be better then
interesting. I even have some around.
when you apply 10 lbs of axial force to a V thread, you get wedging - the net force on the flanks of the screw is greater than 10 lbs
the 20 pitch is 1/4 in dia, the other is 3/8-16 all-thread, for now. initial idea was to use it as a power feed.
probably something like 1/cos(thread_face_angle), but I'm not sure about that
the acme has lower face angle, so less wedging action, and less friction torque
(assuming same diameter)
jtr_emc: does it have change gears or gearbox?
or not really anything (like sherline)
has no power feed whatsoever - longitudinal feed is currently via a rack/pinion
ahh, you'd be adding a lot of utility to the machine then.
I bought the sherline threading kit but only used it a couple times - it's very weak
jtr_emc: how bit is the lathe?
yes, indeed. some folks have made q/c gearboxes for them
but with cnc threading is very easy
sherline size? 6" swing? 9" swing?
sherline is about 3" swing, right?
1.88 over crosslide
3.5 over bed
was trying to remember actual specs.
[04:48:51] <jmkasunich> http://www.surpluscenter.com/item.asp?UID=2006111822114613&item=10-1674&catname=
google just told me that, I didn't remember
that would give you quite good performace on a sherline sized machine
although it might be too heavy for the carriage ;-)
2:1 gearing or less?
too bad it's not dual shaft.
9.6 oz in continuous
that's a BIG motor compared to mine
the taig bed is only supported at one end - see:
[04:50:46] <jtr_emc> http://www.taigtools.com/mlathe.html
cradek: I bet your motors would get pretty hot at 1A continuous
(1A is what you'd need to get the 7 oz-in)
they never even get warm, but I suppose they have it easy a lot of the time
I could hang the motor under the carriage, at least get good balance. Price is right, too.
you put a screw on Z already?
your motor is 7 oz-in per amp, and probably not much more than 1/2 A continuous, this one is 9 oz-in per amp, and rated at 1.8 continuous
looks like it would be a lot of work
not yet. planned to add a handwheel initially so I'd have z graduations
I used servos for a fun project - there's nothing wrong with steppers on a machine this size
the real advantage of servos is better high speed performance
you can direct drive them, it might be a lot easier mechanically
(even the cheapest steppers blow these servos away at low speeds - you can easily get 150 oz-in)
let me find a link - I thing Tony Jeffree added a leadscrew already.
I'd be ok with steppers.
if you want to thread you need to think about a spindle encoder too
want to thread!!
I understand hollow shaft encoders cost about as much as that lathe, you'll have to get creative to do it some other way :-)
wow, surplus center only has 3 stepper motors
yeah they have surprisingly little of that kind of thing
[04:57:10] <jtr_emc> http://www.jeffree.co.uk/Pages/leadscrew.html
hydraulic junk to fix you tractor, sure, but no little motors
they have entire shelves of stuff I don't even recognize
would be neat to wander around...
if I ever find myself in NE
I was looking at owhite's us digital encoder - think i can modify one
or make a special hub for the headstock pulley.
looks like a big chunk of the jeffree webpage is about the spindle-to-leadscrew drivetrain
not needed for CNC ;-)
wow that's an amazing setup
yeah forget all that!
ouch, he started with the sherline kit...
complete with the hand crank
an impressive piece of work, though. Actually, this is not the conversions i was remembering.
yes very impressive
split nut - another thing not needed with CNC
the one I was thinking about put the leadscrew up alongside the rack
on the sherline it's centered under the ways
probably helps keep chips off
yeah it stays very clean
That can be a problem with the Taig.
in my opinion, you should forget everything tony jefferys did, and concentrate on one goal: a leadscrew/permanently engaged nut combination that is protected from crud
does the carriage hang over the back of the ways very far?
no, not far at all.
I'm visualising a sort of U shaped thing that is attached to the carriage on both front and back
and the screw is centered under the bed
the U would have to go under the bed - it looks like the bed only touches the table at the headstock end, so there might be room
on the sherline the "U" only comes around the front
yes, the bed is only supported at the headstock end. The drive motor and leadscrew could go underneath.
if its rigidly constructed that can be good enough
the carriage and apron are all one piece as far as I can tell from the pics
The bed is a composite - the ways are steel, with a filled aluminum box beam underneath
is the bottom face of the apron machined and flat?
Yes, carriage/apron is a one piece casting, not machined flat on bottom.
but that part is fixable.
if you can make it flat, then you can make a rectangular spacer- same length as the carriage, as thick as the apron, and tall enough to get you down below the bottom of the bed
two clearance holes in the spacer
there is room for a leadscrew in the traditional position between the bed and apron.
two decent sized threaded holes in the bottom of the apron
can you put anything in there to keep chips off of it?
there's a small shield for the rack there now - may not be enough for the screw.
maybe it could be replaced with a bigger one mounted the same way
could - if it will be CNC only, the rack and pinion could go away, make more room.
I might order another one just to do the conversion on.
could just get the bed and carriage. do a full u-channel, and center the leadscrew underneath like you suggested.
move headstock when done.
Thanks for the input, guys. I'll look into some steppers and options for mounting the leadscrew.
thanks, i'll need it.
* jtr_emc is back
here's the link to the leadscrew modification I was thinking about:
[06:40:53] <jtr_emc> http://users.eastlink.ca/~jbentley/LeadscrewJRB.htm
jtr_emc is now known as jtr_away
03alex_joni 07HEAD * 10emc2/docs/src/gcode/main.lyx: some more indexes
03alex_joni 07HEAD * 10emc2/docs/src/common/Glossary.lyx: some more indexes
03alex_joni 07HEAD * 10emc2/docs/src/gcode/ (coordinates.lyx mill_canned.lyx): some more indexes
did you know you need seriously stiff couplers?
otherwise hell breaks loose..
oscillation is not cute.
03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: force spindle override to 100scripts/axis.py at startup
argh stupid vim
heh.. nm that
03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: fix for the previous fix
hope it's ok I removed those man files
what files did you remove?
u8, s8, u16 and s16 related
removed from where?
oh -- yeah that is the right thing to do
I also noticed there are some I can't open
they seem to be symlinks?
rtapi_task_resume.3rtapi for example
$ man 3rtapi rtapi_task_resume | wc -l
Reformatting rtapi_task_resume(3rtapi), please wait...
works for me
03jepler 07HEAD * 10emc2/docs/man/man3/ (hal_param_new.3hal hal_pin_new.3hal): 8- and 16-bit hal types no longer exist
03jepler 07HEAD * 10emc2/docs/man/man3/hal_type_t.3hal: 8- and 16-bit hal types no longer exist
03jepler 07HEAD * 10emc2/docs/src/hal/ (comp.lyx out8.comp): 8- and 16-bit hal types no longer exist
03jepler 07HEAD * 10emc2/docs/src/hal/intro.lyx: 8- and 16-bit hal types no longer exist
03jepler 07HEAD * 10emc2/docs/man/man9/.cvsignore: ignore generated files
03jepler 07HEAD * 10emc2/src/Makefile: use common copy of emc.nml in sample configs
03alex_joni 07HEAD * 10emc2/tcl/tkemc.tcl: fixed a button size
03alex_joni 07HEAD * 10emc2/src/hal/user_comps/vcp/vcp_main.c: silence some messages, remove for good later
03jepler 07HEAD * 10emc2/src/emc/motion/motion.c: the message level was accidentally set way up. set back down to default.
is there a limit for the number of axis in emc2? I want to use more then 6 axis, is it possible?
acemi: the motion controller presumebly can do 8 axes
but lots of places probably assume max = 6
* alex_joni leaves for a while
rayh, good morning
time to set up shop in the new house
has a sweet half finished basement
just nice enough that it's not scary to be down there, but not so nice that you're afraid to make a mess
got a few of the older centent stepper drives on eBay
should be able to spin the motors up for the first time tonight
just hope the cat doesn't get caught in any of the machinery :/
that wouldn't be nice :(
he managed to get up in the floor beams somehow
water spray bottle..
I've made my cats scared of the workshop by blowing compressed air at them at a distance of 1.5 meters or so
and those are 8-10' off the ground
whenever they come
they dont like the sound and the wind
have to try that ... compressor is there and handy
he's too used to the spray bottle by now
my wife has a plant room with ~75 orchids in it that he likes to bother
before they used to run around in there and get their paws all dirtied up
the chips didn't seem to be able to cut in though, fortunately
if anything, maybe I can just shake him out once a day and he'll keep the floor dust free ;)
I'll have to apologize to ALPHA next time he's in here
I do not in fact live in a free country it seems
it's very expensive in fact ...
turned right on red in my van at an intersection where you're not supposed to between 6am-6pm
no cars coming but I still got popped
ejholmgren: what country?
you are a policestate..
guess I'll just hide in my basement from now on
no reason to leave after I get everything set up ;)
eholmgren: you still need food
wife will bring it to me
heh ... prob not
here's an actual EMC question
how many pulses/sec am I going to be limited to with a PII 400mhz?
I have alot of crap laying around that I could build a 1gz PIII from
but that would take effort
how big are the pulses ( sounds like stepper question )
hmm, probably not under 25µS/period
probably around 30-35
around 25-30k pulses
so the question is not just this math, but 'can emc2 handle 25.8K frew' right?
just wondering if this older box is going to be a limiting factor in the speed I can run my machine will
how fast do you want to be able to run?
oh, keep in mind step/dir takes two periods per step
so that would bring you down to 12k steps/sec
10tpi leadscrew and 1/8th microstepping
150oz direct drive on the x and y
yes, 1.8 deg steps
how big is the step ( smallest commanded motion )?
so if you have 25k then your max speed is 1.5 inches/sec
a bit slow probably
still, 1600 steps/rev is a bit
not that slow
if you drop to 1/4 microstepping then you'll get 3 inches/sec
hmrnn... will prob be good enough to get everything working then
oh, not that bad actually
it's enough for most cutting
I can always throw the new MB and faster proc in there afterwards
spindle is more likely a limiting factor :)
for the time being
1kgm then, not bad
you'll probably wan tmore then
what'll you cut?
* anonimasu is pondering chipload
wood and plastic
hm, I dont know about wood :/
you will probably want more speed then precision..
also plastic isnt too fun to run with high spindle rpm and low chiploads..
work pieces will be fairly small though, ~ 25x50cm
* anonimasu breaks them all the time
that cant take much power
atleast in aluminium..
white pine shouldn't be snapping much though
why does step/dir take 2 periods?
you should probably ask jymmm or les_W
or somone with a router
about what speeds you need :)
will prob go with a router as the spindle on the next bigger machine ...
but it would be a little ungainly on the size I'm building right now
anonimasu: did you make your own toolchanger?
Lerneaen_Hydra: not yet
oh, just plans so far?
yeah, but I have a design in mind..
I've ended up moving the spindle..
Lerneaen_Hydra: that makes it easier to get tools in/out of there :)
[19:53:29] <anonimasu> http://www.woodweb.com/knowledge_base/CNCMachining_Curved.html
Lerneaen_Hydra: then just a changer arm, with a pneumatic gripper..
gripper/lock for the tool..
swing it in/let the spindle loosen the drawbar bolt..
ok, what is it that locks the tool in place in the spindle?
oh, it loosens it itself?
I lock the nut in place.. -
hmm, what does it look like today?
have an image?
im going to re-make my spindle in a bit, to make the motor mount better :)
hmm, the only mills i've seen have a threaded rod that holds the tool in place
mine does too..
oh, so it will unscrew it automatically?
nice link, thanks
I were thinking about a real drawbar bolt, but it's for my next spindle..
and some type of torque sensor so it knows when it's done?
or well, I have torque feedback also..
as the spindle is huydralic..
is this a big mill?
got 4kw spindle..
oh, you mean the spindle motor is hydraulic?
[19:57:45] <anonimasu> http://www.blocket.se/vi/10097487.htm?ca=1_12_s
I was thinking that the Z control was hydraulic or something
standard size then
then again, it had a digital display and came with some stuff
still way to expensive IMO
the machines are very very good..
oh, what accuracy?
well, if it werent for my tiny backslash..
less then 0.01
where's the hyd pump?
the table/squareness if more then my dial gauge shows..
that's not mine :)
and this is the machine that was incomplete/missing stuff
it's a box behind my machine
oh, random question, how much do servo motors cost roughly (say a motor strong enough for a mill http://www.cmarshallfab.com/images/machines/pdm45_mill_detail.jpg
this size if 1:1)
the ones I have are 4000sek..
with 2mm screws they do direct drive nicely
what about smaller ones?
there arent any..
not that I know of..
[20:02:33] <anonimasu> http://www.galilmc.com/products/motors/servomotors.html
the smallest ones are the ones i have
aratron sells them, but I'd import them with a friend :)
looks like my mill-to-be is going to be stepper based ;)
servos ends up expensive quickly
maybe if I can find/get some somewhere
though if the rest of the machine is good I doubt you will regret spending money on them..
Lerneaen_Hydra: is that price too much the us one?
I was hoping for a 1000kr tag ;)
forget about it :)
then again, I don't really *need* servos
you can probably retrofit some other dc motors with encoders..
it would just be nice having closed loop and high speed
that and PID is cool
but encoders are pretty expensive also :)
I think bo^dick is building ones with a mouse..
crappy res though
usdigital has prices :)
I suppose if you change the wheel it would be better though
cradek used a usdigital encoder for spindle feedback when he first worked on threading.
$20 ea for the cheapest ones
$30-40 for better ones
motors I could probably find somewhere, so it's probably possible to get all the retrofitting parts for under 1500sek
if I get motors for free
should be possible
price is up now... http://www.use-enco.com/CGI/INSRIT?PARTPG=INLMKD&PMPXNO=5820408&PMAKA=325-5184
are those new?
Lerneaen_Hydra: you dont care too much about backslash right=
not that much
I'm going to preload the screw
I'm going there..
and use EMCs backlash comp when it's unborken
though it depends on what price I get on backslash free nuts..
you can make your own ones
oh, ballscrews with backslash free nuts..
I was thinking about some brass preloading nut
oh, ballscrew, right
I'm probabaly going to go with acme screw
* anonimasu nods
it's better on budget :)
and get a more powerful motor instead
I'll probably end up with dual nuts and pring washers..
that's what I've got in my lathe now, works nice
but, well ballnuts are expensive :)
yeah, but it came with them
and it was free
so all the better
and I found 30mmx5mm ballscrew in a trash can once too
I'm happy when I can do bearing mounts.. and have a interference fit .)
on the mill
nearly 30cm long
though it might not be sane..
I'll be back in a bit
too late! :p
03jmkasunich 07HEAD * 10emc2/docs/man/man9/streamer.9: fix a pin name
03jmkasunich 07HEAD * 10emc2/src/hal/components/streamer.c: fix a pin name
03cradek 07HEAD * 10emc2/nc_files/g76.ngc: minor doc fixes
03jmkasunich 07HEAD * 10emc2/docs/NEWS: document some old work in NEWS
lerman is here, again.
I just posted something to the user list and thought I'd make an appearance to hear if there are any comment.
* jmkasunich reads
lerman: just now? (the post)
* alex_joni didn't get anything yet
But just follow the link above. The post was just a pointer to it and a request for comments.
I haven't gotten it back from the list, yet either.
I have very little to say - I don't know much about the g-code side
it seems like a reasonable approach
at least as reasonable as anything written in g-code can be
Basic gcode is a pretty crud(e) language.
g-code is really bad.... arbitrary letters for function arguments, etc
Yes. But it might be well suited if all you have is paper tape.
cradek is fighting that battle now with the threading canned cycle - he needs a couple more args (infeed and outfeed angles) and can't find letters to use
just found this: http://cnc-suite.sourceforge.net/cnc/index.html
it's in german though
It's worse than that, I suspect. After you implement it, it is too complex to use (unless you have some sort of wizard to generate the code). But in that case, you might just as well write a plain gcode subroutine and call it with the wizard.
So, alex_joni, are you going to translate it for us? It looks pretty neat.
some avr-based 6-axis cnc control
he's planing on doing a full cad/cam/cae package
so far it does cam based on images and heightmaps
Well, the 20% of the work needed to get the first 80% of the functionality goes pretty fast.
Is that raster based, then?
I think so
I've been thinking about how to automate general pocketing. In a past life, I did raster fill routines, an pocketing is similar.
The problem, though, is that trying to write such a routine in gcode would be a bear, since there are no arrays in gcode.
* anonimasu nods
It just occurred to me though, that you could use a parameter as a subscript, since it can specify the number of another parameter. Talk about unreadable code, though.
I think it would be crazy to do anything so complex in gcode
I think it would be crasy to do anything complex in gcode
Yes. But there are advantages to it.
Particularly if you already have a wizard facility (well, the 80% that takes 20% of the work to do). :-)
I think it would be crasy to do anything complex in gcode
But, sanity is vastly over rated.
we need conversational stuff really on the long term :)
To me, the hard part of the conversational stuff is writing the actual gcode. I have the screen for the circular pocketing all done, but writing the generic gcode routine is a bit of a pain. Consider cutter diameter compensated ramping circular pockets.
though /me nods
then I think you should generate the gcode in the high level language.
I think its an issue of philosophy
I thought my slot subroutine was bordering on crazy, and you're doing more complex stuff than that
if you think of g-code as the object code from a compiler, you let the HLL and the CAM do all the work, and the g-code is very simple
Well, to me, the problem is what gcode to generate. If you don't know what to generate, it doesn't matter what language you generate it in.
you don't even need g-code features like tool comp
you can do tool comp, when making the program..
if you want the g-code to be more like source code, then you need the higher level constructs in it, like subroutines, and all the rest
atleast that's how mastercam does it.. for pockets
it dosent mess with cutter offsets..
For example, what would the code to generate the ramp at 15degrees whiile doing circular interpolation look like.
lerman: maybe I don't understand what you're saying. it seems to me like you generate a few g8x canned drilling cycles after doing some very minor trig
No, not the hole drilling. The circular pocket routine.
oh I see, sorry
lerman: that's just a helix isn't it? an arc with Z added in
what 15 degrees means in that case isn't quite obvious to me at first
cradek: it's the ramp angle..
cradek: when entering the material..
* alex_joni heads to bed ..
To do the pocket, you start by ramping down a small circle (at the diameter of the stepover). You need to go down to the bottom depth and then circle around, again to mill off the ramp.
ok, so what is the problem?
It is the circumfrence of the (center line of the cutter) circle divided into the vertical distance. (well, the arctan).
to be honest, I'd almost rather specify that as depth per revolution
not an angle
The problem is that depending on the depth, you mght have to make several passes around the circle.
but you need to specify a maximum stepdown..
you could spiral in instead of out
I would think though the physics would want to have either the slope or an angle specified.
if you pocket thick stuff you need to have a max stepdown..
lerman: the problem is that there are two limiting factors, and neither angle nor stepdown address both
and you spiral down to the max stepdown..
Yes, the wizard specifies the step down per pass.
so you have stepdown and stepover, right?
the angle defines how much stepdown per turn
turn/pass.. until you end up at the max stepdown
Stepover is specified in % of cutter diameter.
* anonimasu dosent see the real problem
though it's a bit messy :)
but you have all parameters already
though I might be simplifying.
Well, my view is that you ramp down (starting at the center) until you get to the specified depth for that pass. Then you spiral out. Repeat until at the rough depth. Then make a last pass at the finish depth going to the finished diameter.
Does anyne have an opinion on spiraling out vs. spiraling in?
yes I agree that's the algorithm
when I make pockets manually, I ramp down near the outside, and then spiral in
but I have no firsthand CNC experience
and I'm not a pro machinist...
lerman: if you do have a deep pocket I think spiraling is a better idea..
Also, after ramping down to the first step, do we machine off the ramp, or do we just leave the ramp until the final pass.
by ramping near the outside, you don't have such a problem with ramp angle
I can't see that out/in matters much except you have to spiral the other way
lerman: usually yes..
I have no professional cnc eperience, either AND am not a machinist.
if you like I can provide you with some gcode of, code generated by a cam program..
Was that a yes, machine off the ramp each pass.
want to see?
That would be handy. If it is readable. Yes.
you can plot it in emc.. :9
when I do helical "drilling" I helix down and then do one full circle at the bottom
I can't. I don't have an emc2 system running.
I'll get you one anyway..
That seems reasonable.
give me a few minutes..
if you are constrained by the angle at which you can ramp, then ramping at the outside will get you deeper faster
No. You still have to cut the same distance. The feed is the same, so the time is the same.
I was just thinking that
the only difference is sometimes a tight circle is limited by the acceleration constraint
I was too, but somehow it bothers me
The difference is that by staying at the center, you remove the ramp as you go. (It overlaps itself).
and thats what bothers me
hm, done you do that either way?
you can specify the ramp angle at the center of the tool
but if the orbit is small (specifically smaller than the tool diameter) parts of the tool will be ramping steeper than you think
think about what happens as the orbit size shrinks toward zero
if the orbit size is 1/10 the tool diameter, you wind up orbiting like mad, but the center 8/10 of the tool is just plunging
That's what I was figuring to do. The orbit would be smaller than the tool diameter. In the zero case, the horizontal distance is zero, so the vertical distance would also be zero.
I got a program now
Well, not really. The problem with plunging is that the center of the tool has zero velocity (horizontally). But even 1/10 of the tool diameter would be cutting.
just let me uppload it
it's 651 lines.
cutting yes, but not well
some tools don't have cutting surfaces in the center at all
I think you want to spiral in :-)
there is also the matter of clearing chips
So, let's write the code to start at the outside. But, we still have the issue of the last (finish) pass.
what's the issue?
regardless of all these details, IMHO this entire discussion is not CNC, it is CAM
yes lerman is writing cam software.
doing things like this in g-code when you can write a CAM program in a modern language seems strange to me
Well, it would be different. You don't want to go to depth at the finish diameter.
the program's online
right - you rough the pocket first
lerman: did you find the program?
Yes. (I Got it.)
I thought we were talking about cam algorithms, not gcode issues
you might want to cut the entire pocket both 0.005 small laterally and 0.005 shallow, then come back and finish it
or you might want to go full depth but undersize laterally
lerman: that's with a 3 deg angle for the entry..
* Jymmm is still learning undersizing tolerances
Our discussion is about the algorithm. You need to know HOW to do it before you write the gcode to do it. Whether that is done with a gcode subroutine or a C subroutine doesn't affect that algo.
.005 in wood aint gonna "cut it" =)
Jymmm: I almost never talk about machining wood
Jymmm: I use 0.05mm for finish passes :)
but not in wod :D
bbl, hungry again
jmkasunich: Oh I know =) I'm just leanring the metal stuff and adapting it to other materials... huge learning curve.
Jymmm: what are you cutting?
lerman: what I am saying is that the programmer or machinist is gonna decide how he wants to do it based on the characteristics of the part, the material, and his experience
you can't hard code that
So, the last pass would ramp DOWN to the finish depth . Then it would spiral out for the finish diameter, and finally spiral in at the bottom to clean it off.
anonimasu hardwoods and plastics
Jymmm: oh, I were thinking alu :)
if the machinist has special finishing requirements he can code that after using your pocketing routine to make an undersized pocket
anonimasu Nah, not yet. Maybe after I get moved and reinstall tha machine, then maybe I can setup something for metal and cooling
you can't (and shouldn't try to) do everything for everyone
* anonimasu agrees
No, I wouldn't hard code it. I would write a gcode subroutine that is invoked via a wizard that let you specify all of those things. Tool diameter, pocket diameter, ramp angle, depth per pass, finish depth allowance, finish diamter allowance, stepover, climb mill or normal mill,...
Feed rate and speed would be preset.
you are still hardcoding the basic process, whether its ramp down in center, then spiral out, or ramp down outside and spiral in, or whatever
Specified on a previous line.
this covers only circular pockets, right?
Sure. But you could have different pocketing routines for spiral in or spiral out, etc.
Yup. That's the circular one. Another one would be for rectangular pockets.
circular and rectangular are just special cases of irregular pockets
so why are we starting with the special cases?
But then consider the options for that. You could specify orientation angle and corner radius.
Those special cases are the cases that are traditionally used.
lerman shouldn't corner radius be in the gcode itself based upon the drawing?
Yes. GNight anon...
lerman: define "traditionally used"
* anonimasu is looking forward to readign this tomorrow :)
If I'm doing pocketing, I wouldn't want the CMA to muck the pocket and inset up.
Old time machinists (before cnc) mostly did stuff like that.
yeah - but what old time machinists did, you can program manually without too much trouble
If I'm doing inlay, I wouldn't want the CAM to muck the pocket and inlay up.
Also, the model I'm working with (wizard that invokes gcode subroutines) can do lots of useful stuff, and is reasonable to do.
But, that model doesn't do generic pocketing reasonably.
this gets back to what I said earlier about CAM vs CNC, what you do at the machine vs. what you do at the computer
and I'm in the "do it at the computer" camp
I've written code to do the generic pocketing problem with islands, but I would do that using CAM.
we'll probalby have to agree to disagree
The question is partly whether or not you would ever want to read the gcode.
I'd have to go with keep it isolated in the computer side too.... who knows what I'll be using the same code on down the road.
Lots of people are using 'conversational' systems.
for any but the simplest part, my answer to that is no
g-code is like assembly language
That's what I'm looking at building (or AM building).
lerman: I've taken my gcode and had soemone run it on their totally diffeent controller/cnc machine and except for a few codes, worked perfectly.
In some ways better than assembly. In some ways worse.
parameter numbers instead of named variables: worse
How long did it take to find the 'few codes' that didn't work? Did they crash the machine, ruin some material, or just not work.
subroutine, if then else, while, better.
lerman Just a few modifications to the very basic stuff is all.
lerman no crahes, no material ruined.
lerman: I can't get too excited about flow control
I don't tend to think of part features as being specified programmaticly
lerman took about 60 seconds with a lil search and replace.
That's because you use CAM.
I don't have a CNC yet
I make drawings, then run the machine manually
Or should I say, prefer to use CAM.
but the key point is "I make drawings"
if the drawing has the coordinates of all the holes (for example) there is no benefit to having g-code with loops - just deal with each hole when you convert from drawing to g-code
I'd like to watch you make a rectangular pocket with corners at a radius of .432 inches. Do you have a good rotary table? I bet you really like your dial indicators. (Or do you cheat and have an xy table mounted on a rotary table?)
no - I design parts where the pocket corner radius matches a tool that I have
although I once make a part that had an o-ring groove that was a rectangle with 4 rounded corners - that was tricky
I did have a rotary table, but no XY on top
Well, I had a bunch of hole to drill, then to ream, and having the list of coordinates in one place and being able to use it for both tools was handy.
jmkasunich: you mean EXACT, or >= smallest diameter tool?
exact - so I just mill 4 straight lines
He means exact. Otherwise it is a royal pain.
anything else on a manual machine would be nutz
So, now mill me a rectangular pocket with differring radii for the corners.
on a CNC you'd probably prefer to have the tool smaller than the part radius, eliminates the risk of chatter in the corner
lerman: write me a wizard that will handle that ;-)
My father is an old (87) die maker. He used to have to do all of that stuff. He didn't draw the parts he just made the dies.
that is in 'irregular' pocket, and you weren't really discussing that in the first place
face it, there are as many ways to machine things as there are machinists, and theyre are as many ways to program parts as there are programmers
I should just butt out of this discussion, and stick to the low level stuff where I know what I'm talking about
That's the plan. Well, a rectangular pocket with differing corners would be reasonable. If not, I would make it as four adjacent pockets each with its own radii.
(btw, my dad is 81, and also an old machinist ;-)
Nope. The more feedback the better. I've been thinking of adding the ability to run a wizard screen that would invoke an external program to generate the g code.
until I actually have my CNC conversion working, and have to deal with non-trivial parts, I really don't know what methods I'll use
but in general, if the part is that complex, I want to have it all figured out ahead of time, so I'm not sure I'm that interested in conversational programming
lerman_ is now known as lerman
heh, you are the one who went away
gotta go for a bit tho
I'm outta here. Thanks for chatting.