<?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/"
	>

<channel>
	<title>速度サーボ | 即戦力モノづくり!エンジニアへの道標</title>
	<atom:link href="https://depfields.com/tag/%E9%80%9F%E5%BA%A6%E3%82%B5%E3%83%BC%E3%83%9C/feed/" rel="self" type="application/rss+xml" />
	<link>https://depfields.com</link>
	<description>組み込み（マイコン）スキルを楽しんで学びながら身につけて短期間で効率よく自由自在に扱えるようになりたいと思いませんか？</description>
	<lastBuildDate>Wed, 04 May 2022 02:07:43 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.3</generator>

<image>
	<url>https://depfields.com/wp-content/uploads/2020/07/cropped-favicon-1-32x32.png</url>
	<title>速度サーボ | 即戦力モノづくり!エンジニアへの道標</title>
	<link>https://depfields.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>実践で使えるDCモータの速度サーボ制御をマイコンで構築する</title>
		<link>https://depfields.com/dcmotor-speedservo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dcmotor-speedservo</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Mon, 22 Mar 2021 07:17:07 +0000</pubDate>
				<category><![CDATA[モーションコントロールアプリ]]></category>
		<category><![CDATA[フィードバック制御]]></category>
		<category><![CDATA[ロバスト制御]]></category>
		<category><![CDATA[DCモータ]]></category>
		<category><![CDATA[速度サーボ]]></category>
		<category><![CDATA[マイコン]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=8868</guid>

					<description><![CDATA[<p>これまではDCモータを使ったレゴEV3モータをさまざまな制御方式のステップ応答(一定値入力）でそれぞれの特性を確認しました。実際にモータを運転する場合は一定の速度だけで使うのみならず加減速も任意に与えたパターンに追従させ [&#8230;]</p>
<p>The post <a href="https://depfields.com/dcmotor-speedservo/">実践で使えるDCモータの速度サーボ制御をマイコンで構築する</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img fetchpriority="high" width="640" height="435" src="https://depfields.com/wp-content/uploads/2021/03/lego-4504048_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2021/03/lego-4504048_640.jpg 640w, https://depfields.com/wp-content/uploads/2021/03/lego-4504048_640-300x204.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">これまではDCモータを使ったレゴEV3モータをさまざまな制御方式の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ステップ応答</span></strong>(一定値入力）でそれぞれの特性を確認しました。実際にモータを運転する場合は一定の速度だけで使うのみならず加減速も<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意に与えたパターンに追従させるいわゆるサーボ運転</span></strong>をさせる用途も多いです。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">そこで、今回はそれぞれの制御方式において、あらかじめ作成した台形の速度パターンを指令値入力としたときに、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">手動で負荷を加えたときの追従性と外乱による変動の影響を確認</span></strong>してみます。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">まずそれぞれの制御方式を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">シミュレーションで確認</span></strong>してから、プログラムを<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">実機に適用して制御方式による特性の違いを確認</span></strong>して、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">より実用的な方式を探求</span></strong>していきたいと思います。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">シミュレーションおよび実機での動作確認ともにこれまでに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ステップ応答で解説してきたものと同じ装置に台形速度入力指令</span></strong>を与えたもので検討します。</p>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p>厳密には<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">サーボ</span></strong>とは<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">目標値に対する出力との偏差がゼロになる設計</span></strong>としたものですが<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">ここでは任意の入力値に追従することを広い意味でサーボ</span></strong>といっています。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>







<h2 class="wp-block-heading">オープン制御での速度サーボ制御</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>オープン制御の場合は、速度指令値を台形パターンにするにはその<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">指令値に比例した電圧となるようなPWMデューティ比率</span></strong>に指定します。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2021/03/オープン速度.png"><img decoding="async" width="567" height="181" src="https://depfields.com/wp-content/uploads/2021/03/オープン速度.png" alt="" class="wp-image-8898" srcset="https://depfields.com/wp-content/uploads/2021/03/オープン速度.png 567w, https://depfields.com/wp-content/uploads/2021/03/オープン速度-300x96.png 300w" sizes="(max-width: 567px) 100vw, 567px" /></a><figcaption> オープン速度制御のブロック線図 </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>モータ速度は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">無負荷の状態</span></strong>では与えた電圧に比例して動作するはずです。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2021/03/モータオープン特性.png"><img decoding="async" width="431" height="197" src="https://depfields.com/wp-content/uploads/2021/03/モータオープン特性.png" alt="" class="wp-image-8929" srcset="https://depfields.com/wp-content/uploads/2021/03/モータオープン特性.png 431w, https://depfields.com/wp-content/uploads/2021/03/モータオープン特性-300x137.png 300w" sizes="(max-width: 431px) 100vw, 431px" /></a></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>実際の運転で起こり得る負荷を想定してモータ軸にブレーキがかかる向きに約0.5s間隔で一定の負荷トルクを与えて出力のモータ速度にどのような影響がでるかを調べてみます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><a href="https://depfields.com/controltheory-application/" target="_blank" aria-label="マイコンで実現するフィードバック制御のための基礎知識【応用編】 (opens in a new tab)" rel="noreferrer noopener">マイコンで実現するフィードバック制御のための基礎知識【応用編】</a></strong>で解説しましたが、DCモータはオープン制御の場合は負荷がかかると、大きく影響を受けてしまいます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>まずシミュレーションで確認してみると、やはり理論で証明されているように出力の速度はかなり変動してしまうことがわかります。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ_simulation.png"><img decoding="async" width="511" height="319" src="https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ_simulation.png" alt="" class="wp-image-8904" srcset="https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ_simulation.png 511w, https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ_simulation-300x187.png 300w" sizes="(max-width: 511px) 100vw, 511px" /></a><figcaption>オープン速度制御の の外乱影響（シミュレーション） </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今度は、シミュレーションと同じ条件になるプログラムを作成して、速度指令値が台形パターンとなる電圧をモータに与えたときの速度を実測してみます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>シミュレーションと同じ結果で、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ちょっとした負荷ですぐに速度は変動してしまう</span></strong>ことが確認できます。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ.png"><img decoding="async" width="790" height="288" src="https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ.png" alt="" class="wp-image-8907" srcset="https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ.png 790w, https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ-300x109.png 300w, https://depfields.com/wp-content/uploads/2021/03/オープン速度サーボ-768x280.png 768w" sizes="(max-width: 790px) 100vw, 790px" /></a><figcaption>オープン速度制御の外乱影響（実測値）</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>無防備な状態</strong></span>で、例えばマイクロマウスなどの駆動に適用すると勾配やちょっとした段差などの障害でも望むような動作ができない場合が起こりえます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>そこで、より性能を向上すべく<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">モータ速度をフィードバック</span></strong>した種々の方式で速度指令値（目標値）に対する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">追従性と外乱の影響を確認</span></strong>していきます。</p>
</div></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p>速度指令パターンは制御のサイクルタイム（今回は5ms)ごとの算出データを配列に入れ、加減速時間1.5s,　定常速度時間2sの台形パターンとしています。使用モータの定格速度(7.2V印加時)は410p/sであるため、ゆとりをもたせて指令値の速度ピークは少し低い350p/sとしています。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<h2 class="wp-block-heading">PI制御での速度サーボ</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PID制御のうち、比例と積分要素を補償器としたフィードバック速度制御を構成して性能を確認します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ステップ応答時と同じ条件で速度指令値を台形パターンにしたものです。補償器の条件は<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>比例ゲインを0.5</strong></span>, <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">積分ゲインを15</span></strong>にしたものです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/PI制御実システム.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/PI制御実システム.png" alt="" class="wp-image-8886" width="476" height="212"/></a><figcaption>PI速度制御のブロック線図</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>まずシミュレーションで確認してみると、この条件においては外乱の影響に関しては<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ぼぼオープン制御と同じ</span></strong>で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ほとんど改善効果は見られません</span></strong>。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/PI速度サーボ_simulation.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/PI速度サーボ_simulation.png" alt="" class="wp-image-8892" width="501" height="305"/></a><figcaption>PI速度制御の の外乱影響（シミュレーション） </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>シミュレーションと全く同じ条件で実測した結果をみても同様ですが、オープン制御と異なる点は速度指令値と実際の速度には<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">定常偏差がなくなっている</span></strong>点です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/PI速度サーボ.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/PI速度サーボ.png" alt="" class="wp-image-8936" width="580" height="210"/></a><figcaption>  PI速度制御の外乱影響（実測値）  </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回の条件ではゲインを比較的小さめに設定したこともあり、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外乱の影響を抑制する効果はほとんどない</span></strong>といえます。もっとも、ゲインをより大きく設定すると外乱の影響を抑えることはできますが、ループ内全体のゲインをあまり大きくすると<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ノイズ等の影響も受けやすくなり</span></strong>あまり好ましくはありません。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PI制御は定常状態の偏差をなくす</span></strong>には有効な方式ですが、外乱負荷の影響をなくすにはあまり効果が期待できないことがわかります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<h2 class="wp-block-heading">ハイゲインフィードバック制御での速度サーボ</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今度は最もシンプルなフィードバック方式で、効果もあげやすい<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ハイゲインフィードバック方式</span></strong>で検討してみます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ここではこの方式を"<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ハイゲインフィードバック</span></strong>"と名づけてはいるのですが、実際にはそんなに大きなゲインは使用しない<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">いたって実用的な方式</span></strong>です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>検証する条件は下記ブロック線図のとおりです。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2021/03/ハイゲインフィードバック速度サーボ.png"><img decoding="async" width="545" height="277" src="https://depfields.com/wp-content/uploads/2021/03/ハイゲインフィードバック速度サーボ.png" alt="" class="wp-image-8887" srcset="https://depfields.com/wp-content/uploads/2021/03/ハイゲインフィードバック速度サーボ.png 545w, https://depfields.com/wp-content/uploads/2021/03/ハイゲインフィードバック速度サーボ-300x152.png 300w" sizes="(max-width: 545px) 100vw, 545px" /></a><figcaption>ハイゲインフィードバック速度制御のブロック線図</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>上記の条件では入力から出力間の特性は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">実質10msの時定数をもった１次遅れ系</span></strong>となります。詳細は<strong><a aria-label="DCモータの簡単で実用的な速度フィードバック制御 (opens in a new tab)" href="https://depfields.com/dcmotor-highgainfeedback" target="_blank" rel="noreferrer noopener">DCモータの簡単で実用的な速度フィードバック制御</a></strong>で解説しています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>まずシミュレーションで確認しますが、オープン速度制御やPI速度制御ではあれだけ負荷外乱の影響をうけていたのですが、この方式では同じ条件であるのにかかわらずほぼ打ち消されていて、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">速度指令値どおりに追従するサーボ運転となっています</span></strong>。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/ハイゲイン速度サーボ_simulation.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/ハイゲイン速度サーボ_simulation.png" alt="" class="wp-image-8893" width="496" height="299"/></a><figcaption>ハイゲインフィードバック速度制御の外乱影響（シミュレーション） </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>シミュレーションでは良い結果であったのですが、実測値ではどうでしょうか。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">シミュレーションと同じ条件</span></strong>でプログラムを構成して実測してみました。制御アルゴリズムのプログラミングでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">積分器を使用するPI制御よりも単純</span></strong>です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ここでも結果はシミュレーションと同じく外乱の影響をキャンセルして安定して指令値に追従していることが確認できます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/ハイゲイン速度サーボ.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/ハイゲイン速度サーボ.png" alt="" class="wp-image-8909" width="580" height="217"/></a><figcaption>ハイゲインフィードバック速度制御の外乱影響（実測値） </figcaption></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<h2 class="wp-block-heading">２自由度ロバスト制御での速度サーボ</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ハイゲインフィードバック方式はシンプルな構造なのにも関わらず効果も抜群の方式でしたが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外乱抑制を高めるためにゲインを大きくすると同時に応答性も向上してしまうことが短所</span></strong>でした。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>これで問題がなければよいのですが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外乱抑制と応答性を独立して設定したい場合に有効な方式が2自由度ロバスト制御方式</span></strong>です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回の場合もステップ応答で構成したものに速度指令値（目標値）を台形パターンにしたところだけが異なります。シミュレーションやプログラムを構成するのに容易な近似タイプを採用します。【<strong><a aria-label="実践で使えるDCモータのロバスト速度制御 (opens in a new tab)" href="https://depfields.com/dcmotor-robustcontrol/" target="_blank" rel="noreferrer noopener">実践で使えるDCモータのロバスト速度制御</a></strong>】参照</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2021/03/2自由度実システム.png"><img decoding="async" width="676" height="328" src="https://depfields.com/wp-content/uploads/2021/03/2自由度実システム.png" alt="" class="wp-image-8888" srcset="https://depfields.com/wp-content/uploads/2021/03/2自由度実システム.png 676w, https://depfields.com/wp-content/uploads/2021/03/2自由度実システム-300x146.png 300w" sizes="(max-width: 676px) 100vw, 676px" /></a><figcaption>２自由度ロバスト速度制御のブロック線図</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>まずシミュレーションで確認しますが、ハイゲインフィードバック方式と比較すると、速度が指令値に対してわずかに遅れているのは、近似タイプのため、ロバスト補償器の時定数T<sub>m2</sub>をモータ制御対象の時定数T<sub>m</sub>と同じ50msにしているからです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>外乱抑制についてはハイゲインフィードバック方式と同じく<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">十分な効果があることが確認</span></strong>できます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/ロバスト速度サーボ_simulation.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/ロバスト速度サーボ_simulation.png" alt="" class="wp-image-8894" width="505" height="320"/></a><figcaption>２自由度ロバスト速度制御の の外乱影響（シミュレーション） </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> 制御アルゴリズムのプログラミングでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">１次遅れのフィルターを構成する必要はあります</span></strong>が、そう複雑なものでもありません。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>シミュレーションと同じ条件で実測したものでも外乱の影響がなく安定して指令値に追従していることが確認できます。近似タイプでも十分効果があることが確認できました。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2021/03/ロバスト速度サーボ.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2021/03/ロバスト速度サーボ.png" alt="" class="wp-image-8910" width="580" height="243"/></a><figcaption>２自由度ロバスト速度制御の外乱影響（実測値）</figcaption></figure>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<h2 class="wp-block-heading">まとめ</h2>



<ol class="is-style-vk-numbered-square-mark"><li>オープン制御では<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">簡単な速度調整程度</span></strong>はできますが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">外乱の影響を簡単にうけてしまう</span></strong>ので速度サーボ的な任意な速度で運転させることには向いていません。</li><li>DCモータをPI速度制御で運転しても、外乱の影響は受けてしまいます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PI速度制御は一定負荷をかけた状態で一定速度の指令値（目標値）通りに運転させる用途</span></strong>には向いていますが目標値が変化する速度サーボ運転への適用は厳しいです。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">高いゲインを使用することが条件</span></strong>です。</li><li><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ハイゲインフィードバック方式は比較的簡単に外乱の影響をキャンセルできる方式でおすすめ</span></strong>。ゲイン値により応答性が高くなりすぎないように注意する必要があります。</li><li><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>外乱抑制を向上させながら、応答性も任意に調整したい場合には２自由度ロバスト制御が有効</strong></span>です。近似タイプで用が足りるならばよいですが、より本格的な設定をしたい場合は本来のタイプが効果的です。ただし制御補償器の次数が増えるためにプログラム内の制御アルゴリズムは複雑になります。</li></ol>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<p>結論的には外乱抑制をもたせたちょっとした用途には<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ハイゲインフィードバック方式</span></strong>が実用的でおすすめです。<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>２自由度ロバスト制御</strong></span>を含め、このままでは<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>定常偏差は残る</strong></span>のですが、完全なサーボ化にすることは一工夫すれば簡単です。近日、紹介したいと思います。</p>



<p> ハイゲインフィードバック制御方式および２自由度ロバスト制御方式(近似タイプ)は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">数行の記述のみでプログラミングできるいたって実用的な方式</span></strong>です。 ちょっとした趣味用途でも簡単に採用できるのではないでしょうか。</p>



<p></p>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/dcmotor-speedservo/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/5c6048a07f448bf4cb94c5044d44cd576ab3dda6e1e95e7c1c86697a77a4f619.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Build a speed servo control system for DC motor using Microcontroller for pra...</div></div><div class="lkc-url">https://en.depfields.com/dcmotor-speedservo/</div><div class="lkc-excerpt">So far, I have checked the characteristics of each of the LEGO EV3 motor using DC motor with step response (constant value input) of various control methods. In actual operation, the motor is not only used at a constant speed, but is also</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/dcmotor-speedservo/">実践で使えるDCモータの速度サーボ制御をマイコンで構築する</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
