ワンチップマイコンを応用した自立型倒立振り子
金野茂男
１．はじめに
図１（参考文献（１）からの複写）で図解しているような遊びがある。手のひらを水平にし、その上に棒を立て、手の平を動かすことによりどれだけ長い間、棒が倒れないで居ら れ る か を 競 う 遊 び で あ る 。手 を 動 か し 続 け な け れ ば 、棒 は あ っ と い う 間 に 倒 れ て し ま う 。
この遊びでは、目で棒の動きを観察し、その動きを頭で判断し、それに基づいて必要な量だけ手のひらを動かして、棒が倒れないようにしているのである。これは単純な棒を用いた逆立ち振り子（＝倒立振り子）のお遊び版である。

図１

遊びの倒立振り子

これに似たもっと規模の大きなものが、かってはサーカスでも見られた。その出し物の名前は多分「棒乗り」だったと思う。ステージ上で両足で踏ん張って立っている頑健な男
性の肩の上には長い棒が立っており、その棒の先端では、セクシーな女性が妙齢な演技を披露している。棒は女性が動くたびに倒れかかるが、下の人は手を使って棒を支えることなく、単に前後左右に動き回る。棒が倒れないようにするため動き回っているのである。
これは原理的に前述の子供の遊びと何ら変わることがない、倒立振り子の商売版である。
この倒立振り子を機械装置で自動的に実現しようとする試みは、だいぶ以前から制御理論や制御機構の格好の対象とされてきていた。人の手や体を台車で、棒の傾斜の度合いは目の代わりに角度センサで、台車の位置は位置センサで、手や体を動かす筋肉の代わりに台車をモーターで動かし、頭の代わりにパソコンを使用し、棒の傾斜角度と台車の位置をデータとして取り込み、棒を倒さないように台車を動かすようにプログラムされた制御用のプログラムを実行し、車体をモータで微妙に動かし続けるというものである。このシス
テムの概略を図２に示しておく。最近では、この機構及び理論は完成の領域に達し、制御及びプログラミングに関する学生実験・実習の課題としても格好の材料となっている。
図２からわかるように、現在の倒立振り子の制御機構は、極めて大きなシステムとなっている。倒立振り子を取り付けた台車は２ｍ長のスケール台の上を左右に動き、振り子の傾斜角度を検出するための角度センサー、モーターの回転量から台車の移動距離を計測す
た め の 位 置 セ ン サ 、そ れ ら ア ナ ロ グ デ ー タ を デ ジ タ ル デ ー タ に 変 換 す る た め の Ａ Ｄ 変 換 器 、台車を軽快に動かすための強力なＤＣモーター、制御用のプログラムを実行させるための
-1-

振り子
Ａ／Ｄ変換器

パソコ ン
台車

角度センサ

位置センサ
モータードライバ

レール

ＤＣモータ

図２

通常の制御実験用倒立振り子のシステム全体

パソコンシステム、そしてパソコンから出力されるデジタルデータに従ってＤＣモーター
をドライブするためのモータードライバ回路、等からなっている。更に、振り子の動作及び台車の動作を制御するための制御理論に基づいたプログラムも結構複雑になっている。
このシステム全般に関するハード面、及び制御理論面に関する解説は参考文献（１）が詳しい。
近年、著者はワンチップマイクロプロセッサ（＝ワンチップマイコン）を用いた様々な応用回路の開発研究を行っている。この素子は単なるプロセッサではない。プロセッサ回路とともに、プログラムメモリ領域、様々なＩ／Ｏポート、その他の機能回路を内蔵した素子である。簡単に言えば、この素子１個だけで、キーボードと表示装置の無いパソコンと同じ機能を有している。近年様々な分野、特に電気製品の内部に応用され利用が広まっている。マイコン制御と名をうった家電製品などのその見本である。今まで企業サイドのみで利用されてきていた素子であったが、一般ユーザーも自由に使用できる環境が整ってきている。計測、制御の自動化というと今まではパソコンを用いたものであったが、今後はこのチップを用いた製品が広く出回ると思われる。
それで、このワンチップマイコンを使用すれば、この倒立振り子システム全体を小型かつ簡易ものとして、振り子の倒立を実現させることができるのではないかと考えた。これを本研究の目的とした。ハードシステムを大幅に小型・簡易化するために、頭脳であるパソコンに代えてワンチップマイコンを採用するのである。と同時に、台車及びレール、Ｄ
Ｃモーターの代わりに、一般に市販されている模型自動車のキットを使用し、超小型・簡易の倒立振り子システムを製作してみることにした。
その結果、振り子は４輪の車体の上に取り付けられ、制御のための頭脳であるワンチッ
プマイコン、角度・位置センサ、ＤＣモーター、モータードライバ、電源、即ち全ての部
品 が 車 に 搭 載 さ れ た 完 全 自 立 型 の「 倒 立 振 り 子 車 」を 作 り 上 げ る こ と に「 一 応 」成 功 し た 。
ここで「一応」と断ったのは、作り上げた作品の動作に不十分な点があるからである。
なを、ＡＤ変換器を内蔵したワンチップマイコンを使用したので、アナログ量を計測するために独立したＡＤ変換器を必要としないこともハードシステムを小型・簡易化することに大いに役立った。
製作した本システムは２種のモードで動作するようした。１つは、振り子の傾斜角度の-2-

