Hello Guest it is April 29, 2024, 12:57:57 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - HimyKabibble

231
Steve better be making progress!  My ATC officially went into service yesterday, and it has now run its first three jobs without a single problem.  Today I got the "skirt" on the carousel, so all I have left to do is to get to a bicycle shop for the cable to operate the carousel door, and then do a cosmetic clean up the wiring and plumbing.  Other than that, I'm done!

I did try to get a video of it in-action, but coolant and the table enclosure make it pretty near impossible to get anything you can actually see, without the camera taking a bath.  Since it's a brand-new camera, I'm reluctant to subject it to that...

Regards,
Ray L.

232
Ken,

1800 oz-in steppers are HUGE.  I can't imagine you'd need anything that size.  And, such large steppers will be SLOW, due to high inductance, and high inertia.  With servos, the continuous motor torque ratings will nearly always be considerably lower than comparable steppers, because servos are nearly always geared down 3 or 4 to 1.  Servos essentially constant torque, and are typically capable of high RPM, while steppers always lose torque at higher speeds, often precipitously.  So, steppers are usually used direct drive, while servos will usually be geared down.  As an example, my 9x49 knee mill uses DC servos rates at 850 oz-in peak, 140 oz-in continuous, and can run up to 4200 RPM.  With 2.5:1 belt reducers, driving a 5-pitch ballscrew, I get 350 IPM rapids, and enough thrust at cutting speeds to break a 1/2" endmill without losing position.  A stepper conversion on the same machine would probably use steppers in the 900-1000 oz-in range.  It would not get the same rapid speeds as the servos (probably top out at 120-150 IPM, being RPM-limited due to torque fall-off at high RPM), but would be reasonably comparable otherwise.

To properly design a CNC conversion, you have to know the required torque to move your machine, the inertia of the mass to be moved, and the target performance you wish to achieve.  Armed with that information, you can design a drive system, servo or stepper, that WILL perform as wanted.  Most people seem to just ask "What motors should I use", then buy something close based on the recommendation of someone who may have never even built a machine, pick some drivers and power supplies based on what they can get cheap, they they're surprised when it doesn't perform nearly to spec.  There is no substitute for doing the math.  Trying to "over-design", by picking over-sized motors is just as likely to fail, just for different reasons.  The screws, reducers (if any), motors, drivers, and power supplies all have to be designed as a *system* to work properly.  If any one is poorly matched, system performance will suffer, often badly.

As for heat and noise - heat is really a non-issue.  Yes, stepper motors typically run hotter than comparable servos, but they are designed to handle the heat, so it's not a problem at all.  Steppers are typically a bit noisier than servos, with a characteristic "whine" when running, and depending on the specific driver used, they may "hiss" slightly when stopped.  This is purely an aesthetic issue, not a functional one.

On most jobs, very high rapid speeds should not make a huge difference in overall run time, unless you're using pretty bad CAM software.  Rapids should be less than 10% of the total run time on most jobs.

Regards,
Ray L.

233
General Mach Discussion / Re: Precipitous Loss of Zero
« on: December 21, 2012, 11:44:08 AM »
Rapid speed is not going to be the limiting factor - acceleration is.

234
General Mach Discussion / Re: Precipitous Loss of Zero
« on: December 21, 2012, 10:34:37 AM »
The best way to protect against missing steps is to test the drive, and see what the maximum velocity and acceleration it can handle are, then operate well below that, like 30-50% less.

Regards,
Ray L.

