2021年6月20日日曜日

21.6.20 ブラシレスモーター

 


CD永久ごまの続きでブラシレスモーターを作ってみた。ステップ動作と連続回転ができる。


永久磁石のローターとコイルのステーターでモーターを作る。ローターの磁石は2極・4極・6極・8極、ステーターのコイルは3つと4つの組み合わせを試してみたところ、磁石2極、コイル4ヶの組み合わせが一番安定して動いた。
コイルは90度間隔で並べ、向かい合った2ヶを同時に逆極性で駆動する。コイルはM3のビスに0.26mmのエナメル線を700回巻いて作った。ローターの位置を検出するため、コイルと45度ずれた位置にホールセンサーを2ヶ取り付けてある。
ローターはネオジウム磁石をレゴの軸に直接両面テープで張り付け、2ヶずつ重ねたものが良かった。作りやすいように磁石をレゴの軸に取り付けるアダプターを3Dプリンターで作ってみたが、磁石を1ヶずつにしたためか、動きが良くないことが判明。結局軸に直接磁石をつけたものを使うことにした。


停止中は磁石がコイルを引き付ける位置にある。引き付ける力が強すぎると回れないので、磁石とコイルの距離は微妙に調整する必要がある。ステップ動作のときは、センサーの状態を見て現在の位置を判断し、次の位置のコイルが磁石を引き付けるように駆動し、90度回転して次のコイルの位置で止まる。停止位置は検出できないので、適当な時間コイルを駆動したら駆動をやめるようにしてある。連続回転の場合は、ステップ動作と同じようにスタートし、その後はセンサーの状態が変化する間隔に合わせてコイルの駆動を制御していく。



マイコンは最近使い始めた28pinのPIC18F25Q10を使うことにした。コイルを3ヶドライブするよう、モータードライバーを3ヶ実装し、ホールセンサーも3ヶ使えるようにしてある。コイルは4ヶ使うが、2つずつペアで駆動するのでモータードライバーは2ヶだけ使う。
2ヶのタクトスイッチ(Sw1,Sw2)でモーターを動かす。Sw1を1回押しすると、右回転でステップ動作を行い、ダブルクリックすると連続回転する。Sw2は左回転用。連続回転中にどちらかのスイッチを押すと停止する。
回転速度調整用のボリュームがついていて、コイル駆動のPWMのデューティーを変えて速度調整を行う。
トルクもそこそこあるので、このモーターで何かを動かしてみようと思っている。



2021年4月29日木曜日

21.4.29 ぶらさげ秤

 

ぶらさげた皿にモノを乗せて重さを測るぶらさげ秤を作った。センサーは歪ゲージを使う。


これまで使ったことがない歪ゲージを使ってみることにした。薄いフィルムに抵抗を張り付けてあって、すぐに破れるし、はんだ付けも熱を加えすぎるとすぐに縮んでしまう、など取り扱いは注意が必要。これをレゴのリフトアームの表と裏に張り付けて使う。歪ゲージの抵抗は、伸びると大きくなり縮むと小さくなる。この変化はとても小さいので、ホイートストンブリッジ回路で抵抗値の変化を電圧に変換し、差動アンプで電圧を増幅してPICのADコンバーターで測定する。


測定用の歪ゲージの電圧の測定値と重さの関係は、計算では決まらないので、係数を決めるためにキャリブレーションを行う。0gと199.0gの錘を乗せてそれぞれの電圧を測定し、測定値の変化に対する重さの係数を求めておく。
今回もプリント基板を作成した。CPUは28pinのPIC18F25Q10、表示器は7Segment3桁のLED、作動アンプはオペアンプ2ヶで作る。部品点数が多く、これまでで一番大きな基板となった。


秤の精度は±1%程度と思われる。
秤だけだと使う頻度はそれほど多くなさそうなので、温度計と時計の機能もつけておいた。

2020年10月27日火曜日

20.10.27 色紙でうろうろ歩き

 


以前カラーセンサーを使って「信号を守って走る三輪車」を作ったが、同じカラーセンサーで違う動きをさせてみた。

格子状の道を歩くうろうろ歩きで、交差点に色紙を置き、その色紙の指示に従って歩くようにする。