みを計測量とし、車体の位置変位量は計測しないモード。このモードでの動作では、車体は振り子の倒立を実現するため、前後に移動し続ける。これをモ−ド１とする。
もう１つのモードでは、車体の位置変位量も計測し、振り子の倒立を実現するために常に 前 後 に 移 動 す る 車 体 が 、そ の 位 置 を 動 作 開 始 時 の 位 置 に 復 帰 を 指 向 さ せ る モ ー ド で あ る 。
これをモード２とする。
本研究の結果として、モード１で安定動作させることには成功した。が、モード２での動作は短時間内では実現できたが、長時間にわたっては実現することができなかった。理想とされる倒立振り子の制御装置としては、モード２での長時間にわたる安定した動作の実現が要求されるが、残念ながら現時点では実現できなかった。それ故、本「倒立振り子車」は 「一応」 完成と先に断ったわけである。それらの原因及び改良案は後述する。

-3-

２．設 計 ・製 作
手っ取り早く、本研究で制作した倒立振り子装置の様子を写真１〜６に示す。写真１は車の左側面、写真２は右側面、写真３は前部、写真４は後部、写真５は上部、写真６は振り 子 の 傾 斜 角 度 計 測 部 の 内 部 、 の 様 子 を 示 し て い る 。 一 応 、「 装 置 」 と い う 単 語 を 用 い たが、図２から想像されるようなものではないことは明々白々である。以降では、この装置
を 「 倒 立 振 り 子 車 」、 或 い は 簡 約 し て 「 車 」 と 呼 ぼ う 。 車 輪 は ４ 輪 で あ り 、 車 体 は ２ 層 構造となっている。車体の中央に振り子が取り付けられている。振り子部の下部の長方形体
内には、振り子の回転中心と振り子の傾斜角度を計測する部分が納まっている。車体の前の上部には本システムの頭脳部であるＰＩＣマイコンチップの回路基板が配置してある。
車体の後部には１０回転ポテンションメータがあり、車輪の回転と連結し、その回転量を計測することで、車体の前後への移動量を計測している。後輪の間にはモーター付きギア
ボックスがある。モーターはマブチ社製ＲＥ−２６０，ギアボックスは田宮製ハイスピー
ドギアボックスＨＥ（ギア比１８：１）を使用している。
車 体 の 下 層 の 前 部 に は 、 制 御 回 路 用 電 源 と し て 単 ３ 電 池 ×２個 、 中 央 部 に は モ ー タ ー ド
ライブ用回路基板、最後部にはモーター用電源として００６ｐ乾電池２個が搭載されている。このように、必要な電源等、全ての必要物を車体に搭載しているので、完全に自立した倒立振り子制御装置として動作させることができるという特徴を持っている。当然、外部電源でも簡単に動作させることもできる。
図 ３ に 車 体 部 の 設 計 図 面 を 示 す 。 車 体 は 厚 さ 3mm の 木 板 と し 、 そ れ に 前 輪 の 車 軸 と しては、ギアボックスキットに付属している車軸を用い、後輪の車軸としてギアボックスの出力用回転軸を用いた。車輪は模型工作用に一般に市販されているものを適当に探したものである。前輪と後輪とが異なっているが、特に深い意味はない。車輪としては大きくて安定性のあるものを望んだが、後輪用に用いた車輪が１組しか入手できなかったため、前輪に別の種類の車輪を用いるしかなかったからである。
モーター駆動用電源は独立させたので、動作に必要な電源は２系統となっている。モーターのオン・オフに伴う電源電圧の変動は極めて大きい。一方、振り子の傾斜角度、車体の位置測定は精度良く行われなければならないので、安定した電源が必要となるからである 。モ ー タ ー 電 源 電 圧 は ２ 個 の ０ ０ ６ ｐ 乾 電 池 を 直 列 接 続 し た の で 、合 計 で １ ８ Ｖ と な る 。
モーターオン時に伴う大幅な電圧降下、またモータードライブ回路での電圧降下分を考慮した結果である。動作時において、モーターの異常加熱の不安はなかった。その理由の１
つにはモーター駆動電流はＰＷＭ法を用いた、パルス電流であり、常時直流を流し続けているわけではないことも上げられる。一方、これ以下の乾電池電源電圧ではモーターの回
転力不足が免れなかった。
図４には、振り子部の設計図面が示してある。その実際の形状は写真６で見ることができる。振り子の傾斜角度の計測は、振り子の回転中心より少し上のところで行っている。
図５にその模式図を示した。ＬＥＤから放射される光は、振り子により遮蔽される。その遮蔽量は振り子の角度に依存している。振り子を通り抜けた光はフォトトランジスタで検出される。極めて単純化した振り子の傾斜角度の計測方法である。更に優れているのは、
この方法は完全に非接触方式の検出方法であることである。
この構造はフォトインタラプタに似た構成であるが、単に光のオン・オフを検出しているわけではない。振り子の傾斜角度に依存して、通過光量が変化するので、フォトトラン
ジスタからの出力電圧が変化する。
光デバイス関係の規格表を一覧すればすぐわかるが、大半のフォトトランジスタの光感
度は赤から赤外領域にある。使用したフォトトランジスタはＴＰＳ６０１である。この素子は比較的赤い方に感度波長（８００ｎｍ）があり、廉価で簡単に入手できたので、使用することにした。このＴＰＳ６０１と赤色ＬＥＤの簡単な組み合わせで、光遮蔽によるＴ
ＰＳ６０１の出力電圧の変化を試験的に調べてみた。遮蔽される光量に応じて十分な出力電圧の変化（アース電位から電源電圧近くまで）が得られた。その結果、ＴＰＳ６０１と赤 色 Ｌ Ｅ Ｄ の 組 合 せ に よ り 、振 り 子 の 傾 斜 角 度 を 十 分 に 正 確 に 検 出 で き る も の と 確 信 し た 。
この方法は、非接触法なので、理想的な振り子の傾斜角度測定方法でもある。かつ極めて
-4-