235
Gawd!  Old myths just never die....  Steppers are every bit as reliable as servos *IF* operated within their capabilities.  Exceed their capabilities, and they will lose steps.  It seems everyone who's ever experienced lost steps on a stepper system wants to believe lost steps are just an inherent characteristics of steppers, but it is simply NOT true.  Know your machines requirements, know the capabilities of your stepper motors and drivers, set them up correctly, and they should be absolutely reliable.  Most people either don't design the system correctly (motors too small, power supplies not properly sized, drivers can't supply enough voltage or current, or setting velocity or acceleration too high), then blame the steppers.  The fact is, steppers are used in industrial machines ALL the time, and they are EXTREMELY reliable.  But you can't just pick a motor, pick a driver, find a cheap power supply on E-Bay, and expect it to work.  And the same is true for servo-based systems.

Regards,
Ray L.

236
Which is precisely what they should do.  In CNC-World, directions indicate the direction of movement of the TOOL, not the TABLE.  So, a positive move in the X axis will move the TOOL to the right, or the TABLE to the right.  A positive move in the Y axis will move the TOOL towards the rear of the machine, or the TABLE towards the front of the machine.

Regards,
Ray L.

237
Articulated is just another way of saying 'jointed' so I would submit that a 4bar is a specific type of articulation . . although there are numerous types of 4 bar arrangements, so I would then use the term 'specific' only in a general way. How's that for an oxymoron?
I think the distinguishing characteristic would be the independence of motion of the various arms in the system.  In a 4-bar, there is a fixed relationship between them, regardless of position, as the arms are pinned together at the pivot points.  If you know the position of any one of the four arms, you know the position of all of them.  To me, at least, an articulated arm implies having two or more independently controllable arms connected together, so you need multiple data points to know the position of the business end of the arm.  Semantics.....

There is the answer. I have not the time nor talent to create a protocol, so I shall have to be satisfied to huddle with the rest of the masses.
 I mean VERY simple, and easily modified/extended.  If you'd like to see what it does, I'd be happy to fill you in.  The protocol can be used as-is, with the specific "command set" defined by just changing a few very simple files. It's partitioned so the command set can be changed without touching the underlying "routing" code, and the hardware-specific parts of it are isolated in a few files, so the hardware platform can be changed quite easily, to move it to another MCU.  I had to do this, since the same base code must be able to run on both the KFlop and the Arduinos.  The only downside is this also force me to write it in old-fashioned C, rather than C++ or some other modern OOP language, which would have made the code a lot "cleaner".  But, I did it in a pseudo OOP manner, so it's still quite easy to follow.  And, again, the only parts you'd ever need to mess with are really dead-simple, and just have to do with validating incoming messages, and actually executing the commands.  All the housekeeping of the actual "protocol" is handled by the low-level code, which neither knows nor cares what the platform is, nor what the messages actually contain, or what they actually do - it just makes sure they get where they're supposed to, and that valid responses find their way back to the initiator.

I'm looking to get rid of a USB smoothstepper and early reports on the new Ethernet version were all good, but now it is starting to look a bit like the earlier incarnation with problems going unfixed for extended periods. Kflop seems to be on top of things and responsive to questions.
If you'd like to try one, I have one (and several USB ones) I'd be happy to loan you.

On topic, of particular interest is the Kflop is extensible and may be a better portal for the ATC operational data than trying to communicate with MACH. I like the idea of having Kflop orchestrate separate CPUs which each have their own process to control. Kflops user code interface is where I would seek whatever advice you might be willing to provide, but the prerequisite of course is to have the Kflop.

To that end, initially all I really need to hear is (regarding the MACH plug-in) 'It works' or 'It works except for this bug, that anomaly, this workaround, etc' (in which case I would pass).

Your endorsement would be enough for me to acquire a Kflop and invest some time in it.
On that basis, I would recommend KFlop without hesitation.  Tom Kerekes, the designer, is readily available, and extremely responsive.   He's already made several changes based on my input, and has always helped come up with a solution to any problem I've thrown at him.  I usually get a response within hours.  My only hesitation would be that the learning curve on the KFlop can be a bit of a bugger.  But, I'd be happy to give you assistance, and get you pointed in the right direction, so you can largely avoid flailing around in the dark as I had to at times.

You could easily have the basic machine up and running within an hour or two after unpacking the KFlop.  Adding all the ancillary features can then be done incrementally.  

As far as stability, I'm aware of no problems with the KFlop plug-in, and certainly saw none when I did work with it, albeit briefly.  I've never seen any problems raised on the Dynomotion Yahoo Group, which it the primary support portal.  If you give me information on your machines configuration, I could probably provide sample code that would get you started with only minor modification and debug.  Significant parts of the code I have on my machine might well work on yours with only minor modification.  My homing and probing code (perhaps the most complex code, other than my pendant "driver"), for example, I suspect you could use as-is.

With the KFlop, you do have to write code for things that you get out of the box with Mach3.  For instance, you have to write code to control the spindle speed, do homing, probing, handling limits, etc.  Very simple controls like relay outputs for coolant, etc, can be handled without code, but things like a PWM-driven spindel require some simple C code to be written.  But, if you're not doing anything exotic, this code will generally be quite simple, in comes cases only a few lines.  If you're at all familiar with C, you'll have no problems whatsoever. But, if you want exotic, it can easily handle that as well.  I've added some unusual capabilities to mine, but the code is still trivial.  For example, I can re-program all axis parameters on the fly from the PC application.  This allowed me to store all configuration data in a single XML file, rather than having some in the C code, some in the application, and some hard-coded.  You can also do things like have the KFlop processor hand off lines of G-code to be executed by the CP application, which comes in handy at times.

The KFlop is VERY powerful, and almost infinitely flexible.  Once you understand it, it's a truly wonderful thing to work with.  As an example, the code to get my ATC working took, total, probably two hours to write, counting the several iterations as the hardware progressed.  It stands right now at perhaps two pages of dead-simple code with lots of white space.

Regards,
Ray L.

238

Right now, it's running entirely on the KFlop, but I'll be moving it to an Arduino shortly. 

Ray L.

OK, then the  game is still on. 8)