床に置いた色紙の色を検出するため、センサーは床から8mm位の高さに下向きに取り付ける。反射光が強くなるように白のLEDで床を照らし、明るい部分がセンサーの正面になるように調整する。
色紙は、Mr.ぶんぐで赤・黄・緑・青、の4色を買ってきた。色紙がなくて、白い床のままのところもあるので、白を加えた5色を判別できるようにする。


道路は以前作ったものをそのまま使う。センサーが車体の左側についているので、交差点の左手前に色紙を置くことにする。トレース用のセンサーの邪魔にならないよう、色紙は1辺が2cmの正方形にした。車輪に蹴飛ばされて動かないよう、両面テープで軽く固定しておく。
センサーの反応を待ったり測定値が安定するまで待ったりする必要があるので、交差点に来たらいったん停止して、測定値が安定するまで待つようにした。数百msの待ち時間になる。


色紙による指示は、赤:3秒間停止、黄:右折、緑:左折、青:直進、とする。赤以外のときにも、色紙を認識したことがわかるよう2秒間停止するようにした。指示に従うとコースをはみ出す場合は指示に従わずにランダムに方向を決める。
センサーの出力が周囲の明るさにも影響されるので、あまり明るいところや窓のそばでは誤動作することがあるが、夜になると元気に動くようになる。

2020年10月26日月曜日

20.10.26 かくれハモンドでBGM

 


今年の春はコロナでものづくり教室も4か月間休みになり時間があったので、久しぶりにPCのソフトを作ることにして、かくれハモンドキーボードをパソコンから鳴らすソフトをGUIを使って作ることにした。


GUIでソフトを作る環境としてJavaを試してみたが、グラフィックやMIDI周りなど、ネットで調べながら1人でやるのは難しく、ほかの方法を探していたところ、最近のVisualStudioは無料のものでもGUIを使えることがわかり、これを使うことにした。
ちょっと古いやりかたらしいが、C++で使えるMFCを使うことにして、ダイアログベースのアプリを作ってみた。
ハモンド音源の音色とエフェクトを操作し、SMFファイルで自動演奏ができるソフトを作る。

9本のドローバーをスライダーでコントロールしようと思ったが、スライダーを9本画面に並べてイベントハンドラーを9つ書くのは面倒なので、ドローバーの組み合わせのプリセットデータをスピンコントロールで選んで呼び出す方法にした。エフェクトも同じように9つのプリセットから選ぶ。プリセットデータの内容は、画面で表示するようにした。
自動演奏は、以前SMFのプレイヤーを作ってあったので、これを組み込んだ。曲を登録しておくと、次々にランダムに曲が鳴る。ついでに音色とエフェクトもランダムに変わるようにしてみた。



パソコンと音源の接続は、秋月から調達したUSB-Serialインターフェイスを使う。かくれハモンドは電池の消費量がかなり多いので、電源をUSBからもらうことにした。これで電池交換の心配もない。さらに、BGM用ならキーボードは不要なので、BGM専用に音源基盤とUSB-Serialインターフェイスを板につけたものを作った。



ハモンドの音は刺激が少ないし、和音の鳴り方も気持ち良くてBGMには具合がいいので、小さめの音でよく鳴らしている。


2020年10月25日日曜日

20.10.25 かくれハモンドキーボード

 


4年前に作ったハモンド音源をものづくり教室の教材用に作り直した。音源部のソフトはほとんど以前のままで、生徒が作りやすいようにプリント基板を作成した。キーボードはプラダンで1オクターブのものを作る。ドローバーはなしでプリセット音色だけとした。


音源部はプリント基板を作ったので生徒も短時間ではんだ付けできた。マイコンのdsPIC33FJ64GP802はかなり電気を食うし、ヘッドホンも鳴らすので、音源は単3電池3ヶをレギュレータで3.3Vにして使う。ヘッドホンを鳴らす部分はいくつかアンプのICなど試してみたが、結局以前と同じエミッタフォロワとした。アンプにつなげるところは、直流をカットするためにコンデンサを入れたので、ヘッドホンジャックが2ヶ並んでいる。
ソフトはほとんど以前のまま。デモ用の自動演奏のデータにクラシックのオルガン曲も入れた。


キーボードはプラダンを切って作る。白鍵と黒鍵を1枚のプラダンで作ることにしたが、鍵盤のすき間を2枚刃カッターで切る作業が難しく、予想以上に時間がかかることが判明したため、仲間が作ってくれた3ヶに加え、新たに5ヶの2枚刃カッターを作成した。鍵盤の接点はメッキ線を使い、共通のグランド接点はアルミテープを使うことにした。



