the pid component has pid.N.command, pid.N.feedback, pid.N.output. these are usually thought of as posn, posn, voltage usually. but they are really just numbers. can i use them as voltage,voltage,voltage ( eg an rc servo ) ?
"tc->progress += (newvel + tc->currentvel) * 0.5 * tc->cycle_time;" (src/emc/kinematics/tp.c) <=== for circles, does that mean that at high velocities, motmod will generate coarser trajectories? or am I reading this wrong?
^^ selected code is from tcRunCycle()
the time quantization is the same no matter the velocity (10ms is 10ms). a circle which takes 1 second to traverse will be sampled at fewer locations than a circle which takes 10 seconds to traverse (100 vs 1000 samples along the circle in this case, neglecting the accel/decel phases)
somehow that doesn't seem right
at hgher velocities, shouldn't you be taking the same steps, just at a faster rate?
heh, I wonder how fast I'd have to go to start drawing squares instead of circules
I read what I wrote again, and I believe it accurately describes what emc2 does. the trajectory planner produces a position at equally spaced time intervals.
no, we're on the same page as far as what the TP does. I'm just debating whether it's doing its job properly
a typical servo cycle is 1ms though, so even a 1 second circle will be very round. adding mass (of the machine) helps still more.
if your machine can cut 1000 sharp corners a second (!) it means you need a faster servo cycle if you want a round circle.
have fun, jepler
^^ I recall seeing a separate circuit for the feedrate control on my old bridgeport that has a 555 timer on it...
maybe it's too costly/difficult to implement a traj loop that's fast enough to give time quantization
"IEEE Xplore is temporarily unavailable. Please try again later." -- NOOOOOOO!!
Weird. If I home my X axis, it moves to Xrelative = 41mm, Xmachine=0. Where does this 41 mm come from? I set HOME_OFFSET to 0 for that axis...
Ah - it's in the .var file
you can clear that out by hand if emc2 is shut down, or you can issue some g-code to clear it
Ok, I just found that emc writes out to that file on shutdown
So clear it out when emc is not running and it will stay cleared?
The gcodes to clear the settings are G54 to G59?
I got "Coordinate system parameter 5220 out of range..." I just set it to 0.
Ok - 5220 is the number of the coordinate system to use and should be 1
(sorry, was away for a bit)
I've got everything working on this machine now! I'm about to run though a program to flame cut through my first bit of steel plate.
Lunch first though...
great stuff :)
you can flame cut your sandwich
Instant barbequed beef... or rather vapourised beef...
do you know schnitzel?
Suppose you program G1Y200F500 for example.
That command takes time to complete.
Wil the next line execute only once you have reached the specified set point?
for instance if it's: M3 S1000 (turn spindle on, 1000 RPM), yes -- the spindle will not turn on/change speed during the move to Y200
What about if it's a user defined command?
there are some exceptions. For instance, the "tool prepare" portion of a toolchange (T1M6, change to tool 1) can take place anytime after the previous tool change, even if the "T" word is far in the future
I believe that an M1xx user defined command executes after any previous motion is complete, but I am not 100% sure.
I want to do this: G1Y200F500 followed by M125 (raise torch adn outfeed clamp).
It appears that the M125 command executes before the G1Y200F500 motion is complete.
How can I make my user defined command wait?
(The motion is moving a torch to make a straight cut through a piece of steel plate. When I get to the end of the cut, I wish to raise the torch which is connected to teh out-feed clamp on this machine)
Perhaps I need to place a short pause at the end of the motion?
I'll try that
huh, you're right
that can't be what we intended :-P
yes, it looks like putting a pause (I wrote G4 P1 before my M1xx line) makes the M1xx happen when you want
Yes - that works. Bit of a kludge though...
Wonder if it's an easy fix to make the M command do the right thing?
Where in the code should I look?
it's in some of the code in src/emc/task where EMC_SYSTEM_CMD is mentioned
when M1xx is encountered, user_defined_add_m_code(1xx, P#, Q#) is called
it adds an EMC_SYSTEM_CMD to the interp list
in another part of the program, each item is taken from the interp list and executed one at a time
hm I'm puzzled
an alternative to fixing it is for you to file a bug report on sourceforge.net
I'll file a bug report adn have a look at the code.
I bet the precondition for EMC_SYSTEM_CMD is wrong
it needs to check for MOTION and IO to have finished
* alex_joni forgets the exact name
Is yahoo down for anyone else?
oopsy.. seems down here too
sebjames: is that precise enough for you? I can look in a couple minutes
skunkworks: works now
Blast - I keep blowing drill motor fuses. I can't work out what I'm doing wrong.
alex_joni: Yes, that gives me enough to go on.
Now I have another problem... this drill fuse thing. Somehow, I am not switching the drill on right, or the contactors are damaged... or something.
I got the Y home position (with an offset) figured out though.
And I have worked out the relationship between feed rates on the old Siemens controller and feedrates in emc.
So things are coming along...
drill motor star delta starter?
archivist: Could be... I'll have to go and look at that. It seems to be going when I switch it on, but sometimes it works. Max 3 or 4 times before I blow the fuses. There is certainly a contactor configuration which shorts one of the sets of coils in the drill
I'll go and search wikipedia for star delta starters...
they have a delayed action
and swap the coil configuration over from star to delta to reduce starting current
I think I definitely have a starting current problem with this motor.
It's quite big - 8.5 kW
I wonder how the old system started it...
time delay relay.. ;)
has the starter got two inputs
Sorry was away for abit reading up on star delta
I don't believe there is a time delay relay. There are interlocked contactors for the delta and star connections, and a main contactor. I can trace out how the star and main are closed, but I can't for the life of me work out how it goes into delta mode...
hm, doesn't emc support true three-dimensional circular interpolation? why does g2x1y1.2z1.5r3 give a helix?
at the lower levels, the representation supports arcs in arbitrary orientation
sebjames, Ive never used a remote star delta but I might expect more than one input eg start then(delayed) main or an internal timer
even the torture.py is restricted to xz/yz/xy
however, the interpreter does not have a gcode for an arc in an arbitrary plane
maddash: that's gcode for you, it's supposed to give a helix
jepler: ah, so the gcode doesn't support it, but motmod does?
maddash: helixes are used all the time in normal work
cradek: yeah, but I wanna be cool and draw a tilted arc
maddash: it's entirely possible that nobody has ever tested the non-axis-aligned arc case
you have to approximate it with G1 moves then
archivist: There are two inputs. Although I can't quite figure out the routing, it appears that one closes the start configuration, the other the delta. delta is labelled "1500rpm" star is "3000rpm". I've been switching it into 1500rpm mode, and thus straight into delta.
cradek: over a short distance, a helical arc will still be a better approximation of an arbitrary-orientation arc than a line would be. I think you make the plane of the arc be the one on which the largest portion of the normal lies. that said, I decline to figure out the approximation.
_posemath.c does vector math, so support for a tilted arc is trivial.
archivist: I wonder how long I need star mode before going through open transition into delta mode.
maddash: yes that's what I mean when I say it's already supported at the lower levels
sebjames, maybe star for a few 1-5 secs then delta need to see real specs or "just try it" TM (current clamp meter looking for current peak)
[14:48:08] <maddash> http://groups.google.com/group/rec.crafts.metalworking/browse_thread/thread/4890cd84076c1339/4c9fc3296ecea9f1?lnk=st&q=cnc+3d+arc&rnum=1&hl=en#4c9fc3296ecea9f1
shall we select a standard for emc?
hm, g02.4 doesn't look too bad -- it goes along with cradek's g64 p* syntax
archivist: I'm a past master of wading through consumables (bottle fuses in this case) to get things to work..
archivist: I read that star mode gives lower torque - does it also give higher speed?
maddash: did you find a real spec somewhere?
sebjames, i would have expected the same unless there are multiple windings in the motor
cradek: still looking
sebjames, but yes low torque up to speed then pile on the power in delta
archivist: You see, I originally thought there were multiple windings to give the two speeds. It definitely has two speeds.
could be wound like that for both reasons
I'll open the box on the motor again, and have another look in there...
Im back to the lathe for a bit
Thanks for the help
I'm surprised. the RS274NGCv3 spec doesn't even hint at an out-of-plane arc. how silly and un-futureproof.
RS274 in general does not have a simple way to cut arcs that did fit on any of the G17,G18.G19 planes. The 2 alternate methods is to use a 5 axis machine to put the work aligned to a usable plane or cut the arc as a spline using a huge number of sampling points ( Thousands of micro G01 moves).
did = should be Don't
since CAD/CAM has evolved so much - and memory has also become more cost effective, the trend has been to just use more G-code to define the cut instead of diving into RS274 and coming up with more divergent additions.
Divergent when done just by a single machine tool builder and not an approved addition to the RS274 spec.
anyone have a subscription to ieee?
bresenham algorithm trajectory interpolation with time quantization velocity
bresenham is easy enough to code
done it, for lines, circles, and ellipses (using integers)
that's the current plan for my fpga motmod
I never quite got the rotated ellipses working though - I always ended up with peanut shapes (rotated though)
archivist: and even easier to optimize
hm, but if I ever switch to servos, the whole system would be trashed
doing distance-quantified bresenham won't be trivial. the reason it works so well is that it uses positional error to determine when to go "up" (and always goes "over" 1)
that changes the distance traveled per loop
SWPadnos: how would the distance traveled per loop change? Each stepper rotates at most one step each cycle (ie, the load never moves more than sqrt(2) "pixels"). Or maybe I'm not understanding you? What do you mean by "distance-quantified"?
if you want constant velocity, then you need to move the same distance per loop (assuming the loops are at a constant rate)
just looking at a line, you always move one unit in X, but sometimes you also move a unit in Y
so sometimes the movement is 1, and other times it's sqrt(2)
ie, not constant
isn't that also true of emc's status quo?
on a step-to-step scale, this isn't a problem
well, it depends on whether you're generating steps (ie, quantized positions) or "positions"
of course, at some level it's quantized due to float precision
but EMC will output numbers that are as close to the ideal position as the floating point representation can hold, regardless of whether or how the positioning system is quantized
the internal coordinates of emc (or any system) will always be quantized by the step output
only for systems that use steppers and digital encoders
there will always be some precision limit, but it's not always steppers or encoders that determine it
(ie, it's possible to use an analog scale and 16 or 24-bit conversion to get exceedingly accurate feedback)
it's also possible to use 24-bit D/A and an analog servo amp to get there
aren't signal widths quantized? in fact, as long as you're using digital, there's quantization involved? so that basically puts you back into the same position as using a stepper
except in some cases, you have ultra-fine steps
yes, there will always be some quantization, as I said
what sid you mean when you said "bresenham algorithm trajectory interpolation with time quantization velocity"?
a list of steps would be generated using the bresenham algorithm. Every cycle, the steppers would step to the next position. since I'm using an fpga, each cycle should be very quick (?), so the velocity could be controlled by an adjustable delay at the end of each stepping cycle.
if I could, I would port motmod directly to Verilog -- but motmod uses a buttload of floating point calculations
why are you wanting to move it off? it really isn't emc then.
move what off to where?
whoops, break time's over.
slight OT - anyone know if the coiled cords on telephones (handset to base) would hold up well in a machining enviroment exposed to coolant, chips, oils, etc? thinking of using one to connect up switches and other things
cheap to try and cheap to replace but unscreened so no welding or electrical nasties nearby
if you use phone connectors on each end... your going to have a bitch of a time to manually solder the wire - if that is what your thinking.
might try CB mike cable - its alittle heavier
and may have screening
pre-amp have 5 wire with shielding
or one I had did.
maddash: Remember that not all steps represent the same distance. In 3D, a step might represent one unit, the sqrt of two units, or the sqrt of 3 units. That means you would want to scale the delay time by one of those numbers to maintain constant velocity.
* robin_sz wonders if anyone really weould be crazy enough to use a 24 bot D/A
if you find anyone, send them along to me will ya? I have a couple of famous bridges I want to sell.
base-period=40000 ns ==> base-thread freq = 25kHz, right? so if I use a 33MHz oscillator, the frequency each (meaningful) cycle would be ~16MHz, which still knocks the socks off PC-based control...
lerman: good idea, thanks.
a 24 bit D/A would need a servo amp 100v with less than 1 uvof noise on the output to
a 24 bit D/A would need a servo amp 100v rails and with less than 1 uvof noise on the output to
and thats without eve considering distortion
well when machining knats cocks on 10 metre lathe
a 4 or 6 bot d/a would be fine
a 4 or 6 bit d/a would be fine
robin_sz: keyboard having a bad day?
remember the d/a sits in the feedback loop, and controls velocity, not position
you need a accurate encoder, but the distortion and precision of the velocity loop is not that rlelevant as its wrapped in feedback
has any one here managed to get apt360 & vapt to fly on the ubuntu live cd installation
I did not try vapt
apt360 worked ok, but I'm clueless about using it, and I don't know how "finished" it is
im having dependancy issues ; (
i've used APT360 extensively.... its WAY powerfull...i hope the post processor has some balls
I did get working gcode out of it (one program)
the apt306 processor will give a few files.. the important one is the .cl file
it gets posted into g codes for any machine
there is an emc post in the one I installed
wish I could remember the details
the post defines the machine... the apt program desribes the tool motions in space
the VAPT is what im interested in... i would have killed for that in 1990 while working on the 777
I guess you could post DXF -> APT easily
yeah apt cries out for a good gui
maybe the primitives, but you would have to tell it the tool path you want
well, im thinking about the path..
no... not really... cameze used to have a format called nfl that was a close 2nd
cameze is what turned into mastercam
it must be old as hell
i still have a copy that runs off a 3 1/4 floppy
it enjoys old decrepid hardware
APT dont care either.. its an iteration algorithm
I had a APT DOS app - written in COBOL and compile optimized for 286 protected mode
i programmed on the 777 on a 386 with apt 360
running full programs was up to 2 hrs to get a cl file
and NO multitasking
75k or so of apt source
lotsa loops and indexes for minimum code production maximi\um g-code damage
took me like nearly 4hrs to generate the tool path for tooth profiles for a 32" dia Browning 50 chain sprocket.
index and copy 1 tooth???
150 tooth or so??
* Skullworks-PGAB was thankful "Machinerys Handbook" had all the tooth profile formulas.
and APT liked working them??
I did - do 1 toothe and copy rotate
or did you iterate the points
didn't use APT on that one - but same era DOS CAM @ 25Mhz
It used true arcs
I have an older APT 360 manual... from IBM... i'll locate it and scan it off
with a few tangental lines joining
true arcs....ahhhh... impressive ; ()
this was for a huge gantry crane - the original was almost 40 years old
and OEM was out of business
what's a fake arc?
all other suppliers wanted 2 month lead time
apt could output point to poin or true arcs... depends on the post setting... APT iteratates to your INTOL/OUTOL settings and the post decides how the machine needs to see it
spline is a fake arc
arcs have x,y,r as canonical form... spline is stuff
(at least when comparing G01 vrs G02/G03 )
some posts can arcfit.. a point set into arcs though.. so they woud be funny arcs
lost of programs do..
yes... but if the geometry under it isnt cylindrical... it shouldnt be an arc
dmess: for a curved surface that gives less segments for the same path
APT geometry.... is geometrically PERFECT.... its up to you to drive a tool over it and screw it up
gear and sprocket teeth are... kinda a unique issue
dmess: do lots of places still use apt?
i understand anon...but a curved surface wiwth rads over stuff isnt the true surface...
dmess: well, did 1990 machines handle splines?
err the machines of..
very few are "working it" it remains to deal with older legacy programs.... the new hawker 850XP was originally certified in 1967
heck 1990 machines wer still stuck at 400 IPM and the burp and fart of CTS/RTS
Boston Digital has there own way to deal directly with splines, but its not real G-code
Toshiba had a 10K us nurbs option in 1996... didnt work worth a crap
Dmess you work(ed) for Boeing?
i was a sub-contract programmer on the 777 for a southern ontario tier 3 or so...
i work for Messier-Dowty now.. tier 2 to Boeing , Bombardier , Raytheon....
[19:34:46] <dmess> http://cgi.ebay.ca/1-625-CNC-LATHE-Hardinge-CHNCII-Fanuc-10TF_W0QQitemZ150132152733QQihZ005QQcategoryZ633QQrdZ1QQssPageNameZWD1VQQcmdZViewItem
seriously thinking about this one.... ; )==~~~
VAPT has a post for emc. The code I've posted run on sim-axis for me. VAPT is graphic also. 3 windows, apt code, graphic, processed code. then there's another tab for the gcode. the gcode is created when the apt source has a directive in it that sez 'make gcode', and has a special one for 'make emc ngc code'.
VAPT also has a very in depth manual, in html form, that is linked to the help menu item in VAPT
now if ONLY i could get it to work
it sounds like the old timers HOLY GRAIL of APT
i cant give CVS the ball to even do an update... WHAT gives now??? AHHHHH FRIDAY from HE@#$%
any plans of someone popping all this nice working stuff into a working installable iso???
just for IDIOTS like me
making a deb package would be much smarter
if i had a clue how
im having a very "BLOND" day... should'a stayed in bed with the blond i woke up with
Due to high demand, we are having a clue sale: One for $1, two for $5, three for $10, and our best value yet... Four for $20! While supplies last. Call now, operators are standing by! 1-900-CLUE4$
i have a 1-800-clu-4you number...
and they're a dime a dozen there
you get what you pay for
i guess they must work on volume....
is this a realistic expectation??
no, 21:51 < dmess> i guess they must work on volume....
21:51 < dmess> is this a realistic expectation??
I feel like machining my motor mounts.
err new ones
though I need to machine gears for them first.
or order them
direct or belt?
my servos are too puny to direct drive..
my spindle pulls my axes out of position..
x/y that is..
sucks to be me
unless your board, buy the gears, machine the mounts
im limited to 2mm deep cuts
where I should be able to take 10mm..
and it sounds bad when I do it..
what kind of machine do you have?
then get a high feed cutter and GO TO TOWN.... 0.1 feed per tooth
toolroom sized mill..
dmess: I'm running at 0.06mm per tooth and 2krpm..
0.1" per tooth i says... git the scars and some sample chips remaining
dmess: what kind of crazy world do you live in?
I get _strange_ vibrations when I crank up the feed over 200mm/min..(higher chipload)
i ran 2.25" dia. at 900 rpm X 0.15-0.18" per tooth
this is a pretty small machine
machine tool builder land at show time...
you didnt need to make it last ;)
Mazac was making more noise than me.. so i put on a snake oil demo... and changed the rules... ; )
JymmmmEMC: pretty bad right?
anonimasu: what's that?
1mm per pass..
they went up in smoke with a 25 HP belt drive... stalled/stuck an 8 " f/c in 0.50" doc of 4130
anonimasu: Well, sorta kinda
JymmmmEMC: and < 200mm
i turned a 1200 lbs block of p20 int chips... at 300 ipm..
anonimasu: "toolroom sized mill" weights like 120 lbs or 1200lbs?
ouch, I'd say very bad. any idea where the vibration is coming from?
the servos cant keep the spindle from pulling the axes.. away from the position..
so they spring...
JymmmmEMC: direct drive is the reason..
you going for 2:1 ?
heh, is that enough?
tiny servos.. I regret not buying bigger ones, but I cant get any at a sane price..
any blacklash on the leadscrews?
what in/lb servos you have now?
with direct drive I could go 13m/min..
okey, how many?
and 300 peak..
53 or 530 ?
[20:11:08] <anonimasu> http://www.galilmc.com/products/motors/servomotors.html
didnt buy them for this machine originally..
you're in .SE ?
JymmmmEMC: if you think the us is expensive.. think again..
the servos I have cost $395 in the us.
here they are close to 600eur..
call a mfg and ask for eval units =)
im looking for a place to import motors off
with a sane pricing.
_if_ I buy motor + drives(ac ones) they cost 1600eur per axis..
though 3:1 should do the trick.
hence why I will do my darnest to get my old brushed servos working..
skunkworks: got any good place to shop servos at?
and what if you need a spare?
gotten a few decent ones off of ebay.
fit something else
[20:16:59] <JymmmmEMC> http://www.elfoautomation.se/?gclid=CMm-7b7fk40CFQflhgodrmTFkQ
JymmmmEMC: yeah, getting them is easy..
JymmmmEMC: just that paying 3 times the US price sucks.
'we make junk work' -> that should be our matto
JymmmmEMC: I can stand paying 600$ per servo.. if they cost 600...
[20:19:35] <skunkworks> http://www.surpluscenter.com/item.asp?UID=2007070615145699&item=10-2351&catname=
anonimasu: Here ya go!!! http://www.tradera.com/Xray_m18_komplett_med_esc_ny_kaross_servo_motor_osv-auktion-45190259
[20:20:33] <JymmmmEMC> http://www.tradera.com/promo/valkommenebay/ebay.aspx
skunkworks: that's a bit small..
no clue what that says
that's the worst thing about this country
[20:21:59] <anonimasu> http://www.galilmc.com/products/motors/servomotors.html
150 in lbs
brand new and even tells where you can buy the connector
though thoose are too big..
compare at over $1000 EACH or more for an equivalent motor.
JymmmmEMC: 500w continous would be fint..
though, I think it'll be fine with 2:1
I have 2mm pitch screws..
so, they do quite a bit of gearing too
I hate this... The cables on my machine right now (in energy chain) are a tad bit too short. So I cna either re-run new cabling, replaching the connectors, or make an adapter box and extension cable using 12c cabling. Such a pita either way.
(too short for the new controller)
* anonimasu nods
I think I have gears for 4:1 here..
you dont have much torque as it is, gearing gonna change that too
that's why I need gearing..
for more speed or torque, can't have both
JymmmmEMC: my machine will move at 16m/min.. with the current gearing.(none)
but I thought you said it fubars?
and I have a 5dm table.
how long time does it take to move from one en to the other?
err 5dm Y and 8dm X..
even if geared down it dosent matter..
you want that in hours or days?
is that the time it takes to cut from one end to the other?
JymmmmEMC: that means I can do 2000passes per minute..
cut? try job!
JymmmmEMC: do I need that kind of speed?
I find accels more important then high speed..
I need the speed more than the torque (plastics)
5m/min and very high accels..
should be perfect..
now where in the hell am I going to find 12c shielded cable
prefer shielded pairs
big problem with ebay shopping from sweden is shipping
JymmmmEMC: I dont know.(not free)
anyone got some nice STL files of some 3D objects? I might test my 'drop-cutter' CAM stuff against some STL files in a day or two
something that tests the algorithm well. convex/concave features, flat parts, rounded parts.
not too many triangles I guess since I haven't done any optmization. so I don't know how slow it will be
I got some simple STL files but they are on a flash drive at home
let me know the resolution you think you can handle and i'll dump you something from catia...
a few 1000 triangles at most now to start with. I might be back for them some other day, need to sleep now