<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: The PID Controller	</title>
	<atom:link href="https://wired.chillibasket.com/2015/03/pid-controller/feed/" rel="self" type="application/rss+xml" />
	<link>https://wired.chillibasket.com/2015/03/pid-controller/</link>
	<description>A Robotics and Technology Blog</description>
	<lastBuildDate>Wed, 18 Nov 2020 17:57:11 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		By: Simon Bluett		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-845</link>

		<dc:creator><![CDATA[Simon Bluett]]></dc:creator>
		<pubDate>Wed, 18 Nov 2020 17:55:48 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-845</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://wired.chillibasket.com/2015/03/pid-controller/#comment-844&quot;&gt;BRENDA&lt;/a&gt;.

Hi Brenda, the code above contains everything you need to get the PID controller running. You will only need to replace the &lt;code&gt;getAngle()&lt;/code&gt; function with you sensor reading code and &lt;code&gt;moveMotors()&lt;/code&gt; with the code controlling your motors. I&#039;ve updated the code above to make this clearer. Yes, you can use a single PID controller to make a robot with encoders to drive straight.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://wired.chillibasket.com/2015/03/pid-controller/#comment-844">BRENDA</a>.</p>
<p>Hi Brenda, the code above contains everything you need to get the PID controller running. You will only need to replace the <code class="" data-line="">getAngle()</code> function with you sensor reading code and <code class="" data-line="">moveMotors()</code> with the code controlling your motors. I&#8217;ve updated the code above to make this clearer. Yes, you can use a single PID controller to make a robot with encoders to drive straight.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: BRENDA		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-844</link>

		<dc:creator><![CDATA[BRENDA]]></dc:creator>
		<pubDate>Wed, 18 Nov 2020 02:22:14 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-844</guid>

					<description><![CDATA[Hi, can i know which PID library shud be installed for this PID function to work properly? I put this code it but theres some error, probably a missing library. By the way, can i use this PID contoller alone to control my robot to drive straight ?]]></description>
			<content:encoded><![CDATA[<p>Hi, can i know which PID library shud be installed for this PID function to work properly? I put this code it but theres some error, probably a missing library. By the way, can i use this PID contoller alone to control my robot to drive straight ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: dilshan fernando		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-278</link>

		<dc:creator><![CDATA[dilshan fernando]]></dc:creator>
		<pubDate>Thu, 15 Jun 2017 12:40:00 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-278</guid>

					<description><![CDATA[nice tutorial to beginners .thank you very much .you are good teacher]]></description>
			<content:encoded><![CDATA[<p>nice tutorial to beginners .thank you very much .you are good teacher</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: AJAY		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-250</link>

		<dc:creator><![CDATA[AJAY]]></dc:creator>
		<pubDate>Sat, 11 Feb 2017 13:40:47 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-250</guid>

					<description><![CDATA[hello, I acquired sensor values from mpu 6050 ...but how will give it to a pid controller in labview]]></description>
			<content:encoded><![CDATA[<p>hello, I acquired sensor values from mpu 6050 &#8230;but how will give it to a pid controller in labview</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Simon Bluett		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-230</link>

		<dc:creator><![CDATA[Simon Bluett]]></dc:creator>
		<pubDate>Fri, 09 Sep 2016 08:05:41 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-230</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://wired.chillibasket.com/2015/03/pid-controller/#comment-227&quot;&gt;Ramius&lt;/a&gt;.

Hi Ramius,
The code shown is not complete; I&#039;ve only written it to show how the PID controller can be used. A full version of my self-balancing code can be found in the &lt;a href=&quot;http://wired.chillibasket.com/2015/10/putting-it-all-together/&quot;&gt;final part of my tutorial here.&lt;/a&gt; Yes, encoders would definitely improve the robot&#039;s balancing performance. There are some other tutorials online where they describe how to integrate encoders into the PID code.
Simon]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://wired.chillibasket.com/2015/03/pid-controller/#comment-227">Ramius</a>.</p>
<p>Hi Ramius,<br />
The code shown is not complete; I&#8217;ve only written it to show how the PID controller can be used. A full version of my self-balancing code can be found in the <a href="http://wired.chillibasket.com/2015/10/putting-it-all-together/">final part of my tutorial here.</a> Yes, encoders would definitely improve the robot&#8217;s balancing performance. There are some other tutorials online where they describe how to integrate encoders into the PID code.<br />
Simon</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ramius		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-227</link>

		<dc:creator><![CDATA[Ramius]]></dc:creator>
		<pubDate>Tue, 16 Aug 2016 13:49:32 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-227</guid>

					<description><![CDATA[Hi. Wonderful project and nice and clear guiding. Looking through the code I couldn&#039;t find where the move and rotate commands are handled. Other question is what about encoders? Do you think they would really help?

Regards]]></description>
			<content:encoded><![CDATA[<p>Hi. Wonderful project and nice and clear guiding. Looking through the code I couldn&#8217;t find where the move and rotate commands are handled. Other question is what about encoders? Do you think they would really help?</p>
<p>Regards</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Vivek V		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-158</link>

		<dc:creator><![CDATA[Vivek V]]></dc:creator>
		<pubDate>Tue, 29 Sep 2015 15:44:55 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-158</guid>

					<description><![CDATA[Hello Simon,
I got to the part which says &#039;Target Angle Set&#039; and &#039;Initializing&#039;. I added
Serial.println(ypr[1] * 180/M_PI);
just before
PID(ypr[1] * 180/M_PI, ypr[0] * 180/M_PI);

However on the serial, I just obtain a single value and the motors begin to rotate continuously in one direction, without stopping. I guess the sensor stops transmitting values to the controller once the motor begins to move (Values not updated, hence motor rotates continuously?)

Any help for this? Also please do check out the comment I sent via the About page.]]></description>
			<content:encoded><![CDATA[<p>Hello Simon,<br />
I got to the part which says &#8216;Target Angle Set&#8217; and &#8216;Initializing&#8217;. I added<br />
Serial.println(ypr[1] * 180/M_PI);<br />
just before<br />
PID(ypr[1] * 180/M_PI, ypr[0] * 180/M_PI);</p>
<p>However on the serial, I just obtain a single value and the motors begin to rotate continuously in one direction, without stopping. I guess the sensor stops transmitting values to the controller once the motor begins to move (Values not updated, hence motor rotates continuously?)</p>
<p>Any help for this? Also please do check out the comment I sent via the About page.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Simon Bluett		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-157</link>

		<dc:creator><![CDATA[Simon Bluett]]></dc:creator>
		<pubDate>Mon, 28 Sep 2015 20:38:08 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-157</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://wired.chillibasket.com/2015/03/pid-controller/#comment-156&quot;&gt;Vivek V&lt;/a&gt;.

I assume you&#039;re using the balancing program I posted a while back? If it doesn&#039;t say &quot;Initializing&quot; after you see &quot;Ready to Balance!&quot;, and you are holding the robot vertical and still, then there is something wrong with the sensor. Here are a number of pointers that might help:
&lt;ul&gt;
	&lt;li&gt;Have you updated the Gyro &amp; Accel offsets in the setup function with your own values?&lt;/li&gt;
	&lt;li&gt;Is the sensor module facing the right direction? Check this by putting the line &lt;strong&gt;&lt;em&gt;Serial.println(ypr[1] * 180/M_PI);&lt;/em&gt;&lt;/strong&gt; just before the PID function is called in the main loop.&lt;/li&gt;
	&lt;li&gt;My code does not use interrupts, as I used a Galileo Gen2 board instead of an Arduino Mega. All the same, this code should still work for you.&lt;/li&gt;
	&lt;li&gt;To send a new P-value for the PID controller over serial, type: &quot;&lt;strong&gt;P&lt;/strong&gt;&quot; and then a new number between 1-50. The same can be done for the &quot;&lt;strong&gt;I&lt;/strong&gt;&quot; and the &quot;&lt;strong&gt;D&lt;/strong&gt;&quot; values.&lt;/li&gt;
&lt;/ul&gt;]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://wired.chillibasket.com/2015/03/pid-controller/#comment-156">Vivek V</a>.</p>
<p>I assume you&#8217;re using the balancing program I posted a while back? If it doesn&#8217;t say &#8220;Initializing&#8221; after you see &#8220;Ready to Balance!&#8221;, and you are holding the robot vertical and still, then there is something wrong with the sensor. Here are a number of pointers that might help:</p>
<ul>
<li>Have you updated the Gyro &#038; Accel offsets in the setup function with your own values?</li>
<li>Is the sensor module facing the right direction? Check this by putting the line <strong><em>Serial.println(ypr[1] * 180/M_PI);</em></strong> just before the PID function is called in the main loop.</li>
<li>My code does not use interrupts, as I used a Galileo Gen2 board instead of an Arduino Mega. All the same, this code should still work for you.</li>
<li>To send a new P-value for the PID controller over serial, type: &#8220;<strong>P</strong>&#8221; and then a new number between 1-50. The same can be done for the &#8220;<strong>I</strong>&#8221; and the &#8220;<strong>D</strong>&#8221; values.</li>
</ul>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Vivek V		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-156</link>

		<dc:creator><![CDATA[Vivek V]]></dc:creator>
		<pubDate>Mon, 28 Sep 2015 18:53:11 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-156</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://wired.chillibasket.com/2015/03/pid-controller/#comment-155&quot;&gt;Simon Bluett&lt;/a&gt;.

The sensor is working alright and the loop looks fine too. My motors don&#039;t  respond according to the balance; they don&#039;t switch on at all even after I get the &#039;Ready to Balance&#039; on the monitor. How do I debug with the monitor? I am unable to set values via the serial monitor.

What changes should I be making to the code?

PS I am using the MPU6050 along with an interrupt on an Arduino Mega.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://wired.chillibasket.com/2015/03/pid-controller/#comment-155">Simon Bluett</a>.</p>
<p>The sensor is working alright and the loop looks fine too. My motors don&#8217;t  respond according to the balance; they don&#8217;t switch on at all even after I get the &#8216;Ready to Balance&#8217; on the monitor. How do I debug with the monitor? I am unable to set values via the serial monitor.</p>
<p>What changes should I be making to the code?</p>
<p>PS I am using the MPU6050 along with an interrupt on an Arduino Mega.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Simon Bluett		</title>
		<link>https://wired.chillibasket.com/2015/03/pid-controller/#comment-155</link>

		<dc:creator><![CDATA[Simon Bluett]]></dc:creator>
		<pubDate>Mon, 28 Sep 2015 17:47:21 +0000</pubDate>
		<guid isPermaLink="false">http://wired.chillibasket.com/?p=254#comment-155</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://wired.chillibasket.com/2015/03/pid-controller/#comment-154&quot;&gt;Vivek V&lt;/a&gt;.

Hi Vivek! Calibrating the PID values definitely is the hardest part of the project. If you really are having no luck with the system, I would suggest checking that the sensor is working properly, and that the time between each loop is short (less than 10ms) and is relatively regular.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://wired.chillibasket.com/2015/03/pid-controller/#comment-154">Vivek V</a>.</p>
<p>Hi Vivek! Calibrating the PID values definitely is the hardest part of the project. If you really are having no luck with the system, I would suggest checking that the sensor is working properly, and that the time between each loop is short (less than 10ms) and is relatively regular.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