基板と鍵盤の間をフラットケーブルで接続するが、接点のメッキ線とフラットケーブルをはんだ付けする作業が難しいようで、ほとんどの生徒が苦労していた。



小さなキーボードだけど、スピーカーで鳴らすと本格的な音で聴けるし、レスリースピーカーの効果もあるので、生徒も喜んでいた。


2020年7月5日日曜日

20.7.5 加速度リモコン


加速度センサーのMPU-6050を使って三輪車のリモコンを作った。重力加速度と手で振動させる加速度を使う。


センサーのMPU-6050はX,Y,Zの3軸の加速度を測定するセンサー。最初はセンサーの使い勝手を調べる意味もあり、水準器を作った。重力加速度の変化を測定して、傾きを十字型に並べたLEDで表示する。水平なら中央のLEDだけが点灯するが、傾くとX方向とY方向の高い方にLEDの光が移動する。センサーの感度は5段階に切り替えられるようにしてある。


水準器の応用で、傾けた方向に三輪車が走るリモコンを作ってみた。前に傾けると前進、右に傾けると右折、左に傾けると左折する。
もう1つは、リモコンを前後に振動させると、その加速度で前進の速度を決める。左右は傾きで制御する。このやり方は、疲れるしうまく走らせるのは難しい。


おまけで、簡単なシューティングゲームも組み込んだ。1つめは、横に並んだLEDの左から右に的が動いていくので、中央に来た時にスイッチを押すと的が爆発する。外れるとそのまま右に消えていく。的に当たると、次は的の動きが速くなっていく。
2つ目は上級者向けで、的が左右、右左、上下、下上にランダムな方向で飛んでくるし、次に出てくるまでの間隔もランダムに変化する。

2020年7月4日土曜日

20.7.4 手回し電子サイコロ


発電と蓄電をテーマにして、電子サイコロを作った。発電は去年三輪車で使ったギヤ付きモーターを使い、蓄電はスーパーキャパシタとも呼ばれる電気二重層コンデンサを使う。


発電用のギヤ付きモーターに手回し用のアームを3Dプリンターで作り、レゴのハンドルをつけた。蓄電は充電式の電池ではなくコンデンサを使うことにして探してみたところ、秋月で1Fのものが1ヶ100円であるのを発見。サンプルを調達してみた。ちなみに、電源などで100μFくらいのコンデンサを使うが、1Fはこれの1万倍。


モーターの出力をダイオードで整流してコンデンサに溜める。最初の実験ではコンデンサを3ヶつけて3Fにしてラジオを鳴らそうとしてみたが、モーターをブンブンまわしても瞬間的にザーというノイズが出る程度で、音を出すのはあきらめた。3Fあっても、電池の容量とは比べ物にならないことがよくわかった。
消費電力が少なくて、短時間で遊べるアプリとして、電子サイコロに落ち着いた。LEDを6角形に並べ、サイコロの目を表示する。同時には1ヶだけ点灯すればよいので、コンデンサ1ヶで十分遊べることがわかった。


電圧が下がっても使えるよう、最近よく使っているステップアップレギュレータを使う。これで、3.3Vに昇圧してマイコンとLEDを動かす。
コンデンサに蓄えた電力を表示するため、コンデンサの出力の電圧を測定して表示することにした。LEDの点滅回数で電圧を表示する。3回点滅なら3V以上、2回点滅なら2V以上、1回点滅なら0.5V以上とした。点滅しなくなったら動作しなくなるので、モーターを回して充電する。

サイコロの操作はスイッチ1ヶで行う。スイッチを押して離すとLEDがクルクル回って光り、動きが徐々に遅くなって止まり、どれか1つのLEDがブリンクしてブザーが鳴る。スイッチを押している時間が長いと止まるまでの時間が長くなる。
スイッチをダブルクリックすると、LEDが回るのではなく、ランダムに点滅し、動きが徐々に遅くなって止まって出た目を表示する。さらに、3回押しにすると、サイコロ2ヶが同時に振られたことになり、止まった時に2つのLEDが点滅する。2つのサイコロが同じ目のときは、ブリンクの周期が半分になる。