comanding axis movement from within a component

28 Feb 2017 18:46 #88758 by JR1050
I am working on a piece of equipment similar to a chain type tool changer, instead of swapping tools in a spindle, it swaps small pallets to a tombstone in a VMC. The idea is to use the plc side of lcnc, implementing a component actuated by a simple m code. Present plan is to use a RPI3 and a 7i90 to control it
Most of the logic is pretty straight forward, chain indexs to an empty spot , a pushing mechanism pushes the pallet on the tombstone, which is then locked in place, pusher goes home, cycle starts again.
This is where the bug in the ointment shows up, customer insists on using a stepper motor, belt driven linear actuator. Can I command this stepper from within a component?
I would imagine there is a way to control steppers(or servos for that matter) that could be used for things like advancing toolchangers with out actually assigning them an axis.
Any suggestions?
28 Feb 2017 19:20 #88762 by Todd Zuercher
A step generator (software or hardware stepgen) does not need to be assigned to a joint or axis. It can just be sent position or velocity command. This should work fine I think if it is just commanded to move until some input(s) goes true or false (say from a proximity switch).

Are you planning to control the whole machine with the RPI3 or just the pallet changer? If the machine is running on Linuxcnc from another PC, there would be no reason to add the RPI3.
The following user(s) said Thank You: JR1050
28 Feb 2017 19:38 #88767 by JR1050
Thank you for the prompt answer. Are there any examples of something like this available?

The machine will be controlled by its control, fanuc, Mazak ect. Ill end up writing a macro that will direct an m code(in the machine control, not lcnc) to actuate a relay, which in turn will send a signal to the RPI to start the indexing . The program in the lcnc will be an mcode that calls a component, although, i may just be able to actuate the pallet changer with out any cnc (on the pi side) g or m codes at all. Its kinda similar to a toolchanger i did a few years ago, except the toolchanger was all hydraulic.
It was proposed to control the pallet changer from the machine, i saw it as an expensive proposition and the idea of programming it ladder---ugh, plus no gui. Im making progress with the RPI3 and ive kept a log of what it takes to do the image, patch the kernel and load machinekit. As soon as i successfully get the spi working, I was thinking about proposing a Wiki page .
28 Feb 2017 19:58 #88771 by Todd Zuercher
In that case an off the shelf PLC is probably a better choice.
28 Feb 2017 20:23 #88773 by JR1050
a standard plc was also discussed, it seemed a stripped down lcnc installation would be a bit more flexible, it seems to offer more programming options, build your own gui and numerous hardware options, less expensive,plus im famliar with it. Thanks for your help .
01 Mar 2017 14:02 #88810 by andypugh
Maybe even just an Arduino responding to commands on a serial line.
I am pretty sure that there are step-generator libraries for the Arduino.
01 Mar 2017 15:01 #88818 by Todd Zuercher
Since you are only going to be using Linuxcnc essentially as a PLC not a cnc, why not just buy a PLC, some are not that expensive, and are very easy to program.
But if you want to do it with Linuxcnc, it should work. Linuxcnc would certainly have the advantage in the GUI possibilities, but I'm not sure how useful a gui might be for this. It seems like it would be more of a set it up and forget it application.
01 Mar 2017 22:25 #88850 by JR1050
I probably over simplified my explanation of what the machine does. It's proprietary, so even though I'd like to share more details, I can't right now. It's not a walk away and let it run kind of thing, the magazine get loaded with 36 blank pallets , it loads one in each side of the ts, runs all four, puts them back and retrieves another four until all 36 are run. An operator manually loads the magazine . It has to have an auto mode and a manual mode for loading, it must keep track of what is where and what has been machined and must keep track of the magazine if it has been manually jogged.

Several options were considered, it seemed easier to use lcnc then learn something else. I considered the Arduino route also. My customer ( or owner of the company as the case may be) keeps changing his mind , so my needs keep changing. Seems the lcnc offers the most flexibility . I would not have used a stepper driven actuator, I proposed a telescopic arm that could have been moved by air or a motor, I'd would have preferred a servo. I'm still working on how to command the step
drive from with in the component. Thanks for the advice and your interest
01 Mar 2017 23:11 #88852 by andypugh

JR1050 wrote: My customer ( or owner of the company as the case may be) keeps changing his mind , so my needs keep changing. Seems the lcnc offers the most flexibility

And remote debugging / updates.

I'm still working on how to command the step drive from with in the component.

It's actually pretty easy, just have an output pin with "position" on it, and net that to a stepgen "position-cmd" pin.
monitor the stepgen.N.position-fb to know when it has got to the commanded position (within the stepgen's own velocity and accel limits)

Or run it as an Axis and use a G-code subroutine (somehow)
14 Mar 2017 12:32 #89580 by JR1050
I seem to have the basic code for moving my non axis associated step drive to a desired position. Im using the hm2 stepgen module. I would also like to be able to manually jog this thing, I can see how it could be done with the stepgen component, by using the step and direction pins( it would seem setting enable, step and direction hi, would cause the motor to move), the mesa driver does not appear to have them. What is my next best option?
Time to create page: 0.139 seconds
Powered by Kunena Forum