2016年4月13日水曜日

16.4.13 永久ごま2


ものづくり教室で、3年ぶりに永久ごまを作ることにした。経験者には同じ原理で動くブランコまたは他のものを作ってもらうことにする。


初代の永久ごまは百円ショップで調達した盃の上で回したが、同じ店に行ってみたが盃は売っていなかった。仲間に相談したところ、缶ビールの底が丸くなっている、というアイデアをもらい、缶ビールの底の上で回すことにした。試作ができたころ、別の仲間が百円ショップで盃を発見し調達してきてくれた。今回は盃か缶ビールか、生徒に選んでもらうことにした。


こまが回る原理はブラシレスモータに近い。ローターに相当するこまは永久磁石を4ヶ持っている。ステーターには電磁石を2ヶ使い、こまの磁石の位置を検出するためにリードスイッチを使う。永久磁石が狙った位置に来たことを検出し、電磁石を駆動してローターを回す。こまはバランスよく作れるようレゴで作る。
調整はリードスイッチの位置とコマの軸の長さ。安定して回る組み合わせを試行錯誤で探す。


電磁石2ヶのコイル巻きが難関の工程。ポリウレタン線が絡まらないように慎重に巻いていく。


制御はいつものPICマイコンを使う。基板は以前リモコン用に作成したプリント基板。
ケースは木製。シナベニヤの板と角棒を接着して作る簡単な構造とした。


ものづくり仲間の希望もあり、経験者用にこまと同じ原理で動くブランコを用意した。
振り子時計と同じ構造で、ブランコに永久磁石を付け、ブランコの真下にリードスイッチと電磁石を付け、ブランコを駆動する。


ブランコの形は、作りやすさを優先し、板の両側に直角に棒を立ててブランコを支えることにした。ブランコの軸はレゴで作る。ブランコをチェーンやひもでぶら下げることも検討したが、駆動方法を考えるとブランコの形が固定されているのが間違いないので、アルミ棒でブランコをぶら下げることにした。



こまと違い、リードスイッチの位置を変えることができないので、リードスイッチで永久磁石の位置を検出してから電磁石を駆動するまでの時間と電磁石の駆動時間を設定できるようにした。ボリューム1ヶとタクトスイッチ2ヶを使う。
試作機はデモ用に電磁石を駆動している間、ブランコにつけたLEDが点灯するようにしてある。


2016年2月20日土曜日

16.2.20 飾りがついたゲジゲジ君


ゲジゲジ君にゴキブリの飾り付けをした。黒い画用紙を切って体とひげを作り、輪ゴムでボディに取り付けただけ。今日の教室で他のゲジゲジ君といっしょに走らせてみた。ゴキブリらしくすみっこの壁に沿って走る。


2016年2月15日月曜日

16.2.15 ゲジゲジ君


ものづくり仲間が作った教材を試作し、ついでに自分用にアレンジしたものを作ってみた。
モーターの軸に偏心した錘をつけ、その振動でブラシを振動させて動かすもの。


教材用のものは、モーター1ヶを木のボディに取り付け、ブラシは3ヶつける。錘をつける部品は3Dプリンタで作成したもの。2mmのビスとナットを錘にしている。以前テクノフェスタで教材にした光るペンダントの基板を使い、LEDを光らせる。
モーター・電池・ブラシ・LED基板の配置は生徒がアレンジできる。重心が低くなるよう、モーターをボディの下側につけ、両側にブラシをとりつけた。教室ではボディの上に乗り物や動物などの飾り付けをするが、今回は飾りなしのまま。
教室ではコースを作って競争する予定。



自分用のものは、動く方向を真っ直ぐ・右・左、と制御するようにしてみた。モーターとブラシを2ヶずつ使う。方向の切り替えは得意のメロディーに合わせてやることにした。音符が変わるたびにランダムに方向を切り替える。LEDが2ヶついていて、動いているモーターの側のLEDが光る。モーターのスピードは音程が低いと遅く、高いと速い。
4歳の孫も喜んで遊んでいた。




2015年11月23日月曜日

15.11.23 ミニキーボード


ものづくり教室の生徒に電子音を体験してもらおうと思い、基板にスイッチを鍵盤状にならべてキーボードを作ったところ、ものづくり仲間が鍵盤じゃないとつまらない、と言って、プラダンで鍵盤を試作してくれた。その鍵盤を使い、ミニキーボードを作ってみた。


