Table of Contents
この記事で学習できること
- GY-521の傾斜治具の作成しました。この作成の記録をトレースすることで、部品構成を3Dプリンタで作成できる構成品にどのように分割し完成させるのかを学習できます。
なぜ傾斜運動治具が必要なのか?
- MPU6050 (3軸加速度、角速度センサ)を内蔵した、GY-521を傾斜運動させて、加速度と角速度の信号を測定する治具を作成します。
- GY-521は加速度計と角速度計の測定値を出力します。手動でGY-521を傾斜・回転させて角速度の変化を測定することはできますが、傾斜・回転の動きは一様でなく測定値の評価が難しくなります。傾斜と角速度を定量的に調べるは、一定の動きでGY-521を傾斜運動させる治具が必要です。
- 傾斜運動させる治具は、連続回転サーボモータ(SG90-HV)を使用してステージを上下運動させます。そのステージにGY-521を取り付けて加速度と角速度を測定します。
- [ArduinoでGY-521(ジャイロセンサー)から加速度と角速度を読み出す仕様を調べました ] — GY-521の仕様の学習
- [Arduinoでサーボモータ(SG90、SG90-HV)を操作しました] — サーボモータの操作方法の学習
- [FreeCADで3Dプリンタ用のSTLデータを作るには?] — FreeCADを使った3D図面の作成方法
- [XYZ PRINTINGの3Dプリンタを購入しました ] — 3Dプリンタの出力方法の学習
GY-521傾斜治具の構想
- 傾斜運動をどのように実現するかの概略の構成を考えます
- 連続回転するサーボモータに楕円形のカムを取り付けて、このカムでGY-521のステージの片側を上下運動させます。ステージの端に支点を設けて、ステージは支点を中心として円弧の動作をします。このステージの上にGY-521を設置します。

使用した部品
| Arduino UNO R3 | CPU |
| GY‑521(MPU6050) | 加速度・角速度センサ |
| SG90-HV | 連続回転サーボモータ |
| 3Dプリント部材 | PETGで造形 |
GY-521傾斜治具の完成形
- 試行錯誤しながらとりあえず治具ができあがりました。最初の構想の考えを活かし、所有する3Dプリンタの機能と出力精度のバランスを取りながら部品の寸法を決めました。私は昔、家電製品の電気回路の設計・評価をしていましたが、機構設計をしたことはありません。経験者から見ると傾斜動作させるには色々と他の案があると思いますが…

GY-521傾斜治具の完成まで工程
● 購入した3Dプリンタは、一種類の材料を扱う仕様です。サポート材は使えません。治具の部品をどのような方向から作っていくか、また分割した部品をどのように組み立てるかを試行錯誤しながら検討しました。それなりに高価な3Dプリンタを購入すればこのような工夫はいらないかもしれません。趣味の世界でもありますので、色々考えるのも趣があると思います。
● 治具の部品構成
治具は3Dプリンタで作成した6点の部品とサーボモータで構成しています。
● 部品の勘合方法
3Dプリンタで部品を作成します。私の購入した3Dプリンタのノズルは一つでサポート材は使えません。下側からの積み上げだけでは全体は作り切れないので部品を何点かに分けて作ります。部品を個別に作成後にそれぞれを組み立てます。
部品の結合は、部品に楔形の形状を作って勘合させる方法にしました。
●サーボモーターとカムの接続方法
サーボモータの回転を伝えるギヤのピッチは細かいので、3Dプリンタで受け側のギヤを作ることは困難でした。サーボモータに付属するホーンの寸法であれば3Dプリンタで作成可能で、カムにホーンの凹みを作成し勘合させました。
カムの反対側にシャフトを設けて基礎からリブを立てて受けてカムがたわまないようにしました。
●ステージの構造
ステージは支点を中心に回転する構造にします。片側からのみ支えるとたわみが発生するかもしれないので両側で支える構造としました。
ステージの両側に穴をあけて、ステージ右脚・左脚のシャフトを差し込んでいます。
●カムを使ったステージを傾斜させる方法
ステージを傾斜させる方法は単純です。連続回転サーボモータに繋がっているカムの回転に従ってステージが上下します。
連続回転サーボモータの回転速度の設定方法は過去の記事で学習済みです。5Vの電源電圧時に120rpm程度の回転速度まで回転速度を設定できます。
治具にGY-521を取り付けます
- GY-521 (MPU-6050)を配線した小型のブレッドボードを、作成した治具のステージに両面テープで取り付けます。

治具を動かしてGY-521の出力を測定します
- 連続回転サーボモータ(SG90-HV)で治具のステージの傾斜運動をさせます。ステージを傾斜運動させながら、GY-521の出力を測定します。
- 測定のために連続回転サーボモーター(SG90-HV)を一定速度で回転させます。電源を抜くときに回転しているのは嫌なので、10分回転して、10秒止まるる動作を繰り返します。
- loop()中のwriteMicroseconds()関数の設定値変えて速度を設定します。1500usecが中心地で、+/-500usecの範囲で回転速度を例えば、1600、1650、1700などに変えて回転速度を変化させます。
//連続回転サーボモーター(SG90-HV)を一定速度で回転させる
#include <Servo.h>
Servo myservo;
void setup(){
myservo.attach(9);
myservo.writeMicroseconds(1500);// move speed to 0
delay(5000);
}
void loop(){
myservo.writeMicroseconds(1650);// move speed to setting speed
delay(600000UL);
myservo.writeMicroseconds(1500);// move speed to 0
delay(10000);
}- 角速度を測定しました。変動しているのはX軸です。DLPFは6に設定しています。

- 加速度を測定しました。変動しているのはX軸です。DLPFは6に設定しています。
- ステージの角度の変動は +/- 5度 程度なのでZ軸の変動はあまりありません。

- 測定された信号から、想定した動作をしていることが確認できました。
まとめ
- 簡易的な傾斜治具を作ることができました。GY-521の加速度と角速度の測定データはArduinoに接続すればシリアルモニタやシリアルプロッタで確認ができますが、手動でGY-521を定量的に動すのはかなり困難です。
- この治具を使ってGY-521の出力を深く学習できました。記事を[ArduinoでGY-521(3軸 加速度・角速度センサ)を使って傾斜角度を計算しました ]にまとめました。
- この治具の学習が自己バンスロボットの作成にも繋がりました。記事を[自己バランスロボット(倒立振子)を作りました Vol #3 – プログラミング]にまとめました。
ご質問、誤植の指摘などありましたら。「問い合わせ 」のページからお願いします。