写真６

写真１

車体の左側面（省略）写真２

車体の右側面（省略）写真３

車体の前部（省略）

写真４

車体の後部（省略）

写真５

車体の上部（省略）

振り子の傾斜角度計測部の内部（省略）

-5-

0

2

0

6

0

図３

車体の設計図
-6-

15

10
0

10

0
0 0

0
15

0

6

10

2

1.5

図４

振り子部の設計図

-7-

振り 子

振れ

ＬＥＤ

フォトト ランジス タ
光光

ア ナログ電圧 出力
回 転中心

図５

振り子の傾斜角度の測定方法

簡易で、廉価な方法である。
光量を測定するので、この部分に外部から光が混入するのを防ぐ必要があり、周りに遮光板を取り付けている。遮光板の上部には振り子が自由に振れるようにしておくため、ス
リットが切り込まれている。写真５で良くわかろう。
振り子の回転中心にはベアリングなどは使用していない。振り子の回転中心に直径２ｍｍの穴を開け、それに直径２ｍｍの真鍮棒を差し込み、一応滑らかに回転するようにしてしているだけである。極めて簡単な回転中心構造としている。
振り子の傾斜角度検出部の構造は全くのオリジナルなものである。著者の知り得る先行している倒立振り子装置では、回転中心及び振り子の傾斜角度の検出用として、ポテンシ
ョンメータをそのまま用いている。ポテンションメータの回転軸に振り子を取り付け、振り子の回転軸とし、振り子の傾斜角度はこの軸の回転量から計測している。これはこれとして合理的な方法である。が、使用すべきポテンションメータに注意を払わなければならない。接触型のポテンションメータとした場合には、その中間タップの接触抵抗による余計な回転負荷が発生するし、接触ノイズも発生してしまうからである。そのため非接触型
ポテンションメータが推奨される。が、高価で結構寸法も大きくなる。
市販されている非接触型ポテンションメータを使用すれば、振り子の傾斜角度は広範囲で測定可能であるが、ここで提示している方法では、写真６及び図５からわかるように、
主 に 使 用 す る Ｌ Ｅ Ｄ の 大 き さ に 依 存 し て お り 、 現 状 で は せ い ぜ い ± ５° 程 度 内 で あ る 。 ±５°の計測可能範囲では 小さすぎるように思われるかもしれない。が、振り子が大きく傾きすぎると、いくら車体がそれをカバーしようとして、動いて行っても、追いついて行け
ないことは明らかである。±５°の計測可能範囲が十分であるかどうかは、振り子の傾きをどの程度まで可とするかによる。もともと振り子を１回転させるような曲芸動作はこの車では考えていない。結果として、この「車」では不十分ではない。と言いながら、おお
よそ見当はつくであろうが、より計測可能範囲を大きくする方法は簡単である。それについては後述している。
表１に使用した直流モータの諸元を与え、表２には同じく使用したギアボックスの諸元を与えておく。ギア比は変更でき、１８：１を採用した。試みとして、ギア比を１１．６：１にもしてみた。比較的１８：１のギア比の方が少し動作特性が良さそうであった。その他、ギアボックスとして同系「ハイパワーギアボックスＨＥ」も使用してみた。ギア比がより大きいギアボックスである。動作試験をしてみると、車体の移動速度が遅くなり、かつ応答の遅れが目立つようになり、動作特性は劣った。