鍵盤は1オクターブで発音数は1つだけとする。PIC1つで全ての処理を行うことにし、部品点数が一番少なくできる16bitのPIC24FV32KA301に決めた。音源方式はピッチ同期式で1周期128ポイントの波形メモリ方式とした。DACはないのでPWM変調を使うことにし、キャリア周波数は256KHz、データのビット数は8bitとした。PWM変調の出力に抵抗を直列に入れて圧電ブザーを鳴らしている。


鍵盤は1オクターブの13keyとモード選択用に1keyの合計14keyがあり、それぞれの鍵盤のスイッチがPICのポートに接続されている。
通常は、鍵盤を押して演奏する。モード選択キーをダブルクリックするとエディットモードになり、鍵盤でパラメータ変更などができるようになる。モード選択キーをシングルクリックすると、通常の演奏モードに戻る。

機能1:音色選択
白鍵を押して音色を変更する。サイン波・三角波・矩形波・鋸歯状波・FM波形(4種類)の8種類の波形が用意されている。8番目の波形は、音の出だしから波形を順に切り替えていくようになっていて、音色が変化する音になっている。
機能2:音量エンベロープ設定
音量の減衰を選択する。減衰なしから減衰最大までを4種類選べる。
機能3:ビブラート設定
ビブラートの深さを設定する。ビブラートなしから最大までを4種類選べる。
機能4:オクターブ設定
演奏する音程のオクターブを4つの中から選択する。
機能5:メロディー演奏
メロディー貯金箱用に作ったメロディーを連続演奏する。演奏順はランダム。メロディーを演奏しながら機能変更を行うと、音色の変化がわかりやすい。


プラダンで鍵盤を作る工程で、白鍵の隙間をカッターで切り取る作業や、スイッチになるメッキ線を取り付ける作業など、かなり技術的にも高度な作業があるし、ユニバーサル基板に回路をはんだ付けし、スイッチのメッキ線と接続する作業も忍耐が必要な作業なので、他の作業の負担を減らすよう、いくつかの作業を事前にこちらで行った。


和音が出ないのが最大の欠点だし、音の強弱のコントロールができないのが寂しいが、簡単なメロディーを弾いて楽しむことはできる。

2015年9月13日日曜日

15.09.13 エネループ放電・充電器


今回は自分用の実用品。以前、エネループ用の放電器を作ったが、電池1ヶ用だったし、充電は別の充電器に移してやる必要があったので、エネループ2ヶを同時に放電してから充電する装置を作った。電池でエネループを充電するのはばからしいので、電源は3.3VのACアダプタを使う。


放電は、トランジスタのコレクタに3.3Ωの抵抗をつけ、これにエネループで電流を流すようにする。流れる電流は300mA程度。電池の電圧を測定し、1.0V以下になったら放電を終了し、充電を開始する。


充電は別のトランジスタのコレクタに3.3Ωの付加抵抗を付けて電源に接続し、エミッタにエネループの+側をつなぎ、-側はグランドにつなぐ。3.3Ωの両端の電圧を測定し、一定の電流が流れるようにベース入力のPWMの幅を制御する。電池を10時間で使い切るのと同じ電流で充電するのが安全ということなので、単3の場合は190mA、単4の場合は75mAを流して充電する。充電中の電池の電圧が1.44V以上になったら充電を終了し、無負荷状態に戻る。


動作状態や電池の電圧を表示するため、乾湿式の温度・湿度計で使ったのと同じ3桁の7SegLEDを使い、操作用にタクトスイッチを2ヶ用意した。
LEDの1桁目は状態表示で、上半分で左側の電池、下半分で右側の電池の状態を交互に表示する。"口"は無負荷状態、下の横棒がないのは放電状態、右の縦棒がないのは充電状態を表す。1桁目の小数点は常に点灯している。
2桁目と3桁目で電圧の小数部を表示する。電池が装着されていない場合は"--"と表示される。


電池を電池ホルダに入れると、無負荷の状態の電池の電圧が表示される。エネループでなくても電池の残量を表示することができる。基板には単4用の電池ホルダを取り付けたので、単3を使う場合は単3用の電池ホルダを基板のコネクタに取り付ける。


タクトスイッチを押す回数で機能を選択する。
1回押しは単4電池の放電と充電、2回押しは単3電池の放電と充電、3回押しは単4電池の充電、4回押しは単3電池の充電となる。動作中にスイッチを押すと、動作を停止して無負荷状態に戻る。

