<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cpr-robots.com/index.php?action=history&amp;feed=atom&amp;title=Swap_Axis_Direction</id>
	<title>Swap Axis Direction - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cpr-robots.com/index.php?action=history&amp;feed=atom&amp;title=Swap_Axis_Direction"/>
	<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;action=history"/>
	<updated>2026-05-01T19:36:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;diff=905&amp;oldid=prev</id>
		<title>OLT at 08:19, 26 March 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;diff=905&amp;oldid=prev"/>
		<updated>2026-03-26T08:19:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:19, 26 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Line 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After referencing the control software should show the correct position and be able to move to the 0 position. If the position is far off try subtracting instead of adding.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After referencing the control software should show the correct position and be able to move to the 0 position. If the position is far off try subtracting instead of adding.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Configuration]][[Category:CPRog]][[Category:TinyCtrl]][[Category:Troubleshooting]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Configuration]][[Category:CPRog]][[Category:TinyCtrl]][[Category:Troubleshooting&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]][[Category:Gantry&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>OLT</name></author>
	</entry>
	<entry>
		<id>https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;diff=98&amp;oldid=prev</id>
		<title>OLT: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;diff=98&amp;oldid=prev"/>
		<updated>2025-08-11T10:13:19Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:13, 11 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>OLT</name></author>
	</entry>
	<entry>
		<id>https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;diff=97&amp;oldid=prev</id>
		<title>cpr&gt;Mab at 11:12, 26 June 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Swap_Axis_Direction&amp;diff=97&amp;oldid=prev"/>
		<updated>2025-06-26T11:12:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;If a robot is mechanically set up as intended by the manufacturer all axes should move as shown in the 3D simulation. However in some special cases the motion direction of an axis needs to be swapped. If you are setting up a standard gantry robot read [[Gantry axes moving in wrong direction]] instead for mechanical troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This article explains how to do this. Follow it&amp;#039;s sections in their order.&lt;br /&gt;
&lt;br /&gt;
== Mechanical Set Up ==&lt;br /&gt;
If an axis unintentionally moves in the opposite direction first check the mechanical setup. Mounting a motor or referencing sensor at the wrong side of the axis can cause this. Try mounting motor and sensor at the correct places if possible. If all goes well the issue should be solved now.&lt;br /&gt;
&lt;br /&gt;
== Motion Direction ==&lt;br /&gt;
The motion direction can be changed by negating the [[Gear Scale|GearScale]] parameter in the [[Robot Configuration File]]:&lt;br /&gt;
&lt;br /&gt;
# Find the line for the axis in question: Joint0 refers to axis 1, Joint1 to axis 2 etc.&lt;br /&gt;
# Find the GearScale entry in that line and note it down for later&lt;br /&gt;
# Negate it&amp;#039;s value (add/remove a minus sign)&lt;br /&gt;
# Save the configuration file and write it back to the robot control&lt;br /&gt;
# Restart the robot control&lt;br /&gt;
&lt;br /&gt;
Jogging the axis should now result in a reversed motion. The referencing motion is handled separately from the general motion and therefore does not change (see next section).&lt;br /&gt;
&lt;br /&gt;
== Referencing Direction ==&lt;br /&gt;
If the axis moves away from the referencing sensor first check whether it is at the correct position (in most cases the referencing sensor should be at or near the 0 position of the axis) and mount it accordingly.&lt;br /&gt;
&lt;br /&gt;
If the axis still moves away from the sensor change the referencing direction:&lt;br /&gt;
&lt;br /&gt;
# Load the firmware parameters off the motor modules as described here: [[Firmware Parameter Configuration]]&lt;br /&gt;
# Find the section for the axis in question: Joint0 refers to axis 1, Joint1 to axis 2 etc&lt;br /&gt;
# In that section find the parameters RefSpeed and RefSpeedSlow&lt;br /&gt;
# Negate it&amp;#039;s value (add/remove a minus sign)&lt;br /&gt;
# Save the file and write it back to the robot control&lt;br /&gt;
# Restart the robot control&lt;br /&gt;
&lt;br /&gt;
The axis should now move towards the referencing sensor and reference correctly.&lt;br /&gt;
&lt;br /&gt;
== Referencing Offset ==&lt;br /&gt;
Depending on where the referencing sensor is placed motion may not be possible (e.g. when the sensor is at the far end of the axis, the robot control may only allow motion in positive direction towards the end stop). To fix this the referencing offset needs to be changed.&lt;br /&gt;
&lt;br /&gt;
# Reference the axis. Do not move it afterwards.&lt;br /&gt;
# Measure the distance to the 0 position.&lt;br /&gt;
# Multiply that distance (in millimeters or degrees) with the GearScale of that axis (see section Motion Direction)&lt;br /&gt;
# Load the firmware parameters as described in the previous section&lt;br /&gt;
# Find the Offset parameter of that axis and add or subtract the calculated value&lt;br /&gt;
# Write it back to the robot and do a restart&lt;br /&gt;
&lt;br /&gt;
After referencing the control software should show the correct position and be able to move to the 0 position. If the position is far off try subtracting instead of adding.&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]][[Category:CPRog]][[Category:TinyCtrl]][[Category:Troubleshooting]]&lt;/div&gt;</summary>
		<author><name>cpr&gt;Mab</name></author>
	</entry>
</feed>