-8-

製作
限界電圧
適正電圧
適正負荷
無負荷回転数
適正負荷時の
回転数
消費電流
シャフト径

マブチモーター株式会社
１．５Ｖ〜３．０Ｖ
３．０Ｖ
１３．９ｇ・ｃｍ
１２０００ｒｐｍ
８６５０ｒｐｍ
９００ｍＡ
２ｍｍ（性能は単１電池使用下でのもの）
表１

使用したモータＲＥ−２６０の諸元

制作
ギア比
最高効率時の出力軸の回転トルク（ｇ／ｃｍ）
最高効率時の１分間の出力軸の回転数（ｒｐｍ）

田宮模型
１１．６：１

１８：１

約１８５

約２９０

約８８０

約５７０

（ＲＥ−２６０モーター、３Ｖ電源使用時）
表２使用したハイスピードギアボックスＨＥの諸元

電気系の回路図を図６に示している。用いたワンチップマイコンはマイクロチップ社のＰＩＣ１６Ｃ７１１である。この素子には８ビットのＡＤ変換器が内蔵されており、そのための入力端子が４端子ある。変換器が１個で、入力端子が４個なので、プログラム上で使用する端子を選択することになる。振り子の傾斜角度を測定して得られたフォトトラン
ジスタからの出力電圧は１つのＡＤ変換入力端子ＡＮ０に入力する。ギアに連結されたポテンションメータで測定された電圧はもう１つのＡＤ変換端子ＡＮ１に入力する。振り子の傾斜角度測定及び車体の位置測定は実行中のプログラムにより、定時間毎に割り込みを発生し、その度に実行される。
車体の動作モード、モード１と２の選択はＲＢ５端子の入力端子に入力される電圧レベ
ルの設定で行う。
ＲＢ２，ＲＢ３端子から、測定した計測量をもとに、プログラム中で作られたモーター
駆動用パルス列が２系統でモータードライバ回路に出力される。この２系統のパルス列は互いに位相が１８０°ずれたパルス列である。
回路図の右側がモータードライバ回路（ ２ ） である。Ａ，Ｂに入力するパルスの電圧レベルにより、直流モーターを任意に正・逆回転できる。２つのパルス入力端子Ａ，Ｂには、
互いに反位相のパルスを入力させる。即ち、ＡがＨレベルならば、ＢはＬレベルとする。
あるいはその逆。この回路では、ある時点でモーターが回転している方向を正回転方向とすれば、Ａ，Ｂに入力させるパルスレベルを１８０°入れ変えると、モーターは逆回転する。モーターの正回転、逆回転に応じて、車体は前進或いは後進することになる。Ａ，Ｂ
がともにＬレベルの時にはモータは停止する。
こ こ で 使 用 し た Ｄ Ｃ モ ー タ の 正 ・ 逆 回 転 ド ラ イ バ 回 路 は 、機 械 式 ス イ ッ チ を 用 い な い で 、論理レベルの電圧パルスでＤＣモータを正・逆回転できる結構な回路である。が、ドライバー用のトランジスタによる電圧降下及び消費電流が結構大きい。オン抵抗が小さく、大
-9-

図６

倒立振り子の電気回路図- 10-

