<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="http://forum.robosavvy.com/feed.php?f=5&amp;t=7276" />

<title>RoboSavvy Forum</title>
<subtitle>Robosavvy Forum: The largest online community of Humanoid Robot Builders</subtitle>
<link href="http://forum.robosavvy.com/index.php" />
<updated>2011-06-24T13:50:09+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=5&amp;t=7276</id>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2011-06-24T13:50:09+01:00</updated>
<published>2011-06-24T13:50:09+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31572#p31572</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31572#p31572"/>
<title type="html"><![CDATA[Controling AX12 from Linux through FTDI shorting RX and TX]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31572#p31572"><![CDATA[
The 5V FTDI resolves my points 2 and 3.<br /><br />For the TX output a tristate driver is always best, but many of the low cost FTDI cables and boards do no bring out the TXDEN pin to control the direction. If you can get access to the TXDEN, then an HC126 (DIP) or an NC7WZ241(SMT) can be used as a tristate driver/receiver. This also stops the receiver getting the transmit stream back.<br /><br />If you cannot get acces to TXDEN, then a diode on the output from TX followed by a pullup to 5V is a pretty good alternative, except maybe for long cables with fast baud rates.<br /><br />Watch out that some cables and board have 3.3V logic levels, but 5V Vcc output.<br /><br />Most of the Robotis utilities which talk direct to servos require an FTDI based serial converter and will not work with other USB serial chips. The other serial chips work fine wth Robotis software which talks to CM5/510.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Fri Jun 24, 2011 1:50 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[limor]]></name></author>
<updated>2011-06-24T13:08:00+01:00</updated>
<published>2011-06-24T13:08:00+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31569#p31569</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31569#p31569"/>
<title type="html"><![CDATA[Controling AX12 from Linux through FTDI shorting RX and TX]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31569#p31569"><![CDATA[
Thanks!<br />Points well taken.<br />So if the <a href="http://robosavvy.co.uk/store/advanced_search_result.php?keywords=ftdi&amp;x=0&amp;y=0" class="postlink">FTDI is for 5V</a> there should not be any issues?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2">limor</a> — Fri Jun 24, 2011 1:08 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2011-06-22T23:09:37+01:00</updated>
<published>2011-06-22T23:09:37+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31566#p31566</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31566#p31566"/>
<title type="html"><![CDATA[Controling AX12 from Linux through FTDI shorting RX and TX]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31566#p31566"><![CDATA[
While this may work under some conditions, I see 3 problems which may lead to unpredictable behavior:<br /><br />1) the FTDI Tx output is totem pole so the servo Tx will be driving against the 3.3V output from the FTDI when the servo replies. The servo will most likely win, but with much reduced voltage margin and larger current spikes.<br /><br />2) the servo drives its output levels to +5V, which is outside the max input level of the FTDI 3.3V board. This should not cause damage due to the series resistor in the servo, but  it will make noise on the 3.3V supply on the FTDI as the protection diode lifts it.<br /><br />3) The FTDI output at 3.3V does not meet the high level input voltage specification of the HC receiver in the servo. So more noise prone.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Wed Jun 22, 2011 11:09 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[limor]]></name></author>
<updated>2011-06-22T19:46:55+01:00</updated>
<published>2011-06-22T19:46:55+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31565#p31565</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31565#p31565"/>
<title type="html"><![CDATA[Controling AX12 from Linux through FTDI shorting RX and TX]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7276&amp;p=31565#p31565"><![CDATA[
We did a little experiment today and managed to get a PC to control the AX12 servos using a 3.3V FTDI board by shorting the RX and TX pins.<br />We wanted to check that AX12 servos respond to 3.3V signal.<br /><br />The conclusion is that this trick does work and allows for a very cheap and simple for PC - AX12 communications. The only thing to notice is that when sending out a packet from the PC, it will be read back on the PC since the TX and RX are shorted.<br /><br />Used a great package to test this called tekkotsu.org from Carnegie Mellon which includes also a useful tool called dynamixel_util<br /><br />&lt;pre&gt;<br /><br />gato@gato-laptop:/usr/local/Tekkotsu/tools/dynamixel_util$ ./dynamixel_util <br />Usage: ./dynamixel_util [options] set (ALL|&lt;src_id&gt;) &lt;dest_id&gt;<br />       ./dynamixel_util [options] scan [&lt;id&gt;|&lt;range&gt; ...]<br />       ./dynamixel_util [options] perf [sync] [save &lt;file&gt;] (&lt;id&gt;|range ...)<br />       ./dynamixel_util [options] baud (rate | divisor) &lt;x&gt;<br />       ./dynamixel_util [options] read &lt;id&gt; [ &lt;start&gt; &lt;end&gt; ]<br />       ./dynamixel_util [options] write (ALL|&lt;id&gt;|&lt;range&gt; ...) &lt;addr&gt;=&lt;value&gt;[ &lt;value&gt; ...]<br />       ./dynamixel_util [options] move (ALL|&lt;id&gt;|&lt;range&gt;) &lt;pos&gt; [&lt;speed&gt;]<br />       ./dynamixel_util [options] relax (ALL|&lt;id&gt;|&lt;range&gt; ...)<br />       ./dynamixel_util [options] conf<br /><br /> set: change the ID value of specified servo(s) to &lt;dest_id&gt;.  If ALL is<br />      specified as the source, the command will be broadcast, and affect<br />      all connected servos.  Otherwise a single servo can be specified to<br />      reassign its ID without affecting any others which may be connected.<br /><br />scan: the program will attempt to ping each of the specified servos, <br />      where each argument is an ID or an inclusive range 'm-n'.  If no<br />      arguments are specified, it will scan the entire valid range (0-253).<br /><br />perf: Benchmark performance testing, attempts to read and write from<br />      specified servo(s) as quickly as possible until enter is pressed<br />      or stdin is closed, then reports statistics.<br />      If the 'sync' option is specified, a sync_write command will be used<br />      instead of writing to each servo individually.<br />      The 'save' option will cause raw sample data to be saved to the<br />      specified file. The first line will be cycle end times, second line<br />      will be read latencies, and third line will be write latencies.<br /><br />baud: Sets the baud rate or divisor to the specified value for all<br />      connected servos.  Baud rates must be within 3% of a divisor,<br />      as defined by: RATE = 2000000 / (DIVISOR + 1)<br /><br />read: Dump all registers for the specified servo, optionally specifying<br />      beginning and ending register addresses (inclusive).<br /><br />write:Stores a value at the specified address for each of specified servos.<br />      If multiple values are provided, they will be written to subsequent<br />      registers.<br /><br />move: Send a position command to specified servo(s).  If the position<br />      argument is negative or has a leading '+', it will be interpreted<br />      as relative to the center of motion; otherwise absolute CCW position.<br /><br />relax:Sends a torque disable command to specified servos.<br /><br />conf: displays the current configuration settings and then exits<br /><br />OPTIONS<br />      -r,--read &lt;file&gt;        Reads configuration settings from &lt;file&gt;<br />      -w,--write &lt;file&gt;       Writes final configuration settings to &lt;file&gt;<br />                              (If &lt;file&gt; is 'default', saves at path below)<br />      -c,--comm &lt;commport&gt;    Choose a comm port (defaults to SerialCommPort)<br />      &lt;key&gt;=&lt;value&gt;           Assigns a new value to a configuration setting<br />                              (overrides any settings read from file)<br /><br />      The setting file will store the comm port type.  If you specify a new<br />      type with --comm, it will overwrite the previously read settings with<br />      the defaults for the new comm type.<br />      <br />      Default configuration settings are read from:<br />          ~/.dynamixel_util.plist<br />      <br />COMMPORTS<br />      Available comm ports are:<br />      ExecutableCommPort FileSystemCommPort NetworkCommPort RedirectionCommPort SerialCommPort<br />gato@gato-laptop:/usr/local/Tekkotsu/tools/dynamixel_util$ <br />&lt;/pre&gt;<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2">limor</a> — Wed Jun 22, 2011 7:46 pm</p><hr />
]]></content>
</entry>
</feed>