Contest rules say final form including control and all sensors. No tortoise in sight yet, but I have the scent.



Hey!  No changing the rules mid-game!  :-)  The dedicated controller was not part of the original design, and won't be completed for a while, as its part of a larger effort to completely re-build my E-Box, which will be timed by availability of a custom BOB being designed by a friend.

Regards,
Ray L.

239
Steve,

"Articulated" and "4-bar" are actually different animals.  4-bar refers to a specific type of linkage that is simple (made of, surprisingly, 4 bars each with pivots at each end, and those pivots connecting them all together.   Googling "4-bar linkage" will give you many examples.  This class of linkage, properly designed, is capable of producing nearly ANY motion profile desired.  But, as I said, the design of such a linkage for complex motion profiles can be quite difficult.  Introductory 4-bar design was the topic of an entire semester-long class when I was in college.  Obviously an articulated arm is a viable option, but an expensive one, due to the extra joints, and extra actuators/sensors required.  I ruled that approach out on mine pretty early.  I'm sure it makes good sense on yours.

I used RS232 because it's simple, cheap, robust, and is built into virtually every MCU on the planet.  USB is too finicky, not good over any distance, and NOT good in a noisy environment.  RS232 will handle all of those easily.  For what I'm doing, high speed is not required.  I created a very simple "network" protocol that allows me to have up to 10 devices in the network, with a combination of "star" and "ring" connections, for maximum flexibility.  The KFlop is the network "Master", and all other devices are, essentially, intelligent "slaves".  Right now, I've implemented on controller that handles the spindle, coolant, and air blasts, and also acts as the network "hub", since the KFlop has only one serial port.  The pendant and control panel devices are on the "ring" side of the network, and the PDB and ATC are on the "star" side.  The KFlop can simply send a serial command that says, for example, "Turn on Flood", "Load Tool #5", etc., and each device does what it's told, and reports back status to the KFlop.  This makes the only connections to the KFlop for all these peripherals the serial link, and all the I/Os, control logic, relays, sensors, etc. move to the MCU on each peripheral.   Since all are running the same "network stack", 90% of the code on each device is identical, with only the part that implements each controllers unique functionality being different for each.  The code is very simple, and very robust, and can easily be ported to virtually any MCU.

Re: Mach and KFlop - I did do a complete implementation of Mach3 with KFlop, but abandoned it once I got my own app going back last January.  I was able to do this in such a way that 95% of the code was common between my Mach3 implementation, my KMotionCNC implementation, and what I now use for my own app.  So, I could, if I wanted, resurrect Mach3 probably in a few hours.  I just haven't wanted to....  Anyway, if you have questions or need help getting it going under Mach3, don't hesitate to ask.  And, of course, you're welcome to my code if you want it.  

Regards,
Ray L.

240
I just measured the swing on mine.  Are you sitting down? 

213 degrees from carousel pickup to spindle. Carousel pickup to the arm 'parking pot' is another 37 degrees.

Total swing 250 degrees!  :o  I doubt I could even articulate that much swing.

140 degrees would be no problem though, if you wanted to add that. Would be very simple and give you close to full power ate each end of the swing. 

What processor are you using to control the sequence and read sensors?   ( Speaking of processing, I have a lot of questions about your Kflop project. Is there a thread going on that?)

Steve,

Nope, you're not going to do 213 degrees without a 4-bar linkage.  I considered that approach, but it's too difficult to design to get the desired motion.

Right now, it's running entirely on the KFlop, but I'll be moving it to an Arduino shortly.  Actually, I'm moving most of my external devices (coolant, PDB, ATC, pendant, control panel) to a network of Arduinos.  It will really cut down on I/O usage on the KFlop, and the amount of wiring in the whole systems.

Ask away on the KFlop.  No thread on that topic.  Wouldn't really belong here on the ArtSoft forum, given that I'm using my own home-grown CNC controller app, rather than Mach3.

Regards,
Ray L.