Hi Alex!

On 27.08.2014 22:04, alex chiosso wrote:
> Hi Philipp.
> Thank you so much for the very detailed informations .
> You are considering to move the needle as a spindle with the S parameter to
> define the rpm and the

Exactly.

> Z axis position how is it derived from ? How is it calculated ? I mean on
> the real machine .

This is what the siggen component in the example HAL file is used for.
The spindle speed (i.e. stitches per second) is fed to its frequency
input as well as the desired amplitude (the full Z travel of the
needle). The component then generates a free running sine wave (among
other waveforms) of the requested frequency. You would then use this
wave as the position setpoint for the Z axis motor controller. No need
to calculate anything else ;)

Somewhat later, you told us that it is required that the X/Y movement
always needs to completely finish before making the next stitch for a
constant stitch length. If you use the approach described before, you
won't have the ultimate control, so depending on your hardware, you
could really end up with stitches that are of slightly different
lengths. If this actually is a problem, you might be better off using
the Z axis as usual and describing every single stitch in your NC
program like so:

G21            (Millimeters)
G64 P1 Q1      (Path tolerance 2mm)
G0 Z5          (Safe needle height)
G0 X10 Y10     (Position of first stitch)
F5000          (Feed rate for all subsequent moves)
G1 Z-5         (Enter fabric, which is at Z = 0)
G1 Z1          (Exit fabric)
G1 X12 Y10 Z5  (Move to midpoint to next stitch)
G1 X14 Y10 Z1  (Move to next stitch)
G1 Z-5         (Enter fabric)
G1 Z1          (Exit fabric)
G1 X16 Y10 Z5  (Move to midpoint to next stitch)
G1 X18 Y10 Z1  (Move to next stitch)
G1 Z-5         (Enter fabric)
G1 Z1          (Exit fabric)
;...
G0 Z5          (Safe needle height)
G0 X0 Y0       (Move to park position)
M2

As you can see with all those G1s, the program gets much more
complicated and veeery inconvenient to write by hand. So you'd most
likely want to use a CAM (or just a python script), which generates this
structure.

The setting of the path tolerance is required to get a reasonable speed.
The programmed path contains vertical segments for entering and exiting
the fabric and a triangular curve from one stitch to the next. If the
needle would need to follow this path exactly, the whole thing would be
slow like hell of course, so we give the trajectory planner some
tolerance by which the actual path may differ from the programmed path.
What then happens is that the actual path has arcs instead of sharp
edges, which helps to keep the speed up. Please see the attached
screenshot. The white line is the programmed path, the red one is the
backplot of the simulated machine movement.

I hope this helps.

Cheers,
Philipp

> On Wed, Aug 27, 2014 at 9:34 PM, Philipp Burch <p...@hb9etc.ch> wrote:
> 
>> Hi Alex!
>>
>> On 27.08.2014 21:13, alex chiosso wrote:
>>> Hi Andy.
>>> You are always a good advisor .
>>> I'm not so trained on LCNC as you are.
>>> I never use the lincurve component so can you explain me what it is and
>> how
>>> it works ?
>>> Also Philipp mention the adaptive pin but I didn't understand that he was
>>> referring to the motion component of LCNC.
>>
>> The lincurve component performs interpolation using a function
>> consisting of linear segments. So if your machine may move while the
>> needle position is >3.0, then you could for example create an
>> interpolation function with two segments:
>>
>> For Z = 3.0 .. 7.0, ramp up the feed linearly from 0 to F-max
>> For Z = 7.0 .. MAX, keep the feed at F-max
>>
>> By adding additional segments, you could then control the feed more
>> smoothly during the movement of the needle.
>>
>> The adaptive feed is an input of the motion component, which can modify
>> the feed rate in real time. In my example, I used feed-hold, which just
>> forces the feed to 0, accounting only for the acceleration limits of the
>> machine. By using adaptive feed, you can insert a custom ramp (or
>> whatever the curve's shape should be). So it would also be possible to
>> use a cosine curve for the feed or something like this instead of a
>> trapezoidal one like in the example. It might be worth some
>> consideration if you need to limit jerk, as this could easily become a
>> problem on such a machine.
>>
>> Regards,
>> Philipp
>>
>>>
>>>
>>> On Wed, Aug 27, 2014 at 9:00 PM, andy pugh <bodge...@gmail.com> wrote:
>>>
>>>> On 27 August 2014 16:21, alex chiosso <achio...@gmail.com> wrote:
>>>>> I would like to discuss with you what do you think about the conversion
>>>> to
>>>>> LCNC.
>>>>
>>>> One very easy way (maybe too easy) would be to pass needle height
>>>> through a lincurve component (I use that for nearly everything,
>>>> because we use them for nearly everything in the day job) and then use
>>>> the output to drive the motion.adaptive-feed pin. You can then define
>>>> zones where movement is possible and have a gentle decel up to those
>>>> zones defined in the curve shape.
>>>>
>>>> --
>>>> atp
>>>> If you can't fix it, you don't own it.
>>>> http://www.ifixit.com/Manifesto
>>>>
>>>>
>>>>
>> ------------------------------------------------------------------------------
>>>> Slashdot TV.
>>>> Video for Nerds.  Stuff that matters.
>>>> http://tv.slashdot.org/
>>>> _______________________________________________
>>>> Emc-users mailing list
>>>> Emc-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/emc-users
>>>>
>>>
>> ------------------------------------------------------------------------------
>>> Slashdot TV.
>>> Video for Nerds.  Stuff that matters.
>>> http://tv.slashdot.org/
>>> _______________________________________________
>>> Emc-users mailing list
>>> Emc-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/emc-users
>>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Slashdot TV.
>> Video for Nerds.  Stuff that matters.
>> http://tv.slashdot.org/
>> _______________________________________________
>> Emc-users mailing list
>> Emc-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-users
>>
>>
> ------------------------------------------------------------------------------
> Slashdot TV.  
> Video for Nerds.  Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
> 

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to