<?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>TRY-AND-ERROR-AND-TRY</title>
	<atom:link href="https://aisumegane.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://aisumegane.com</link>
	<description>うッうわぁ、、、人がこんなにたくさん・・・</description>
	<lastBuildDate>Mon, 06 Jul 2026 14:08:12 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://aisumegane.com/wp-content/uploads/2023/06/cropped-cd867555d135b6b246572a3cf64edfeb-32x32.jpg</url>
	<title>TRY-AND-ERROR-AND-TRY</title>
	<link>https://aisumegane.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【工具】ねこ車、１輪と２輪とどっちがいいのかっていう話。</title>
		<link>https://aisumegane.com/the-debate-over-which-is-better-a-one-wheeled-or-two-wheeled-wheelbarrow/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Mon, 06 Jul 2026 14:06:59 +0000</pubDate>
				<category><![CDATA[バイト戦士録]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8587</guid>

					<description><![CDATA[<p>結論、１輪が無難。平地でしか使わないなら２輪でもOK。 車輪の数は多いほうが安定！だと思ってた話 想像していた３倍ぐらいぐらい使いずらい。 障害物があると２輪分押し上げないといけないから倍の力が必要に ...</p>
<p>The post <a href="https://aisumegane.com/the-debate-over-which-is-better-a-one-wheeled-or-two-wheeled-wheelbarrow/">【工具】ねこ車、１輪と２輪とどっちがいいのかっていう話。</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[<p class="has-large-font-size"><strong>結論、１輪が無難。</strong><br>平地でしか使わないなら２輪でもOK。</p>



<h2 class="wp-block-heading">車輪の数は多いほうが安定！だと思ってた話</h2>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img fetchpriority="high" decoding="async" width="638" height="640" src="https://aisumegane.com/wp-content/uploads/2026/07/1.jpg" alt="" class="wp-image-8588" srcset="https://aisumegane.com/wp-content/uploads/2026/07/1.jpg 638w, https://aisumegane.com/wp-content/uploads/2026/07/1-300x300.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/07/1-150x150.jpg 150w, https://aisumegane.com/wp-content/uploads/2026/07/1-100x100.jpg 100w, https://aisumegane.com/wp-content/uploads/2026/07/1-120x120.jpg 120w" sizes="(max-width: 638px) 100vw, 638px" /></figure>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="535" src="https://aisumegane.com/wp-content/uploads/2026/07/2.jpg" alt="" class="wp-image-8589" srcset="https://aisumegane.com/wp-content/uploads/2026/07/2.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/07/2-300x251.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="534" src="https://aisumegane.com/wp-content/uploads/2026/07/3.jpg" alt="" class="wp-image-8590" srcset="https://aisumegane.com/wp-content/uploads/2026/07/3.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/07/3-300x250.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="588" height="640" src="https://aisumegane.com/wp-content/uploads/2026/07/4.jpg" alt="" class="wp-image-8591" style="aspect-ratio:0.9187704477757703;width:638px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/07/4.jpg 588w, https://aisumegane.com/wp-content/uploads/2026/07/4-276x300.jpg 276w" sizes="(max-width: 588px) 100vw, 588px" /></figure>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="479" src="https://aisumegane.com/wp-content/uploads/2026/07/5.jpg" alt="" class="wp-image-8592" srcset="https://aisumegane.com/wp-content/uploads/2026/07/5.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/07/5-300x225.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/07/5-202x150.jpg 202w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="549" height="640" src="https://aisumegane.com/wp-content/uploads/2026/07/6.jpg" alt="" class="wp-image-8593" srcset="https://aisumegane.com/wp-content/uploads/2026/07/6.jpg 549w, https://aisumegane.com/wp-content/uploads/2026/07/6-257x300.jpg 257w" sizes="(max-width: 549px) 100vw, 549px" /></figure>



<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="631" height="640" src="https://aisumegane.com/wp-content/uploads/2026/07/7.jpg" alt="" class="wp-image-8594" style="aspect-ratio:0.9859612285756141;width:536px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/07/7.jpg 631w, https://aisumegane.com/wp-content/uploads/2026/07/7-296x300.jpg 296w, https://aisumegane.com/wp-content/uploads/2026/07/7-100x100.jpg 100w" sizes="(max-width: 631px) 100vw, 631px" /></figure>



<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="570" height="640" src="https://aisumegane.com/wp-content/uploads/2026/07/8.jpg" alt="" class="wp-image-8595" style="aspect-ratio:0.8906414043997363;width:538px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/07/8.jpg 570w, https://aisumegane.com/wp-content/uploads/2026/07/8-267x300.jpg 267w" sizes="(max-width: 570px) 100vw, 570px" /></figure>



<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="640" height="445" src="https://aisumegane.com/wp-content/uploads/2026/07/9.jpg" alt="" class="wp-image-8596" style="aspect-ratio:1.4382330219818809;width:700px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/07/9.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/07/9-300x209.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p class="has-large-font-size"><strong>想像していた３倍ぐらいぐらい使いずらい。</strong></p>



<p>障害物があると２輪分押し上げないといけないから倍の力が必要になったり</p>



<p>２輪同時に乗り上げないと何もしてなくても勝手に傾いたりと・・・・</p>



<p>１輪がメジャーな理由が分かった気がします。</p>



<p>とはいえ、平地では安定してるので、アスファルトの上で使うとかなら全然良いと思います。</p>



<p>草がボーボーの凸凹な土地で使うなら、絶対１輪の方が良いっすね。</p><p>The post <a href="https://aisumegane.com/the-debate-over-which-is-better-a-one-wheeled-or-two-wheeled-wheelbarrow/">【工具】ねこ車、１輪と２輪とどっちがいいのかっていう話。</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【レビュー】タンスのゲン スポットクーラー2.3kWモデルをレビューする</title>
		<link>https://aisumegane.com/reviewing-the-tansu-no-gen-2-3kw-spot-cooler/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Fri, 26 Jun 2026 04:08:09 +0000</pubDate>
				<category><![CDATA[ガジェット]]></category>
		<category><![CDATA[エアコン]]></category>
		<category><![CDATA[家電]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8516</guid>

					<description><![CDATA[<p>猛暑猛暑と連呼されて久しいですが、山間部はいまだに涼しいです。 ５月も14℃～15℃の日がザラにあります。 とはいえこのまま10月ぐらいまで乗り切るのは厳しい予感なので、エアコンを購入しました。 今回 ...</p>
<p>The post <a href="https://aisumegane.com/reviewing-the-tansu-no-gen-2-3kw-spot-cooler/">【レビュー】タンスのゲン スポットクーラー2.3kWモデルをレビューする</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[<p>猛暑猛暑と連呼されて久しいですが、山間部はいまだに涼しいです。</p>



<p>５月も14℃～15℃の日がザラにあります。</p>



<p>とはいえこのまま10月ぐらいまで乗り切るのは厳しい予感なので、エアコンを購入しました。</p>



<h2 class="wp-block-heading">今回購入した商品</h2>



<p>今回購入したのは下記の商品です。</p>


<div id="rinkerid8556" class="yyi-rinker-contents  yyi-rinker-postid-8556 yyi-rinker-img-m yyi-rinker-catid-88 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B0B1PXB3WT?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)" data-vars-click-id="amazon_img 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)"><img decoding="async" src="https://m.media-amazon.com/images/I/41qunJiLRXL._SL160_.jpg"  width="160" height="160" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B0B1PXB3WT?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="amazon_title 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)" data-vars-amp-click-id="amazon_title 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)" >タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="brand">タンスのゲン</div>
							<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/dp/B0B1PXB3WT?tag=aisumegane2-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)"  data-vars-amp-click-id="amazon 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25B9%25E3%2583%259D%25E3%2583%2583%25E3%2583%2588%25E3%2582%25AF%25E3%2583%25BC%25E3%2583%25A9%25E3%2583%25BC%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)"  data-vars-amp-click-id="rakuten 8556 タンスのゲン スポットクーラー 家庭用【猛暑対応モデル】パワフル2.3kW 6-10畳 除湿機能 25L/日 断熱ダクトカバー付き【窓パネル×4 テラス窓にも対応！】移動式エアコン ポータブルクーラー 冷風機 スポットエアコン クーラー 熱中症 熱中症対策 79800000(119652)">楽天市場</a><img decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
								                											</ul>
					</div>
	</div>
</div>



<p>タンスのゲン、というメーカーさんが出しているスポットクーラーになります。</p>



<p>もともとエアコンがなかったのですが、工事をして取り付けるまではしたくなかったので、置くだけでOKなものを購入しました。</p>



<p>出力ごとにいくつかモデルがあり、2.3kW、2.6kW、2.9kW、3.5kWの４モデルが販売されています。</p>



<p>個人的に１つの部屋が暖められれば十分だったので、今回は一番出力が小さいモデルを購入しました。</p>



<h2 class="wp-block-heading">開封</h2>



<p>さっそく開封していきましょう。</p>



<p>まずは段ボール箱から。</p>



<p>さすがに、でかいっす。</p>



<p>重量はそれほどでもなく、大人一人でも運搬できる程度です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-25.jpeg" alt="" class="wp-image-8520" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-25.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-25-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>本体は発泡スチロールの緩衝材が上下に挟まった状態で送られてきました。</p>



<p>段ボール箱を上からすっぽりかぶせるような感じの梱包でした。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-34.jpeg" alt="" class="wp-image-8523" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-34.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-34-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>内容物はエアコン本体以外にもいくつかあります。</p>



<p>大きいものは廃棄用のダクトです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-39.jpeg" alt="" class="wp-image-8537" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-39.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-39-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>その他には、排気用ダクトを固定するための専用ねじや、リモコン、取説がが入っていました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-48.jpeg" alt="" class="wp-image-8544" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-48.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-48-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">本体のチェック</h2>



<p>続いてじっくり本体を見ていきます。</p>



<p>まず本体の雰囲気ですが、表面にデザイン重視の装飾類がなく、かなりシンプルでいいなと思います。</p>



<p>業務用品のようなオーラを感じます。。。。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-43.jpeg" alt="" class="wp-image-8539" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-43.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-43-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>縦と横の長さはどちらも32cmの正方形、高さはキャスターの分も含め、トータルで70cmありました。</p>



<p>風の出口は縦が15cm、横が24.5cmでした。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-41.jpeg" alt="" class="wp-image-8532" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-41.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-41-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>本体の表面を見ると、シロッコファンが見えます。</p>



<p>手前のフィンは風の方向に角度をつけられます。手動式です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-36.jpeg" alt="" class="wp-image-8535" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-36.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-36-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>表面の質感は下記のような感じ。</p>



<p>テカテカした加工ではなく、車のダッシュボードのように若干しわがあるデザインです。</p>



<p>高級感、とまでは言いませんが、安っぽさは全くないです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-45.jpeg" alt="" class="wp-image-8531" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-45.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-45-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>背面は下記のようなデザインです。</p>



<p>帆部すべての面に廃棄、冷却、吸気のための穴が開いています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-60.jpeg" alt="" class="wp-image-8552" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-60.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-60-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>続いて底面。</p>



<p>底面はキャスターが４つ配置されています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-37.jpeg" alt="" class="wp-image-8538" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-37.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-37-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>結露した際の水タンクの排気口は、背面の下部にあります。</p>



<p>ここから水を出すのは結構めんどくさそうだな～と思ったのですが、同梱のほーすを使用すると上の方から出せるので大丈夫です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-49.jpeg" alt="" class="wp-image-8541" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-49.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-49-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>上側の通風孔は主に吸気用です。</p>



<p>フィルターを外してみると、冷却用のパイプとフィンが見えます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-50.jpeg" alt="" class="wp-image-8545" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-50.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-50-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>背面の下部にも同様のフィンが見えます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-59.jpeg" alt="" class="wp-image-8553" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-59.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-59-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>縦横に補強用の窓枠のようなプラ部品がありますが、かなり大きいサイズです。</p>



<p>雑巾で軽くさらうだけでも十分フィルター清掃できるかなと思います。</p>



<p>中央部にもファンが見えます。</p>



<p>本機に縦長のシロッコファンが入っているようです。</p>



<p>動作させてみると風の流れが微妙に違うので、段ごとに冷却用、循環用、回路の冷却用などで役割分けされているのではないかと思われます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-40.jpeg" alt="" class="wp-image-8534" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-40.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-40-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">使用のための準備</h2>



<p>次は実際にエアコンを使うための準備をしていきます。</p>



<p>通常のエアコンは室外機、ダクト、エアコン本体の３部構成となっています。スポットエアコンもほぼ同様の構成を持ちますが、室外機は本体内部に組み込まれています。</p>



<p>このためしっかり涼むためには、本体で発生する熱をエアコンの使用箇所から距離は離す必要があります。</p>



<p>このスポットエアコンでは、下記のようなダクトが付属していました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-35.jpeg" alt="" class="wp-image-8527" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-35.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-35-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>プラ製の伸縮するタイプです。</p>



<p>色はベージュ。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-28.jpeg" alt="" class="wp-image-8519" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-28.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-28-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>これの両端を、下記のような付属のプラパーツにはめ込んでいきます。</p>



<p>取り付けはねじ込むだけです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-31.jpeg" alt="" class="wp-image-8533" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-31.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-31-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>反対側にも別のパーツを取り付けます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-41.jpeg" alt="" class="wp-image-8530" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-41.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-41-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>先ほど取り付けたプラパーツのうち、大きい四角形の方をエアコンの背面に横からスライドさせて取り付けます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-56.jpeg" alt="" class="wp-image-8549" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-56.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-56-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>ツメがあるので、止まるまで押し込めば大丈夫です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-42.jpeg" alt="" class="wp-image-8529" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-42.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-42-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>続いて窓側の排気風パーツを組み立てます。</p>



<p>この商品では窓から排出するパーツが兵十付属しています。</p>



<p>ダクトを使って本体から排熱風の出る位置を遠ざけてやれば、エアコンを使用している周辺は十分に冷えますが、せっかくなので組み立ててみます。</p>



<p>取説を見た感じ、下記のように窓を少し開けて付属のパーツを取り付けるようです。</p>



<p>実際にやってみます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-24.jpeg" alt="" class="wp-image-8517" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-24.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-24-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>まずは付属のエラのようなパーツをレールに差し込みます</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-44.jpeg" alt="" class="wp-image-8547" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-44.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-44-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>付属の蝶番型のねじがあるので、これを使って停めていきます。</p>



<p>このパーツは網戸のような役割を果たします。</p>



<p>エアコンを使用していないときに、排気ダクトを介して虫などが入ってこないようにします。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-47.jpeg" alt="" class="wp-image-8536" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-47.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-47-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>窓枠にセットするためのレールは必要に応じて使用個数を決めます。</p>



<p>下記のように付属のねじをレールの真ん中の溝に合うように差し込んで占めると、スライドできるようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-33.jpeg" alt="" class="wp-image-8525" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-33.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-33-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>３つ全部使うと３ｍぐらいまでの窓に対応できそうです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-32.jpeg" alt="" class="wp-image-8526" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-32.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-32-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>表面はこんな感じです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-51.jpeg" alt="" class="wp-image-8542" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-51.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-51-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>最後に上下に窓にはめる用のパーツを取り付けたら組み立て作業は完了です。</p>



<p>窓に取り付ける場合は、レールの上下につけた足の真ん中が、下記のようレールをまたぐようにします。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-29.jpeg" alt="" class="wp-image-8522" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-29.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-29-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>上側も同様に、レールにはめていきます。</p>



<p>長さが足りなければ付属のレールを追加し、ねじを緩めて伸ばしながら調整します。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-27.jpeg" alt="" class="wp-image-8521" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-27.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-27-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>全部取り付けると下記のようになりました。</p>



<p>幅は15cm程度です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-30.jpeg" alt="" class="wp-image-8524" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-30.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-30-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>拡大してみるとわかりますが、窓枠にはめているだけなのでやはり隙間はあります。</p>



<p>虫が入ってくるようであれば、付属のスポンジテープをレールの両端に貼ると良さそうです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-26.jpeg" alt="" class="wp-image-8518" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-26.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-26-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>今回のエアコンには、窓が動かないようにするための鍵パーツなどが付属していましたえが、正直防犯的なところは耐性皆無だと思います。</p>



<p>アパートや高層マンションの高い階層の部屋であれば問題ないかと思いますが、平屋だとちょっと頼りないですね・・・</p>



<p>余談ですが、付属のダクトは伸ばしきっても1.5ｍ程度です。</p>



<p>窓の近くに置いておかないと、窓に取り付けた廃棄個所まで届かないので、場合によってはダクトを買い足す必要がありそうです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-58.jpeg" alt="" class="wp-image-8554" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-58.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-58-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">排水ホース取り付け</h2>



<p>続いて結露した水の排出経路を作ります。</p>



<p>背面の左側にあるシリコンのフタを外すと、排気の水がでる口が見えます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-54.jpeg" alt="" class="wp-image-8548" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-54.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-54-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>ココに付属のプラホースをねじ込みます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-46.jpeg" alt="" class="wp-image-8540" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-46.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-46-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>ホースの先は適当なタンクやバケツを用意してやればOKです。</p>



<p>（スムーズに廃棄させるため、ホースの取り付け位置より低くしてやる必要があります。）</p>



<p>※ホースを使わない場合、下記の背面タンクから排水することも可能です。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-55.jpeg" alt="" class="wp-image-8550" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-55.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-55-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">動作チェック</h2>



<p>電源を入れて動作確認をしてみます。</p>



<p>動作状態や温度などの情報は天板の手前側の黒いパネルに表示されます。</p>



<p>手前の文字の下はすべて接触タイプのスイッチになっています。</p>



<p>指で表面に軽く触れると反応します。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-52.jpeg" alt="" class="wp-image-8546" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-52.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-52-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>表示は見やすいですが、暗闇でこうこうと輝いていしまうような明るさではないので、夜でもそこまで気にならないかと思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-38.jpeg" alt="" class="wp-image-8528" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-38.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-38-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>リモコンは本体側の上部のパネルにあるスイッチ類と同じ機能載っています。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/IMG_20260626_130306180_MFNR.jpg" alt="" class="wp-image-8558" srcset="https://aisumegane.com/wp-content/uploads/2026/06/IMG_20260626_130306180_MFNR.jpg 481w, https://aisumegane.com/wp-content/uploads/2026/06/IMG_20260626_130306180_MFNR-225x300.jpg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>付属のリモコンは単４電池を日本使用します。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-53.jpeg" alt="" class="wp-image-8543" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-53.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-53-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<h2 class="wp-block-heading">冷却能力について</h2>



<p><strong>かなり冷えます。</strong></p>



<p>風が出る面に手を置いておくと、冷蔵庫ぐらいの温度になります。</p>



<p>排気ダクトから出る温風順分に分離して、冷却風だけを取り込めるのであれば、スペック通りの冷却能力は十分に出るかと思います。</p>



<h2 class="wp-block-heading">動作音について</h2>



<p>動作オンについて、Amazonでちょくちょく音がデカイとレビューがあったので確認してみました。</p>



<p>個人的にはそこまで大きい音ではないと思います。</p>



<p>そもそも通常のエアコンは壁の高いところに配置されており、使用者からそれなりに離れた場所で動作します。対してスポットエアコンだと１ｍや２ｍ、それも自分と同じ高さぐらいの位置に来るので、どうしても大きく感じてしまいます。</p>



<p><strong>体感的には、「椅子に上ってエアコンの前３０ｃｍぐらいに顔を近づけたとき」の動作音でした。</strong></p>



<p>音の種類としては、送風モードでは業務用の赤い羽根の扇風機ぐらい、冷房モードにするとそこに冷蔵庫のブーン。。。という音が桑らる感じです。</p>



<p>個人的には隣に置いておいても十分作業できるレベルの動作音だと思いますが、とても静か…ではないため、神経質な人は通常の壁付けタイプのエアコンを選んだ方が良い思います。</p>



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



<p>今回はスポットエアコンを購入してみました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="488" src="https://aisumegane.com/wp-content/uploads/2026/06/image-57.jpeg" alt="" class="wp-image-8551" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-57.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-57-300x229.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>私が購入した時は、だいたい2.5万円ぐらいでした。</p>



<p>工事も何もなく、パッとおいて使えるタイプのエアコンは初めてでしたが、十分に使えると感じました。</p>



<p>これ一台で、何とか夏を乗り切りたいと思います。</p>



<p>それでは、また。</p><p>The post <a href="https://aisumegane.com/reviewing-the-tansu-no-gen-2-3kw-spot-cooler/">【レビュー】タンスのゲン スポットクーラー2.3kWモデルをレビューする</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【レビュー】高枝選定ノコギリ 枝打ち一番 5m を購入したのでレビューする</title>
		<link>https://aisumegane.com/reviewing-the-eda-uchi-ichiban-high-reach-pruning-saw/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Fri, 26 Jun 2026 02:11:23 +0000</pubDate>
				<category><![CDATA[ガジェット]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8485</guid>

					<description><![CDATA[<p>今回は手が届かない高いところの枝を剪定するために、高枝剪定ノコギリを購入しました。 あんまりレビューしている人いなそうなのでやってみます。 今回購入した商品 今回購入した商品はこちらです。 ニシガキ工 ...</p>
<p>The post <a href="https://aisumegane.com/reviewing-the-eda-uchi-ichiban-high-reach-pruning-saw/">【レビュー】高枝選定ノコギリ 枝打ち一番 5m を購入したのでレビューする</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[<p>今回は手が届かない高いところの枝を剪定するために、高枝剪定ノコギリを購入しました。</p>



<p>あんまりレビューしている人いなそうなのでやってみます。</p>



<h2 class="wp-block-heading">今回購入した商品</h2>



<p>今回購入した商品はこちらです。</p>


<div id="rinkerid8511" class="yyi-rinker-contents  yyi-rinker-postid-8511 yyi-rinker-img-m yyi-rinker-catid-88 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B003Z744AM?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762" data-vars-click-id="amazon_img 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762"><img decoding="async" src="https://m.media-amazon.com/images/I/31Au05A88LL._SL160_.jpg"  width="160" height="160" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B003Z744AM?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="amazon_title 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762" data-vars-amp-click-id="amazon_title 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762" >ニシガキ工業 枝打ち一発 5m 刃長390mm N-762</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="brand">ニシガキ工業</div>
							<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/dp/B003Z744AM?tag=aisumegane2-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762"  data-vars-amp-click-id="amazon 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E6%259E%259D%25E6%2589%2593%25E3%2581%25A1%25E4%25B8%2580%25E7%2595%25AA%2B5m%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762"  data-vars-amp-click-id="rakuten 8511 ニシガキ工業 枝打ち一発 5m 刃長390mm N-762">楽天市場</a><img decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
								                											</ul>
					</div>
	</div>
</div>



<p>ニシガキ工業というメーカーさんの5mノコギリになります。</p>



<p>価格は2026年5月時点で、約14,000円程度。</p>



<p>高枝選定ノコギリとしては、やや高めの価格帯の製品です。（コスト重視のモデルは２０００円ぐらいから買えます。）</p>



<p>品質に期待したいところ。（剛性の高さと切れ味が良いらしいです。）</p>



<h2 class="wp-block-heading">開封</h2>



<p>さっそく開封していきましょう。</p>



<p>まずは届いてびっくり。さすがに箱がでかいです。</p>



<p>今回購入したものは５段階で伸縮可能ですが、デフォルトで２m程度の長さがあります。</p>



<p>しまう場所には注意。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image.jpeg" alt="" class="wp-image-8486" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>結構固い段ボール箱で、カッターがないと開けるのが少し面倒でした。</p>



<p>ちなみに配送は外箱のまま送られてきました。</p>



<p>中身はこんな感じです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-8.jpeg" alt="" class="wp-image-8494" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-8.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-8-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>気になる刃先のサイズはこんな感じ。</p>



<p>公称値では390mmあるそうです。</p>



<p>1.5Lのペットボトルと比較してみると下記のようなサイズ感。。。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-16.jpeg" alt="" class="wp-image-8502" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-16.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-16-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>一般的な木材切断用のゼットソーなどより一回り大きいぐらいのサイズ感です。</p>



<h2 class="wp-block-heading">取説チェック</h2>



<p>簡単に取説を見てみます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="635" src="https://aisumegane.com/wp-content/uploads/2026/06/image.png" alt="" class="wp-image-8510" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image.png 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-300x298.png 300w, https://aisumegane.com/wp-content/uploads/2026/06/image-150x150.png 150w, https://aisumegane.com/wp-content/uploads/2026/06/image-100x100.png 100w, https://aisumegane.com/wp-content/uploads/2026/06/image-120x120.png 120w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>鋸刃は傾斜角度をいくつかつけることができるようです。</p>



<p>伸縮ジョイントは２か所あります。</p>



<p>伸縮した際のロックは、ピンで固定されるようです。</p>



<p>実質有段です。</p>



<p>無段で調整できるものよりもがっちり固定できるのです、個人的にうれしい。<img decoding="async" width="481" height="640" src="blob:https://aisumegane.com/1cdce0f9-30ab-459e-9ef2-a11eeab55499"></p>



<p>全体の長さですが、いくつかラインナップがあるようです。</p>



<p>今回購入したのは全長５ｍの商品です。</p>



<p>ケースの外し方や刃先の角度、伸縮とロックの手順は細かく書いてありますので、操作に困ることはないかな～と思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-9.jpeg" alt="" class="wp-image-8495" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-9.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-9-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<h2 class="wp-block-heading">棒の質感チェック</h2>



<p>早速現物をチェックしていきましょう。</p>



<p>まずは表面の質感ですが・・・</p>



<p>まぁ、持った瞬間わかりましたが、まず間違いない作りをしてます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-3.jpeg" alt="" class="wp-image-8489" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-3.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-3-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>ホームセンターで５０００円程度で買えるものとはさすがに比べられないです。。。</p>



<p>アルミのがっちりした角材が使われています。</p>



<p>力を加えてもたわむ感じはないです。</p>



<p>ただしその分、それなりに重量があります。扱いには筋力が必要。</p>



<h2 class="wp-block-heading">刃物のチェック</h2>



<p>ブレード先端は下記のような専用カバーが付属していました。</p>



<p>鋸刃の先に枝にひっかけられるような構造がありますが、それらも含めた全体ガードになっています。</p>



<p>結構変わった形をしているので市販品だと形が合うものがなさそうです。</p>



<p>安全を気にするのであれば大切に使ったほうがよさそう。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-10.jpeg" alt="" class="wp-image-8496" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-10.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-10-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>続いて先端構造。</p>



<p>がっちりしたつくりです。赤と黒と銀の相性が結構良くてカッコイイデス。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-7.jpeg" alt="" class="wp-image-8490" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-7.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-7-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>裏面はこんな感じです。</p>



<p>見るとわかりますが、力が加わりやすい部分はリベットではなく、ボルトとナットで構成されています。</p>



<p>この辺は耐久性に直結してくる部分なので、安心しました。<br>（リベット品はガタつくと戻すことができません。自分で頭を落として新しくねじをつけてしまうという例外はあります。）</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-5.jpeg" alt="" class="wp-image-8493" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-5.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-5-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>刃先の角度を調節する場合、背面のロックレバーを開いて動かします。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-1.jpeg" alt="" class="wp-image-8487" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-1.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-1-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>刃物の固定部の黒いパーツを見ると、背中部分にギザギザになっている個所があります。</p>



<p>ここがロック固定部です。</p>



<p>刃物の角度は多少傾斜を使られる程度で、カマのような角度で使えるわけではありません。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-14.jpeg" alt="" class="wp-image-8499" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-14.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-14-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>一番角度をつけた際の傾斜角度は下記のような感じ。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-11.jpeg" alt="" class="wp-image-8497" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-11.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-11-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>一番まっすぐにすると下記のようになりました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-4.jpeg" alt="" class="wp-image-8492" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-4.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-4-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>刃物の形状は下記のようになっていました。</p>



<p>一般のゼットソーなどと比べると、かなり目は大きいほうかと思います。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-12.jpeg" alt="" class="wp-image-8498" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-12.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-12-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>写真で見ると厚みが伝わりませんが、普通の木材切断用のノコギリ３枚分ぐらいの厚みがあります。</p>



<p>簡単に曲がったりすることはなさそうです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-13.jpeg" alt="" class="wp-image-8500" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-13.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-13-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>ブレードの根元には黒いパーツがありますが、こちらは一部が刃物になっているので注意です。</p>



<p>おそらく押し当てて細かい枝を落とす用・・・なのではないかと思われます。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-20.jpeg" alt="" class="wp-image-8505" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-20.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-20-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">伸縮部分の確認</h2>



<p>続いてロック部分を確認してきます。</p>



<p>ロック部分は下記のように白いブロック状のパーツで構成されています。</p>



<p>なんとMADE IN JAPANです。</p>



<p>最近は日本設計、中国製造が当たり前になってきているので、少し驚きです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-2.jpeg" alt="" class="wp-image-8488" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-2.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-2-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>白いパーツには、側面に黒いレバーがあります。</p>



<p>これを下記のように起こします。</p>



<p>この状態で、レバーが自由に伸縮できるようになります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-6.jpeg" alt="" class="wp-image-8491" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-6.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-6-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>この剪定のこぎりは何処でも固定できるタイプではなく、決められた位置でロックできる構造です。</p>



<p>少し出していくと、穴の開いた場所が出てきました。</p>



<p>調節単位は１ｍ弱、といったところ。</p>



<p>微調整できる必要はあまりないので、がっちり固定できるこちらのタイプの方が個人的には好みです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-19.jpeg" alt="" class="wp-image-8506" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-19.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-19-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>ロックさせる場合このように穴の上の位置を握り。。。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-15.jpeg" alt="" class="wp-image-8501" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-15.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-15-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>勢いよく押し込みます。</p>



<p>ガチッと音が鳴ればロック完了です。</p>



<p>（取説通り勢いよく押し込みましたが、勢いよくなくてもロックできます。）</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-21.jpeg" alt="" class="wp-image-8507" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-21.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-21-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>伸ばした場合の限度は大体長さを見ればわかりますが、一応マーキングがあります。</p>



<p>赤のマイネームペンっぽいもので描かれており、お手製感満載です。</p>



<p>シールだと破れて落ちてしまうし、アルミに筋入れると耐久性が落ちる。。。ということでこの方法しかなかったのかも？</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="481" src="https://aisumegane.com/wp-content/uploads/2026/06/image-18.jpeg" alt="" class="wp-image-8503" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-18.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-18-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<h2 class="wp-block-heading">長さチェック</h2>



<p>ざっくり長さも見てみます。</p>



<p>当方身長が１８５cmあるのでなかなかサイズ感が伝わりにくいですが、かなりでかいです。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="398" src="https://aisumegane.com/wp-content/uploads/2026/06/image-23.jpeg" alt="" class="wp-image-8508" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-23.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-23-300x187.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>最大延長時は下記のようなサイズ感。<br>ここまで伸ばすと若干たわみますが、ガタつく感じは一切ないです。</p>



<p>あとめちゃくちゃ重い。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="640" height="333" src="https://aisumegane.com/wp-content/uploads/2026/06/image-22.jpeg" alt="" class="wp-image-8509" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-22.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/06/image-22-300x156.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>そもそも横方向で使うものではなく、鋸刃を枝に乗せた状態で縦方向に力を加えるものなので、実際の使用時はそこまで重くはないです。</p>



<p>とは言えめちゃくちゃ軽い、というわけでもないので、実際使ってみると結構体力がいります。</p>



<h2 class="wp-block-heading">切れ味チェック</h2>



<p>切れ味は写真で伝わるわけではないので何とも言えませんが、かなり良いほうかと思います。</p>



<p>太めの枝がサクサク切れます。</p>



<p>ただし目が大きめなので、細い枝を落とそうとするとなかなか刃が入らず苦戦することがありました。</p>



<p>直径２cm以上あるような太めの枝落とし用、なのかな～と思います。</p>



<h2 class="wp-block-heading">お手入れ品</h2>



<p>おまけですが、下記のお手入れ用ヤニ・シブ落とし材を買いました。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="481" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/image-17.jpeg" alt="" class="wp-image-8504" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-17.jpeg 481w, https://aisumegane.com/wp-content/uploads/2026/06/image-17-225x300.jpeg 225w" sizes="(max-width: 481px) 100vw, 481px" /></figure>



<p>枝を切った後の緑や茶色のベタベタしたものがきれいに落ちるので、同時購入をお勧めします。</p>



<p>プロではないのでよくわかりませんが、使用後に使うのと使わないのとでは、結構寿命が変わってくるそうです。</p>



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



<p>今回は高枝剪定ノコギリをレビューしてみました。</p>



<p>結論、</p>



<p>・全体的にガタが全くなく、作りが良い。<br>・剛性は全く問題なし。<br>・切れ味は全く問題なし。<br>・剛性が高い分少し重い。<br>・鋸刃の目が大きめなので、細い枝は刃物が入りずらい時がある。</p>



<p>こんなところです。</p>



<p>あとめっちゃどうでもいいんだけど、ソウルイーターのコスプレグッズ感が高い。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="602" height="640" src="https://aisumegane.com/wp-content/uploads/2026/06/IMG_20260516_132256463_MFNR_HDR.jpg" alt="" class="wp-image-8514" style="aspect-ratio:0.940623550379648;width:459px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/06/IMG_20260516_132256463_MFNR_HDR.jpg 602w, https://aisumegane.com/wp-content/uploads/2026/06/IMG_20260516_132256463_MFNR_HDR-282x300.jpg 282w" sizes="(max-width: 602px) 100vw, 602px" /></figure>



<p>以上。</p>



<p></p><p>The post <a href="https://aisumegane.com/reviewing-the-eda-uchi-ichiban-high-reach-pruning-saw/">【レビュー】高枝選定ノコギリ 枝打ち一番 5m を購入したのでレビューする</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【自作】ホームセンターの材料で１から物置を作る方法を紹介する</title>
		<link>https://aisumegane.com/diy-a-guide-to-building-a-storage-shed-from-scratch-using-materials-from-a-home-improvement-store/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Sun, 24 May 2026 06:00:00 +0000</pubDate>
				<category><![CDATA[自作・改造]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8560</guid>

					<description><![CDATA[<p>今回はホームセンターの資材で物置を自作します。 前々から木材の廃材・端材置き場に困ってたんですが、地べたに放置しておくと腐るんですよね。冬に薪ストーブの燃料にしたいので、乾燥も兼ねて風通しのいい物置を ...</p>
<p>The post <a href="https://aisumegane.com/diy-a-guide-to-building-a-storage-shed-from-scratch-using-materials-from-a-home-improvement-store/">【自作】ホームセンターの材料で１から物置を作る方法を紹介する</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[<p>今回はホームセンターの資材で物置を自作します。</p>



<p>前々から木材の廃材・端材置き場に困ってたんですが、地べたに放置しておくと腐るんですよね。<br>冬に薪ストーブの燃料にしたいので、乾燥も兼ねて風通しのいい物置を作ってみたいと思います。</p>



<p>今回は物置を自作します。</p>



<p>何気に何もない空き地に１から物置を立てるのは初めてかも・・・</p>



<p>ざっと手順確認も含め、一通りやってみたいと思います。</p>



<h2 class="wp-block-heading">手順</h2>



<p>今回はド素人が作る &amp; 人が入るわけではない物置です。</p>



<p>時間優先として数日で完成させられるクオリティで行きます。</p>



<p>今回は下記のような手順で作ってみました。</p>



<p>・草刈り<br>・整地<br>・基礎作り<br>・骨組みづくり<br>・壁の作成<br>・塗装<br>・屋根の取り付け</p>



<p>次回以降、小屋を作るときの備忘録も兼ねて、やったことを一通りまとめてみます。</p>



<h2 class="wp-block-heading">草刈りと整地</h2>



<p>まずは地面の草を刈り、でこぼこした表面を均していきます。</p>



<p>今回は手持ちのエンジン草刈り機、ユンボ、プレートコンパクタという荒野改革三種の神器(？)を使ったのでだいぶ楽に作業できました。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="500" src="https://aisumegane.com/wp-content/uploads/2026/06/image-61.jpeg" alt="" class="wp-image-8561" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-61.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-61-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>本当であればこの上に砕石を置いて転圧して～が良いと思われます。</p>



<p>今回はただの物置なので、仮に傾いたりしてもあまり問題になりません。<br>急を要していたのもあったので、踏み固めた土の上に直接立てることにしました。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-72.jpeg" alt="" class="wp-image-8582" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-72.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-72-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>まずはコンクリートブロックの配置から。</p>



<p>一度転圧した地面を少ししずつけずり、レーザー墨だし器で高さを合わせながら６つのブロックを配置していきます。</p>



<p>今回はこれが基礎です。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="499" src="https://aisumegane.com/wp-content/uploads/2026/06/image-65.jpeg" alt="" class="wp-image-8565" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-65.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-65-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>一度墨だし器を使ってみたかったこともあり、今回は下記の商品を購入しました。</p>


<div id="rinkerid8583" class="yyi-rinker-contents  yyi-rinker-postid-8583 yyi-rinker-img-m yyi-rinker-catid-90 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B07TV6DVTY?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)" data-vars-click-id="amazon_img 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)"><img decoding="async" src="https://m.media-amazon.com/images/I/513KuN4DsrL._SL160_.jpg"  width="160" height="142" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B07TV6DVTY?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="amazon_title 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)" data-vars-amp-click-id="amazon_title 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)" >山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="brand">山真製鋸(YAMASHIN)</div>
							<div class="price-box">
							</div>
						</div>
						<ul class="yyi-rinker-links">
																                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/dp/B07TV6DVTY?tag=aisumegane2-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)"  data-vars-amp-click-id="amazon 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2582%25B0%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25A8%25E3%2582%25A4%25E3%2583%25AA%25E3%2582%25A2%25E3%2583%25B3%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)"  data-vars-amp-click-id="rakuten 8583 山真製鋸(YAMASHIN)グリーンエイリアンレーザー墨出し器 GA-03BB(1垂直・1水平ライン照射タイプ)">楽天市場</a><img decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
								                											</ul>
					</div>
	</div>
</div>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="500" src="https://aisumegane.com/wp-content/uploads/2026/06/image-71.jpeg" alt="" class="wp-image-8571" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-71.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-71-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>価格は大体２万円程度、レーザー光は１垂直、１水平の２本タイプです。<br>価格帯としてはかなり安価ですが、品質は良かったです。</p>



<p>レーザー色は赤か緑のどっちが良いか迷いましたが、緑のほうが明るく感じるのでこちらを選んでよかったと思いました。<br>（同じモデルで赤色レーザータイプも販売されていますが、若干価格が安いです。）</p>



<p>ただまぁ、やっぱりといっては何ですが、屋外作業だと 2.5～3mW級のレーザーでは少し見ずらいです。</p>



<p>もう少し上のものを買おうとすると数十万円クラスになってきてしまうので選択肢的にこの辺が限界ですが、もうちょい明るいといいな～と思う次第。。。。</p>



<p>曇りの日や夕方であれば全く問題ないんです。</p>



<h2 class="wp-block-heading">骨組みの切断</h2>



<p>続いて2&#215;4、1&#215;4材をカットしていきます。今回はなるべく元の材料の長さを生かせるように設計してみました。</p>



<p>ぶっちゃけ余った材料って使い道がなくてヤレて捨てるだけなので、使い切るのが一番良いですよね。。。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-68.jpeg" alt="" class="wp-image-8567" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-68.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-68-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>切断はいつも通り、お気に入りの押切りマルノコを使っていきます。<br>やっぱり手で切ったり、通常のマルノコで切るのとでは、全然違うレベルの垂直カットができます。</p>



<p>祖父が数十年前に購入したHIKOKIモデルですが、最近ブレーキが利かなくなってきたのでそろそろ寿命かも・・・<br>新品欲しいけ価格たけぇんだよぉ。。。</p>



<h2 class="wp-block-heading">骨組みの組み立て</h2>



<p>続いて骨組みの組み立てに入っていきます。</p>



<p>今回は長手方向は2&#215;4材をカットせずにそのまま使うことにしました。</p>



<p>ブロックの上に置いてそのまま下から骨組みを作っていきます。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-77.jpeg" alt="" class="wp-image-8573" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-77.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-77-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>2&#215;4材の固定には、「fort」という会社のアングル材を使っていきます。</p>



<p>この会社のアングル材、今回モノタロウで購入してみましたが、厚みがあってかなり頑丈です。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-67.jpeg" alt="" class="wp-image-8566" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-67.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-67-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>意外に厚手のアングル材ってホームセンターに並ばないんですよね。<br>店頭に並ぶのは1mmか1.5mm程度の薄手のものが多いように感じます。</p>



<p>業者向けのものは流通ルートが違うのかもぉ？と思ったり思わなかったり。</p>



<p><strong>今回購入したものは1つあたり２５０円程度、厚みも２ｍｍあります。</strong></p>



<p>この辺の材料のラインナップに関しては、モノタロウ強いなぁ～と感じます。</p>



<p>余談ですが、アングル材買うとき、毎回思うことがあるんですが、折り目に対して左右対称に穴が開いているタイプってないんですかね？<br><strong>ビス止めするときに対称にビス止めしたいときって意外に多くないッ？</strong></p>



<p>って毎回思うんですが、世の中にないところを見るとあまり需要はない模様。。。。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="500" src="https://aisumegane.com/wp-content/uploads/2026/06/image-69.jpeg" alt="" class="wp-image-8568" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-69.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-69-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>今回は廃材になった木材や巻きを保存する物置なので、基本的には風が通って換装するようにスノコ状にします。<br>ただ側面と背面は雨が当たらないようにしておきたいので、針葉樹合板で覆うことにしました。</p>



<p>針葉樹合板、イランとアメリカ、レバノンあたりの戦の影響なのか、めちゃくちゃ値上がりしてます。</p>



<p><strong>一枚2000円近くなってきてるんですよね。。。。</strong></p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="500" src="https://aisumegane.com/wp-content/uploads/2026/06/image-76.jpeg" alt="" class="wp-image-8580" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-76.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-76-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p class="has-large-font-size"><strong>あなた実はラジアタパイン集成材ですかッ&#x2049;</strong>ってレベルになって来てるよォ・・・</p>



<p class="has-st-regular-font-size">何処さがしても大体同じ価格なので致し方なしですね・・・</p>



<p>ビスとアングル材を使用して、大体の骨組みの組み立てが完了しました。</p>



<p>今回は骨組みにホワイトウッド材を使用しましたが、店頭に並んでいる材料であってももともと歪んでいることが多い材料です。<br>適当に選んだので結構曲がっているものがあり、矯正しながら組み立てるのになかなか時間がかかりました・・・</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-74.jpeg" alt="" class="wp-image-8570" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-74.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-74-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>まぁ、一番安いんで他に選択肢はないです。<br>良くホームセンターで材料の端から目を細めて眺めている客がいると思うんですが、あれ実はまっすくな奴だけチョイスして買おうとしているんすよね。。。（みんなやってると思う）</p>



<p>話を戻しますが、側面と背面も、以外なほどきれいに収まりました。</p>



<p>今回購入した材料はすべてDCMというホームセンターで揃えましたが、針葉樹合板も2&#215;4材も、ネットで集めてきた公称値情報とは微妙に寸法が異なっていました、</p>



<p>組み立てようとしたらなんか寸法合わねぇ・・・・、となって一部やり直したりしていたので、最初に寸法測定しとけばよかったなぁと後悔。<br>製造メーカーによってはカットが雑なところもあるようなので、次からは作業開始前に入念に寸法チェックしようと思います。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-82.jpeg" alt="" class="wp-image-8581" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-82.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-82-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<h2 class="wp-block-heading">塗装</h2>



<p>日が暮れてしまったので翌日。</p>



<p>続いて塗装を行っていきます。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-79.jpeg" alt="" class="wp-image-8575" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-79.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-79-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>今回は軽めの防腐と若干の見た目調整が目的なので、安価なものを選びました。<br>とはいえ、3000円程度はします・・・・</p>



<p>塗装もだいぶ高くなったなぁ～と感じます。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-73.jpeg" alt="" class="wp-image-8576" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-73.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-73-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>今回はハケ塗りで作業しました。<br>地味に時間がかかりました。</p>



<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="240" height="180" src="https://aisumegane.com/wp-content/uploads/2026/06/image-63.jpeg" alt="" class="wp-image-8563" style="width:446px;height:auto"/></figure>



<p>塗装をおえて屋根を載せてみるとこんな感じ。<br>結構いい感じかな～と思います。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-80.jpeg" alt="" class="wp-image-8577" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-80.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-80-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-66.jpeg" alt="" class="wp-image-8569" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-66.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-66-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>台座のコンクリートブロックと物置本体を固定していないので強く押すと動いてしまいますが、この後廃材の木材を詰め込んで重量アップするので、風で飛ぶことはないかと思います。</p>



<h2 class="wp-block-heading">屋根の取り付け</h2>



<p>最後に屋根の取り付けを行っていきます。</p>



<p>今回はガルバリウム波板と、ガルバリウム波板用の専用釘を使って固定していきます。</p>



<p>専用釘、こんなにたくさんいらねぇんだが？。。。。<br>（業務用品小売りがない）</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="499" src="https://aisumegane.com/wp-content/uploads/2026/06/image-62.jpeg" alt="" class="wp-image-8562" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-62.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-62-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>使うのは１０本くらい・・・</p>



<p>ガルバリウム波板は１枚１４００円くらいでした。<br>探すとネットでも安いところがあるようですが、大体が業者専用販売なんですよね～</p>



<p>ちょっと期待しちゃうから、個人で買えないならそもそも検索でヒットしないようにしてほしいンゴ。。。。。</p>



<p>ちなみにガルバリウム波板はトタン波板に比べて少し高いですが、トタンの２倍以上長持ちするらしい。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-78.jpeg" alt="" class="wp-image-8574" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-78.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-78-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>屋根の取り付けは釘で打ち込むだけです。<br>大体位置合わせができたら、波の頭の位置に釘を刺していきます。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-64.jpeg" alt="" class="wp-image-8564" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-64.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-64-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>同色すぎて目立たん・・・・</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="375" height="500" src="https://aisumegane.com/wp-content/uploads/2026/06/image-70.jpeg" alt="" class="wp-image-8572" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-70.jpeg 375w, https://aisumegane.com/wp-content/uploads/2026/06/image-70-225x300.jpeg 225w" sizes="(max-width: 375px) 100vw, 375px" /></figure>



<p>他も同様に、ハンマーで打ち込んでいきます。</p>



<p>波の丸い部分に打つのって大変なのかな～と思ってましたが、特に滑ることもなく打ち込めました。<br>ガルバリウム鋼板は意外に柔らかい材料ないのかもしれません。</p>



<p>今回は２枚の波板をつけて作業完了です。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-81.jpeg" alt="" class="wp-image-8578" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-81.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-81-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>余談ですが、屋根の傾斜はないよりあったほうが良いです。</p>



<p>特に、トタンの波の向きに合わせて傾斜を作ると、雨がきれいに流れてくれます。</p>



<p>今回は傾斜をつけたりグラインダで切ってバリ取りしたり・・・・といったことをやりたくなかったのでさぼってしまいました。<br>後日、雨が降った後数日たっても水が溜まっていることがあり、やっておけばよかったと後悔・・・・・</p>



<p>次回作では必ず屋根をつけようと思います。</p>



<p>最後に廃材をぶち込んだら完了！</p>



<p>この後あっという間にいっぱいになってしまったので、あと３倍ぐらいの大きさで作ればよかったな～と後悔。。。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="500" height="375" src="https://aisumegane.com/wp-content/uploads/2026/06/image-75.jpeg" alt="" class="wp-image-8579" srcset="https://aisumegane.com/wp-content/uploads/2026/06/image-75.jpeg 500w, https://aisumegane.com/wp-content/uploads/2026/06/image-75-300x225.jpeg 300w" sizes="(max-width: 500px) 100vw, 500px" /></figure>



<p>今度はもう少し高さのある物置にも挑戦してみようと思います。</p>



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



<p>今回はホームセンターの資材を購入し、小さい物置を作ってみました。</p>



<p>1から空き地に物置を作るのは初めてでしたが、このサイズ感に抑え、なるべくカットが少なくなるように寸法決めしておけば、一人でも1日２日程度でできそうです。</p>



<p>当面の間はこの程度のサイズ感のものを作ってスキルアップしていこうと思います。<br>もう少し大きい小屋を作ることを目標に、基礎とかの勉強もしていきたいところ。</p>



<p>またなんか作ったらレビューします。<br>それでは、また。</p><p>The post <a href="https://aisumegane.com/diy-a-guide-to-building-a-storage-shed-from-scratch-using-materials-from-a-home-improvement-store/">【自作】ホームセンターの材料で１から物置を作る方法を紹介する</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【自作】究極のトイラジコンを自作する：④組み込みソフトウェアの設計</title>
		<link>https://aisumegane.com/specifications-of-embedded-software-used-in-radio-controlled-cars/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Mon, 04 May 2026 11:08:40 +0000</pubDate>
				<category><![CDATA[自作・改造]]></category>
		<category><![CDATA[PICマイコン]]></category>
		<category><![CDATA[ラジコン]]></category>
		<category><![CDATA[自作]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8460</guid>

					<description><![CDATA[<p>今回はトイラジコンの制御に使用するプログラムについて、メインとなる処理の仕様をまとめていきます。 ラジコンのプロポ(リモコン)からのPWM信号(出力指令)の処理方法 制御ブロック図 まずはラジコンのP ...</p>
<p>The post <a href="https://aisumegane.com/specifications-of-embedded-software-used-in-radio-controlled-cars/">【自作】究極のトイラジコンを自作する：④組み込みソフトウェアの設計</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[<p>今回はトイラジコンの制御に使用するプログラムについて、メインとなる処理の仕様をまとめていきます。</p>



<h2 class="wp-block-heading">ラジコンのプロポ(リモコン)からのPWM信号(出力指令)の処理方法</h2>



<h3 class="wp-block-heading">制御ブロック図</h3>



<p>まずはラジコンのPWM入力受付処理周りの実装から。<br>前回までに紹介したブロック図でいうところの、下記の赤点線で囲まれた部分です。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="402" src="https://aisumegane.com/wp-content/uploads/2025/08/1-2.jpg" alt="" class="wp-image-7806" srcset="https://aisumegane.com/wp-content/uploads/2025/08/1-2.jpg 640w, https://aisumegane.com/wp-content/uploads/2025/08/1-2-300x188.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>



<p>今回はラジコン用のプロポから、全部で５chの入力を受け付ける仕様としていました。<br>しかし、今回選定したPICマイコンでは、すべてのチャネルのPWM入力を受ける(パルス幅測定を行う)程、マイコン機能に余力がありません。</p>



<p>このため、当初はPWM入力を適当なCRローパスフィルタにかけ、なまらせたうえでAD値として認識しようと思っていました。<br>（PICマイコンはAD変換はほぼ全部のchについており、多チャンネルでも対応できるため。）</p>



<p>しかし、今回使用するラジコンのリモコンのPWM仕様は下記のようになっていました。</p>


				<a href="https://aisumegane.com/take-a-look-at-the-specifications-of-the-remote-control-radiolink-t8fb-amp-r8fb-for-general-purpose-r-c/" class="st-cardlink">
				<div class="kanren st-cardbox" >
											<div class="st-cardbox-label"><span style="" class="st-cardbox-label-text">参考記事</span></div>
										<dl class="clearfix">
						<dt class="st-card-img">
																								<img decoding="async" width="800" height="506" src="https://aisumegane.com/wp-content/uploads/2025/03/4.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="https://aisumegane.com/wp-content/uploads/2025/03/4.jpg 800w, https://aisumegane.com/wp-content/uploads/2025/03/4-300x190.jpg 300w, https://aisumegane.com/wp-content/uploads/2025/03/4-768x486.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" />																					</dt>
						<dd>
															<h5 class="st-cardbox-t">【ラジコン】RC用リモコン RadioLink T8FB &amp; R8FB  のPWM仕様を調査してみる</h5>
							
															<div class="st-card-excerpt smanone">
									<p>今回はラジコン用に販売されている汎用の送信機、受信機セットを購入したので、仕様を調査してみます。 基本的にラジコンの送信機、受信機の信号はすべてECUが吸収してくれるのであえて調べようと思ったことはな &#8230; </p>
								</div>
																						<p class="cardbox-more">続きを見る</p>
													</dd>
					</dl>
				</div>
				</a>
				


<p>もともとパルス入力をCRローパスフィルタで適当になまらせ、平均値をAD変換して取得する、、、という予定だったのですが、キャリア周期が50Hz程度と低く、更新周期を考慮するとあまり現実的な方法ではありませんでした。</p>



<p>このため、下記のように変更しています。（詳細は後述。）</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="641" height="562" src="https://aisumegane.com/wp-content/uploads/2026/05/image.png" alt="" class="wp-image-8464" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image.png 641w, https://aisumegane.com/wp-content/uploads/2026/05/image-300x263.png 300w" sizes="(max-width: 641px) 100vw, 641px" /></figure>



<p><strong>変更箇所は、「ADC」&#x27a1;「IOC」です。</strong></p>



<h3 class="wp-block-heading">PWM仕様の詳細確認</h3>



<p>今回使用するT8FBの受信機から出力されるパルス仕様は下記の画像の通りです。（全部で8chあります。）<br>多チャンネルをロジックプローブで同時測定した波形になります。</p>



<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="594" src="https://aisumegane.com/wp-content/uploads/2026/05/image-1-1024x594.png" alt="" class="wp-image-8465" style="aspect-ratio:1.7239831193319566;width:727px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-1-1024x594.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/image-1-300x174.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-1-768x446.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/image-1.png 1089w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="603" src="https://aisumegane.com/wp-content/uploads/2026/05/image-2-1024x603.png" alt="" class="wp-image-8466" style="aspect-ratio:1.6982133380505926;width:730px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-2-1024x603.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/image-2-300x177.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-2-768x452.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/image-2.png 1063w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>ラジコン用のPWMについて、多チャンネルの波形出力がどんな感じになっているのか知らなかったのですが、どうやら１chごとに順番にON時間を作っていっているようです。</p>



<p>今回は8chあるので、８段の階段上の波形になりました。</p>



<p>1chのPWMの立ち上がりタイミングは、最終段のch-D7を除き、前回のchのON区間が終了すると同時に設定されているようです。</p>



<p>今回は受信機からのPWMのうち、D1,D4,D5,D6,D7の５chを使用します。<br>（ブロック図のchは1始まりになっちゃってました・・・）</p>



<p>飛ばすチャンネルがある点も注意が必要です。</p>



<h3 class="wp-block-heading">実装方法の検討</h3>



<p>続いて、実装方法の検討です。</p>



<p>今回チャネル数の制約により、残念ながらマイコンのキャプチャ機能に頼ってduty比を判別していくことはできません。<br>このため、下記のような作戦で行きます。</p>



<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="576" src="https://aisumegane.com/wp-content/uploads/2026/05/2839ab849d9b2c81bd86f4778e9767e3-1024x576.png" alt="" class="wp-image-8467" srcset="https://aisumegane.com/wp-content/uploads/2026/05/2839ab849d9b2c81bd86f4778e9767e3-1024x576.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/2839ab849d9b2c81bd86f4778e9767e3-300x169.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/2839ab849d9b2c81bd86f4778e9767e3-768x432.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/2839ab849d9b2c81bd86f4778e9767e3.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">実装詳細：PWMのパルス幅取得処理</h3>



<p>今回の実装の詳細なタイミングチャートを下記に示します。</p>



<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="575" src="https://aisumegane.com/wp-content/uploads/2026/05/2b530e80c7d0de90885e285c5d798063-1024x575.jpg" alt="" class="wp-image-8468" srcset="https://aisumegane.com/wp-content/uploads/2026/05/2b530e80c7d0de90885e285c5d798063-1024x575.jpg 1024w, https://aisumegane.com/wp-content/uploads/2026/05/2b530e80c7d0de90885e285c5d798063-300x168.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/2b530e80c7d0de90885e285c5d798063-768x431.jpg 768w, https://aisumegane.com/wp-content/uploads/2026/05/2b530e80c7d0de90885e285c5d798063.jpg 1283w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>設計についてざっくりまとめます。<br>基本的にPICマイコンの全ピンに搭載されているIOC(Interrupt On Change)割り込みを使用し、あとはソフトウェアによるパワー実装で解決しています。結構、、、強引だと思いますが、きれいに動いてしまったのでヨシ・・・・<br><br>★動作概要★<br>・最初のチャネルのPWM入力の立ち下がりを検知した場合、フリーランタイマを起動させる<br>　(回路構成上、立ち上がりと立ち下がりを反転させているので、「立下り検知」)<br>・最初のチャネルのPWMの立ち上がりを検知した場合、タイムスタンプとしてその時点でのタイマのカウントを保存していく。<br>・以降、他のチャネルでも立ち上がりと立下りのタイミングでタイマカウント値の現在値を保存していく。<br>・最後のチャネルのパルスの終了を検知した場合、タイマカウンタをリセットしてカウントストップする。</p>



<p>ここでは触れないですが、タイムアウト等の細かい分岐もいくつか実装し、数回パルス幅測定がトチっても変なdutyにならないようにしてみました。たぶん、、、動いてるはず。。。多分。</p>



<p>上記の処理はすべて割り込み処理内で実施します。<br>値の代入と簡単なシーケンス繊維のみのため、処理時間的には結構短めです。</p>



<p>ただし隣り合ったPWM入力の立ち上がりと立ち下がりがほぼ同一のタイミングで来てしまうので、切り替え付近は処理が間に合わなそうでした。この辺はソフトウェアでうまくごまかしてdutyが適切な値になるように調整しています。</p>



<h3 class="wp-block-heading">実装詳細：PWMのパルス幅再計算処理</h3>



<p>パルス幅の取得処理は割り込みで実施しますが、duty比への再計算はメインループの中で時間をかけて実施します。</p>



<p>今回はハードウェアのキャプチャ機能を使用していない(できない)ため、取得したデータはパルスのON時間と直接紐づいていません。<br>ストップウォッチのように、単なるタイムスタンプとして取得しているだけです。</p>



<p>このため、duty比に直すには、いくつかの計算を行う必要があります。</p>



<p><strong><span style="text-decoration: underline;">「今回はパルス幅1500usがラジコン用の汎用PWM仕様としてduty0%に相当する」</span></strong>という特徴を利用して、下記のような式で再計算を行ってみました。</p>



<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="576" src="https://aisumegane.com/wp-content/uploads/2026/05/2abbfe16ada17cb8995c5704690b34c6-1024x576.png" alt="" class="wp-image-8469" srcset="https://aisumegane.com/wp-content/uploads/2026/05/2abbfe16ada17cb8995c5704690b34c6-1024x576.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/2abbfe16ada17cb8995c5704690b34c6-300x169.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/2abbfe16ada17cb8995c5704690b34c6-768x432.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/2abbfe16ada17cb8995c5704690b34c6.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>1500usを基準とすると若干変換が面倒になりますが、0%の時に1500us &#8211; 500us = 0us であることを使うと、単なる引き算と割合計算のみで成立します。</p>



<p>最終的に完成版のソフトにたどり着くまでに結構時間かかりました・・・</p>



<h3 class="wp-block-heading">この処理の問題点と対策について</h3>



<p>この処理ですが、実は１つ問題点があります。</p>



<p><strong>「タイムスタンプ取得タイミングが他の処理時間に影響を受けた場合、duty比が本来と値からずれてくる」という問題です。</strong><br>（結構致命的。）</p>



<p>実際デバッグ中にプロポを操作していないのにduty比がチラチラ変化する現象が何度かありました。</p>



<p>他にも割り込み処理を実行しているため、それらの実行中にタイムスタンプを取得することができず、処理遅延の分だけduty比が増える、という状態が起きていました。</p>



<p>ただし、この問題は簡単に解決できました。<br>今回使用したPIC18F25Q10には割り込み優先度の設定があり、highとlowの2種類を選べます。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="707" height="169" src="https://aisumegane.com/wp-content/uploads/2026/05/image-3.png" alt="" class="wp-image-8470" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-3.png 707w, https://aisumegane.com/wp-content/uploads/2026/05/image-3-300x72.png 300w" sizes="(max-width: 707px) 100vw, 707px" /></figure>



<p>また下記の記載の通り、低優先度割り込みの動作中に、多重割り込みが可能です。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="706" height="180" src="https://aisumegane.com/wp-content/uploads/2026/05/image-4.png" alt="" class="wp-image-8471" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-4.png 706w, https://aisumegane.com/wp-content/uploads/2026/05/image-4-300x76.png 300w" sizes="(max-width: 706px) 100vw, 706px" /></figure>



<p>このため、処理時間のずれが許されないパルス幅測定(タイムスタンプ取得)のみ、高優先度としています。</p>



<p>設計制約として、他の割り込みを高優先度に設定できない問題が出てきますが、PICの場合は割り込みごとに２つのベクタにジャンプし、それ以降は要求フラグを確認して順次処理を行っていくような割り込みの作りなので、実装次第であまり問題にはならないと思われます。<br>（割り込みごとにベクタアドレスが用意されているわけではないので、いったん高優先度割り込み入ったあとでも、処理順序を入れ替える猶予があります。）</p>



<p>今回の場合は下記のようにduty比(タイムスタンプ取得)処理を最も上に移動し、それ以降の高優先度割り込み処理は下に書く、という実装にしました。</p>



<p>これなら、たとえ同時に割り込みが発生したとしても影響は軽微です。<br>いったんduty比取得以外の割り込み処理を実行し、そのあとにduty比取得の割り込みが来た・・・というケース考慮すると、実際はあまり長い処理は入れられないという制約はどうしても残ってしまいますが、今回はそういう処理は作ってないということで、問題ナス。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-c" data-lang="C"><code>/**************************************************************/
/*  Function:                                                 */
/*  高優先度 割り込み処理                                       */
/*                                                            */
/*  割り込みベクタはHigh/Lowで2コ                               */
/**************************************************************/
void __interrupt (high_priority) high_isr(void)
{
#if 1
    if( INT_FLAG_IOC == SET )
    {
        IOCIE = CLEAR;                      /* IOCAF読み取り中に再度割り込み入ると読み取り失敗するので、処理開始前に禁止する */
        /* duty検出処理 */
        func_rc_g_duty_detection();         /* ラジコンプロポ duty取得処理 */
        /*INT_FLAG_IOC = CLEAR;*/           /* IOCFはIOC割り込みのステータスビット IOCの割り込みフラグは、上記関数内で個別にクリア */

        /* 回転数検出用 割り込み発生フラグ */
        /* 処理時間少ないのでduty検出処理には影響ないはず。 */
        if( IOCCF0 == SET )
        {
            func_speedsens_g_edge_detect_mtr();
            IOCCF0 = CLEAR;
        }
        
        if( IOCCF1 == SET )
        {
            func_speedsens_g_edge_detect_1stgear();
            IOCCF1 = CLEAR;
        }

        IOCIE = SET;
    }
#endif
}</code></pre></div>



<h3 class="wp-block-heading">デバッグ作業についてコメント</h3>



<p class="has-large-font-size"><strong>連続で割り込みが入る処理のデバッグはめんどい。</strong></p>



<p>マジでこの一言に尽きる。</p>



<p>デバッグ作業がほんとに面倒でした・・・</p>



<p>何が面倒かというと、PICKIT3を使用してMPLABでブレークポイントをかけるまではよいのですが、ラジコンのPWM入力は止まってくれないのでどんどん割り込みフラグがたまっていくんですよね。。。</p>



<p>ちょうどいいところまで来ても、再び割り込みが入って「isr」に飛ばされ場所がわからなくなります。</p>



<p>この辺の動的動作のデバッグはちょっとやりずらかったです。</p>



<h3 class="wp-block-heading">実装</h3>



<p>実装についても載せておきます。<br>ちょっと汚いのでのちのちもう少し整理します。。。</p>



<div class="hcb_wrap overflow-y: auto;"><pre class="prism line-numbers lang-c" data-lang="C" data-show-lang="1"><code>/*
 * File:   radio_control.c
 * Author: ICE_MEGANE
 * ラジコン用リモコン処理全般
 * Created on 2026/04/20, 22:26
 */

#include &lt;xc.h&gt;
#include &quot;./mcufunc/pic18f25q10.h&quot;
#include &quot;userdefine.h&quot;


#include &quot;./mcufunc/gpio.h&quot;
#include &quot;./mcufunc/mcu_setup.h&quot;
#include &quot;./mcufunc/timer_driver.h&quot;
#include &quot;./radio_control.h&quot;


/* ポート設定 */
#define RC_IOC_BITPOS_CH_THROTTLE              ((u8)0)        /* 0：RC_DUTY_CH_THROTTLE           */
#define RC_IOC_BITPOS_CH_SHIFT_MODE            ((u8)3)        /* 1：RC_DUTY_CH_SHIFT_MODE         */
#define RC_IOC_BITPOS_CH_RESPONSE              ((u8)2)        /* 2：RC_DUTY_CH_RESPONSE           */
#define RC_IOC_BITPOS_CH_PADDLE_SHIFT_INPUT    ((u8)1)        /* 3：RC_DUTY_CH_PADDLE_SHIFT_INPUT */
#define RC_IOC_BITPOS_CH_REV_LIMIT             ((u8)4)        /* 4：RC_DUTY_CH_REV_LIMIT          */

/* 設定関連 */
#define RC_DUTY_PULSE_ON_LOGIC                 LOW            /* 入力パルスのアクティブロジック */       /* ※IOCAF、IOCANの設定と合わせること */
#define RC_DUTY_JUDGE_TIMEOUT_CNT              ((u8)5)
#define RC_DUTY_CONVERSION_ROUND               ((u16)100)     /* dutyの端点丸め数値 */
#define RC_DUTY_0P_CNT                         ((u16)2000)    /* duty0%相当のカウント現在値 */
#define RC_DUTY_100P_CNT                       ((u16)4000)    /* duty100%相当のカウント現在値　 */
#define RC_DUTY_100P_CNT_DIFF                  ( RC_DUTY_100P_CNT - RC_DUTY_0P_CNT )     /* duty100%相当のタイマカウント差分 */

/* duty増減方向の設定(リモコンの操作反転したい場合に使う) */
#define RC_DUTY_PROP                         ((u8)0)       /* 比例 */
#define RC_DUTY_REVERSE_PROP                 ((u8)1)       /* 反比例 */


u8 u8_rc_s_debug_flag;

u8 u8_rc_g_duty_judge_sequence;                    /* パルス幅測定シーケンス */

u16 u16_rc_g_duty_speed;                             /* 前進/後進 速度入力 */
u16 u16_rc_g_duty_shift_mode;                        /* シフトチェンジモード入力 (セミオートマ/オート) */
u16 u16_rc_g_duty_speed_gain;                        /* 加速度合い(エンジン応答)入力 */
u16 u16_rc_g_duty_shift_updown;                      /* シフトアップダウン入力 */
u16 u16_rc_g_duty_rev_limit;                         /* レブリミット閾値入力 */

static u8 u8_rc_s_duty_judge_timeout_flag;         /* パルス幅取得 タイムアウト */
static u8 u8_rc_s_duty_judge_timeout_cnt;          /* パルス幅取得 失敗カウント */
static u8 u8_rc_s_duty_get_complete;               /* 1msタスクでのduty取得完了フラグ */        /* タイミング的にループと割り込みで同時書き込みすることはないはず。 */

static u8 u8_rc_s_duty_cnt_debug;


/* 割り込みで取得する値保存用の構造体 */
typedef struct rc_duty_sample_str
{
    u8 u8_start_capture_complete_flag;    /* 指定のチャネルのタイマカウント取得完了フラグ(ON開始時) */
    u8 u8_end_capture_complete_flag;      /* 指定のチャネルのタイマカウント取得完了フラグ(ON終了時) */
    u16 u16_ch_duty_cnt_start;            /* duty  ON開始時のタイマカウント ( タイマレジスタからの取得値 ) */
    u16 u16_ch_duty_cnt_end;              /* duty OFF開始時のタイマカウント ( タイマレジスタからの取得値 ) */
}rc_duty_sample_data;

static rc_duty_sample_data rc_duty_get_by_int_tbl[ RC_DUTY_CH_IDX_MAX ] =
{
    { CLEAR,    CLEAR,    (u16)0,    (u16)0 },
    { CLEAR,    CLEAR,    (u16)0,    (u16)0 },
    { CLEAR,    CLEAR,    (u16)0,    (u16)0 },
    { CLEAR,    CLEAR,    (u16)0,    (u16)0 },
    { CLEAR,    CLEAR,    (u16)0,    (u16)0 },
};

/* ループタスクで使用するduty比保存テーブル (0~100) ※外部の処理でも使う */
u8 u8_rc_g_ch_duty_tbl[ RC_DUTY_CH_IDX_MAX ] =
{
    (u8)0,
    (u8)0,
    (u8)0,
    (u8)0,
    (u8)0
};

/*===================================================================================================================================*/
/*===================================================================================================================================*/
/* レジスタ設定 */
/* SFRからの読み止しだけは、メモリからの毎回呼び出しを指定する */
typedef struct rc_duty_sample_register_setting
{   /* レジスタ設定 */
    volatile u8 *port_addr;               /* IOCポートレジスタへのポインタ ※指している先をvolatileとして扱う */
    u8 port_bitmask;                      /* IOCポートレジスタのビット指定 */
    volatile u8 *flag_addr;               /* IOCフラグレジスタへのポインタ(アドレス指定しておく) */
    u8 flag_bitmask;                      /* IOCフラグレジスタのビット指定 */
    u8 duty_direction;                    /* プロポのレバーに対するduty増減方向 */
}rc_duty_sample_setting;


/* ここで全チャネルまとめて指定できるようにしておきたい */
static const rc_duty_sample_setting rc_duty_get_register_combi_tbl[ RC_DUTY_CH_IDX_MAX ] =
{ /* IOCポート,  IOCポート-ビット位置,  IOCフラグ,  IOCフラグ-ビット位置,    dutyの増減方向    */
    { &PORTA,    (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_THROTTLE),               &IOCAF,      (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_THROTTLE),                RC_DUTY_REVERSE_PROP },      /* RC_DUTY_CH_THROTTLE           */
    { &PORTA,    (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_SHIFT_MODE),             &IOCAF,      (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_SHIFT_MODE),              RC_DUTY_PROP         },      /* RC_DUTY_CH_SHIFT_MODE         */
    { &PORTA,    (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_RESPONSE),               &IOCAF,      (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_RESPONSE),                RC_DUTY_PROP         },      /* RC_DUTY_CH_RESPONSE           */
    { &PORTA,    (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_PADDLE_SHIFT_INPUT),     &IOCAF,      (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_PADDLE_SHIFT_INPUT),      RC_DUTY_PROP         },      /* RC_DUTY_CH_PADDLE_SHIFT_INPUT */
    { &PORTA,    (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_REV_LIMIT),              &IOCAF,      (u8)(1U &lt;&lt; RC_IOC_BITPOS_CH_REV_LIMIT),               RC_DUTY_PROP         },      /* RC_DUTY_CH_REV_LIMIT          */
};
/*===================================================================================================================================*/
/*===================================================================================================================================*/


/* 関数プロトタイプ宣言 */
static void func_rc_s_convert_tmrcount_to_duty( void );
static void func_rc_s_debug_pulseout( void );
static void func_rc_s_ioc_flag_erase( u8 u8_ioc_ch );
static void func_rc_s_ioc_state_read_back( u8 *u8_flag_buff, u8 *u8_port_buff ,u8 u8_ioc_ch );


/* グローバル変数 */
/**************************************************************/
/*  Function:                                                 */
/*  変数初期設定                                               */
/*                                                            */
/**************************************************************/
void func_rc_g_init( void )
{
    u8 u8_loopcnt;
    
    u8_rc_s_duty_judge_timeout_flag = CLEAR;
    u8_rc_s_duty_judge_timeout_cnt = (u8)0;
    u8_rc_g_duty_judge_sequence = RC_SEQ_DUTY_SAMPLING_WAIT;
    
    u16_rc_g_duty_speed          = (u16)0;
    u16_rc_g_duty_shift_mode     = (u16)0;
    u16_rc_g_duty_speed_gain     = (u16)0;
    u16_rc_g_duty_shift_updown   = (u16)0;
    u16_rc_g_duty_rev_limit      = (u16)0;
    
    u8_rc_s_debug_flag = CLEAR;
    u8_rc_s_duty_get_complete = CLEAR;
    u8_rc_s_duty_cnt_debug = (u8)0;
}



/**************************************************************/
/*  Function:                                                 */
/*  main関数                                                   */
/*                                                            */
/*                                                            */
/**************************************************************/
void func_rc_g_main( void )
{
    /* @@割り込み関数で更新される変数を、この処理内で再更新しないこと */
    func_rc_s_convert_tmrcount_to_duty();       /* タイマカウントからdutyへの変換 */
    func_rc_s_debug_pulseout();                 /* パルス幅取得の動作確認処理 */
}


/**************************************************************/
/*  Function:                                                 */
/*  入力パルスのduty識別・決定関数                              */
/*                                                            */
/*  ほんとはMCUハードウェア機能だけで完結させたいが、タイマ数が足りないのでパワー実装 */
/* @@多少判定処理のクロック誤差が生まれると思うが、実測で誤差として流せるか確認して判断したい */
/* ポート指定を容易に行えるように&同一タイミングのパルスはなるべく同じタイマ値を取得したいので、この処理内で判別する */
/**************************************************************/
void func_rc_g_duty_detection( void )
{   
    u8 u8_loopcnt;
    u16 u16_timer_register_buff;
    u8 u8_ch_sample_not_complete_flag;
    
    u8 u8_ioc_flag_buff;
    u8 u8_ioc_port_buff;
    
    /* ローカル変数初期化 */
    u8_ioc_flag_buff = (u8)0;
    u8_ioc_port_buff = (u8)0;
    u8_loopcnt = (u8)0;
    u16_timer_register_buff = (u16)0;
    u8_ch_sample_not_complete_flag = CLEAR;
    
    
    switch ( u8_rc_g_duty_judge_sequence )
    {
        case RC_SEQ_DUTY_SAMPLING_WAIT:
            /* 初回のトリガ操作を待機中・・・ */
            /* いずれかのチャネルでIOC割り込みが発生した場合にタイマスタート */
            /* 最初のチャネルだけdutyが小さくならないよう、タイミング優先でまずはタイマスタート */
            func_mset_g_timer5_couter_set( (u16)1 );            /* タイマ レジスタクリア ※オーバーフロー割り込み仕様するので、リセット時に割り込みはいらないよう１をセットする */
            func_mset_g_timer5_onoff( ON );                     /* タイマ カウントスタート */

#if 0
            for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
            {
                func_rc_s_ioc_state_read_back( &u8_ioc_flag_buff, &u8_ioc_port_buff ,u8_loopcnt );

                if( ( u8_ioc_flag_buff == SET ) &&
                    ( u8_ioc_port_buff == RC_DUTY_PULSE_ON_LOGIC ) )
                { /* いずれかのチャネルで、ON区間開始を検知：連続測定開始 */
                    u8_rc_g_duty_judge_sequence = RC_SEQ_DUTY_SAMPLING;
                    u8_rc_s_duty_get_complete = CLEAR;                          /* メインループ側でのタイマ値取得完了フラグ クリア */
                }
                else
                { /* ON区間終了を検知 */
                    /* 初回がON区間終了から始めるのはおかしいので、タイマ停止。シーケンスそのまま */
                    func_mset_g_timer5_couter_set( (u16)1 );            /* タイマ レジスタクリア ※オーバーフロー割り込み仕様するので、リセット時に割り込みはいらないよう１をセットする */
                    func_mset_g_timer5_onoff( OFF );                     /* タイマ カウント停止 */
                    rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_start = (u16)0;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_end = (u16)0;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u8_start_capture_complete_flag = CLEAR;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u8_end_capture_complete_flag = CLEAR;
                }

                func_rc_s_ioc_flag_erase( u8_loopcnt );             /* IOCフラグクリア */
            }
#else
                /* 最後のチャネルのサンプル終了後、次にCH0のIOC割り込みが入るまで若干猶予がある。 */
                /* このタイミングでループタスクで値回収したいので、開始はCH0に固定する */
                u8_loopcnt = RC_DUTY_CH_THROTTLE;
                func_rc_s_ioc_state_read_back( &u8_ioc_flag_buff, &u8_ioc_port_buff ,u8_loopcnt );

                if( ( u8_ioc_flag_buff == SET ) &&
                    ( u8_ioc_port_buff == RC_DUTY_PULSE_ON_LOGIC ) )
                { /* いずれかのチャネルで、ON区間開始を検知：連続測定開始 */
                    u8_rc_g_duty_judge_sequence = RC_SEQ_DUTY_SAMPLING;
                    u8_rc_s_duty_get_complete = CLEAR;                          /* メインループ側でのタイマ値取得完了フラグ クリア */
                }
                else
                { /* ON区間終了を検知 */
                    /* 初回がON区間終了から始めるのはおかしいので、タイマ停止。シーケンスそのまま */
                    func_mset_g_timer5_onoff( OFF );                     /* タイマ カウント停止 */
                    func_mset_g_timer5_couter_set( (u16)1 );            /* タイマ レジスタクリア ※オーバーフロー割り込み仕様するので、リセット時に割り込みはいらないよう１をセットする */
                    rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_start = (u16)0;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_end = (u16)0;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u8_start_capture_complete_flag = CLEAR;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u8_end_capture_complete_flag = CLEAR;
                }

                for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
                { /* フラグは全部クリアする */
                    func_rc_s_ioc_flag_erase( u8_loopcnt );             /* IOCフラグクリア */
                }          
            
#endif

            break;
            
        case RC_SEQ_DUTY_SAMPLING:
            u16_timer_register_buff = func_mset_g_timer5_read();        /* 割り込みが来た時点でいったんタイマレジスタの値を保持しておく */
            
            /* 順番にチャネル判定 */
#if 0
            /* 1チャンネルでの動作確認用 */
            func_rc_s_ioc_state_read_back( &u8_ioc_flag_buff, &u8_ioc_port_buff ,RC_DUTY_CH_REV_LIMIT );

            if( u8_ioc_flag_buff == SET )
            {
                if( u8_rc_s_debug_flag == SET )
                {
                    u8_rc_s_debug_flag = CLEAR;
                }
                else
                {
                    u8_rc_s_debug_flag = SET;
                }
                
                GPIO_OUT_DEBUG = u8_rc_s_debug_flag;    
            }


            for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
            { /* フラグは全部クリアする */
                func_rc_s_ioc_flag_erase( u8_loopcnt );             /* IOCフラグクリア */
            }  

#else
            /* IOC割り込みフラグが立ってるポートを確認 */
            for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
            {
                func_rc_s_ioc_state_read_back( &u8_ioc_flag_buff, &u8_ioc_port_buff ,u8_loopcnt );
            
                if( u8_ioc_flag_buff == SET )
                { /* IOC割り込み発生あり */
                    if( u8_ioc_port_buff != RC_DUTY_PULSE_ON_LOGIC )
                    { /* ON区間終わりの時 */
                        rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_end = u16_timer_register_buff;        /* IOC割り込み発生時点でのタイマ値を取得 ※PWM仕様上、複数チャネルが同時に切り替わることはないはず。 */
                        rc_duty_get_by_int_tbl[u8_loopcnt].u8_end_capture_complete_flag = SET;                   /* 対象のチャネルのパルス幅測定 完了 */
                    }
                    else
                    { /* ON区間始まりの時：開始キャプチャとして保存する ※基本連続しているので、1つ後のチャネルでここに来る */
                        rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_start = u16_timer_register_buff;      /* IOC割り込み発生時点でのタイマ値を取得 ※PWM仕様上、複数チャネルが同時に切り替わることはないはず。 */
                        rc_duty_get_by_int_tbl[u8_loopcnt].u8_start_capture_complete_flag = SET;                 /* 対象のチャネルのパルス幅測定 完了 */
                    }

                    func_rc_s_ioc_flag_erase( u8_loopcnt );             /* IOCフラグクリア */
                }

                if( rc_duty_get_by_int_tbl[u8_loopcnt].u8_end_capture_complete_flag == CLEAR )
                { /* まだON区間測定が終了してないチャネルがある */
                    u8_ch_sample_not_complete_flag = SET;
                }
            }

            
            /* 全チャネル パルス幅測定 完了判定 */
            if( u8_ch_sample_not_complete_flag != SET )
            { /* 全チャネルサンプリング完了 */
                u8_rc_g_duty_judge_sequence = RC_SEQ_DUTY_SAMPLING_WAIT;            /* 待機状態へ戻す　※待機状態中にループタスクで値回収 */
                func_mset_g_timer5_onoff( OFF );
                func_mset_g_timer5_couter_set( (u16)1 );

                for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
                { /* ループが2回連続で走るが、すでに全CHサンプル完了後なのでOK */
                    rc_duty_get_by_int_tbl[u8_loopcnt].u8_start_capture_complete_flag = CLEAR;
                    rc_duty_get_by_int_tbl[u8_loopcnt].u8_end_capture_complete_flag = CLEAR;
                }
            }
#endif

            break;
            
        case RC_SEQ_DUTY_SAMPLING_TIMEOUT:
            /* タイムアウト発生 */
            /* CH0のIOC割り込み発生後、8CHすべて取得できる時間以上経過したのにパルスが来なかった後、IOC割り込み発生するとここに来る */
            /* パルス幅の取得タイミングがずれたときにCH0開始に戻すために設けた */
            /* 完全にパルスが止まった場合はIOC割り込みがなく、ここに来ることができないので、ループタスク側でもタイムアウト処理を作ったほうが良いかも */
            if( u8_rc_s_duty_judge_timeout_cnt &lt; U8_MAX )
            {
                u8_rc_s_duty_judge_timeout_cnt++;
            }
            
            if( u8_rc_s_duty_judge_timeout_cnt &gt; RC_DUTY_JUDGE_TIMEOUT_CNT )
            { /* 何度もタイムアウトが発生している */
                u8_rc_g_duty_judge_sequence = RC_SEQ_DUTY_SAMPLING_FAILE;
            }
            else
            {
                u8_rc_g_duty_judge_sequence = RC_SEQ_DUTY_SAMPLING_WAIT;
            }

            func_mset_g_timer5_onoff( OFF );                    /* タイマ カウント停止 */
            func_mset_g_timer5_couter_set( (u16)1 );            /* タイマ レジスタクリア ※オーバーフロー割り込み仕様するので、リセット時に割り込みはいらないよう１をセットする */
            
            for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
            { /* フラグは全部クリアする */
                func_rc_s_ioc_flag_erase( u8_loopcnt );             /* IOCフラグクリア */
            }
        
            break;
            
        case RC_SEQ_DUTY_SAMPLING_FAILE:
            /* パルス幅測定失敗 */
            /* ここに来た時点で設計ミスなので、デバッグ時点ではあえて抜けるないようにしておく。 */
            for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX ; u8_loopcnt++ )
            {
                // *(rc_duty_get_register_combi_tbl[u8_loopcnt].port_addr) != (u8)0;                     /* 読み取り専用なので特に意味なし */
                func_rc_s_ioc_flag_erase( u8_loopcnt );                                                  /* IOCフラグクリア */
                rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_start = (u16)0;
                rc_duty_get_by_int_tbl[u8_loopcnt].u16_ch_duty_cnt_end = (u16)0;
                rc_duty_get_by_int_tbl[u8_loopcnt].u8_start_capture_complete_flag = CLEAR;
                rc_duty_get_by_int_tbl[u8_loopcnt].u8_end_capture_complete_flag = CLEAR;
            }
              
            u8_rc_s_duty_judge_timeout_cnt = (u8)0;
            
            /* @@何度もここに来るので、ここに関数記述するのは微妙かもしれない。実害ないのでいったん保留。 */
            func_mset_g_timer5_onoff( OFF );                    /* タイマ カウント停止 */
            func_mset_g_timer5_couter_set( (u16)1 );            /* タイマ レジスタクリア ※オーバーフロー割り込み仕様するので、リセット時に割り込みはいらないよう１をセットする */
        
            break;
        
        default:
            break;
    }
}

/**************************************************************/
/*  Function:                                                 */
/*  入力パルスのduty識別・決定関数                              */
/*  IOC割り込みがあったのにパルス幅取得を完了できなかった場合の処理 */
/**************************************************************/
void func_rc_g_duty_detect_timeout( void )
{
    //u8_rc_s_duty_judge_timeout_flag = SET;
}


/**************************************************************/
/*  Function:                                                 */
/* *u8_flagbuff：引数/変数 IOCフラグ状態                          */
/* *u8_portbuff：引数/変数 IOC割り当てのポート状態                */
/* u8_ioc_ch：引数 IOCのチャネル指定                             */
/**************************************************************/
static void func_rc_s_ioc_state_read_back( u8 *u8_flag_buff, u8 *u8_port_buff ,u8 u8_ioc_ch )
{
    u8 u8_iocxf_flag;
    u8 u8_iocxf_port_state;

    u8_iocxf_flag = *(rc_duty_get_register_combi_tbl[ u8_ioc_ch ].flag_addr);                             /* IOCフラグレジスタの値を取得 */
    u8_iocxf_flag = u8_iocxf_flag & (rc_duty_get_register_combi_tbl[ u8_ioc_ch ].flag_bitmask);        /* ビットマスク */
    
    if( u8_iocxf_flag != (u8)0 )
    { /* IOCフラグレジスタの該当ビットが0ではない */
        *u8_flag_buff = SET;         /* のちの処理でビット位置気にしないよう、この時点で上書きする */
    }
    else
    {
        *u8_flag_buff = CLEAR;
    }
    
    /* IOCポートの確認 */
    u8_iocxf_port_state = *(rc_duty_get_register_combi_tbl[ u8_ioc_ch ].port_addr);                       /* IOCに該当のポート状態を取得 */
    u8_iocxf_port_state = u8_iocxf_port_state & (rc_duty_get_register_combi_tbl[ u8_ioc_ch ].port_bitmask);     /* ビットマスク */
    
    if( u8_iocxf_port_state != (u8)0 )
    {
        *u8_port_buff = SET;
    }
    else
    {
        *u8_port_buff = CLEAR;
    }
}

/**************************************************************/
/*  Function:                                                 */
/* IOC割り込みの特定のビットをクリアする                          */
/**************************************************************/
static void func_rc_s_ioc_flag_erase( u8 u8_ioc_ch )
{
    u8 u8_ioc_flag_buff;
    
    u8_ioc_flag_buff = rc_duty_get_register_combi_tbl[ u8_ioc_ch ].flag_bitmask;
    u8_ioc_flag_buff = (u8)~u8_ioc_flag_buff;       /* ビット反転 */
    
    *( rc_duty_get_register_combi_tbl[ u8_ioc_ch ].flag_addr ) &= u8_ioc_flag_buff;
}



/**************************************************************/
/*  Function:                                                 */
/*  入力パルス幅の一時保存値を回収                              */
/*  タイマの計算値を0~100の1byte内のdutyへ変換する              */
/*  インバータ電圧、角度ともに100段程度分解能があれば困らないはず  */
/*  @@除算が激重でこの処理が一番処理負荷高いので、処理時間問題ないかチェックする */
/**************************************************************/
static void func_rc_s_convert_tmrcount_to_duty( void )
{
    u8 u8_loopcnt;
    u8 u8_duty_calc_disable_flag;
    u16 u16_pulse_on_time_cnt_buff;
    u16 u16_calc_buff;
    u16 u16_calc_buff2;
    u32 u32_calc_buff;
    u16 u16_tmr_cnt_base;
    u16 u16_tmr_cnt_gap;
    

    /* ローカル変数初期化 */
    u8_loopcnt = (u8)0;
    u16_pulse_on_time_cnt_buff = (u16)0;
    u16_calc_buff = (u16)0;
    u16_calc_buff2 = (u16)0;
    u8_duty_calc_disable_flag = CLEAR;
    
    /* グローバル変数へ移植 */
    /* 割り込み更新がないタイミングでデータを取り出す */
    if( ( u8_rc_s_duty_get_complete == CLEAR ) &&
        ( u8_rc_g_duty_judge_sequence == RC_SEQ_DUTY_SAMPLING_WAIT ) )
    { /* 次のパルス開始タイミングまで待機中 (duty更新なし中) */
        /* 基準カウント数の算出 */
        u16_tmr_cnt_base = RC_DUTY_100P_CNT - RC_DUTY_0P_CNT;

        for( u8_loopcnt = (u8)0; u8_loopcnt &lt; RC_DUTY_CH_IDX_MAX; u8_loopcnt++ )
        {
            u16_calc_buff = rc_duty_get_by_int_tbl[ u8_loopcnt ].u16_ch_duty_cnt_start;         /* パルスON開始時のタイマ・カウント */
            u16_calc_buff2 = rc_duty_get_by_int_tbl[ u8_loopcnt ].u16_ch_duty_cnt_end;          /* パルスON終了時のタイマ・カウント */

            if( u16_calc_buff &lt; u16_calc_buff2 )
            { /* 正常：後ろのタイミングのタイマカウントのほうが大きい */
                u16_calc_buff = u16_calc_buff2 - u16_calc_buff;

                if( u16_calc_buff &gt;= RC_DUTY_0P_CNT )
                { /* 下限のパルス幅以上の値がある */
                    u16_tmr_cnt_gap = u16_calc_buff - RC_DUTY_0P_CNT;       /* 下限のパルス分を減算 */

                    if( u16_tmr_cnt_gap &lt; RC_DUTY_CONVERSION_ROUND)
                    { /* ほぼ0%よりのパルス幅 */
                        u16_tmr_cnt_gap = (u16)0;                       /* 0%に丸め込む */
                    }

                    if( u16_tmr_cnt_gap &gt; u16_tmr_cnt_base )
                    { /* 100%より大きい */
                        u16_tmr_cnt_gap = u16_tmr_cnt_base;             /* 100%に丸め込む */
                    }
                    else
                    {
                        u16_calc_buff = u16_tmr_cnt_base - u16_tmr_cnt_gap;
                        if( u16_calc_buff &lt; RC_DUTY_CONVERSION_ROUND )
                        { /* ほぼ100%のパルス幅になっている */
                            u16_tmr_cnt_gap = u16_tmr_cnt_base;         /* 100%に丸め込む */
                        }
                    }
                }
                else
                { /* 0%より小さいパルス幅 */
                    u16_tmr_cnt_gap = (u16)0;
                }
            }
            else
            { /* ラジコンのPWMの性質上、パルス幅がゼロになることはない */
                u8_duty_calc_disable_flag = SET;            /* 異常時：計算しない*/
            }


           
            if( u8_duty_calc_disable_flag == CLEAR )
            { /* duty計算許可がある */
                if( rc_duty_get_register_combi_tbl[ u8_loopcnt ].duty_direction == RC_DUTY_REVERSE_PROP )
                { /* duty増減方向を反転させる場合 */
                    u16_tmr_cnt_gap = u16_tmr_cnt_base - u16_tmr_cnt_gap;
                }
#if 1
                /* タイマ値 -&gt; %変換 */
                u32_calc_buff = func_ud_g_calcmul_2x2_byte( u16_tmr_cnt_gap, (u16)RC_CH_DUTY_100P );
                u32_calc_buff = func_ud_g_calcdiv_4x4_byte( u32_calc_buff, (u32)u16_tmr_cnt_base );
                u8_rc_g_ch_duty_tbl[ u8_loopcnt ] = (u8)u32_calc_buff;
#else
                /* タイマ値 -&gt; %変換 */
                /* こっちのほうが重い */
                u32_calc_buff = func_ud_g_calcdiv_4x4_byte( RC_DUTY_100P_CNT, RC_CH_DUTY_100P );
                u32_calc_buff = func_ud_g_calcdiv_4x4_byte( (u32)u16_pulse_on_time_cnt_buff, u32_calc_buff );
                u8_rc_g_ch_duty_tbl[ u8_loopcnt ] = (u8)u32_calc_buff;
#endif
            }
        }
        u8_rc_s_duty_get_complete = SET;
    }
}</code></pre></div>



<h2 class="wp-block-heading">モータ/１次ギヤ回転数 計算方法</h2>



<h3 class="wp-block-heading">概要</h3>



<p>つづいて今回使用するPIC18F25Q10で回転数検出を行う方法について。</p>



<p>今回は変速処理をスムーズに行うために、モータと１次ギヤ側の回転数をうまく合わせるような制御を入れます。<br>（詳細は動画の方で述べたいと思います。）</p>



<p>このため、回転数を検出する必要があります。</p>



<p>ギヤにつけたマグネットとホールセンサを使用し、１回転で１周期のパルスが発生するようにして、このパルスをもとに回転数計算を行います。</p>



<h3 class="wp-block-heading">実装概要決め</h3>



<p>回転数の検出方法ですが、今回もマイコンハードウェア的な制約により、キャプチャは使えません。</p>



<p>このため、キャプチャに似たことが実現できそうな「ゲートトグルモード」を使用します。</p>



<p>PIC18F25Q10のタイマ構成は、Timer1、3、5の場合下記のようになっています。<br>タイマクロックのカウント許可信号が、TMRxONだけでなく、TMRxGEが１の場合はTxGPPSで指定した入力ピンの状態によって切り替えられる・・・という構成になっています。<br>（詳細はタイマ1,3,5のゲート機能を確認）</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="793" height="731" src="https://aisumegane.com/wp-content/uploads/2026/05/image-5.png" alt="" class="wp-image-8477" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-5.png 793w, https://aisumegane.com/wp-content/uploads/2026/05/image-5-300x277.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-5-768x708.png 768w" sizes="(max-width: 793px) 100vw, 793px" /></figure>



<p>ざっくりまとめると、「あるポートの電圧レベルがH、またはLの時に限り、タイマのカウントを進める」といった仕様です。</p>



<p>ゲート機能については４パターンほど動作モードが用意されているのですが、今回はそのうちの１つの下記の仕様を使います。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="1024" height="815" src="https://aisumegane.com/wp-content/uploads/2026/05/image-6.png" alt="" class="wp-image-8478" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-6.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/image-6-300x239.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-6-768x611.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>このモードでは、下記のようなタイマカウント動作が実現できます。</p>



<p>・タイマのゲートに割り当てたパルス状の入力信号について、１周期おきにタイマのカウントアップを許可する。<br>　（パルスの発生回数/2だけ、タイマのカウントアップを行うことができる）<br>・タイマのゲートに入力された信号が１周期完了した場合、タイマゲート割り込みを発生、カウントアップを停止する。</p>



<p>このモードでは、１周期おきという制約が付くものの、カウントアップ動作を１周期分だけ許可するという、キャプチャに近い動作をします。</p>



<p>キャプチャと異なり、ゲート割り込み発生時に現在のカウント値が特定のレジスタに保存されたりカウントリセットされたりはしませんが、この辺は割り込みを使ってうまくゴチャゴチャさせると何とかなります。</p>



<h3 class="wp-block-heading">実装詳細：回転数検出</h3>



<p>ゲートトグルモードを使用して回転数検出を行う場合のタイミングチャートを下記に示します。</p>



<p>今回は１周期おきにタイマゲートが閉じる都合上、回転数相当のカウント値を取得するフェーズとカウント値をリセットするフェーズの２つを設け、処理することにしました。</p>



<p>回転数の反応速度は落ちますが、この辺はマイコンの制約なので致し方ないかな～と思います。</p>



<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="460" src="https://aisumegane.com/wp-content/uploads/2026/05/image-7-1024x460.png" alt="" class="wp-image-8479" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-7-1024x460.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/image-7-300x135.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-7-768x345.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/image-7-1536x690.png 1536w, https://aisumegane.com/wp-content/uploads/2026/05/image-7.png 2000w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>モードの中には下記のようにONパルスの間だけ回転数検出を行うような、「タイマゲート有効モード」なるものも存在します。<br>一応、こちらのモードのほうが毎周期タイマのカウントを更新できるので、応答性は良くなります。</p>



<p>ただしこの場合、パルスのON幅とOFF幅が50：50の比率でない場合に、回転数に逆算するためのロジックが面倒になるので、今回は採用しませんでした。</p>



<p>おそらくON幅と回転数の紐づきをまとめたデータをあらかじめ取得しておかないと、うまく成り立たないかな～と思います。</p>



<p>測定はめんどいのでやめました。</p>



<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="887" height="474" src="https://aisumegane.com/wp-content/uploads/2026/05/image-8.png" alt="" class="wp-image-8480" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-8.png 887w, https://aisumegane.com/wp-content/uploads/2026/05/image-8-300x160.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-8-768x410.png 768w" sizes="(max-width: 887px) 100vw, 887px" /></figure>



<h3 class="wp-block-heading">この処理の問題点と対策</h3>



<p>この処理ですが、タイマのゲート機能の特性上、下記のような不都合があります。</p>



<p>・ゲート機能では、ゲートが閉じている間はカウント動作そのものが停止する<br>　&#x27a1;ゲート入力に割り当てたパルスが立ち上がり or 足り下がりのどちらで停止したかにより、オーバーフローの発生有無が変わってくる。</p>



<p>実際の実装においては、モータが停止した時に停止判定できないことが問題になります。<br>（最後に保存したタイマのカウント値以降ゲート割り込み、タイマオーバーフロー割り込みが発生しないので、回転数更新ができなくなります。）</p>



<p>これを解決するため、今回は下記のような実装としてみました。</p>



<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="734" src="https://aisumegane.com/wp-content/uploads/2026/05/image-9-1024x734.png" alt="" class="wp-image-8481" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-9-1024x734.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/image-9-300x215.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-9-768x550.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/image-9-1536x1101.png 1536w, https://aisumegane.com/wp-content/uploads/2026/05/image-9.png 1570w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>タイマのカウント現在地を使用して回転数計算をすること自体は変わりありません。</p>



<p>変化点は、タイマのゲート入力のポートについてIOC割り込みを有効化し、ソフト内で別のタイマのカウント値をベースに低速側の回転数計算を行う処理を追加したことです。</p>



<p>２つめの「キャプチャ保存配列２」では、タイマゲート割り込みにより取得する回転数帯よりずっと低い領域での回転数のみを検知します。<br>（周期としては100~1000ms程度の周期。0~500rpm程度が狙い。）</p>



<p>これにより、停止付近や低速での回転数計算自体は、継続して行われます。</p>



<p>ソフト内では２つの回転数を計算し、有効な回転数を持つ方を「現在の回転数」として扱うような設定を行いました。</p>



<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="547" src="https://aisumegane.com/wp-content/uploads/2026/05/image-10-1024x547.png" alt="" class="wp-image-8482" srcset="https://aisumegane.com/wp-content/uploads/2026/05/image-10-1024x547.png 1024w, https://aisumegane.com/wp-content/uploads/2026/05/image-10-300x160.png 300w, https://aisumegane.com/wp-content/uploads/2026/05/image-10-768x411.png 768w, https://aisumegane.com/wp-content/uploads/2026/05/image-10-1536x821.png 1536w, https://aisumegane.com/wp-content/uploads/2026/05/image-10.png 1760w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">インバータ制御部分</h2>



<p>作成中。</p>



<p>おいおい追記していきます。</p><p>The post <a href="https://aisumegane.com/specifications-of-embedded-software-used-in-radio-controlled-cars/">【自作】究極のトイラジコンを自作する：④組み込みソフトウェアの設計</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【創作活動】創作活動ができなくなった話</title>
		<link>https://aisumegane.com/the-story-of-how-i-was-able-to-resume-my-creative-activities/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Fri, 01 May 2026 11:50:26 +0000</pubDate>
				<category><![CDATA[バイト戦士録]]></category>
		<category><![CDATA[創作活動]]></category>
		<category><![CDATA[漫画]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8446</guid>

					<description><![CDATA[<p>絵を描けなくなった話 んで、結局またこんな漫画を描き始めてしまうという・・・ やっぱり効率とかなんとか、そんなものばっかり追い求めるのはダメっすね。 皆さんは創作活動できなくなったことはありますか？  ...</p>
<p>The post <a href="https://aisumegane.com/the-story-of-how-i-was-able-to-resume-my-creative-activities/">【創作活動】創作活動ができなくなった話</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[</p>
<h2 class="wp-block-heading">絵を描けなくなった話</h2>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="678" src="https://aisumegane.com/wp-content/uploads/2026/05/8a08a28d2a9e48233880ea2f96141fb3.jpg" alt="" class="wp-image-8447" srcset="https://aisumegane.com/wp-content/uploads/2026/05/8a08a28d2a9e48233880ea2f96141fb3.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/8a08a28d2a9e48233880ea2f96141fb3-300x254.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/8a08a28d2a9e48233880ea2f96141fb3-768x651.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="645" src="https://aisumegane.com/wp-content/uploads/2026/05/5ea68badd18b3925e91670d1a25d112c.jpg" alt="" class="wp-image-8448" srcset="https://aisumegane.com/wp-content/uploads/2026/05/5ea68badd18b3925e91670d1a25d112c.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/5ea68badd18b3925e91670d1a25d112c-300x242.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/5ea68badd18b3925e91670d1a25d112c-768x619.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="753" src="https://aisumegane.com/wp-content/uploads/2026/05/ae8732632d082321b7eea96d7d78fc51.jpg" alt="" class="wp-image-8449" srcset="https://aisumegane.com/wp-content/uploads/2026/05/ae8732632d082321b7eea96d7d78fc51.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/ae8732632d082321b7eea96d7d78fc51-300x282.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/ae8732632d082321b7eea96d7d78fc51-768x723.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="638" src="https://aisumegane.com/wp-content/uploads/2026/05/3f9aab4ec7df1d7fb18526a1256366d6.jpg" alt="" class="wp-image-8450" srcset="https://aisumegane.com/wp-content/uploads/2026/05/3f9aab4ec7df1d7fb18526a1256366d6.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/3f9aab4ec7df1d7fb18526a1256366d6-300x239.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/3f9aab4ec7df1d7fb18526a1256366d6-768x612.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="622" src="https://aisumegane.com/wp-content/uploads/2026/05/509e9c04ea0335fa43d3f23c0dbba3e1.jpg" alt="" class="wp-image-8451" srcset="https://aisumegane.com/wp-content/uploads/2026/05/509e9c04ea0335fa43d3f23c0dbba3e1.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/509e9c04ea0335fa43d3f23c0dbba3e1-300x233.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/509e9c04ea0335fa43d3f23c0dbba3e1-768x597.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="665" src="https://aisumegane.com/wp-content/uploads/2026/05/23f8c17b1ebaa028715dbcf0b18f75c1.jpg" alt="" class="wp-image-8452" srcset="https://aisumegane.com/wp-content/uploads/2026/05/23f8c17b1ebaa028715dbcf0b18f75c1.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/23f8c17b1ebaa028715dbcf0b18f75c1-300x249.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/23f8c17b1ebaa028715dbcf0b18f75c1-768x638.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="739" src="https://aisumegane.com/wp-content/uploads/2026/05/5d595faf0c1d39bdae38cbcde70441f7.jpg" alt="" class="wp-image-8453" srcset="https://aisumegane.com/wp-content/uploads/2026/05/5d595faf0c1d39bdae38cbcde70441f7.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/5d595faf0c1d39bdae38cbcde70441f7-300x277.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/5d595faf0c1d39bdae38cbcde70441f7-768x709.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full is-resized"><img decoding="async" width="581" height="800" src="https://aisumegane.com/wp-content/uploads/2026/05/cb26a6928edd2689373f63f77bdd1a62.jpg" alt="" class="wp-image-8454" style="aspect-ratio:0.7262588382358686;width:797px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/05/cb26a6928edd2689373f63f77bdd1a62.jpg 581w, https://aisumegane.com/wp-content/uploads/2026/05/cb26a6928edd2689373f63f77bdd1a62-218x300.jpg 218w" sizes="(max-width: 581px) 100vw, 581px" /></figure>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="800" height="690" src="https://aisumegane.com/wp-content/uploads/2026/05/90bc3e99f55b716cce61d6d5e25fa784.jpg" alt="" class="wp-image-8455" srcset="https://aisumegane.com/wp-content/uploads/2026/05/90bc3e99f55b716cce61d6d5e25fa784.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/90bc3e99f55b716cce61d6d5e25fa784-300x259.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/90bc3e99f55b716cce61d6d5e25fa784-768x662.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<figure class="wp-block-image size-full is-resized"><img decoding="async" width="541" height="800" src="https://aisumegane.com/wp-content/uploads/2026/05/3a81010f30d91a7e500ed46899c3ecfc.jpg" alt="" class="wp-image-8456" style="aspect-ratio:0.6762568850345717;width:789px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/05/3a81010f30d91a7e500ed46899c3ecfc.jpg 541w, https://aisumegane.com/wp-content/uploads/2026/05/3a81010f30d91a7e500ed46899c3ecfc-203x300.jpg 203w" sizes="(max-width: 541px) 100vw, 541px" /></figure>
</p>
<figure class="wp-block-image size-full is-resized"><img decoding="async" width="800" height="663" src="https://aisumegane.com/wp-content/uploads/2026/05/d89cad546f3c679f5230007836318e37.jpg" alt="" class="wp-image-8457" style="aspect-ratio:1.2066462408673109;width:792px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/05/d89cad546f3c679f5230007836318e37.jpg 800w, https://aisumegane.com/wp-content/uploads/2026/05/d89cad546f3c679f5230007836318e37-300x249.jpg 300w, https://aisumegane.com/wp-content/uploads/2026/05/d89cad546f3c679f5230007836318e37-768x636.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>
</p>
<p class="has-large-font-size"><strong>んで、結局またこんな漫画を描き始めてしまうという・・・</strong></p>
</p>
<p class="has-st-regular-font-size"><strong>やっぱり効率とかなんとか、そんなものばっかり追い求めるのはダメっすね。</strong></p>
</p>
<h2 class="wp-block-heading">皆さんは創作活動できなくなったことはありますか？</h2>
</p>
<p>僕はあります。<br />前々から時々あったんですが、2025年の年末ぐらいですかね？特に顕著に筆が重くなったことがありました。</p>
</p>
<p>やっぱり何かを作るってそれなりに時間がかかるんですよね。<br />何かを作っている最中はもちろん楽しいんですけど、当然うまくいくことばかりではないです。（これは何にでも言えることですが。）</p>
</p>
<p><strong>時間の使い方として、遠目から見たときに、他人と比較したときに、全然人生楽しめてない方なのでは？時間無駄にしてないッ！？</strong></p>
</p>
<p><strong>と思ったが最後、４年間ほぼ毎日絵を描き続けていたにもかかわらず、結構簡単に筆をおけました。</strong></p>
</p>
<p>でもやめてみてわかります。いわゆる、隣の畑は青く見えるというやつです。</p>
<p>絵でもスポーツでもゲームでもなんでも、<br />結局目的を持たずにインスタントに効率ばかりを求めて楽しんでると、満たされないもんです・・・</p>
<p>そしてまた結局、10時間ぐらいかけてこんな漫画を描くような、創作活動に戻ってきてしまうという。。。<br />人間は結局、遠回りをして生きていくのが一番満たされるし、幸せなのかもしれない・・・</p>
</p>
<p>結局時間を使った遠回りっていうのは、知的生命体にとって、豊かな経験を恵んでくれる一番の王道なのかもね。</p></p><p>The post <a href="https://aisumegane.com/the-story-of-how-i-was-able-to-resume-my-creative-activities/">【創作活動】創作活動ができなくなった話</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【自作】古いちゃぶ台を改造して作業机を作成する</title>
		<link>https://aisumegane.com/i-made-a-homemade-experimental-workbench-by-modifying-an-old-low-table/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:12:33 +0000</pubDate>
				<category><![CDATA[自作・改造]]></category>
		<category><![CDATA[木工]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8420</guid>

					<description><![CDATA[<p>引っ越しにでいらなかったのか？ 前のオーナーが残した不要なちゃぶ台があるので、今回はこれを使って作業机を作成します。 既存のテーブルの天板の再利用はありかもしれない 今回適当にちゃぶ台に長い脚をつけて ...</p>
<p>The post <a href="https://aisumegane.com/i-made-a-homemade-experimental-workbench-by-modifying-an-old-low-table/">【自作】古いちゃぶ台を改造して作業机を作成する</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[</p>
<p>引っ越しにでいらなかったのか？</p>
</p>
<p>前のオーナーが残した不要なちゃぶ台があるので、今回はこれを使って作業机を作成します。</p>
</p>
<h2 class="wp-block-heading">既存のテーブルの天板の再利用はありかもしれない</h2>
</p>
<p>今回適当にちゃぶ台に長い脚をつけて作業机としたわけなんですが、意外に古い机を再利用するのはありかもしれません。</p>
</p>
<p>天板となると、そこそこ強度がある&amp;きれいな平面が求められるので、自作となるとホームセンターのラジアタパイン集成材あたりが候補かな～と思います。</p>
</p>
<p>ただ、正直超高いです。</p>
</p>
<p>そこそこ広いテーブルを作ろうと思ったら、天板だけで軽く２万ぐらい行ってしまいます。</p>
</p>
<p>あまり見た目を気にしないのであれば、古い机を中古品店で格安で購入&amp;再利用もありかもしれない。</p>
</p>
<h2 class="wp-block-heading">ちゃぶだい CONVERT</h2>
</p>
<p>今回犠牲になるちゃぶ台はこちら。</p>
</p>
<h3 class="wp-block-heading">改造前のちゃぶ台</h3>
</p>
<p>前のオーナーさんが待ちの家具屋さん的なところで購入されたものらしい。<br />再開発区画だったようで、今はお店の跡形もない模様・・・</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image.jpeg" alt="" class="wp-image-8421" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>奥行と幅十分にあるので、測定器置いても作業スペースは確保できそうです。</p>
</p>
<p>ただしネックになるのは高さ。</p>
</p>
<p>さすがにちゃぶ台なので、３０cm程度しか高さがありません。</p>
</p>
<p>座って作業は結構厳しいので、今回はこれをかさ上げします。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image-1.jpeg" alt="" class="wp-image-8422" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-1.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-1-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>埋め込み式で作られているらしく、簡単に外すことはできなそうです。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="480" height="640" src="https://aisumegane.com/wp-content/uploads/2026/03/image-2.jpeg" alt="" class="wp-image-8423" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-2.jpeg 480w, https://aisumegane.com/wp-content/uploads/2026/03/image-2-225x300.jpeg 225w" sizes="(max-width: 480px) 100vw, 480px" /></figure>
</p>
<p>今回は新しい足をビス止めして、既存のテーブルは一切分解せずに作業を進めることにします。</p>
</p>
<h3 class="wp-block-heading">足の加工</h3>
</p>
<p>足には９ｃｍ角の赤松を使用しました。</p>
</p>
<p>ホームセンターで１本700円程度。</p>
</p>
<p>赤松材は結構表面がざらざらの状態で販売されていることが多いので、しっかりサンディングしていきます。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="480" height="640" src="https://aisumegane.com/wp-content/uploads/2026/03/image-7.jpeg" alt="" class="wp-image-8429" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-7.jpeg 480w, https://aisumegane.com/wp-content/uploads/2026/03/image-7-225x300.jpeg 225w" sizes="(max-width: 480px) 100vw, 480px" /></figure>
</p>
<p>表面磨きが完了したら、角を落としていきます。</p>
</p>
<p>使うのはこちらのコーナー用カンナ。</p>
</p>
<p>大工の祖父からもらったものですが、このタイプのカンナ、かなり便利です。</p>
</p>
<p>ホームセンターなどではあまり見かけない気がしますが、その辺で売ってるもんなんでしょうか？</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="480" height="640" src="https://aisumegane.com/wp-content/uploads/2026/03/image-3.jpeg" alt="" class="wp-image-8424" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-3.jpeg 480w, https://aisumegane.com/wp-content/uploads/2026/03/image-3-225x300.jpeg 225w" sizes="(max-width: 480px) 100vw, 480px" /></figure>
</p>
<p>４本加工が終わったら、次はちゃぶ台に取り付けていきます。</p>
</p>
<p>使用するのは１２０mmの半ねじです。</p>
</p>
<p>ちゃぶ台の天板にビスをぶち込むという、今後も人生で何度あるかわからない貴重な機会・・・</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image-5.jpeg" alt="" class="wp-image-8426" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-5.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-5-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>無事貫通。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image-6.jpeg" alt="" class="wp-image-8427" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-6.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-6-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>今回はちゃぶ台の足の外側に、コの字の囲いをつけて支えるような構造にしてみました。</p>
</p>
<p>赤松はホワイトウッド材と異なり、かなりビスの食いつきがよく、簡単にはへ足らないので、結構剛性があります。</p>
</p>
<p>値段がホワイトウッドより高いのあまり買ったことがなかったのですが、木材の質としてはかなり良い。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image-4.jpeg" alt="" class="wp-image-8425" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-4.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-4-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<h3 class="wp-block-heading">BEFORE &amp; AFTER</h3>
</p>
<p>もともとの作業机。<br />正直クソ狭くて作業がしずらかったです。</p>
</p>
<p>あといちいち座らないと作業できないのも地味に不便でした。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image-8.jpeg" alt="" class="wp-image-8430" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-8.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-8-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>修正後はこんな感じ。</p>
</p>
<p>ぶっちゃけ２時間程度で作ったにしてはかなり満足度高いです。</p>
</p>
<p>ちゃぶ台なので、天板サイズは机というよりもこたつが近いです。<br />奥行きがかなりあり、測定器を置いても十分すぎる作業スペースがあります。</p>
</p>
<p>あと高床にしたので、机下に一時的な保管・作業スペースを作れたのもよかった。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="480" src="https://aisumegane.com/wp-content/uploads/2026/03/image-9.jpeg" alt="" class="wp-image-8428" srcset="https://aisumegane.com/wp-content/uploads/2026/03/image-9.jpeg 640w, https://aisumegane.com/wp-content/uploads/2026/03/image-9-300x225.jpeg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<h2 class="wp-block-heading">まとめ</h2>
</p>
<p>今回は古いちゃぶ台を改造して作業机を作りました。</p>
</p>
<p>意外なことに、ちゃぶ台の天板面積はかなり作業机に合ってました。<br />意外に古い机やこたつを改造してしまうのもありかもしれない。。。</p>
</p>
<p>後々天板が気づまみれになるのは目に見えてますが、こればっかりは仕方ないですね。<br />元がきれいな天板だっただけに、そこだけは少し心残りがあります・・・</p>
</p>
<p>末永くお付き合いいただきましょう。</p>
</p>
<p>それでは、また。</p></p><p>The post <a href="https://aisumegane.com/i-made-a-homemade-experimental-workbench-by-modifying-an-old-low-table/">【自作】古いちゃぶ台を改造して作業机を作成する</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【自作】究極のトイラジコンを自作する：③制御内容決めと基板設計</title>
		<link>https://aisumegane.com/build-the-ultimate-toy-radio-control-car-no-3/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 03:34:39 +0000</pubDate>
				<category><![CDATA[自作・改造]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=7804</guid>

					<description><![CDATA[<p>今回は自作ラジコンの制御に使用する、基板を設計していきます。 回路の設計をする 前回の記事で、トイラジコンで実現したい機能を大まかにまとめました。 今回は回路を作成できるレベルでやりたいことを書き出し ...</p>
<p>The post <a href="https://aisumegane.com/build-the-ultimate-toy-radio-control-car-no-3/">【自作】究極のトイラジコンを自作する：③制御内容決めと基板設計</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[</p>
<p>今回は自作ラジコンの制御に使用する、基板を設計していきます。</p>
</p>
<h2 class="wp-block-heading">回路の設計をする</h2>
</p>
<p>前回の記事で、トイラジコンで実現したい機能を大まかにまとめました。</p>
</p>
<p>今回は回路を作成できるレベルでやりたいことを書き出し &amp; 設計していきます。</p>
</p>
<p>今回は制御ブロックをざっくり決め、ハードウェアの要件を決めてみます。</p>
</p>
<h2 class="wp-block-heading">ブロック図の作成</h2>
</p>
<p>やりたいことをいい感じに落としつつ、全体のシステム図を作成しました。<br />今回はピンアサイン等を柔軟に変更できる割と高級な？マイコンを使用予定なので、ポート配置等まではあまり考えずに決めています。</p>
</p>
<p>後で修正する気がしますが。いったん暫定の仕様として固めます。<br />詳細はソフトウェアの設計部分でブラッシュアップしていきたいと思います。</p>
</p>
<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="640" height="402" src="https://aisumegane.com/wp-content/uploads/2025/08/1-2.jpg" alt="" class="wp-image-7806" style="width:900px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2025/08/1-2.jpg 640w, https://aisumegane.com/wp-content/uploads/2025/08/1-2-300x188.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="640" height="413" src="https://aisumegane.com/wp-content/uploads/2025/08/2-2.jpg" alt="" class="wp-image-7807" style="width:900px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2025/08/2-2.jpg 640w, https://aisumegane.com/wp-content/uploads/2025/08/2-2-300x194.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="381" src="https://aisumegane.com/wp-content/uploads/2025/08/3-2-1024x381.jpg" alt="" class="wp-image-7808" srcset="https://aisumegane.com/wp-content/uploads/2025/08/3-2-1024x381.jpg 1024w, https://aisumegane.com/wp-content/uploads/2025/08/3-2-300x112.jpg 300w, https://aisumegane.com/wp-content/uploads/2025/08/3-2-768x286.jpg 768w, https://aisumegane.com/wp-content/uploads/2025/08/3-2.jpg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<h3 class="wp-block-heading">機能面の整理</h3>
</p>
<p>作成した上記のブロック図について、各部の役割は下記になります。</p>
</p>
<p>①ラジコンの受信機からの信号整理<br />②GPIOデジタル信号でのライト点灯など<br />③スロットル操作用のモータ制御<br />④シフトチェンジ用のサーボモータ&amp;インバータの連携制御<br />⑤インジケータ関連の制御</p>
</p>
<p>そこそこリアルでシフトチェンジができるようなロマンあるラジコンを作りたい・・・というのが今回の目的です。<br />制御内容的には上記の⑥点が実施できれば、悪くない完成度になるのでは・・・・と思います。</p>
</p>
<p>それぞれについて、制御ブロックごとに設計を行っていきます。</p>
</p>
<h2 class="wp-block-heading">ラジコン受信機からの信号処理</h2>
</p>
<h3 class="wp-block-heading">概要</h3>
</p>
<p>今回使用するのは下記のプロポです。</p>
</p>
<div id="rinkerid7480" class="yyi-rinker-contents  yyi-rinker-postid-7480 yyi-rinker-img-m yyi-rinker-catid-90 ">
<div class="yyi-rinker-box">
<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B0D5WJKJ31?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】" data-vars-click-id="amazon_img 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】"><img decoding="async" src="https://m.media-amazon.com/images/I/41dWeI8iSzL._SL160_.jpg"  width="160" height="160" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
<div class="yyi-rinker-info">
<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B0D5WJKJ31?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="amazon_title 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】" data-vars-amp-click-id="amazon_title 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】" >【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】</a>							</div>
<div class="yyi-rinker-detail">
<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
<div class="brand">RadioLink</div>
<div class="price-box">
							</div>
</p></div>
<ul class="yyi-rinker-links">
<li class="amazonlink">
						<a href="https://www.amazon.co.jp/dp/B0D5WJKJ31?tag=aisumegane2-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】"  data-vars-amp-click-id="amazon 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】">Amazon</a>					</li>
<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2FT8FB%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】"  data-vars-amp-click-id="rakuten 7480 【 RadioLink 直営店】技適認定済正規品【T8FB BT】2.4GHz-8CH プロポ 送信機 &#038; (R8EF) レシーバーセット リアルタイムテレメトリ・最大4km制御距離・他社フライトコントローラーにも対応 ・初心者に最適・ラジコン飛行機 (ラジコン プロポ/ドローン配達/農業/工業/ロボット/RCカーなど）【T8FB BT】">楽天市場</a><img decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
</ul></div>
</p></div>
</div>
</p>
<p>それぞれのPMW入力について、下記のような機能を割り当てます。</p>
</p>
<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="640" height="349" src="https://aisumegane.com/wp-content/uploads/2025/08/4-2.jpg" alt="" class="wp-image-7809" style="width:706px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2025/08/4-2.jpg 640w, https://aisumegane.com/wp-content/uploads/2025/08/4-2-300x164.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>CH1(横)：なし<br />CH2(縦)：スロットルの操作 (速度の制御)<br />CH3(横)：ステアリング操作<br />CH4(縦)：なし<br />CH5：マニュアル / アートマ / セミ・オートマ選択<br />CH6：加減速 度合い調節<br />CH7：シフトダウン / シフトアップ<br />CH8：レブリミット調整</p>
</p>
<p>マニュアルシフトに多数の機能を割り当てなければらないため、8chでも足りないぐらいです。<br />ライト類の操作はステアリング操作類に連動させ、特にリモコンから指令は送らない形にしようとと思います。</p>
</p>
<p>PWM仕様については下記の記事にて調査した通り、一般的なラジコン用のPWM仕様なので、これに合わせてマイコン側の処理を作っていきます。</p>
</p>
<p>				<a href="https://aisumegane.com/take-a-look-at-the-specifications-of-the-remote-control-radiolink-t8fb-amp-r8fb-for-general-purpose-r-c/" class="st-cardlink">
				<div class="kanren st-cardbox" >
											<div class="st-cardbox-label"><span style="" class="st-cardbox-label-text">関連記事</span></div>
										<dl class="clearfix">
						<dt class="st-card-img">
																								<img decoding="async" width="800" height="506" src="https://aisumegane.com/wp-content/uploads/2025/03/4.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="https://aisumegane.com/wp-content/uploads/2025/03/4.jpg 800w, https://aisumegane.com/wp-content/uploads/2025/03/4-300x190.jpg 300w, https://aisumegane.com/wp-content/uploads/2025/03/4-768x486.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" />																					</dt>
						<dd>
															<h5 class="st-cardbox-t">【ラジコン】RC用リモコン RadioLink T8FB &amp; R8FB  のPWM仕様を調査してみる</h5>
							
															<div class="st-card-excerpt smanone">
									<p>今回はラジコン用に販売されている汎用の送信機、受信機セットを購入したので、仕様を調査してみます。 基本的にラジコンの送信機、受信機の信号はすべてECUが吸収してくれるのであえて調べようと思ったことはな &#8230; </p>
								</div>
																						<p class="cardbox-more">続きを見る</p>
													</dd>
					</dl>
				</div>
				</a>
				</p>
<p>今回は各チャネルのPWM入力をすべてパルス幅取得で正確に受けることを考えているため、マイコンはタイマ機能が豊富なものが必要そうです。</p>
</p>
<p>あとからピン変更等も行えるよう、各種入出力をソフトウェアで変更可能なものを使います。</p>
</p>
<h3 class="wp-block-heading">回路構成</h3>
</p>
<p>回路構成についてですが、パルス幅測定はマイコンの機能だけでほぼ完結してしまうため、外付けの回路はほぼ不要です。</p>
</p>
<p>もともとパルス幅を電解コンデンサのチャージ&amp;ディスチャージに割り当てて、アナログ電圧の変化を確認してレベルを読み取る・・・</p>
</p>
<p>とかいうクソ面倒なことを考えていたのですが、タイマ機能と割り込みの制御でうまく多チャンネルのパルス幅測定ができそうなロジックを思いついてしまったので、没・・・・。</p>
</p>
<p>基板発注後に変更することになってしまったので謎の部品が実装された状態になってしまってますが、うまい具合にジャンパーさせていくしかなさそうです。。。</p>
</p>
<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="849" height="689" src="https://aisumegane.com/wp-content/uploads/2025/08/image-5.png" alt="" class="wp-image-7815" style="width:659px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2025/08/image-5.png 849w, https://aisumegane.com/wp-content/uploads/2025/08/image-5-300x243.png 300w, https://aisumegane.com/wp-content/uploads/2025/08/image-5-768x623.png 768w" sizes="(max-width: 849px) 100vw, 849px" /></figure>
</p>
<p>ステアリング操作のPWM信号だけは、サーボモータで直接受けることができるため、じかに繋ぐことにします。</p>
</p>
<h2 class="wp-block-heading">②GPIOデジタル信号でのライト点灯など</h2>
</p>
<h3 class="wp-block-heading">概要</h3>
</p>
<p>今回はそこそこリアル感を出したいので、照明、ウィンカー、バックライト、ブレーキランプ等、複数のライトを搭載します。</p>
</p>
<h3 class="wp-block-heading">回路構成</h3>
</p>
<p>エミッタ接地回路をスイッチ代わりに使用します。</p>
</p>
<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="659" src="https://aisumegane.com/wp-content/uploads/2025/08/image-9-1024x659.png" alt="" class="wp-image-7820" style="width:730px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2025/08/image-9-1024x659.png 1024w, https://aisumegane.com/wp-content/uploads/2025/08/image-9-300x193.png 300w, https://aisumegane.com/wp-content/uploads/2025/08/image-9-768x494.png 768w, https://aisumegane.com/wp-content/uploads/2025/08/image-9.png 1260w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>そこそこ電流流せるので、１灯くらいなら高輝度LEDでも耐えれるんじゃ・・・・なかろうか。</p>
</p>
<p>基本的な制御はすべてソフトウェアで実装します。</p>
</p>
<h2 class="wp-block-heading">③スロットル操作用のモータ制御</h2>
</p>
<h3 class="wp-block-heading">概要</h3>
</p>
<p>続いてスロットル用の大きめのモータの制御について。<br />今回割と一番苦労しそうなところかな～と思います。</p>
</p>
<p>モータの回転数制御はフルブリッジインバータを使用します。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="457" height="441" src="https://aisumegane.com/wp-content/uploads/2025/08/6-2.jpg" alt="" class="wp-image-7811" srcset="https://aisumegane.com/wp-content/uploads/2025/08/6-2.jpg 457w, https://aisumegane.com/wp-content/uploads/2025/08/6-2-300x289.jpg 300w" sizes="(max-width: 457px) 100vw, 457px" /></figure>
</p>
<p>幸いPICにはハーフブリッジ、フルブリッジ回路制御用のユニットが組まれており、タイマ1つで4つのFETを制御することができます。</p>
</p>
<p>今回はブラシモータを使用するため、ギヤに磁石を取り付け、ホールセンサを使用して回転数情報を外部から取得します。</p>
</p>
<div id="rinkerid7812" class="yyi-rinker-contents  yyi-rinker-postid-7812 yyi-rinker-img-m yyi-rinker-catid-90 ">
<div class="yyi-rinker-box">
<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B077ZMBTLG?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用" data-vars-click-id="amazon_img 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用"><img decoding="async" src="https://m.media-amazon.com/images/I/51E3KEF9lvL._SL160_.jpg"  width="160" height="153" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
<div class="yyi-rinker-info">
<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B077ZMBTLG?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="amazon_title 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用" data-vars-amp-click-id="amazon_title 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用" >KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用</a>							</div>
<div class="yyi-rinker-detail">
<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
<div class="brand">KKHMF</div>
<div class="price-box">
							</div>
</p></div>
<ul class="yyi-rinker-links">
<li class="amazonlink">
						<a href="https://www.amazon.co.jp/dp/B077ZMBTLG?tag=aisumegane2-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用"  data-vars-amp-click-id="amazon 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用">Amazon</a>					</li>
<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%259B%25E3%2583%25BC%25E3%2583%25AB%25E3%2582%25BB%25E3%2583%25B3%25E3%2582%25B5%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用"  data-vars-amp-click-id="rakuten 7812 KKHMF 5PCS KY-003ホール効果磁気センサモジュールDC 5V Arduino 用">楽天市場</a><img decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
</ul></div>
</p></div>
</div>
</p>
<p>今回はざっくりスピード調節ができればよいだけなので、基本的にduty比を調節するだけですが、シフトアップとシフトダウンのために、「ある程度の回転域にあるか」という情報が必要です。</p>
</p>
<p>エンジン側に相当するモータの回転数、負荷軸に直接影響を受けるギヤボックス側の１番ギヤの回転数をともに比較し、うまい具合に回転数を合わせられないか検討してみます。</p>
</p>
<p>キャリア周波数はいったん5kHz程度に設定してみます。<br />この辺りは知見がないので、やってみて電流のハネがでかすぎる、発熱が厳しすぎる等、具合を見て調節していく予定です。</p>
</p>
<h3 class="wp-block-heading">回路構成</h3>
</p>
<p>回路構成は過剰スペックのFET &amp; フォトカプラと個別電源を4つ使用した贅沢な回路で行きます。<br />（基本的に過剰スペックを選んでおけば、何にも考えなくて済むのではないか・・・と、思います。）</p>
</p>
<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="500" src="https://aisumegane.com/wp-content/uploads/2025/08/image-7-1024x500.png" alt="" class="wp-image-7818" srcset="https://aisumegane.com/wp-content/uploads/2025/08/image-7-1024x500.png 1024w, https://aisumegane.com/wp-content/uploads/2025/08/image-7-300x146.png 300w, https://aisumegane.com/wp-content/uploads/2025/08/image-7-768x375.png 768w, https://aisumegane.com/wp-content/uploads/2025/08/image-7.png 1197w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>コストは<strong>この回路ブロックだけで１００００円</strong>ほどしますが、何度も作るものではないのでよいでしょう。</p>
</p>
<p>ゲート駆動回路の動作は、上下アームともフォトカプラと絶縁電源ユニットを使用してシンプルに仕上げます。</p>
</p>
<p>今回使用しているフォトカプラTLP250ですが、入力側のLEDのON/OFFに対し、下記のように動作が切り替わります。</p>
</p>
<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="576" src="https://aisumegane.com/wp-content/uploads/2023/06/5621deba8a18b839c7a4321764bb05e8-1024x576.png" alt="" class="wp-image-4771" style="width:634px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2023/06/5621deba8a18b839c7a4321764bb05e8-1024x576.png 1024w, https://aisumegane.com/wp-content/uploads/2023/06/5621deba8a18b839c7a4321764bb05e8-300x169.png 300w, https://aisumegane.com/wp-content/uploads/2023/06/5621deba8a18b839c7a4321764bb05e8-768x432.png 768w, https://aisumegane.com/wp-content/uploads/2023/06/5621deba8a18b839c7a4321764bb05e8.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>今回はこれと正負電源ユニットをうまく組み合わせて動作させます。<br />回路構成としては下記のようになります。</p>
</p>
<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="576" src="https://aisumegane.com/wp-content/uploads/2023/06/2a831ec055ed4fee4e1d0936ea40500d-1024x576.png" alt="" class="wp-image-4769" style="width:651px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2023/06/2a831ec055ed4fee4e1d0936ea40500d-1024x576.png 1024w, https://aisumegane.com/wp-content/uploads/2023/06/2a831ec055ed4fee4e1d0936ea40500d-300x169.png 300w, https://aisumegane.com/wp-content/uploads/2023/06/2a831ec055ed4fee4e1d0936ea40500d-768x432.png 768w, https://aisumegane.com/wp-content/uploads/2023/06/2a831ec055ed4fee4e1d0936ea40500d.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>マイコンが0Vを出力しており、フォトカプラ内のLEDが消灯している場合、下記のような状態になります。<br />この時、電源ICからの電圧がフォトカプラの下側のトランジスタを介してNch-FETのゲートに伝わり、FETが確実なレベルでオフします。</p>
</p>
<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="576" src="https://aisumegane.com/wp-content/uploads/2023/06/5f63f49b6b7d98988e1002a4a4f2d6d5-1024x576.png" alt="" class="wp-image-4773" style="width:656px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2023/06/5f63f49b6b7d98988e1002a4a4f2d6d5-1024x576.png 1024w, https://aisumegane.com/wp-content/uploads/2023/06/5f63f49b6b7d98988e1002a4a4f2d6d5-300x169.png 300w, https://aisumegane.com/wp-content/uploads/2023/06/5f63f49b6b7d98988e1002a4a4f2d6d5-768x432.png 768w, https://aisumegane.com/wp-content/uploads/2023/06/5f63f49b6b7d98988e1002a4a4f2d6d5.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>逆にマイコンが5Vを出力し、フォトカプラ内のLEDが点灯した場合、上側のトランジスタを介してゲートに正の電圧が加わり、確実なレベルでオンします。</p>
</p>
<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="576" src="https://aisumegane.com/wp-content/uploads/2023/06/ee3be1d100caf1aa771552d59c2bd436-1024x576.png" alt="" class="wp-image-4772" style="width:657px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2023/06/ee3be1d100caf1aa771552d59c2bd436-1024x576.png 1024w, https://aisumegane.com/wp-content/uploads/2023/06/ee3be1d100caf1aa771552d59c2bd436-300x169.png 300w, https://aisumegane.com/wp-content/uploads/2023/06/ee3be1d100caf1aa771552d59c2bd436-768x432.png 768w, https://aisumegane.com/wp-content/uploads/2023/06/ee3be1d100caf1aa771552d59c2bd436.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>割と動作としてはシンプルかな～と思います。</p>
</p>
<p>下記３点はデメリットですが、自作においてはコストはどーでもいいいので、この回路仕様で行きます。</p>
</p>
<p>・入力側と出力側のGNDが絶縁されているDCDCコンバータしか使用できない<br />・絶縁、正負電源、そこそこの出力電力を併せ持つDCDCコンバータは価格が高い<br />・FETが短絡故障すると電源とフォトカプラがすべて壊れる可能性が高い</p>
</p>
<h2 class="wp-block-heading">④シフトチェンジ用のサーボモータ&amp;インバータの連携制御</h2>
</p>
<p>今回はラジコンに本物の車のようなシフトアップ/シフトダウン操作をさせます。</p>
</p>
<p>このため、スロットル用のモータの電圧の調整は若干複雑です。</p>
</p>
<p>普段使いの車がMTなので、運転中どのような操作を行うかを思い出しながら、下記のような操作をピックアップしてみました。</p>
</p>
<p>●シフトアップ動作<br />①スロットルレバーが倒されたらモータの回転数を徐々に上げる<br />②モータの回転数が一定値(レブリミット)に到達したら、クラッチを切る<br />③変速を行う<br />④2次側ギヤの回転数に合わせてモータの回転数を下げる<br />⑤クラッチをつなぐ<br />⑥モータの回転数を上げる<br />⑦②に戻って８速になるまで繰り返す<br />⑧モータの回転数が一定値(レブリミット)に到達したら、それ以降は状態を維持する</p>
</p>
<p>●シフトダウン動作<br />①スロットルレバーが倒されたら、モータの回転数を徐々に下げる<br />②モータの回転数が一定値(変速閾値)に到達したら、クラッチを切る<br />③変速を行う<br />④2次側ギヤの回転数に合わせてモータの回転数を上げる（ブリッピング動作）<br />⑤クラッチをつなぐ<br />⑥モータの回転数を下げる<br />⑦②戻って１速になるまで繰り返す<br />⑧スロットルレバーが中立に戻ったらモータの回転を停止する</p>
</p>
<p>ソフトウェアでいい感じに間を取り持ちつつ、インバータの出力制御、回転数の監視、複数サーボの制御を行っていきます。<br />（下記のブロック部分）</p>
</p>
<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="381" src="https://aisumegane.com/wp-content/uploads/2025/08/3-2-1024x381.jpg" alt="" class="wp-image-7808" srcset="https://aisumegane.com/wp-content/uploads/2025/08/3-2-1024x381.jpg 1024w, https://aisumegane.com/wp-content/uploads/2025/08/3-2-300x112.jpg 300w, https://aisumegane.com/wp-content/uploads/2025/08/3-2-768x286.jpg 768w, https://aisumegane.com/wp-content/uploads/2025/08/3-2.jpg 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>前回のトランスミッションの動作確認で紹介しましたが、今回のラジコンは変速用のギヤを３つのサーボで動かします。</p>
</p>
<p>全ての機能を１つのマイコンだけで簡潔させる・・・ことができればよかったのですが、マイコン１つでは機能実現に限界があったため、今回は複数マイコンを連携して動作させます。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="458" height="205" src="https://aisumegane.com/wp-content/uploads/2025/08/5-2.jpg" alt="" class="wp-image-7810" srcset="https://aisumegane.com/wp-content/uploads/2025/08/5-2.jpg 458w, https://aisumegane.com/wp-content/uploads/2025/08/5-2-300x134.jpg 300w" sizes="(max-width: 458px) 100vw, 458px" /></figure>
</p>
<p>通信は（面倒なので）特に行わず、直接GPIO信号をマイコンどうしでやり取りして、サブマイコンにシフトチェンジ用の３つのサーボも位置指定を行います。</p>
</p>
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
<div class="wp-block-embed__wrapper">
<iframe title="ラジコン企画用2" width="1060" height="596" src="https://www.youtube.com/embed/MuF8Jr_hsBI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</figure>
</p>
<p>シフトの制御には、SG90より剛性とトルクがある上位機種のSG92Rを使用します。（価格は200円ほど高価）<br />定格電圧は4.8V程度と、制御に使用するマイコンと同じ電圧レベルであるため、制御用のPWMの電圧レベルは、マイコンのものをそのまま使用できそうです。</p>
</p>
<div id="rinkerid7805" class="yyi-rinker-contents  yyi-rinker-postid-7805 yyi-rinker-img-m yyi-rinker-catid-90 ">
<div class="yyi-rinker-box">
<div class="yyi-rinker-image">
							<a href="https://www.amazon.co.jp/dp/B00WQWZXKW?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="amazon_img 7805 マイクロサーボ SG92R (1個)" data-vars-click-id="amazon_img 7805 マイクロサーボ SG92R (1個)"><img decoding="async" src="https://m.media-amazon.com/images/I/51NL-P4TrjL._SL160_.jpg"  width="160" height="143" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
<div class="yyi-rinker-info">
<div class="yyi-rinker-title">
									<a href="https://www.amazon.co.jp/dp/B00WQWZXKW?tag=aisumegane2-22&#038;linkCode=ogi&#038;th=1&#038;psc=1" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="amazon_title 7805 マイクロサーボ SG92R (1個)" data-vars-amp-click-id="amazon_title 7805 マイクロサーボ SG92R (1個)" >マイクロサーボ SG92R (1個)</a>							</div>
<div class="yyi-rinker-detail">
<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
<div class="brand">TOWER PRO</div>
<div class="price-box">
							</div>
</p></div>
<ul class="yyi-rinker-links">
<li class="amazonlink">
						<a href="https://www.amazon.co.jp/dp/B00WQWZXKW?tag=aisumegane2-22&amp;linkCode=ogi&amp;th=1&amp;psc=1" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 7805 マイクロサーボ SG92R (1個)"  data-vars-amp-click-id="amazon 7805 マイクロサーボ SG92R (1個)">Amazon</a>					</li>
<li class="rakutenlink">
						<a href="https://af.moshimo.com/af/c/click?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616&amp;url=https%3A%2F%2Fsearch.rakuten.co.jp%2Fsearch%2Fmall%2F%25E3%2583%259E%25E3%2582%25A4%25E3%2582%25AF%25E3%2583%25AD%25E3%2582%25B5%25E3%2583%25BC%25E3%2583%259C%2BSG92R%2F%3Ff%3D1%26grp%3Dproduct" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 7805 マイクロサーボ SG92R (1個)"  data-vars-amp-click-id="rakuten 7805 マイクロサーボ SG92R (1個)">楽天市場</a><img decoding="async" src="https://i.moshimo.com/af/i/impression?a_id=2951250&amp;p_id=54&amp;pc_id=54&amp;pl_id=616" width="1" height="1" style="border:none;">					</li>
</ul></div>
</p></div>
</div>
</p>
<h2 class="wp-block-heading">⑤インジケータ関連の制御</h2>
</p>
<h3 class="wp-block-heading">概要</h3>
</p>
<p>これはおまけなのですが・・・<br />今回ラジコン本体に、コックピットを作ることを考えています。</p>
</p>
<p>動画撮影でラジコン本体にカメラを挿入して撮影を行い、ちょっと映えるように・・・という狙いです。</p>
</p>
<p>ちょっとやったことがある人ならわかるかもしれませんが、映像を確認するとき、めっちゃ楽しいです。</p>
</p>
<h3 class="wp-block-heading">回路構成</h3>
</p>
<p>レベルインジケータはアナログでの電圧入力と、それに対する出力回路が必要です。<br />手元にICがなかった &amp; 基板の規模をでかくして悦に浸りたいので、無駄にディスクリートを大量消費して下記のような回路構成とします。</p>
</p>
<figure class="wp-block-image size-full is-resized is-style-st-photo-shadow"><img decoding="async" width="869" height="785" src="https://aisumegane.com/wp-content/uploads/2025/08/image-8.png" alt="" class="wp-image-7819" style="width:742px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2025/08/image-8.png 869w, https://aisumegane.com/wp-content/uploads/2025/08/image-8-300x271.png 300w, https://aisumegane.com/wp-content/uploads/2025/08/image-8-768x694.png 768w" sizes="(max-width: 869px) 100vw, 869px" /></figure>
</p>
<p>7セグメントLEDの表示回路はTC4511BPを使用してすっきりまとまってるので対照的・・・</p>
</p>
<h2 class="wp-block-heading">回路構成まとめ</h2>
</p>
<p>最終的には下記のような回路構成となりました。</p>
</p>
<p><a href="https://aisumegane.com/wp-content/uploads/2026/03/9987616f5a8ea3783da835239cd64331.pdf" class="pdfemb-viewer" style="" data-width="max" data-height="max" data-toolbar="bottom" data-toolbar-fixed="on">9987616f5a8ea3783da835239cd64331</a></p>
</p>
<p>マイコンはPIC18F25Q10と、PIC16F1827を選定、タイマ機能が豊富なものを選んでいます。<br />この辺りは回路ではなくソフト設計の際に話したほうが整理できそうなので、のちのソフトウェアの設計まとめ記事で書き出していきたいと思います。</p>
</p>
<h2 class="wp-block-heading">基板設計と組み立て</h2>
</p>
<p>回路図ができたので、次は基板設計を行っていきます。</p>
</p>
<p>基板はいつものごとく２層基板。おまけにベタGNDは敷かないユニバーサル基板スタイルで行きます。</p>
</p>
<p>ノイズ的な話は度外視。</p>
</p>
<p>ぶっちゃけあとからパターン削って経路変更とかできるので、この設計スタイルもあながち悪いことばかりではない気がします。</p>
</p>
<p>今回は慣れ親しんだKiCADを使用していきます。</p>
</p>
<h3 class="wp-block-heading">基板設計</h3>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="348" src="https://aisumegane.com/wp-content/uploads/2026/03/1.jpg" alt="" class="wp-image-8411" srcset="https://aisumegane.com/wp-content/uploads/2026/03/1.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/1-300x163.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>ディスクリートとスルーホールタイプだと、手でつかみやすくて組むのが楽～・・・・<br />なのは確かなんですが、正直穴が多すぎて逆に設計がしずらいです。</p>
</p>
<p>マジで頑張らないとまともなパターンが引けません。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="332" src="https://aisumegane.com/wp-content/uploads/2026/03/2.jpg" alt="" class="wp-image-8412" srcset="https://aisumegane.com/wp-content/uploads/2026/03/2.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/2-300x156.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>何とか試行錯誤しながら、なるべく視覚的にわかりやすい形になるよう、パターン作成していきます。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="348" src="https://aisumegane.com/wp-content/uploads/2026/03/3.jpg" alt="" class="wp-image-8413" srcset="https://aisumegane.com/wp-content/uploads/2026/03/3.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/3-300x163.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>最後に３Dデータに起こして全体の実装を確認します。<br />多分これ、全部SMDにしたらサイズ４分の１ぐらいになるよね・・・・という印象・・・・</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="347" src="https://aisumegane.com/wp-content/uploads/2026/03/4.jpg" alt="" class="wp-image-8414" srcset="https://aisumegane.com/wp-content/uploads/2026/03/4.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/4-300x163.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<h3 class="wp-block-heading">基板組み立て</h3>
</p>
<p>今回はPCBGOGOで基板発注しました。今のところ安くて日本語が使える、優良企業かなと思います。<br />発送は、住所記載ミスなどのトラブルがなければ、２週間程度です。<br />（海外便のDHLなどを使用しているので、住所トラブルなどがあると若干やり取りに難ありです。）</p>
</p>
<p>基板への部品実装は、基本的に背の低いものからはんだ付けしていったほうがよさそうです。<br />おおきい部品からつけていくと、背の低い部品に手が届かなくなるので・・・・</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="370" src="https://aisumegane.com/wp-content/uploads/2026/03/5.jpg" alt="" class="wp-image-8415" srcset="https://aisumegane.com/wp-content/uploads/2026/03/5.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/5-300x173.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>基板実装って楽しいッ！<br />と言いたいところですが、正直この量のスルーホール部品をきれいに実装していくのは苦行です。</p>
</p>
<p>そろそろ表面実装部品デビューしちゃおうかなと思った次第。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="640" height="371" src="https://aisumegane.com/wp-content/uploads/2026/03/6.jpg" alt="" class="wp-image-8416" srcset="https://aisumegane.com/wp-content/uploads/2026/03/6.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/6-300x174.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>最後にマイコンやゲートドライバ用DC電源、MOSFETなどを載せたら完了です。</p>
</p>
<figure class="wp-block-image size-full"><img decoding="async" width="640" height="373" src="https://aisumegane.com/wp-content/uploads/2026/03/7.jpg" alt="" class="wp-image-8417" srcset="https://aisumegane.com/wp-content/uploads/2026/03/7.jpg 640w, https://aisumegane.com/wp-content/uploads/2026/03/7-300x175.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></figure>
</p>
<p>今回LEDやインジケータなどは、べったいにしますが、部品点数が少ないのでユニバーサル基板で行こうと思います。</p>
</p>
<h2 class="wp-block-heading">まとめ</h2>
</p>
<p>今回はこんなところでしょうか。<br />主に制御概要と、回路構成決め、基板作成を行ってみました。</p>
</p>
<p>実は基板作ったのが２０２４年の末なので、結構思い出しながら書いてます・・・・</p>
</p>
<p>ぼちぼち、再開してこうと思います。</p>
</p>
<p>次回はソフトウェアの作成を行っていきます。</p>
</p>
<p>それでは、また。</p></p><p>The post <a href="https://aisumegane.com/build-the-ultimate-toy-radio-control-car-no-3/">【自作】究極のトイラジコンを自作する：③制御内容決めと基板設計</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【PIC】PICマイコンでDAC機能を使用してアナログ”出力”を行う方法を紹介する</title>
		<link>https://aisumegane.com/introducing-how-to-use-the-dac-function-of-a-pic-microcontroller-for-analog-output/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Sun, 08 Mar 2026 03:37:52 +0000</pubDate>
				<category><![CDATA[実験・調査]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8260</guid>

					<description><![CDATA[<p>今回はPICマイコンでアナログ電圧を出力する方法を紹介してみます。 デバッグ等、非常に便利に使える機能です。 DAC機能とは？ まずDAC機能についてざっくり説明してみます。 DAC機能は、Digit ...</p>
<p>The post <a href="https://aisumegane.com/introducing-how-to-use-the-dac-function-of-a-pic-microcontroller-for-analog-output/">【PIC】PICマイコンでDAC機能を使用してアナログ”出力”を行う方法を紹介する</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[</p>
<p>今回はPICマイコンでアナログ電圧を出力する方法を紹介してみます。</p>
</p>
<p>デバッグ等、非常に便利に使える機能です。</p>
</p>
<p>				<a href="https://aisumegane.com/list-of-pic-microcontroller-function-usage/" class="st-cardlink">
				<div class="kanren st-cardbox" >
											<div class="st-cardbox-label"><span style="" class="st-cardbox-label-text">関連記事</span></div>
										<dl class="clearfix">
						<dt class="st-card-img">
																								<img decoding="async" width="640" height="445" src="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg 640w, https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f-300x209.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" />																					</dt>
						<dd>
															<h5 class="st-cardbox-t">【PICマイコン】PICマイコンの 各種機能の使い方を紹介する</h5>
							
															<div class="st-card-excerpt smanone">
									<p>PICマイコン勉強中。 ぼちぼち更新していく予定。 PICマイコンの使い方をまとめてみる 割とネットにサンプル集がない &amp; 自分で新規処理作ろうとしたときに設計背景思い出したくなることが多々あ &#8230; </p>
								</div>
																						<p class="cardbox-more">続きを見る</p>
													</dd>
					</dl>
				</div>
				</a>
				</p>
<h2 class="wp-block-heading">DAC機能とは？</h2>
</p>
<p>まずDAC機能についてざっくり説明してみます。</p>
</p>
<p>DAC機能は、Digital Analog Converter の略です。</p>
</p>
<p><strong>直訳、デジタルをアナログに変換、です。</strong></p>
</p>
<p><strong>機能は言葉の通り、マイコン内部のソフトウェアの数値を、ポートからアナログ電圧情報として出力できるというものです。</strong></p>
</p>
<p>マイコンにはADC機能というものもありますが、これはアナログ電圧をマイコン内部で使用できるデジタル値に変換する機能です。</p>
</p>
<p>DAC機能はADC機能の逆方向の機能になります。</p>
</p>
<h2 class="wp-block-heading">今回作成したプログラム</h2>
</p>
<p>まず最初にプログラム全体を示します。</p>
</p>
<p>プログラムの動作内容は下記です。</p>
</p>
<p class="is-style-st-paragraph-check has-large-font-size">DACを使用し0~5Vの出力を周期的に繰り返す<br />（＋定期的な処理のデバッグ出力）</p>
</p>
<p>一応、最小限の設定でPWM出力するプログラムになっていると、、、思います。</p>
</p>
<p>少々長いですが、ほとんどコメントです。</p>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-c" data-lang="C"><code>/* PIC16F1827 Configuration Bit Settings */

/* &#39;C&#39; source line config statements */

/* CONFIG1 */
#pragma config FOSC = INTOSC    // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin)
#pragma config WDTE = OFF       // Watchdog Timer Enable (WDT disabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable (PWRT disabled)
#pragma config MCLRE = ON       // MCLR Pin Function Select (MCLR/VPP pin function is MCLR)
#pragma config CP = OFF         // Flash Program Memory Code Protection (Program memory code protection is disabled)
#pragma config CPD = OFF        // Data Memory Code Protection (Data memory code protection is disabled)
#pragma config BOREN = ON       // Brown-out Reset Enable (Brown-out Reset enabled)
#pragma config CLKOUTEN = OFF   // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
#pragma config IESO = ON        // Internal/External Switchover (Internal/External Switchover mode is enabled)
#pragma config FCMEN = ON       // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is enabled)

/* CONFIG2 */
#pragma config WRT = OFF        // Flash Memory Self-Write Protection (Write protection off)
#pragma config PLLEN = ON       // PLL Enable (4x PLL enabled)
#pragma config STVREN = OFF      // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will cause a Reset)
#pragma config BORV = LO        // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), low trip point selected.)
#pragma config LVP = ON         // Low-Voltage Programming Enable (Low-voltage programming enabled)

/* #pragma config statements should precede project file includes. */
/* Use project enums instead of #define for ON and OFF. */

/*==========================================================================================================================================*/



/*
 * File:   main.c
 * Author: ICE_MEGANE
 *
 * Created on 2020/03/5, 22:26
 */

#include &lt;xc.h&gt;


/* 共通マクロ設定 */
#define     CLEAR   0U
#define     SET     1U

/* 共通型名称 */
typedef  unsigned char   u8;
typedef  unsigned short  u16;
typedef  unsigned long   u32;


/* 関数プロトタイプ宣言 */
static void func_main_s_variable_init( void );
static void func_main_s_register_setup( void );
static void func_main_s_program_start( void );
static void func_main_s_loop( void );
static void func_main_s_timer4_match_int_task( void );

/* 変数宣言 */
static u8 u8_main_s_loop_go;
static u8 u8_main_s_20ms_task_flag;
static u8 u8_main_s_dacout_step;

/**************************************************************/
/*  Function:                                                 */
/*  main task                                                 */
/*                                                            */
/**************************************************************/
void main(void)
{   
    func_main_s_register_setup();       /* レジスタ初期化 */
    func_main_s_variable_init();        /* 変数初期化 */
    func_main_s_program_start();        /* プログラム開始設定 */

    while(1)
    { /* 20ms 周期タスク */
        if( u8_main_s_loop_go == SET )
        {
            func_main_s_loop();
            u8_main_s_loop_go = CLEAR;
        }
    }
}



/**************************************************************/
/*  Function:                                                 */
/*  割り込み処理                                               */
/*  割り込み発生時にここに来る                                  */
/**************************************************************/
void __interrupt() isr( void )
{
    if( (PIR3 & 0x02U) != 0  )
    { /* TMR4 一致割り込み発生 */
        func_main_s_timer4_match_int_task();        /* TMR4 一致割り込み処理 */

        PIR3 &= (u8)~0x02U;      /* 割り込みフラグクリア */
    }
}





/*******************/
/* static function */
/*******************/
/**************************************************************/
/*  Function:                                                 */
/*  メインループ処理                                           */
/*                                                            */
/**************************************************************/
static void func_main_s_loop( void )
{
    u8 u8_loop_cnt;

    /* テスト出力 */
    /* 20ms感覚で出力反転 */
    if( u8_main_s_20ms_task_flag == CLEAR )
    {
        u8_main_s_20ms_task_flag = SET;
        PORTA |= 0x01U;      /* RA0 : HI */
    }
    else
    {
        u8_main_s_20ms_task_flag = CLEAR;
        PORTA &= 0x00U;      /* RA0 : LOW */
    }

    /* DAC出力設定 */
    DACCON1 = u8_main_s_dacout_step;

    u8_main_s_dacout_step++;
    if( u8_main_s_dacout_step &gt;= (u8)32 )
    { /* のこぎり波で設定 */
        u8_main_s_dacout_step = (u8)0;
    }
}


/**************************************************************/
/*  Function:                                                 */
/*  変数初期設定                                               */
/*                                                            */
/**************************************************************/
static void func_main_s_variable_init( void )
{
    u8_main_s_loop_go = CLEAR;
    u8_main_s_20ms_task_flag = CLEAR;
    u8_main_s_dacout_step = CLEAR;
}


/**************************************************************/
/*  Function:                                                 */
/*  レジスタ初期設定                                            */
/*                                                            */
/**************************************************************/
static void func_main_s_register_setup( void )
{
    /* クロック周波数設定 */
    /*=================================================================*/
                            /*  +------------------------- 7 : SPLLEN  */ /* PLL 無効化 ※#pragmaセクションで設定したので、実際は常時許可状態(datasheet P.67) */
                            /*  | +----------------------- 6 : IRCF&lt;3&gt; */ /* 1110 : 32MHz HFINTOSC に設定 */
                            /*  | | +--------------------- 5 : IRCF&lt;2&gt; */ 
                            /*  | | | +------------------- 4 : IRCF&lt;1&gt; */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : IRCF&lt;0&gt; */
                            /*  | | | |     | +----------- 2 : -       */
                            /*  | | | |     | | +--------- 1 : SCS&lt;1&gt;  */ /* 00 : FOSC ※#pragmaセクションで設定している */
                            /*  | | | |     | | | + ------ 0 : SCS&lt;0&gt;  */
    OSCCON =  0x70U;         /*  0 1 1 1  -  0 # 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/


    /* クロック周波数微調整 */
    /*=================================================================*/

                            /*  +------------------------- 7 : -       */
                            /*  | +----------------------- 6 : -       */
                            /*  | | +--------------------- 5 : TUN5    */
                            /*  | | | +------------------- 4 : TUN4    */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : TUN3    */
                            /*  | | | |     | +----------- 2 : TUN2    */
                            /*  | | | |     | | +--------- 1 : TUN1    */
                            /*  | | | |     | | | + ------ 0 : TUN0    */
    OSCTUNE =  0x00U;        /*  0 0 0 0  -  0 0 1 1                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /* 特に調整するつもりはないので初期設定                               */
    /*=================================================================*/


    /* Option register setup */
    /* 今回は#pragmaセクションで設定したので、設定しなくてもOK。 */


    /* 割り込み設定 1 */
    /*=================================================================*/
                            /*  +------------------------- 7 : GIE     */   /* 全体割り込み 許可 */
                            /*  | +----------------------- 6 : PEIE    */   /* ペリフェラル割り込み 許可 */
                            /*  | | +--------------------- 5 : TMR0IE  */   /* タイマ0割り込み 禁止 */
                            /*  | | | +------------------- 4 : INTE    */   /* 外部割込み 禁止 */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : IOCIE   */   /* 外部ピン変化割り込み 禁止 */
                            /*  | | | |     | +----------- 2 : TMR0IF  */   /* タイマ0 オーバーフロー割り込み禁止 */
                            /*  | | | |     | | +--------- 1 : INTF    */   /* 外部割込みフラグ クリア */
                            /*  | | | |     | | | + ------ 0 : IOCIF   */   /* 外部ピン変化割り込みフラグ クリア */
    INTCON =  0x40U;        /*  0 1 0 0  -  0 0 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /* 初期化時点では全体割り込みは無効化しておく                          */
    /*=================================================================*/


    /* 割り込み設定 2 */
    /*=================================================================*/

                            /*  +------------------------- 7 : -       */
                            /*  | +----------------------- 6 : -       */
                            /*  | | +--------------------- 5 : CCP4IE  */   /* CCP4割り込み 禁止 */
                            /*  | | | +------------------- 4 : CCP3IE  */   /* CCP3割り込み 禁止 */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : TMR6IE  */   /* タイマ6 一致割り込み 禁止 */
                            /*  | | | |     | +----------- 2 : -       */
                            /*  | | | |     | | +--------- 1 : TMR4IE  */   /* タイマ4 一致割り込み 許可 */
                            /*  | | | |     | | | + ------ 0 : -       */
    PIE3 = 0x02U;           /*  0 0 0 0  -  0 0 1 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/


    /* 割り込み設定 3 */
    /*=================================================================*/

                            /*  +------------------------- 7 : -       */
                            /*  | +----------------------- 6 : -       */
                            /*  | | +--------------------- 5 : CCP4IF  */   /* CCP4割り込みフラグ クリア */
                            /*  | | | +------------------- 4 : CCP3IF  */   /* CCP3割り込みフラグ クリア */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : TMR6IF  */   /* タイマ6 一致割り込みフラグ クリア */
                            /*  | | | |     | +----------- 2 : -       */
                            /*  | | | |     | | +--------- 1 : TMR4IF  */   /* タイマ4 一致割り込みフラグ クリア */
                            /*  | | | |     | | | + ------ 0 : -       */
    PIR3 = 0x00U;            /*  0 0 0 0  -  0 0 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/

    /* ポート入出力方向設定 */
    /*=================================================================*/

                            /*  +------------------------- 7 : TRISA7  */
                            /*  | +----------------------- 6 : TRISA6  */
                            /*  | | +--------------------- 5 : TRISA5  */
                            /*  | | | +------------------- 4 : TRISA4  */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : TRISA3  */
                            /*  | | | |     | +----------- 2 : TRISA2  */
                            /*  | | | |     | | +--------- 1 : TRISA1  */
                            /*  | | | |     | | | + ------ 0 : TRISA0  */
    TRISA = 0x20U;          /*  0 0 1 0  -  0 0 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /* 0:出力、1:入力                                                   */
    /* RA4は入力専用ポートなので注意                                     */
    /*=================================================================*/


    /* ポート出力データ設定 */
    /*=================================================================*/

                            /*  +------------------------- 7 : RA7     */
                            /*  | +----------------------- 6 : RA6     */
                            /*  | | +--------------------- 5 : RA5     */
                            /*  | | | +------------------- 4 : RA4     */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : RA3     */
                            /*  | | | |     | +----------- 2 : RA2     */
                            /*  | | | |     | | +--------- 1 : RA1     */
                            /*  | | | |     | | | + ------ 0 : RA0     */
    PORTA = 0x00U;           /*  0 0 0 0  -  0 0 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/


    /* タイマ4の設定 */
    /* ※一致割り込みを使用するだけなら、CCPの設定はいらない */
    /* タイマレジスタ初期化 */
    /*=================================================================*/

                            /*  +------------------------- 7 :         */
                            /*  | +----------------------- 6 :         */
                            /*  | | +--------------------- 5 :         */
                            /*  | | | +------------------- 4 :         */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 :         */
                            /*  | | | |     | +----------- 2 :         */
                            /*  | | | |     | | +--------- 1 :         */
                            /*  | | | |     | | | + ------ 0 :         */
    TMR4 = 0xFFU;            /*  0 0 0 0  -  0 0 1 1                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/
    

    /* タイマ4初期設定 */
    /* 今回は100msの定期割り込みを発生させたい */
    /*====================================================================*/
                            /*  +------------------------- 7 : -          */
                            /*  | +----------------------- 6 : TxOUTPS&lt;3&gt; */    /* タイマ4 ポストスケーラ：1001 -&gt; 1/10 */
                            /*  | | +--------------------- 5 : TxOUTPS&lt;2&gt; */
                            /*  | | | +------------------- 4 : TxOUTPS&lt;1&gt; */
                            /*  | | | |                                   */
                            /*  | | | |     +------------- 3 : TxOUTPS&lt;0&gt; */
                            /*  | | | |     | +----------- 2 : TMRxON     */    /* タイマ4動作 停止 */
                            /*  | | | |     | | +--------- 1 : TxCKPS&lt;1&gt;  */    /* タイマ4 プリスケーラ：11 -&gt; 1/64 */
                            /*  | | | |     | | | + ------ 0 : TxCKPS&lt;0&gt;  */
    T4CON = 0x4BU;          /*  0 1 0 0  -  1 0 1 1            */
    /*--------------------------------------------------------------------*/
    /* memo                                                               */
    /* クロック:32MHz                                                      */
    /* ペリフェラルクロック：Fosc/4 = 8MHz                                  */
    /* 割り込みポストスケーラ：1:10 -&gt; 800kHz                               */
    /* プリスケーラ：1/64 -&gt; 12,500Hz                                      */
    /* 一致カウント数設定：250 -&gt; 12,500/250 = 50Hz -&gt; 20ms                 */
    /*====================================================================*/


    /* タイマ4 一致割り込み発生数値 */
    /*=================================================================*/
                            /*  +------------------------- 7 :         */
                            /*  | +----------------------- 6 :         */
                            /*  | | +--------------------- 5 :         */
                            /*  | | | +------------------- 4 :         */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 :         */
                            /*  | | | |     | +----------- 2 :         */
                            /*  | | | |     | | +--------- 1 :         */
                            /*  | | | |     | | | + ------ 0 :         */
    PR4 = 0x7DU;            /*  1 1 1 1  -  1 0 1 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /* 125:10ms相当に設定                                               */
    /*=================================================================*/


    /* DAC設定1 */
    /*=================================================================*/
                            /*  +------------------------- 7 : DACEN   */   /* DAC機能 有効 */
                            /*  | +----------------------- 6 : DACLPS  */   /* DAC省電力 無効 */
                            /*  | | +--------------------- 5 : DACOE   */   /* DAC出力 有効 */
                            /*  | | | +------------------- 4 : -       */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : DACPSS1 */   /* DAC HI側基準電圧：VCC 5V */
                            /*  | | | |     | +----------- 2 : DACPSS0 */
                            /*  | | | |     | | +--------- 1 : -       */
                            /*  | | | |     | | | + ------ 0 : DACNSS  */   /* DAC LO側基準電圧：GND */
    DACCON0 = 0xA0U;        /*  1 0 1 0  -  0 0 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/
    

    /* DAC設定2 */
    /*=================================================================*/
                            /*  +------------------------- 7 : -       */
                            /*  | +----------------------- 6 : -       */
                            /*  | | +--------------------- 5 : -       */
                            /*  | | | +------------------- 4 : DACR4   */   /* 0/32 -&gt; 0V設定  */
                            /*  | | | |                                */
                            /*  | | | |     +------------- 3 : DACR3   */
                            /*  | | | |     | +----------- 2 : DACR2   */
                            /*  | | | |     | | +--------- 1 : DACR1   */
                            /*  | | | |     | | | + ------ 0 : DACR0   */
    DACCON1 = 0x00U;        /*  1 0 0 0  -  0 0 0 0                    */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/


    /* テンプレート */
    /*=========================================================*/

                            /*  +------------------------- 7 : */
                            /*  | +----------------------- 6 : */
                            /*  | | +--------------------- 5 : */
                            /*  | | | +------------------- 4 : */
                            /*  | | | |                        */
                            /*  | | | |     +------------- 3 : */
                            /*  | | | |     | +----------- 2 : */
                            /*  | | | |     | | +--------- 1 : */
                            /*  | | | |     | | | + ------ 0 : */
        /*  0 0 0 0  -  0 0 1 1            */
    /*-----------------------------------------------------------------*/
    /* memo                                                            */
    /*                                                                 */
    /*=================================================================*/
}


/**************************************************************/
/*  Function:                                                 */
/*  プログラム開始直前の設定                                    */
/*                                                            */
/**************************************************************/
static void func_main_s_program_start( void )
{
    T4CON  |= 0x04U;     /* タイマ4 動作開始 */
    INTCON |= 0x80U;     /* 全体割り込み許可 */
}


/**************************************************************/
/*  Function:                                                 */
/*  タイマ4 一致割り込み処理                                    */
/*                                                            */
/**************************************************************/
static void  func_main_s_timer4_match_int_task( void )
{
    u8_main_s_loop_go = SET;
}


</code></pre>
</div>
</p>
<h2 class="wp-block-heading">プログラムの動作結果</h2>
</p>
<p>今回のプログラムの測定位置は下記になります。</p>
</p>
<figure class="wp-block-image size-large is-resized is-style-st-photo-shadow"><img decoding="async" width="1024" height="641" src="https://aisumegane.com/wp-content/uploads/2026/02/image-11-1024x641.png" alt="" class="wp-image-8287" style="aspect-ratio:1.5975592844265705;width:597px;height:auto" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-11-1024x641.png 1024w, https://aisumegane.com/wp-content/uploads/2026/02/image-11-300x188.png 300w, https://aisumegane.com/wp-content/uploads/2026/02/image-11-768x481.png 768w, https://aisumegane.com/wp-content/uploads/2026/02/image-11.png 1183w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="1024" height="630" src="https://aisumegane.com/wp-content/uploads/2026/02/RigolDS0.png" alt="" class="wp-image-8285" srcset="https://aisumegane.com/wp-content/uploads/2026/02/RigolDS0.png 1024w, https://aisumegane.com/wp-content/uploads/2026/02/RigolDS0-300x185.png 300w, https://aisumegane.com/wp-content/uploads/2026/02/RigolDS0-768x473.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>黄色は今回作成した10msのタイマ割り込み毎の出力、<br />水色はDACの出力になります。</p>
</p>
<p>ソフト内で設定した数値をもとに、アナログ電圧として０～５Vが出力されていることが確認できます。<br />（レギュレータ出力が完全でない&amp;若干出力が鈍るので0.3Vぐらいマイナスになってます）</p>
</p>
<p>今回はバッファ回路などを接続せずポートのDAC出力をそのままプローブ測定したため、若干出力がなまっている、振動しているよ鵜にも見えます。<br />マイコンのDACなので、そこまで出力能力はないです。<br />使用時はちゃんとバッファをつなぎましょう。</p>
</p>
<h2 class="wp-block-heading">詳細設定など</h2>
</p>
<p>細かい設定について説明していきます。</p>
</p>
<h3 class="wp-block-heading">クロック周りの設定</h3>
</p>
<p>クロック周りの設定は今回は割愛します。</p>
</p>
<p>PWM出力をテストした記事で説明しているため、下記参照。</p>
</p>
<h3 class="wp-block-heading">ブロック図を見てざっくり機能を把握する</h3>
</p>
<p>最初にブロック図の確認をして機能を確認します。</p>
</p>
<p>今回のマイコンについているDACは、一般的なラダー抵抗タイプです。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="698" height="603" src="https://aisumegane.com/wp-content/uploads/2026/02/image.jpg" alt="" class="wp-image-8261" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image.jpg 698w, https://aisumegane.com/wp-content/uploads/2026/02/image-300x259.jpg 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>
</p>
<p>このブロック図からは下記の仕様が読み取れます。</p>
</p>
<p>・アナログ出力は32段階で表現できる</p>
</p>
<p>・出力電圧の基準点は、VDDや専用ピンVREF+の入力電圧に設定できる</p>
</p>
<p>・DACの出力は、出力部のFETとDACのラダー上部のFETの２つで切ることができる。</p>
</p>
<p>・消費電力を抑えるためにラダー抵抗の上下の電源経路を切断し、待機電流を減らすことができる。</p>
</p>
<p>DACLPSはぱっと見何をするためのビットなのか若干わかりにくいですが、DACENが0でDAC機能が無効となっている際、さらに消費電力を抑える際に使える模様・・・・</p>
</p>
<p>以降、どう意図で各ビットを設定したか、書いてみたいと思います。</p>
</p>
<h3 class="wp-block-heading">DAC基準電圧 / 機能の有効無効選択 / 出力有効無効</h3>
</p>
<figure class="wp-block-image size-large is-style-st-photo-shadow"><img decoding="async" width="1024" height="148" src="https://aisumegane.com/wp-content/uploads/2026/02/image-10-1024x148.png" alt="" class="wp-image-8286" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-10-1024x148.png 1024w, https://aisumegane.com/wp-content/uploads/2026/02/image-10-300x43.png 300w, https://aisumegane.com/wp-content/uploads/2026/02/image-10-768x111.png 768w, https://aisumegane.com/wp-content/uploads/2026/02/image-10.png 1090w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>今回は下記のように設定しました。</p>
</p>
<p>DACEN：1</p>
</p>
<p>-&gt; DAC機能を使うため、有効化。（上下の電源供給を有効化）</p>
</p>
<p>DACLPS：0</p>
</p>
<p>-&gt; DAC機能を使っている間は、0でも1でも影響なし。スリープするわけでもないので常時電源は生かしておく。</p>
</p>
<p>DACOE：0</p>
</p>
<p>　-&gt;アナログ電圧を出すときに有効化する。いったん出力停止。</p>
</p>
<p>DACPSS＜1:0＞：00</p>
</p>
<p>　-&gt;DACのラダー抵抗上部の電圧(最高出力電圧)は、VDD(電源入力の5V)を使用する。</p>
</p>
<p>DACNSS：0</p>
</p>
<p>　-&gt;DACのラダー抵抗下部の電圧(最低出力電圧)は、VSS(GND)を使用する。</p>
</p>
<h3 class="wp-block-heading">出力電圧設定</h3>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="698" height="106" src="https://aisumegane.com/wp-content/uploads/2026/02/image-1.jpg" alt="" class="wp-image-8262" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-1.jpg 698w, https://aisumegane.com/wp-content/uploads/2026/02/image-1-300x46.jpg 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>
</p>
<p>DACR&lt;4:0&gt;：0-0000</p>
</p>
<p>　-&gt;いったん出力電圧は0Vに設定しておきます。</p>
</p>
<p>DAC出力電圧をこのレジスタで設定することになりますが、ビット設定と出力電圧の関係は下記のような式で表されます。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="480" height="206" src="https://aisumegane.com/wp-content/uploads/2026/02/image.png" alt="" class="wp-image-8266" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image.png 480w, https://aisumegane.com/wp-content/uploads/2026/02/image-300x129.png 300w" sizes="(max-width: 480px) 100vw, 480px" /></figure>
</p>
<p>今回はVSRC+ = 5V、VSRC- = 0Vとしたため、出力電圧の刻み幅は0～5Vの間を32分割した156mVになります。<br />分子のDACRの設定値により何割の出力を出すかを決めることができます。</p>
</p>
<p>分解能32段階(5bit)って少なすぎんか・・・？</p>
</p>
<p>と思うかもしれませんが、VSRC+やVSRC-の入力をVREFにして外部で調整したりすれば、より細かい電圧での出力が可能になります。</p>
</p>
<p>今回は0～5Vをフルレンジとしているため、電圧の刻み幅は、訳0.15Vとなります、<br />（ちょっとした工作なら十分かと思うが、デバッグ用には厳しいかも？）</p>
</p>
<h2 class="wp-block-heading">まとめ</h2>
</p>
<p>今回はPICマイコンのDAC機能を試してみました。</p>
</p>
<p>32段階とはいえ、ソフトウェアの設定だけで精度よくアナログ電圧を設定できるので、結構便利に使えるのではと思います。<br />出力バッファがないので、実際に回路に組み込んでい称する際はボルテージフォロワ等の回路が必須です。</p>
</p>
<p>また何かあれば紹介してみたいと思います。</p>
</p>
<p>				<a href="https://aisumegane.com/list-of-pic-microcontroller-function-usage/" class="st-cardlink">
				<div class="kanren st-cardbox" >
											<div class="st-cardbox-label"><span style="" class="st-cardbox-label-text">関連記事</span></div>
										<dl class="clearfix">
						<dt class="st-card-img">
																								<img decoding="async" width="640" height="445" src="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg 640w, https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f-300x209.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" />																					</dt>
						<dd>
															<h5 class="st-cardbox-t">【PICマイコン】PICマイコンの 各種機能の使い方を紹介する</h5>
							
															<div class="st-card-excerpt smanone">
									<p>PICマイコン勉強中。 ぼちぼち更新していく予定。 PICマイコンの使い方をまとめてみる 割とネットにサンプル集がない &amp; 自分で新規処理作ろうとしたときに設計背景思い出したくなることが多々あ &#8230; </p>
								</div>
																						<p class="cardbox-more">続きを見る</p>
													</dd>
					</dl>
				</div>
				</a>
				</p>
<h2 class="wp-block-heading">おまけ：ラダー抵抗のリファレンス電圧選択機能を試してみる</h2>
</p>
<p>DACの使い方については以上で終わりですが、もう少し高度なこともできるようなブロック図になっていますので、試してみたいと思います。</p>
</p>
<h3 class="wp-block-heading">おまけ：内部リファレンス電圧の設定</h3>
</p>
<p>DACを単純に使用するのであれば以上で設定は完了ですが、関連の設定レジスタがもう１つだけあります。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="697" height="146" src="https://aisumegane.com/wp-content/uploads/2026/02/image-2.jpg" alt="" class="wp-image-8263" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-2.jpg 697w, https://aisumegane.com/wp-content/uploads/2026/02/image-2-300x63.jpg 300w" sizes="(max-width: 697px) 100vw, 697px" /></figure>
</p>
<p>FVRレジスタは、マイコン内部に搭載された基準電圧モジュールを制御できます。</p>
</p>
<p>マイコンでは基本的に電源電圧を基準として全体の制御を統率することが多いですが、内部に設けられたレギュレータを開始、マイコンの電源電圧の変動によらない固定電圧を使用するこ都ができます。</p>
</p>
<p>マイコンの電源が5Vなので、それより小さい電圧を生成する三端子レギュレータが中に入っている・・・みたいなイメージです。</p>
</p>
<p>FVR関連のブロック図は下記です。<br />（DACとはまた別のモジュールのため、ブロック図が別にあります。）</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="697" height="317" src="https://aisumegane.com/wp-content/uploads/2026/02/image-4.jpg" alt="" class="wp-image-8265" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-4.jpg 697w, https://aisumegane.com/wp-content/uploads/2026/02/image-4-300x136.jpg 300w" sizes="(max-width: 697px) 100vw, 697px" /></figure>
</p>
<p>このブロック図から、1.024Vの基準電圧を、1、２，４倍して利用できることが読み取れます。</p>
</p>
<p>また、ないぶでは２つに分岐しており、ゲインを２つ設定してBUFFER1とBUFFER2とで、異なる電圧を使えることがわかります。</p>
</p>
<p>これは結構便利そう。<br />いまいち用途が思いつかんけど。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="698" height="102" src="https://aisumegane.com/wp-content/uploads/2026/02/image-3.jpg" alt="" class="wp-image-8264" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-3.jpg 698w, https://aisumegane.com/wp-content/uploads/2026/02/image-3-300x44.jpg 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>
</p>
<p>それぞれのビットの設定内容を説明してみます。</p>
</p>
<p>あとで２つ目のサンプルで設定して遊んでみますが、いったん内容だけさらっと説明してみます。</p>
</p>
<p>FVREN</p>
</p>
<p>-&gt;基準電圧生成機能の有効/無効を切り替える。<br />FVRRDY：</p>
</p>
<p>　-&gt;基準電圧を利用できるかのフラグビット。読み取り専用。PIC16F1827だと1固定だそうな。。。</p>
</p>
<p>CDAFVR&lt;1:0&gt;：</p>
</p>
<p>　-&gt;DACと内蔵コンパレータの基準電圧を選択する。出力無効か、1.024V、2.048V、4.096Vの3種類から選べる。</p>
</p>
<p>ADFVR&lt;1:0&gt;：</p>
</p>
<p>　-&gt;ADCの基準電圧を選択する。出力無効か、1.024V、2.048V、4.096Vの3種類から選べる。</p>
</p>
<p>設定は以上です。</p>
</p>
<p>この基準電圧をどこでどのように使うか・・・ですが、もう一度DACのブロック図の上部を見てみると、下記のような記載があります。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="698" height="278" src="https://aisumegane.com/wp-content/uploads/2026/02/image-5.jpg" alt="" class="wp-image-8267" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-5.jpg 698w, https://aisumegane.com/wp-content/uploads/2026/02/image-5-300x119.jpg 300w" sizes="(max-width: 698px) 100vw, 698px" /></figure>
</p>
<p>ラダー抵抗の基準電圧をVDDではなく1.024V、2.048V、4.096Vから選んで使いたい場合は、DACPSSビットとFVRユニットのCDAFVR1を設定すればよい・・・というわけです。</p>
</p>
<h3 class="wp-block-heading">おまけ２：基準電圧をFVR BUFFER2にして切り替えたらどんな感じで出力できるのか？</h3>
</p>
<p>基準電圧をFVR BUFFER2にすると、VDDよりも小さい電圧を基準に32分割するため、より細かい出力を行うことができるとわかりました。</p>
</p>
<p>残念ながら負側の電圧源は、マイコン内部ではVSSしか参照できないので、徐々にオフセットを加えながら32分割して、常時高い分解能で電圧を出力・・・・・</p>
</p>
<p>なんてことはできません。</p>
</p>
<p>全体の電圧マップとしては下記のようになります。</p>
</p>
<p>下側だけならちょっと分解能を上げることができる、そんなところでしょう。</p>
</p>
<p>個人的に動いている最中に切り替えたらどんな挙動になるのか気になったので、下記のようなソースをつくって試してみました。</p>
</p>
<p>下側から徐々に電圧を上げていく処理です。</p>
</p>
<p>★編集中★</p></p><p>The post <a href="https://aisumegane.com/introducing-how-to-use-the-dac-function-of-a-pic-microcontroller-for-analog-output/">【PIC】PICマイコンでDAC機能を使用してアナログ”出力”を行う方法を紹介する</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【PIC】PICマイコンのPORTAレジスタとLATAレジスタの違いについて紹介する　－リード・モディファイ・ライトについて説明する－</title>
		<link>https://aisumegane.com/pic-introducing-the-difference-between-the-porta-and-lata-registers-of-a-pic-microcontroller-explaining-read-modify-write/</link>
		
		<dc:creator><![CDATA[aisumegane]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 10:17:40 +0000</pubDate>
				<category><![CDATA[Q&A (電気電子)]]></category>
		<category><![CDATA[PIC]]></category>
		<category><![CDATA[PICマイコン]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[組み込み]]></category>
		<guid isPermaLink="false">https://aisumegane.com/?p=8327</guid>

					<description><![CDATA[<p>備忘録も兼ねてメモしておきます。 PORTAとLATAは何が違うんや。 マイコンのポートの電圧レベルを反映するのがPORTレジスタ、マイコンのポートに出力予定の設定データを保存しているのがLATAレジ ...</p>
<p>The post <a href="https://aisumegane.com/pic-introducing-the-difference-between-the-porta-and-lata-registers-of-a-pic-microcontroller-explaining-read-modify-write/">【PIC】PICマイコンのPORTAレジスタとLATAレジスタの違いについて紹介する　－リード・モディファイ・ライトについて説明する－</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></description>
										<content:encoded><![CDATA[</p>
<p>備忘録も兼ねてメモしておきます。</p>
</p>
<p>				<a href="https://aisumegane.com/list-of-pic-microcontroller-function-usage/" class="st-cardlink">
				<div class="kanren st-cardbox" >
											<div class="st-cardbox-label"><span style="" class="st-cardbox-label-text">関連記事</span></div>
										<dl class="clearfix">
						<dt class="st-card-img">
																								<img decoding="async" width="640" height="445" src="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg 640w, https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f-300x209.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" />																					</dt>
						<dd>
															<h5 class="st-cardbox-t">【PICマイコン】PICマイコンの 各種機能の使い方を紹介する</h5>
							
															<div class="st-card-excerpt smanone">
									<p>PICマイコン勉強中。 ぼちぼち更新していく予定。 PICマイコンの使い方をまとめてみる 割とネットにサンプル集がない &amp; 自分で新規処理作ろうとしたときに設計背景思い出したくなることが多々あ &#8230; </p>
								</div>
																						<p class="cardbox-more">続きを見る</p>
													</dd>
					</dl>
				</div>
				</a>
				</p>
<h2 class="wp-block-heading">PORTAとLATAは何が違うんや。</h2>
</p>
<p><strong>マイコンのポートの電圧レベルを反映するのがPORTレジスタ、<br />マイコンのポートに出力予定の設定データを保存しているのがLATAレジスタ、という違いがあります。</strong></p>
</p>
<p>ポートへの入力を読み取る際はPORTレジスタしか使用できませんが、書き込みの際にはPORTとLATの２つのレジスタで実行することが可能です。</p>
</p>
<p>そうなると、<strong>「書き込みの際、結果が同じになるなら実際何が違うの？」</strong>という話になってきます。</p>
</p>
<p>どちらが書き込みに適しているかについて、結論から言うと、</p>
</p>
<p><strong>・読み取り時はPORTA　（LATAからは読み取り不可。）<br />・書き込み時はLATA　   （PORTAでも書き込みできるけど、LATAを使う。）</strong></p>
</p>
<p>となっています。</p>
</p>
<p>今回はこの辺について説明、まとめをしてみます。</p>
</p>
<h2 class="wp-block-heading">データシートを読んでみる</h2>
</p>
<p>まず最初にデータシートを確認してみます。</p>
</p>
<p>今回PIC16F1827について確認しますが、I/O PORTSの章を見てみましょう。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="422" height="553" src="https://aisumegane.com/wp-content/uploads/2026/02/image-32.png" alt="" class="wp-image-8328" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-32.png 422w, https://aisumegane.com/wp-content/uploads/2026/02/image-32-229x300.png 229w" sizes="(max-width: 422px) 100vw, 422px" /></figure>
</p>
<p>ここでの文章について、肝になるのは下記の記述です。</p>
</p>
<p class="is-style-st-paragraph-check"><strong>データラッチ（LATxレジスタ）は、I/Oピンが駆動している値に対するリード・モディファイ・ライト操作に役立ちます。</strong><br />LATxレジスタへの書き込み操作は、対応するPORTxレジスタへの書き込み操作と同じ効果があります。<br />LATxレジスタの読み出しはI/O PORTラッチに保持されている値を読み出し、PORTxレジスタの読み出しは実際のI/Oピンの値を読み出します。</p>
</p>
<p><strong>PORTAへ書き込むのとLATAに書き込むのとでは、リード・モディファイ・ライトに影響を受けるか否かが、大きく変わってきます。</strong></p>
</p>
<p>今回はこのリード・モディファイ・ライトとPORTA、LATAの関係性について、紹介してみます。</p>
</p>
<h2 class="wp-block-heading">リード・モディファイ・ライトとは？</h2>
</p>
<p>データシートに記載されていた、リード・モディファイ・ライト（Read-Modify-Write）について、簡単に説明してみます。</p>
</p>
<p><strong>リード・モディファイ・ライトとは、レジスタの値を更新する際の３つの手順になります。</strong></p>
</p>
<p>レジスタに数値を書き込んでポートの出力を更新する際、実は、<strong>「読み取り」「加工」「書き込み」</strong>の３つの手順が走っています。<br />（書き込みにおいても、読み取り作業が含まれている。）</p>
</p>
<p>例えばPORTAのビット0を更新したい場合に、下記のようなコードを書いたとします。</p>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-c" data-lang="C"><code>PORTA = 0x01;</code></pre>
</div>
</p>
<p>このコードでは、一見、PORTAのビット0だけを書き換えしているように見えるのですが、実際の動作を意訳してみると下記のようになっています。<br />（厳密にはもう少し異なると思いますが、動作のイメージとして処理を作っています）</p>
</p>
<pre class="wp-block-code"><code>unsigned char temp;
unsigned char input;

/* ユーザーの更新したい処理内容 */
PORTA.bit0 = 0x01;     /* 0b0000-0001 */

==========================================================
実際のマイコン内の動き
==========================================================
/* リード */
temp = PORTA;          /* 0b0110-0100 */

/* モディファイ */
input = PORTA.bit0;    /* 0b0000-0001 */
temp = temp + input;   /* 0b0110-0100 + 0b0110-0101 */

/* ライト */
PORTA = temp;</code></pre>
</p>
<p>ソースコード上では単純に１ビットを書いたとしても、実際にはレジスタ全体を読み出し、変更点を反映(加工)し、書き込む。。。。</p>
</p>
<p><strong>前回までの値を確認してから更新処理が走っている・・・という動作になっています。</strong></p>
</p>
<h2 class="wp-block-heading">PORTAに書き込むのとLATAに書き込むので、何が異なるのか？</h2>
</p>
<p>リード・モディファイ・ライトについての説明は以上です。</p>
</p>
<p>続いて、PORTAに書き込むのと、LATAに書き込むのとで、何が異なるのか考えてみます。</p>
</p>
<p>まずはブロック図を確認してみます。</p>
</p>
<figure class="wp-block-image size-full is-style-st-photo-shadow"><img decoding="async" width="415" height="426" src="https://aisumegane.com/wp-content/uploads/2026/02/image-33.png" alt="" class="wp-image-8329" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-33.png 415w, https://aisumegane.com/wp-content/uploads/2026/02/image-33-292x300.png 292w" sizes="(max-width: 415px) 100vw, 415px" /></figure>
</p>
<p>このブロック図から、下記のことがわかります。</p>
</p>
<p>・LATAとPORTAの書き込み結果はともにData Registerへ入力される<br />・Data Registerの出力は、LATAレジスタに保存される<br />・Data Registerの出力は、I/O pinへ伝わる<br />・I/O pin の状態は、PORTAで読み取れる</p>
</p>
<p>ここで、それぞれのレジスタへの書き込み操作を行った場合についてですが、先ほどのリード・モディファイ・ライトの「リード工程」<br />について考えてみると、下記のようになります。</p>
</p>
<p><strong>・LATAに書き込み：LATAでリード・モディファイ・ライト</strong><br /><strong>・PORTAに書き込み：PORTAでリード・モディファイ・ライト</strong></p>
</p>
<p>ともに、Data Registerに書き込みを行い、ポートの出力状態が更新されるという動作は同じでも、<br />リードの工程に読み出す値が、どちらのレジスタに書き込むかによって異なります。</p>
</p>
<h2 class="wp-block-heading">レジスタに連続して書き込んだ場合を想定してみる</h2>
</p>
<p>なんとなく答えが浮かんできたかと思いますが、最後まで説明してみます。</p>
</p>
<p>下記のようなソースコードを作成した時に、出力がどうなるか考えてみます。</p>
</p>
<h3 class="wp-block-heading">LATAへの連続書き込み</h3>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-c" data-lang="C"><code>LATA |= 0x01;
LATA |= 0x02;
LATA |= 0x04;
LATA |= 0x08;
LATA |= 0x10;
//LATA |= 0x20;    /* RA5は読み取り専用ポート... */
LATA |= 0x40;
LATA |= 0x80;</code></pre>
</div>
</p>
<p>ソースコードの動作は、LATAレジスタの0から7bit目までを、連続して1ビットずつ書き込んでいるだけです。</p>
</p>
<p>各行ごとに、マイコンはLATAレジスタの値を読み出し、加工し、書き込みを行っていきます。</p>
</p>
<p><strong>LATAは前回までにData Registerに書き込んだ値がすぐに反映される「出力ラッチ」</strong>であるため、<br />２行目以降では、<strong>１つ前の行で更新された値を確実にリード</strong>してから、モディファイ・ライトできます。</p>
</p>
<h3 class="wp-block-heading">PORTAへの連続書き込み</h3>
</p>
<p>では、下記のソースコードを実行した場合はどうでしょうか？</p>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-plain"><code>PORTA |= 0x01;
PORTA |= 0x02;
PORTA |= 0x04;
PORTA |= 0x08;
PORTA |= 0x10;
//PORTA |= 0x20;    /* RA5は読み取り専用ポート... */
PORTA |= 0x40;
PORTA |= 0x80;</code></pre>
</div>
</p>
<p>処理内容としては、先ほどと同じく0～7bit目までを、連続して1ビットずつ書き込んでいるだけです。</p>
</p>
<p>ただし、LATAと異なり、リード・モディファイ・ライトのリード工程において、<br /><strong>Data Registerの設定値(出力ラッチ)ではなく、現在のポート状態をそのまま読み出します。</strong></p>
</p>
<p>ここで、マイコンの処理の動作速度を考えてみます。</p>
</p>
<p>マイコンの動作クロックは、遅くても数MHz程度あるものが一般的です。</p>
</p>
<p>上記の８行の処理も、時間的にはとても短い時間で完了してしまいます。</p>
</p>
<p>これに対して、マイコンのピンの電圧の変化はどうでしょうか？</p>
</p>
<p>基本的に現実の素子は、抵抗分やインダクタンス、その他の要因によって、<strong>出力を０秒で瞬時に切り替えることはできません。</strong></p>
</p>
<p>このため、PORTAレジスタに書き込みを行っても、ポートの状態はすぐには変化できず、次のリード工程において、<br /><strong>まだ電圧が立ち上がっていないポートの電圧レベルを読み出します。</strong></p>
</p>
<h3 class="wp-block-heading">PORTAとLATAへの連続書き込み操作における結果の違い</h3>
</p>
<p>このため、上記の例に挙げた２つの処理を実行すると、下記のような結果になります。<br />（実際にプログラムを書き込んで動作させても、実際にこうなることを確認できます。）</p>
</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-c" data-lang="C"><code>LATA |= 0x01;
LATA |= 0x02;
LATA |= 0x04;
LATA |= 0x08;
LATA |= 0x10;
//LATA |= 0x20;    /* RA5は読み取り専用ポート... */
LATA |= 0x40;
LATA |= 0x80;
&#x27a1;ポートRA0～RA4,RA6~RA7の出力電圧が、すべてHIレベルになる

/*============================================================================================*/

PORTA |= 0x01;
PORTA |= 0x02;
PORTA |= 0x04;
PORTA |= 0x08;
PORTA |= 0x10;
//PORTA |= 0x20;    /* RA5は読み取り専用ポート... */
PORTA |= 0x40;
PORTA |= 0x80;
&#x27a1;ポートRA7のみが、HIレベルになる</code></pre>
</div>
</p>
<p>※より厳密には、ポートの電圧レベルがData Registerへの書き込みと同時に変化するように見えるぐらい、処理時間が遅い（各行の間の時間が長い＝クロック周波数が非常に遅い）場合は、PORTAへの書き込みでも全部のポートが更新されます。<br />そんなにクロック周波数を下げるケースはあまりないかと思います・・・・</p>
</p>
<h2 class="wp-block-heading">まとめ</h2>
</p>
<p>最後にまとめです。</p>
</p>
<figure class="wp-block-image size-large is-style-st-photoline"><img decoding="async" width="1024" height="602" src="https://aisumegane.com/wp-content/uploads/2026/02/image-34-1024x602.png" alt="" class="wp-image-8334" srcset="https://aisumegane.com/wp-content/uploads/2026/02/image-34-1024x602.png 1024w, https://aisumegane.com/wp-content/uploads/2026/02/image-34-300x176.png 300w, https://aisumegane.com/wp-content/uploads/2026/02/image-34-768x451.png 768w, https://aisumegane.com/wp-content/uploads/2026/02/image-34-1536x903.png 1536w, https://aisumegane.com/wp-content/uploads/2026/02/image-34.png 1780w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</p>
<p>今回はリード・モディファイ・ライト、PORTAとLATAへの書き込みの違いについて紹介してみました。</p>
</p>
<p>リード・モディファイ・ライトにおける問題というと、値の更新中に割り込みが入ったときに意図しない値に書き換わる・・・・といった、</p>
</p>
<p>もう少し難しい条件下で議論されることが多い気がしますが、PICの場合はレジスタ構成の都合で簡単なソースコードで再現できてしまいます。。。。</p>
</p>
<p>いいか悪いかはさておき、説明用の題材としては申し分ないですね・・・</p>
</p>
<p>それでは、また。</p>
</p>
<p>				<a href="https://aisumegane.com/list-of-pic-microcontroller-function-usage/" class="st-cardlink">
				<div class="kanren st-cardbox" >
											<div class="st-cardbox-label"><span style="" class="st-cardbox-label-text">関連記事</span></div>
										<dl class="clearfix">
						<dt class="st-card-img">
																								<img decoding="async" width="640" height="445" src="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg" class="attachment-full size-full wp-post-image" alt="" srcset="https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f.jpg 640w, https://aisumegane.com/wp-content/uploads/2024/03/af6df17d0e99cb61c2b951563f58673f-300x209.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" />																					</dt>
						<dd>
															<h5 class="st-cardbox-t">【PICマイコン】PICマイコンの 各種機能の使い方を紹介する</h5>
							
															<div class="st-card-excerpt smanone">
									<p>PICマイコン勉強中。 ぼちぼち更新していく予定。 PICマイコンの使い方をまとめてみる 割とネットにサンプル集がない &amp; 自分で新規処理作ろうとしたときに設計背景思い出したくなることが多々あ &#8230; </p>
								</div>
																						<p class="cardbox-more">続きを見る</p>
													</dd>
					</dl>
				</div>
				</a>
				</p><p>The post <a href="https://aisumegane.com/pic-introducing-the-difference-between-the-porta-and-lata-registers-of-a-pic-microcontroller-explaining-read-modify-write/">【PIC】PICマイコンのPORTAレジスタとLATAレジスタの違いについて紹介する　－リード・モディファイ・ライトについて説明する－</a> first appeared on <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a>.</p><p>Copyright &copy; 2026 <a href="https://aisumegane.com">TRY-AND-ERROR-AND-TRY</a> All Rights Reserved.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