きな電流の流せるトランジスタを選択することである。
モーターのドライブためにパルス列を形成する方法には前述した２つのモードで少し異なっているので、個別に説明する。
（１）モード１（振り子の傾斜角度のみを計測しての動作）
動作を開始するとき、振り子を手などで支え、倒立を実現した状態にして、スタートス
イッチを押す。その後振り子から手を離すと、倒れようとする振り子の倒立を実現するた
めに、車体は前後に動き続ける。
プログラムではスタート時の振り子の傾斜角度を振り子が中立状態にあると見なした
後、定時割り込み毎に測定した傾斜角度とこの中立状態角度を比較し、振り子が前傾しているのか、後傾しているのかを判断するとともに、どの程度傾いているのかも判断する。
振り子が前傾していれば、振り子を中立状態に戻すために、車体を前進させることになる。逆に振り子が後傾していれば、車体を後進させることになる。車体を前進或いは後進させるに当たって、振り子の傾斜角度が小さい場合には、パルス幅の狭いモーター駆動パルスを、傾斜角度が大きい場合にはパルス幅の長いモーター駆動パルスを作り、モーター
ドライブ回路に出力する。即ちモーター駆動はＰＷＭ法で駆動している。パルス幅が狭け
ればモーター駆動電流の流れる時間が短いので、車体はゆっくり動き、振り子の傾きの是
正 を ゆ っ く り 行 う 。パ ル ス 幅 が 広 け れ ば モ ー タ ー の 駆 動 電 流 の 流 れ る 時 間 が 長 く な る の で 、車体は急激に動き、振り子の傾きの是正は素早く行われる。極めて単純化した状態フィー
ドバック方式の制御を行っている。倒立振り子の正確・精密な制御理論（ １ ） に基づいた制
御動作は行っていない。言うならば、第１近似での制御理論で制御動作をさせている。これはモード２の動作についても言える。
（２）モード２（振り子の傾斜角度と車体の位置の両方を計測しての動作）
動作の開始に先だって、ポテンションメータの中間タップの位置が、中間付近に位置す
るように車輪を空回して調節しておく。モード切替スイッチを「フル」側とする。後はモード１と同じようにして、スタートスイッチを押す。この時、動作開始時のポテンション
メータからの出力電圧値を車体の位置の原点値としてワンチップマイコンは取り込むことになる。
定時間毎に割り込みが発生し、車体の位置と、振り子の傾斜角度を測定する。振り子の倒立を維持しつつ、車体を原点に復帰もさせようと制御動作をさせることになる。その方法としては、モード１での制御方法を拡張した極めて単純な方法を採用した。以下の通りである。
車体が原点より前方にあるならば、その位置変位量に比例した量だけ、目指す振り子の傾斜角度値を初期の中立角度値より振り子が後傾するように変更する。とすると、車体はその変更した後傾した仮想の中立角度を目指して制御動作をすることになる。車体が原点に近づけば、位置変位量がそれだけ小さくなるので、変更角度量も小さくなる。車体が原点に位置するようになれば、変更角度量はゼロとなる。車体が後方にある場合も、同様の方法を用いればよいことがわかろう。
振り子の傾斜角度の検出範囲は、使用したＬＥＤの大きさとその取り付け位置に依存しており、おおよそ±５度程度である。車体の位置変位量が大きくなると，それにともなって変更角度量も大きくなる。そして、角度変位量の計測可能範囲を超えてしまうことが有り得る。また、結果論であるが、モーターのトルクがそれ程大きくはないので、振り子が傾き過ぎると、車体を動かしてもそれを回復する復帰能力がない。このようなことから、振り子の中立角度の変更角度量は、車体の位置変位量がある指定範囲を超えた場合には、
その制限した位置変位量での変更角度量に固定した。
その他の対処として、振り子が傾き過ぎた場合に、車体が暴走しないようにするため、また制御不能に陥らないようにするため、プログラムで限度の傾斜角度を認識させ、モーターをオフするようにしている。車体が前又は後に進み過ぎると、使用しているポテンションメータが許容範囲を超えて回りすぎてしまい、回転が死んでしまう。従って、プログ- 11-ラム上でポテンションメータも回転許容範囲を設定し、それ以上に回ったら車体が行き過ぎたものとして、モーターをオフするようにもしている。
車の重さは車の制御動作に与える影響が大きい。振り子には様々な重さのものを用意し試験動作を繰り返した。もっとも良さそうと判断した４０ｇの振り子を取り付けたときの車の重さは５７０ｇとなった。表３に車の全重とともに、各部分の重さを与えておく。

全体

５７０ｇ

車体（木）
振り子
単３電池×２＋ケース（００６ｐ乾電池＋ケース）×２
後輪×２
前輪×２＋車軸ギアボックス＋ＲＥ−２６０モーター
スペーサ類
その他
表３

車の各部分の重さ

- 12-

５０ｇ
４０ｇ
５５ｇ
１００ｇ
５６ｇ
４６ｇ
５４ｇ
３３ｇ

