<?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=4&amp;t=2562" />

<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>2008-05-19T16:51:32+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=4&amp;t=2562</id>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2008-05-19T16:51:32+01:00</updated>
<published>2008-05-19T16:51:32+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15906#p15906</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15906#p15906"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15906#p15906"><![CDATA[
When an external torque is applied to the servo, it does seem to go slightly off position. This means the current reading does give some indication of applied force to limbs. The force does appear to need to exceed the servo dead band ( about +/- 5 microsec) after that the current reading is about fairly linear until full current is applied at +/- 100 microsec (+/- 10 degrees). These were based on the default servo configuration.<br /><br />So worth a try.<br /><br />As you say this is of little use during movement, the dynamic case is a lot more complex.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Mon May 19, 2008 4:51 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tum]]></name></author>
<updated>2008-05-19T16:45:40+01:00</updated>
<published>2008-05-19T16:45:40+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15905#p15905</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15905#p15905"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15905#p15905"><![CDATA[
<blockquote><div><cite>i-Bot wrote:</cite><br />I will try to find some time to document the process.<br /><br />Basically you need to generate the code using AVR studio and gcc compiler. This make a .hex file which is downloaded using RoboFlash to the controller board.<br /><br />The bootloader on the C3024 limits the file download to 64K bytes (32K instruction words).<br /><br />If you are looking at HMI, then there is an example in Fritziods file area:<br /><!-- m --><a class="postlink" href="http://robosavvy.com/Builders/Fritzoid/SerialMove.asm">http://robosavvy.com/Builders/Fritzoid/SerialMove.asm</a><!-- m --><br /><br />My file area has some idea of the C library based on the existing C3024 code:<br /><!-- m --><a class="postlink" href="http://robosavvy.com/Builders/i-Bot/upload.zip">http://robosavvy.com/Builders/i-Bot/upload.zip</a><!-- m --><br /><br />I have been using the stock RoboBasic firmware with some patches to add new functions. I use this to retain compatibility with the majority of other RN1 owners.<br /><br />I have two other controllers, one Parallax propeller based and one using Spartan FPGA. Both of these have advantage that the time critical and time consuming code can be seperated. However both involve swapping boards, so are a pain with all the servo wires.<br /><br />I am considering going back to the C3024 as the low level controller and using a second processor for higher level. This could be local or remote. New C3024 software is still required since the comms of the stock C3024 is not compatible to this mode. So I would have to make a new library based on interrupts for the servo timing.<br /></div></blockquote><br /><br />Excuse my ignorance again but will uploading a .hex program I've compiled with AVR studio (nothing but an empty main) somehow kill the ability to use roboflash a second time?  Is the ability to use flash using the roboflash in the default hitec firmware?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=648">tum</a> — Mon May 19, 2008 4:45 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tum]]></name></author>
<updated>2008-05-19T16:07:19+01:00</updated>
<published>2008-05-19T16:07:19+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15903#p15903</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15903#p15903"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15903#p15903"><![CDATA[
<blockquote><div><cite>i-Bot wrote:</cite><br />Yes, you can daisy chain the servos, they have open collector interface. This only true for serial HMI of course.<br /><br />The ID can be set using the serial HMI program cable and software.<br /><br />The limitation of daisy chain is speed. The HMI serial protocol is at 19200, and single transaction takes 7 characters. so the time of the total transaction is 3.65 milliseconds. This is why it is usual to have a seperate UART for each servo.<br /></div></blockquote><br /><br />Ok, that makes sense.  A line each would give each servo a transaction rate of over 300Hz.  More than enough for dynamic feedback control.<br /><br />The side of the HSR 5498SG retail box says the servo can give voltage, current and position feedback.  Sounds a bit like false advertising.<br /><br />If the current is only deduced from the requested &amp; real position offset then I'm guessing it won't be able to show very low current changes (from the robonova foot encountering an object) because those won't cause a position mismatch because the servo is able to overcome small forces.  Does that sound right?  If that's the case then it's not much use for balancing feedback either.  I guess reading whilst moving would also result in useless values.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=648">tum</a> — Mon May 19, 2008 4:07 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2008-05-19T15:57:35+01:00</updated>
<published>2008-05-19T15:57:35+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15902#p15902</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15902#p15902"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15902#p15902"><![CDATA[
Yes, you can daisy chain the servos, they have open collector interface. This only true for serial HMI of course.<br /><br />The ID can be set using the serial HMI program cable and software.<br /><br />The limitation of daisy chain is speed. The HMI serial protocol is at 19200, and single transaction takes 7 characters. so the time of the total transaction is 3.65 milliseconds. This is why it is usual to have a seperate UART for each servo.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Mon May 19, 2008 3:57 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tum]]></name></author>
<updated>2008-05-19T14:25:35+01:00</updated>
<published>2008-05-19T14:25:35+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15900#p15900</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15900#p15900"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15900#p15900"><![CDATA[
Hi I-bot,<br /><br />Do you know much about this hitec chain interface for up to 128 servos?  I assume this means that up to 128 servos can share a single signal line but I can't find a single piece of documentation regarding this.  A chain interface implies that you can set IDs for each servo but there's no information about that either!<br /><br />The feature is explicitly advertised on the side of the servo retail box too.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=648">tum</a> — Mon May 19, 2008 2:25 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2008-05-19T11:56:57+01:00</updated>
<published>2008-05-19T11:56:57+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15896#p15896</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15896#p15896"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15896#p15896"><![CDATA[
I will try to find some time to document the process.<br /><br />Basically you need to generate the code using AVR studio and gcc compiler. This make a .hex file which is downloaded using RoboFlash to the controller board.<br /><br />The bootloader on the C3024 limits the file download to 64K bytes (32K instruction words).<br /><br />If you are looking at HMI, then there is an example in Fritziods file area:<br /><!-- m --><a class="postlink" href="http://robosavvy.com/Builders/Fritzoid/SerialMove.asm">http://robosavvy.com/Builders/Fritzoid/SerialMove.asm</a><!-- m --><br /><br />My file area has some idea of the C library based on the existing C3024 code:<br /><!-- m --><a class="postlink" href="http://robosavvy.com/Builders/i-Bot/upload.zip">http://robosavvy.com/Builders/i-Bot/upload.zip</a><!-- m --><br /><br />I have been using the stock RoboBasic firmware with some patches to add new functions. I use this to retain compatibility with the majority of other RN1 owners.<br /><br />I have two other controllers, one Parallax propeller based and one using Spartan FPGA. Both of these have advantage that the time critical and time consuming code can be seperated. However both involve swapping boards, so are a pain with all the servo wires.<br /><br />I am considering going back to the C3024 as the low level controller and using a second processor for higher level. This could be local or remote. New C3024 software is still required since the comms of the stock C3024 is not compatible to this mode. So I would have to make a new library based on interrupts for the servo timing.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Mon May 19, 2008 11:56 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tum]]></name></author>
<updated>2008-05-19T10:21:38+01:00</updated>
<published>2008-05-19T10:21:38+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15893#p15893</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15893#p15893"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15893#p15893"><![CDATA[
<blockquote><div><cite>i-Bot wrote:</cite><br />You are both correct.<br /><br />The servos do not have a current sensor.<br /><br />The current can be read using serial HMI.<br /><br />The current reading is not the actual current, but is the applied current. It appears to be the PWM ratio of the motor drivers. This is calculated from the difference between the actual servo position and the desired servo position within the servo, using a control algorithm.<br /><br />Actual current will differ from real current due to back EMF in the motor, battery voltage, battery source resistance, etc.<br /><br />The new HMI servos with current protection use the applied current value and cut out if this is too high for too long.<br /><br />The current read via HMI may be sufficient for your needs, or you may actually get the same information from reading the position.<br /><br />Note also there has been some concern that with serial HMI, and also with reading position using pulse feedback, you do get a valid result 100% of the time. This may be some internal software timing in the servo, so do check all the values returned.<br /></div></blockquote><br /><br /><br />Hi i-bot,<br /><br />I've been reading through the forums and still don't have a clear idea of what is possible with the 3024 board.  I would appreciate it if you could (time permitting) document the exact steps required to get a fresh RN-1 setup to be programmed with C.  I'm at my wits end with robobasic.  <br /><br />I would like to be able to program a 3024 controller to control the servos using the HMI serial interface.  I assume this is entirely possible with the stock controller board by simply bit blasting the coms through the existing servo signal lines.  All the lines could be bit blasted simulataenously and through some rough calculations (assuming the AVR128 is fast enough) I'm thinking I could send packets at 100hz to each and every servo.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=648">tum</a> — Mon May 19, 2008 10:21 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[i-Bot]]></name></author>
<updated>2008-05-19T10:09:59+01:00</updated>
<published>2008-05-19T10:09:59+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15891#p15891</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15891#p15891"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15891#p15891"><![CDATA[
You are both correct.<br /><br />The servos do not have a current sensor.<br /><br />The current can be read using serial HMI.<br /><br />The current reading is not the actual current, but is the applied current. It appears to be the PWM ratio of the motor drivers. This is calculated from the difference between the actual servo position and the desired servo position within the servo, using a control algorithm.<br /><br />Actual current will differ from real current due to back EMF in the motor, battery voltage, battery source resistance, etc.<br /><br />The new HMI servos with current protection use the applied current value and cut out if this is too high for too long.<br /><br />The current read via HMI may be sufficient for your needs, or you may actually get the same information from reading the position.<br /><br />Note also there has been some concern that with serial HMI, and also with reading position using pulse feedback, you do get a valid result 100% of the time. This may be some internal software timing in the servo, so do check all the values returned.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=159">i-Bot</a> — Mon May 19, 2008 10:09 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tum]]></name></author>
<updated>2008-05-19T08:54:40+01:00</updated>
<published>2008-05-19T08:54:40+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15889#p15889</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15889#p15889"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15889#p15889"><![CDATA[
<blockquote><div><cite>Ray wrote:</cite><br />If you search in this web site, some people had discuss that Robonova's servo do not have the current sensor.<br /></div></blockquote><br /><br />I thought you could read the current using the serial interface?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=648">tum</a> — Mon May 19, 2008 8:54 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ray]]></name></author>
<updated>2008-05-19T06:27:35+01:00</updated>
<published>2008-05-19T06:27:35+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15883#p15883</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15883#p15883"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15883#p15883"><![CDATA[
If you search in this web site, some people had discuss that Robonova's servo do not have the current sensor.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=145">Ray</a> — Mon May 19, 2008 6:27 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tum]]></name></author>
<updated>2008-05-18T20:15:50+01:00</updated>
<published>2008-05-18T20:15:50+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15877#p15877</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15877#p15877"/>
<title type="html"><![CDATA[HMI current sensing]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2562&amp;p=15877#p15877"><![CDATA[
Has anyone been able to read the hitec servo current draw using HMI and the stock 3024 board?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=648">tum</a> — Sun May 18, 2008 8:15 pm</p><hr />
]]></content>
</entry>
</feed>