2015年8月23日日曜日

15.08.23 乾湿式温度・湿度計


乾湿式の温度・湿度計を作ってみた。昔からガラス管の温度計2本を並べたものがあるが、これを電子式の温度センサーで再現したもの。


温度センサーはトランジスタ型のLM61を使う。出力はアナログなので、PICのADコンバータでディジタル値に変換する。乾球のほうはそのままの温度を測定するが、湿球のほうは水にひたしたガーゼをプラスチック部分に巻きつけて湿らせて測定する。
水分が蒸発するときに気化熱を奪うので、湿球のほうが温度が低くなる。乾球と湿球の温度差と乾球の温度で湿度を読み取るが、本来のガラス管の温度計用のテーブル通りだと湿度が高く表示されるので、現物合わせで、乾球と湿球の温度差を2倍にしてテーブルを読むようにした。


乾球の温度と乾・湿球の温度差で湿度を読むテーブルの一部は以下のようになっている。
温度は0.1度単位で測定しているので、乾・湿球の温度差の1度の間は直線補間して湿度を求める。たとえば、乾球温度26度で、乾湿球の温度差が3.4度の場合は、76 - (76-69)*0.4 = 73.2で73%となる。
 Dry  Difference Between Dry and Wet
      0   1   2   3   4   5   6   7   8   9
 30 100  92  85  78  72  65  59  53  47  41
 29 100  92  85  78  71  64  58  52  46  40
 28 100  92  85  77  70  64  57  51  45  39
 27 100  92  84  77  70  63  56  50  43  37
 26 100  92  84  76  69  62  55  48  42  36
 25 100  92  84  76  68  61  54  47  41  34


PICは8bitのPIC18F26K22を使った。表示は7セグ3ケタのLEDを使う。温度は" 27"、湿度は"h72"のように表示する。
温度と湿度の表示だけだともったいなので、キッチンタイマーの機能も付けることにした。表示が3ケタなので、"9:50"までの時間を設定できるようにした。ラーメンの3分、パスタの9分には十分使える。
LEDで表示するので、つけっぱなしだと電池がすぐになくなるため、スイッチ操作から10分経つとスリープするようにした。


水を使うので、全体をひとまとめにしておくことにし、木の台に基板・電池・ペットボトルで作った水入れ、を取り付けた。
別のセンサーで作った温度・湿度計と比べているが、温度・湿度ともほぼ同じ値が表示されている。


2015年5月10日日曜日

15.05.10 リモコンで動かす三輪車


これまで三輪車にいくつか芸をやらせてきたが、PICの新しい基板を作ったので、これまでの芸をまとめて復活させてみることにした。3回に分けて書くことにして、今回はリモコンで操作するもの。


16bitのPIC24FJ64GA002を使って新しい基板を作成した。プログラム領域が64KBytes、データ領域が8KBytesあるので、あれこれ機能を盛り込んでも十分実装できる。16bitなので計算が早いしPWMの出力も5ヶ使える。モータードライバーはRohmのBD6211を2ヶ実装した。リモコン用に赤外線受信器を実装し、他にはボリュームとスイッチを1ヶずつとLEDが3ヶ。外部との入・出力用に6pin分を用意した。



リモコンは4種類用意した。最初はDVDレコーダー用のリモコン。ボタンがたくさんあるので便利に使える。上下左右の矢印キーなどを使い、前・右前・左前・後・右後・左後・右回転・左回転・停止、の動きができ、速度は8段階に設定できる。
このリモコンは三輪車を動かす他、動作モードの切り替えなどにも使っている。


次はボリュームで方向を決め、ボタンで前進・後退をさせるもの。ものづくり教室で作成したプリント基板で作ってある。この基板は、PIC、トランジスタ、ボリューム、スイッチなどを実装できるので、さまざまな用途で便利に使っている。


ボリューム2つで制御するもの。左手の親指で前進・後退と速度を制御し、右手で方向を決める。リモコン用のプリント基板に穴を開け、むりやりねじ止め型のボリュームを2つ取り付けた。


最後はレゴの歯車を回し、歯車の回転をロータリーエンコーダで検出して、左右の車輪の回転方向と速度を別々に制御するもの。歯車の回し方で動きが変化する。


リモコンで操作して楕円形のコースに沿って走らせてみたが、思ったよりも難しくなかなかきれいには動かせないことがわかった。