３．制御プログラム
ワンチップマイコンＰＩＣ１６Ｃ７１１に書き込む制御プログラムは、マイクロチップ
社純正のアセンブラＭＰＡＳＭで書いた。そのソースプログラムを資料１として末尾に添付しておいた。できるだけ注釈文を付けるように勤めたので、プログラムを理解するのはそれほど難しくはないであろう。
モード１とモード２では処理の仕方が異なっている。おのおののプログラムの簡単なフローチャートを図７、８に示しておく。

ス タ ート

初 期 設定振 り 子の 初 期 状態 （ 中 立状 態 ）の傾 斜 角 度の 測 定

定時 割 り 込み 毎 の
振 り 子の 傾 斜 角度 の 測 定

振 り 子 の傾 斜 の 前 傾、 後 傾
及 び 傾 斜度 の 大 小 に対 応 した モ ー タ駆 動 パ ル スの 発 生

図７

モード１のフローチャート
- 13-

スタート

初期設定

振り子の初期状態（中立状態）の傾斜角度（＝初期値）と、車体の原点位置（＝初期値）の測定

開始時なので車体の位置変位量を０とする

定時割り込み毎に、振り子の求める中立角度を車体の位置
変位量に比例させて、初期値の値から変更。

振り子の傾斜角度の測定

振り子の傾斜の前傾、後傾
及び傾斜度の大小に対応したモータ駆動パルスの発生

車体の位置を測定し、車体の変位量を算出

図８

モード２のフローチャート- 14-

４．動 作 特 性
振り子の傾斜角度及び車体の位置の計測は、定時間間隔毎に割り込みを発生させて行っいる。この時間間隔は小さいほど制御動作は安定した。プログラムの実行に必要な時間、ＡＤ変換に必要な時間があるので、むやみに小さくはできない。現在、約０．８ｍｓ毎に割り込みを行わせている。
割り込み毎に計測した振り子の傾斜角、車体の位置のアナログ量に応じて、モーター駆
動 用 の パ ル ス を 形 成 し て い る 。 こ の パ ル ス 幅 は プ ロ グ ラ ム 中 の 定 数 pulsewidth の 値 で 拡 大されている。この値を小さく設定しすぎると、当然のごとく車体の動作が緩慢になり動作不良となる。逆に、あまり大きく設定すると、動きがぎこちなくなり、やはり動作不良となる。トライ＆エラー方式で最適値付近に近づけている。
モーター駆動用電源として、外部ＤＣ電源を使用した場合、電圧が小さいと動作が緩慢になり、不良となる。電圧が高すぎると、動作がぎこちなくなり、やはり不良となる。
pulsewidth の 値 と の 兼 ね 合 い も あ る が 、 お お よ そ ＋ ５ Ｖ 〜 ＋ ７ Ｖ あ た り が 適 値 で あ っ た 。
一方、モーター駆動用電源として車載の００６ｐ乾電池使用の場合には、電源電圧は１８Ｖとなる。前者との相違は電源インピーダンスの相違、取り出せる電流値の相違よるものであろう。
振り子の形状が長い長方体で、回転中心が最下部にある時には、振り子の倒れる早さは振り子の回転中心から重心までの長さの平方根に反比例する。つまり、重心が高ければ高いほど振り子は倒れにくくなる。従って、棒の根元を動かして、棒を倒れないようにする
ことは容易となる。このことは、図１で示した遊びにおいて、手にする棒が長ければ長いほど安定させやすいこと。サーカスの棒乗りではわざわざ長い棒を使用し、かつ棒の先端で女性に演技をさせるているのはそのためである、ことなどからも納得できよう。本研究でも何種類もの振り子を用意し、重さ、長さを変更して、振り子の倒立維持の安定性を調べ た 。や は り 、振 り 子 が 長 け れ ば 長 い ほ ど 、重 心 が 高 け れ ば 高 い ほ ど 安 定 性 に 優 れ て い た 。
振り子の重さも、動作の安定性に重要な役割を担っている。軽ければ軽いほどモーターのパワーが小さくてすむからである。振り子が重すぎると明白であるが、モーターのパワーがそれだけ必要になってくる。しかし、振り子が軽すぎると、外乱、即ち回転中心における摩擦、その他の影響が相対的に大きな影響を与えるようになり、逆に振り子の動作制
御を不安定にする。これもトライ＆エラーによって適度な重さと高さを有する振り子にすることにした。最終的には重さ４０ｇ、長さ５０ｃｍの振り子とした。
車輪はスリップしにくいように、幅広でゴムタイヤのものを使用した。小さいタイヤも使用してみたが、大きいほど制御動作は良好のようである。
使用したモーターはＲＥ−２６０である。これは使用したギアボックスに適合するモーターとして指定されているから使用したまでである。このギアボックスにはモーターをセットする箇所が用意されており、２種のモータをセットできるものとなっている。そのう
ちでトルクが大きいのがＲＥ−２６０であった。動作特性試験まで漕ぎ着けて、これでもやはりモーターのトルクが小さいことに気がついた。ＲＥ−２６０より大きいトルクを持つ同系のモータはある。が、それらはこのギアボックスに適合しない。適当に加工をすれ
ば、２つを組み合わせることはできることであるが、後述するギアボックスを用いることの不利さ、車体の幅その他に大きな変更を要することになるので現時点では見送ることにした。
振り子の傾斜角度を測定するための自作「フォトインタラプタ」は、測定可能な角度範
囲は狭いが、予想以上に傾斜角度を精密に測定してくれている。より測定可能角度を広げる方法としては、円形の光源ではなく細長い光源を使用することが考えられる。
回転中心は単純に穴に心棒を差し入れたものである。現状のままでは無理にベアリングにする必要はなさそうである。
モード２で、振り子の仮想中立角度を設定するための変更角度量は、車体の位置変位量に比例させている。この比例係数はトライ＆エラーで定めている。この比例係数が小さいと、モード１と同じ様な動作となる。係数を大きくするにつれて、車体が原点からずれた
時、振り子を傾けて原点に復帰しようとする動作が高まった。この様子は、モード２で動- 15-

