コーヒーとチョコレート

好きなことをつらつらと書きます。下手でもやりたいことやってみるよ!

三軸加速度センサーでサーボさせたかった

 お久しぶりです。今回は電子工作の回です。手元にある部品で何か作れないかな?と思い寄せ集めの部品で回路を作りましたのでレポート兼備忘録を書くことにしました。

 筆者は素人みたいなものでして、これよんでこうしたほうがいいよ!とかここどうなってるの?とかそんなことも知らないの?とかアドバイスやコメント、質問等あればTwitteなりコメントお願いいたします!

f:id:kesikasuapple:20180627170435j:plain

 

1. とりあえずの目標


有翼飛行機(ラジコン?)を自作したときに自動でサーボでローイング、ヨーイング、エレベーターを自動制御させてみたいな。というのが頭にあり作ってみることにしました。
まず最初の目標は三軸の(x軸、y軸、z軸)加速度を検知させて3個のサーボの制御をおこなうことです。もし可能なら三軸同時にタイムラグ少なく制御させたいですな。

2.概要

まずはシステムのざっくりな説明です

f:id:kesikasuapple:20180627202042j:plain
今回作成した回路のシステム図

Arduino unoと三軸加速度センサ間の通信はSPI通信をしています。サーボの通信はPWM通信で動作させています。Arduino unoの電源はPCからUSBで給電しています。三軸加速度センサの電源はArduino unoの3.3Vから給電。サーボの電源は乾電池の6Vから給電しています。以下に使用した部品と制作した回路図、プログラムを記載します。 

2.1使用した部品

f:id:kesikasuapple:20180627195431j:plain

Arduino uno

 

3軸加速度センサ LIS331

サーボ×3

  • CG-5010
  • S3005
  • もう一個わかんない

乾電池4本(6V)

2.2回路図

 手書きの回路図には電源を4Vと記載していますが間違えました。6Vです!

f:id:kesikasuapple:20180627170543j:plain
手書きの回路図見にくいですがご了承ください・・・

 サーボは並列回路を組んで電源供給しています。


2.3使用したプログラム

3軸加速度センサーを動作させるためのプログラムがすでにネット上にあったのでそれをちょちょいと書き加えてサーボをなんとか動作させるようにはできました。

 使用したプログラムのダウンロード先がどこだか覚えていません!ごめんなさい!たしかGit Hubにあった気がします。

以下プログラム

 三軸加速度センサーから値を取得し、サーボの角度0度から180度の間の数値に置き換えています。その置き換えた数値をサーボに送信し動作させています。

 

3.動作結果

 うーん、よくわかんないっす

 絶えず細かく変化している加速度の値を読み込んでいます。その値を常時サーボに送っているせいかギシギシ動きまくっています。

 電力不足なのかプログラムがよくないのか回路の組み方が悪いのかどれも考えられるので問題の切り離しをひとつづつやってかないと何にもわかんないだろうな・・・

 考察は取り合えず後に回して後々追記していこうかと思います。(これじゃぁもらえるアドバイスなんてないだろうな・・・)そもそも勉強不足なのもあるしいろいろ調べてみます