<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Our Playground &#187; Control Engineering</title>
	<atom:link href="http://basementbrat.wordpress.com/category/engineering/control-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://basementbrat.wordpress.com</link>
	<description>From dreams, We make it real, for Our beloved nation, Indonesia</description>
	<lastBuildDate>Thu, 13 Aug 2009 02:32:39 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='basementbrat.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/24c89e0dab61cab82c6742f8928de8fc?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Our Playground &#187; Control Engineering</title>
		<link>http://basementbrat.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://basementbrat.wordpress.com/osd.xml" title="Our Playground" />
		<item>
		<title>Using Accelerometer as Inertial Measurement Unit</title>
		<link>http://basementbrat.wordpress.com/2009/08/13/using-accelerometer-as-inertial-measurement-unit/</link>
		<comments>http://basementbrat.wordpress.com/2009/08/13/using-accelerometer-as-inertial-measurement-unit/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 02:29:25 +0000</pubDate>
		<dc:creator>Zulkarnaen</dc:creator>
				<category><![CDATA[Control Engineering]]></category>
		<category><![CDATA[Microelectronics]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[IMU]]></category>
		<category><![CDATA[sensor]]></category>

		<guid isPermaLink="false">http://basementbrat.wordpress.com/?p=154</guid>
		<description><![CDATA[Before I start, I am going to answer some question that might pop-up in your mind when you read the title.
Q: What is accelerometer?

A: For the sake of simplicity accelerometer is a device that measures acceleration including gravitation and vibration.

Q: Where can we find it?

A: Decades ago this technology was affordable only for highly funded [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=basementbrat.wordpress.com&blog=5334864&post=154&subd=basementbrat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Before I start, I am going to answer some question that might pop-up in your mind when you read the title.</p>
<p><em>Q: What is accelerometer?<br />
</em></p>
<p>A: For the sake of simplicity accelerometer is a device that measures acceleration including gravitation and vibration.</p>
<p><span id="more-154"></span></p>
<p><em>Q: Where can we find it?<br />
</em></p>
<p>A: Decades ago this technology was affordable only for highly funded industries like defense and aerospace, but nowadays we can find it almost everywhere such as iPhone, Wii gamepad, digital camera, car airbag and many more. Thanks to the advancement in MEMS technology. MEMS is abbreviation for Micro-Electro Mechanical System. This technology enables you to build electro mechanical device in a microscopic scale. The picture below might give you the idea about MEMS. The spider mite size is around 0.5 mm to 1 mm.</p>
<p style="text-align:center;"><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele1.jpg" alt="" /></p>
<p style="text-align:center;">Mite Approaching the Gear Chain, <em>Courtesy of Sandia National Laboratories, SUMMiTTM Technologies, www.mems.sandia.gov<br />
</em></p>
<p><em>Q: How does it work?<br />
</em></p>
<p>A: At first it was just a water tube containing air bubble which indicates the direction of the acceleration. Nowadays MEMS accelerometer can be classified to several types based on its sensing elements and principle of operation. The one that I am using is based on polysilicon surface-micromachined sensor. A good further reference about how an accelerometer works can be found <a href="http://www.memsuniverse.com/?page_id=1548">here</a>.</p>
<p><em>Q: Now, what is Inertial Measurement Unit?<br />
</em></p>
<p>A: Inertial Measurement Unit (IMU), which is the combination of accelerometer and gyroscope, senses motions that occur to it. Accelerometer provides us linear acceleration while gyroscope provides us rate angular. By combining those data we can know the angle, that&#8217;s basically how tilt measurement in iPhone and Wii gamepad, although those devices only use accelerometer.</p>
<p>Well that&#8217;s it for introduction, for further basic information you can search it through website =). What I am going to explain in this article is about how to measure pitch, roll, or yaw using accelerometer.</p>
<p>To measure tilt, you can follow these steps:</p>
<ol>
<li>
<div>You need at least 2 axis accelerometers. Two axis accelerometer means that you are going to need two accelerometers that measure two different axis. Try this <a href="http://www.analog.com/static/imported-files/data_sheets/ADXL103_203.pdf">ADXL203</a>. This sensor already embedded two accelerometers inside a single IC.</div>
<p style="text-align:center;"><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele2.jpg" alt="" /></p>
</li>
<li>Read the output from both axis. Usually you need Analog to Digital Converter (ADC) to get digital value of the output.</li>
<li>
<div>Normalize the data. The output from the sensor is always positive. You can check it at their datasheet if you don&#8217;t believe me =). Here, I&#8217;ll give you a snapshot from the datasheet.</div>
<p style="text-align:center;"><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele3.png" alt="" /></p>
<p>As you noticed from the picture above when the sensor experiencing 0g, the output of the sensor would be 2.5 V*. Let&#8217;s say you are using 10 bit ADC, at 0g you&#8217;ll get the reading of 512. So all you have to do to normalize the data is by subtracting the ADC data with 512.</p>
<p style="text-align:center;"><em>ADC<sub>x,norm</sub> = ADC<sub>x,sampled</sub> – ADC<sub>@0g<br />
</sub></em></p>
<p style="text-align:center;"><em>ADC<sub>y,norm</sub> = ADC<sub>y,sampled</sub> – ADC<sub>@0g<br />
</sub></em></li>
<li>
<div>The next step is using a simple trigonometry equation. See the picture below.</div>
<p style="text-align:center;"><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele4.png" alt="" /></p>
<p>We can find θ by using</p>
<p style="text-align:center;">θ = arctan(<em>a<sub>x</sub></em> /<em> a<sub>x</sub></em>)</p>
<p style="text-align:center;">θ = arctan((<em>ADC<sub>x,norm </sub>. Const</em>) /<em><br />
</em>(<em>ADC<sub>x,norm </sub>. Const</em>))**</p>
<p style="text-align:center;">θ = arctan(<em>ADC<sub>x,norm</sub></em> /<em>ADC<sub>x,norm</sub></em>)</p>
<p>or in C language</p>
<p style="text-align:center;"><span style="font-family:Lucida Console;font-size:10pt;">θ = atan2(</span><em>ADC<sub>x,norm</sub></em><span style="font-family:Lucida Console;font-size:10pt;">, </span><em>ADC<sub>y,norm</sub></em><span style="font-family:Lucida Console;font-size:10pt;">)<br />
</span></li>
</ol>
<p>The graphic below is an example of data that was taken from a two axis accelerometer. The accelerometer was rotated clockwise and counterclockwise.</p>
<p style="text-align:center;"><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele5.jpg" alt="" /></p>
<p>The data seemed good enough, but you will notice that if the condition a little bit changed the data would become bad. The graphic below was taken when the accelerometer was rotated clockwise and counterclockwise plus translation movement.</p>
<p style="text-align:center;"><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele6.png" alt="" /><img src="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele7.jpg" alt="" /></p>
<p>As you can see, the tilt measurement is disturbed when there is translation movement due to measurement of linear translation by the sensor. We can&#8217;t compensate this disturbance if we only have accelerometer. The key to overcome this disturbance is by combining this data with data from gyroscope, which I will cover in another article.</p>
<p>*) The 2.5 V at 0g is not always true. It depends on several factor, one of them is the voltage of you power supply.</p>
<p><em>**) Const</em> is used to transform from ADC data to acceleration (a<sub>x</sub> and a<sub>y</sub>) in (m/s<sup>2</sup>).</p>
<p>Reference:</p>
<ol>
<li><a href="http://www.memsuniverse.com/?page_id=1548">http://www.memsuniverse.com/?page_id=1548</a></li>
<li><a href="http://www.analog.com/static/imported-files/data_sheets/ADXL103_203.pdf">http://www.analog.com/static/imported-files/data_sheets/ADXL103_203.pdf</a></li>
<li><a href="http://www.sensr.com/pdf/practical-guide-to-accelerometers.pdf">http://www.sensr.com/pdf/practical-guide-to-accelerometers.pdf</a></li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/basementbrat.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/basementbrat.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/basementbrat.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/basementbrat.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/basementbrat.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/basementbrat.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/basementbrat.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/basementbrat.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/basementbrat.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/basementbrat.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=basementbrat.wordpress.com&blog=5334864&post=154&subd=basementbrat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://basementbrat.wordpress.com/2009/08/13/using-accelerometer-as-inertial-measurement-unit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/85380c17107fc5cdd8212dfeb34a4fdb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Zulkarnaen</media:title>
		</media:content>

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele1.jpg" medium="image" />

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele2.jpg" medium="image" />

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele3.png" medium="image" />

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele4.png" medium="image" />

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele5.jpg" medium="image" />

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele6.png" medium="image" />

		<media:content url="http://basementbrat.files.wordpress.com/2009/08/081309_0228_usingaccele7.jpg" medium="image" />
	</item>
		<item>
		<title>Step by step Control System Design</title>
		<link>http://basementbrat.wordpress.com/2009/03/28/step-by-step-control-system-design/</link>
		<comments>http://basementbrat.wordpress.com/2009/03/28/step-by-step-control-system-design/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 00:12:25 +0000</pubDate>
		<dc:creator>Fela Rizki Wardana</dc:creator>
				<category><![CDATA[Control Engineering]]></category>

		<guid isPermaLink="false">http://basementbrat.wordpress.com/?p=138</guid>
		<description><![CDATA[Many experienced practising control engineer are surely able to design a control system. For those of you who wish to be a professional control engineer, you can expect and should consider the designing of a control system as part of your daily life. This post is intended to share little bit of my knowledge about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=basementbrat.wordpress.com&blog=5334864&post=138&subd=basementbrat&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignright" title="overshoot" src="http://farm4.static.flickr.com/3461/3391098992_9b3a46278e.jpg?v=0" alt="" width="310" height="248" />Many experienced practising control engineer are surely able to design a control system. For those of you who wish to be a professional control engineer, you can expect and should consider the designing of a control system as part of your daily life. This post is intended to share little bit of my knowledge about designing a control system. Well actually this is just about as far I know about control design. ^^</p>
<p>The process of designing a control system usually makes many demands of the engineer or engineering team. These demands often emerge in step by step design procedure as follows:</p>
<ol>
<li>Study the system (plant) to be controlled and obtain initial information about the control objectives.</li>
<li>Model the system and simplify the model, if necessary.</li>
<li>Analyze the resulting model; determine its properties.<span id="more-138"></span></li>
<li>Decide which variable are to be controlled (controlled outputs).</li>
<li>Decide on the measurements and manipulated variables: what sensors and actuators will be used and where will they be placed?</li>
<li>Select the control configuration.</li>
<li>Decide the type of the controller to be used.</li>
<li>Decide on performance specifications, based on the overall control objectives.</li>
<li>Design a controller.</li>
<li>Analyze the resulting controlled system to see if the specifications are satisfied: and if they are not satisfied, modify the specifications or the type of controller.</li>
<li>Simulate the resulting controlled system, either on a computer or a pilot plant.</li>
<li>Repeat from step 2, if necessary. ^^</li>
<li>Choose hardware and software and implement the controller.</li>
<li>Test and validate the control system, and tune the controller on-line, if necessary.</li>
</ol>
<p>As you can see above, those are the procedures of designing a control system. If you are to design a controller, the easiest way to fulfil your objectives is to make a checklist out of the above requirements, and just make your way up through all of the lists above until, say you want to implement the control system into hardware, then you would have to do it completely until number 14.</p>
<p>That&#8217;s it from me, feel free to post comments, corrections or anything, thank you and see you later!</p>
<p>NB: the process of designing a control system above is taken from the book  <em>&#8220;MULTIVARIABLE FEEDBACK CONTROL: Analysis and Design&#8221;</em> written by Sigurd Skogestad and Ian Postlethwaite.</p>
<p><a href="http://frwardana.wordpress.com/2009/03/28/control-system-design/"><img class="alignleft" title="Signature" src="http://farm4.static.flickr.com/3582/3391191396_b0f1a43ca3.jpg?v=0" alt="" width="286" height="168" /></a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/basementbrat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/basementbrat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/basementbrat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/basementbrat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/basementbrat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/basementbrat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/basementbrat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/basementbrat.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/basementbrat.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/basementbrat.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=basementbrat.wordpress.com&blog=5334864&post=138&subd=basementbrat&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://basementbrat.wordpress.com/2009/03/28/step-by-step-control-system-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/18d36f55ac754eb19faff9f4f57b8b18?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Fella</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3461/3391098992_9b3a46278e.jpg?v=0" medium="image">
			<media:title type="html">overshoot</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3582/3391191396_b0f1a43ca3.jpg?v=0" medium="image">
			<media:title type="html">Signature</media:title>
		</media:content>
	</item>
	</channel>
</rss>