作させている時に、振り子を手で軽く押すことにより現認することができる。つまり、振り子を前方向に押すと、車体は振り子を後継させ、後進しようとし、振り子を後ろ方向に押 す と 、車 体 は 振 り 子 を 前 傾 さ せ 、前 進 し よ う と す る 。こ の 比 例 定 数 を 大 き く し 過 ぎ る と 、振り子の傾斜角度の制限限界を超えてしまう。
モード２での安定動作はおおよそ１０秒未満であった。時間が経過するにつれて、前後への振り子の傾きが大きくなっていき、そしてそれをカバーしようとして必然的に車体の移動も大きくなっていってしまう。振り子の傾斜角度が小さいうちはいいが、大きくなってしまうとモーターのトルクが小さいのであろうが、それがかなわなくなる。
短時間でも振り子の倒立維持が継続できれば、長時間はそれの継続なので、長時間でも振 り 子 の 倒 立 維 持 の 継 続 が 可 能 な は ず で あ る 。何 故 で き な い の で あ ろ う か 。系 の 運 動 中 に 、系の運動を乱す摩擦やその他の外乱が不定期的に発生、或いは変化するであろう。系の運動に対するこれらの外乱の影響はシステムが小型・軽量化すると顕在化する。特に、モーターのパワー不足、ギアボックス使用による伝達の遅延、振り子の軽量性等がモード２での安定性を低下しているものと考えられる。

- 16-

