<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Controller for XY-Stage - parameters and behaviour?</title>
        <description> Hi,

I&#039;m currently developing a software for a small microcontroller to be used to drive an XY-stage/gantry/table/whatever. The whole software is already working smoothly with single axes (referencing, linear/s-shaped acceleration, limit switches). Now I want to extend it to be a real CNC-like, XY-controller but I&#039;m not sure what features it needs to have (also comparing to professional controllers). So a few questions:

1. The controller will concatenate also complex geometries out of short, straight lines. So e.g. a circle may consist of several short lines small enough to let the result appear smooth and round. But how about acceleration/deceleration ramps? I will do ramping on the beginning and end of the whole motion - but is it necessary between segments too when speed changes? Or is it better to define a break angle where such ramping will be done only when an angle between two segments is larger than the given value?

2. What about direction change of an axis (e.g. when an acute angle has to be drawn) - there I will do ramping to slow it down to 0 and start movement in opposite direction with a ramp too. Is there an additional delay necessary at the stopping point?

3. What else is important for such a XY-controller, what parameters and functions should be there that are not needed when moving separate, single axes?

So as one can see these are more or less noob-questions, so every hint and idea is welcome!

Cheers

Elmi</description>
        <link>https://reprap.org/forum/read.php?397,501071,501071#msg-501071</link>
        <lastBuildDate>Wed, 11 Mar 2026 02:36:40 -0400</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://reprap.org/forum/read.php?397,501071,503921#msg-503921</guid>
            <title>Re: Controller for XY-Stage - parameters and behaviour?</title>
            <link>https://reprap.org/forum/read.php?397,501071,503921#msg-503921</link>
            <description><![CDATA[ Elmi,<br />
<br />
I don't have specific advice, only the two following documents I found while researching my next machine to build. Maybe they'll give you some deeper insight.<br />
<br />
<a href="http://www.inspire.ethz.ch/ConfiguratorJM/publications/MODELING_A_132687166151936/3314_mod.pdf" target="_blank"  rel="nofollow">www.inspire.ethz.ch ~ MODELING AND MEASUREMENT OF H-BOT KINEMATIC SYSTEMS</a><br />
<br />
<a href="http://multimechatronics.com/images/uploads/courses/h_Bot/H-Bot%20Web%20Site%20Slides%205-11-2011.pdf" target="_blank"  rel="nofollow">multimechatronics.com ~ H-Bot Web Site Slides 205-11-2011.pdf</a>]]></description>
            <dc:creator>hairykiwi</dc:creator>
            <category>CoreXY Machines</category>
            <pubDate>Fri, 01 May 2015 05:19:32 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?397,501071,501097#msg-501097</guid>
            <title>Re: Controller for XY-Stage - parameters and behaviour?</title>
            <link>https://reprap.org/forum/read.php?397,501071,501097#msg-501097</link>
            <description><![CDATA[ <blockquote class="bbcode"><div><small>Quote<br /></small><strong>VDX</strong><br />calculate the changing angles between connected lines to define decceleration or full stop depending on the included angle</div></blockquote>
<br />
Speed change and therefore acceleration/deceleration happens on every new vector, that's clear so far. But how about these angles, where a full stop is necessary because at least one axis changes direction - is there an additional delay necessary at the point where motion stops? When using galvos such a delay has to be done, is it necessary for motion stages too?<br />
<br />
Thanks]]></description>
            <dc:creator>Elmi</dc:creator>
            <category>CoreXY Machines</category>
            <pubDate>Fri, 24 Apr 2015 07:47:03 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?397,501071,501085#msg-501085</guid>
            <title>Re: Controller for XY-Stage - parameters and behaviour?</title>
            <link>https://reprap.org/forum/read.php?397,501071,501085#msg-501085</link>
            <description><![CDATA[ ... read about "look-ahead" for acc-/decceleration options between line segments - here modern controllers reads some ten to hundred of the following coordinates into a buffer and calculate the changing angles between connected lines to define decceleration or full stop depending on the included angle.<br />
<br />
The other essentila aspect is synchronizing two or more axes for smooth XY or 3D movement - read here for "Bresenham" and "3D-Bresenham" algorhythms ...]]></description>
            <dc:creator>VDX</dc:creator>
            <category>CoreXY Machines</category>
            <pubDate>Fri, 24 Apr 2015 07:24:28 -0400</pubDate>
        </item>
        <item>
            <guid>https://reprap.org/forum/read.php?397,501071,501071#msg-501071</guid>
            <title>Controller for XY-Stage - parameters and behaviour?</title>
            <link>https://reprap.org/forum/read.php?397,501071,501071#msg-501071</link>
            <description><![CDATA[ Hi,<br />
<br />
I'm currently developing a software for a small microcontroller to be used to drive an XY-stage/gantry/table/whatever. The whole software is already working smoothly with single axes (referencing, linear/s-shaped acceleration, limit switches). Now I want to extend it to be a real CNC-like, XY-controller but I'm not sure what features it needs to have (also comparing to professional controllers). So a few questions:<br />
<br />
1. The controller will concatenate also complex geometries out of short, straight lines. So e.g. a circle may consist of several short lines small enough to let the result appear smooth and round. But how about acceleration/deceleration ramps? I will do ramping on the beginning and end of the whole motion - but is it necessary between segments too when speed changes? Or is it better to define a break angle where such ramping will be done only when an angle between two segments is larger than the given value?<br />
<br />
2. What about direction change of an axis (e.g. when an acute angle has to be drawn) - there I will do ramping to slow it down to 0 and start movement in opposite direction with a ramp too. Is there an additional delay necessary at the stopping point?<br />
<br />
3. What else is important for such a XY-controller, what parameters and functions should be there that are not needed when moving separate, single axes?<br />
<br />
So as one can see these are more or less noob-questions, so every hint and idea is welcome!<br />
<br />
Cheers<br />
<br />
Elmi]]></description>
            <dc:creator>Elmi</dc:creator>
            <category>CoreXY Machines</category>
            <pubDate>Fri, 24 Apr 2015 07:00:51 -0400</pubDate>
        </item>
    </channel>
</rss>
