Hio Philipp ,
you got it!
The exact lenght for each stitch is a must.
So the example of G code that you kindly gave me is what should be done (I
mean it is a starting point) .
Actually (I was this morning to the sewing machine customer) with the
intergration I did the result is good enough for what they have to do (an
Hybrid solution PLC+Position controller single axis modules) .
But because of a stitch by stitch X-Y axis movement and the speed as fast
as possible the machine has some vibrations that the customer would be
happy to reduce as much as possible.
The integration I made as some limitatons related to the way the fabric is
moved under the needle between a stitch and the following one .
Secondary only linear stitches are possible because no interpolation is
possible due to the hardware/software used.
So I do believe that a solution with LCNC can make a smoothest movement of
the machine , the possibility to do different kinds of stitches and a more
flexible pattern design .
At the moment the customer told me that this machine is quite "unique"
because is able to apply labels on dresses that are already fabricated
(finished ready for the delivery) .
That is why the label sewing must be done without error on the axes
movements that can damage the needle and consequently the tissue.
The dresses are high end quality (and costly) Italian made . (I'm Italian
.... that's why my english writing style is so poor!)
Other machines can only apply labels on semifinish parts of the dresses and
the potential risk is less important .
I saw a similar G code on a Mach3 forum somewhere on the net but I didn't
see any final result onestly .
That's amazing to see that many people are trying to apply a CNC to do
sewing/embroidery/quilting machine conversion.
For sure for complex pattern design a sort of cad/cam is needed.
I was wondering if a programming style with iterative sequences (one
iteration one stich) can help for not complicated pattern.
In any case thank you for any idea/thought you are sharing.

Regards

Alex




On Thu, Aug 28, 2014 at 10:14 PM, Philipp Burch <p...@hb9etc.ch> wrote:

> 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
> >
>
>
> ------------------------------------------------------------------------------
> 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

Reply via email to