５．終わりに
ワンチップマイコンを用い、模型自動車型で倒立振り子の実現の仕事は、数年前から本研究室で行ってきた。
第一号（ ３ ） は、車体の上に普通の可変抵抗を取り付け、その軸に振り子を取り付けた。
可変抵抗の中間タップから振り子の傾斜角度を読み出した。モーターの駆動は、小型の水銀リレーを用いて、モーターに供給する電池の電源の正負を振り子の傾きに応じて単に切り替えるというものであった。つまり、振り子が前傾していれば、車体を前進させ、振り子が後傾していれば、車体を後進させる。結果は、倒立動作は数秒ともたなかった。水銀
リレーの動作も不調であった。もともと水銀リレーは高速で切り替える素子ではないのである。
モーターに、小型のパルスモーターも使用してみた。パルスモーターはパルスで正確に回転速度その他を制御できるので、制御回路の回転子としては理想的なモーターなのであるが、ここで用いたモーターが小型であったためなのであろうが、使用するには全く不向きであった。その理由の第１が回転速度が遅いこと、第２が回転トルクが小さいことであった。これら２点を満足するようなパルスモーターとなると、その重量はそれだけ重くなり、模型自動車にはとてもではないが乗せられない。
第２号（ ４ ） は、模型自動車の上に可変抵抗を載せ、それに振り子を取り付けた構造は第１号と同じである。がワンチップマイコンに内蔵されているＡＤ変換器を利用し、振り子の傾斜角度を計測させた。また、車輪には中古のマウスから取りだした回転センサ一式を取 り 付 け 、車 体 の 位 置 も 計 測 さ せ た 。参 考 文 献 １ に 従 っ た 制 御 プ ロ グ ラ ム も 作 成 し た 。が 、動作結果は、全く不調であった。不調の原因の第１は、振り子の傾斜角度の検出精度の悪さであった。可変抵抗では中間タップが抵抗体をこすりながら動くので、それによって発生するノイズが極めて大きいのである。第２に、スライド式可変抵抗であったので、スライドに伴う抵抗が大きく、振り子の倒れが滑らかではなかったことである。また、ＡＤ変換器は８ビットのものであったので、ア振り子の中立角度からの振り子の倒れ角度の算出
精度が低かったことも挙げられる。
以上の２件は本研究室で、学生に卒業研究の一つとして与えた課題である。以上のこと
を反省しつつ、第３号を著者自身で作成することにしたわけである。
結論として、重さが６００ｇ以下で、完全自立型の倒立振り子システム＝倒立振り子車
を 作 り 上 げ る こ と に 、「 一 応 」 成 功 し た 。 モ ー ド ２ で 安 定 し た 動 作 と す る た め に は 、 本 車に改良の余地がある。終わりにあたって、その改良方法を列記したいと思う。
（１）ギアボックスは用いないで、低速回転時でもトルクのあるＤＣモーターで直接車輪を駆動する。
（２）振り子はできるだけ重く、重心の高いものとし、回転中心にはベアリングを使用する。
（３）振り子の傾斜角度測定用のＬＥＤは丸形ではなく、長方形状の光源とし、角度の計
測可能範囲を拡大する。
以下にその理由を述べる。
（１）ギアボックスを用いれば、低パワーのモーターでもトルクを稼ぐことができるが、ギア中の歯車の咬み合いの遊びにより、機動力の伝達に遅延を生ずる。車輪の駆動の素早い制御動作ができなくなるのである。車輪を常に素早く制御操作をしなければならない本システムでは極力伝達の不要な遅延は避けるべきである。ギア部分を極力少なくするか、或いはモーターで車輪を直接駆動することにすれば、この問題は解決さ
れる。
- 17-

（２）動作中において、回転中心における摩擦、その他外乱が常に一定量で作用してくれる分には、それらの影響は制御動作において深刻とはならないが、実際にはこれらは時々刻々と変化し得る量である。振り子が軽いと、これらの変化量による影響が相対的に大きくなり、プログラムした予定の制御操作が困難になる。逆に、振り子が重ければ、これらの変化量による影響は相対的に十分に小さくすることができるからである。既成の倒立振り子装置（ １ ）で、予想外に重い振り子を使用している点に、この事情に対する考慮がなされていると判断できる。
重心が低ければ、振り子の倒れる速度が速くなる。倒れる速度が遅ければ遅いほど制御しやすいのは明らかである。
振り子が重くなれば、回転中心としては、回転運動が滑らかであることを保証するためにもベアリングを使用する方が優れているのも明らかである。
（３）振り子の傾斜角度の測定範囲がより広いことに越したことはない。ＬＥＤとフォトトランジスタを取り付ける位置を高くすれば高くするほど、傾斜角度をより精密に測定することもできる。
これらのことを考慮して、改良された完全自立に「倒立振り子車」を制作することを将来の一つの課題としている。読者諸兄も制作を試みてはどうであろうか。十分に正常な動作のする車を制作できれば、それを元にした新しいアイデアが生まれてくるような気がする。

１９９９年１２月２８日

- 18-

原稿筆

参考文献
（ １ ）「 現 代 制 御 理 論 を 使 っ た 倒 立 振 り 子 の 実 験 １ 、 ２ ， ３ 」 川 谷 亮 治 、 ト ラ ン ジ ス タ
技術１９９３年５月号３１５ｐ〜３２２ｐ、６月号３６７ｐ〜３７３ｐ、 ７月号
３６３ｐ〜３７０ｐ、ＣＱ出版。
（ ２ ）「 実 用 電 子 回 路 ハ ン ド ブ ッ ク ５ 」 ２ ２ ８ 頁 、 Ｃ Ｑ 出 版 。
（ ３ ）「 ワ ン チ ッ プ マ イ コ ン を 用 い た 倒 立 振 り 子 の 制 御 」、 草 彅 寛 和 、 小 山 高 専 電 子 制
御工学科１９９７年度卒業研究論文（ ４ ）「 倒 立 振 り 子 の ワ ン チ ッ プ マ イ コ ン に よ る 制 御 」、 バ ト バ ー タ ル 、 小 山 高 専 電 子 制
御工学科１９９８年度卒業研究論文。

- 19-