キットも電子工作の入門ツール 連載(1-1)
電子工作の材料を探しながら、おもちゃ売り場や街を歩いてみました。トランジスタやICでモータをコントロールしているキットが思いのほか多く見つかりました。
次の二つの写真は、同じライン・トレーサですがトランジスタ回路のものと、マイコン回路での制御のものです。見た目もいろんなデバイスが載っかっていて楽しそうです。
電子工作の材料を探しながら、おもちゃ売り場や街を歩いてみました。トランジスタやICでモータをコントロールしているキットが思いのほか多く見つかりました。
次の二つの写真は、同じライン・トレーサですがトランジスタ回路のものと、マイコン回路での制御のものです。見た目もいろんなデバイスが載っかっていて楽しそうです。
■プログラミング・ロボットKIROBO
電子工作の材料となる素材として、イーケイジャパンのKIROBOというキットを紹介します。12歳以上対象となっているキットで、組み立ては1~2時間で終えることができます。ただし、実際に動作させるためにはメーカのホームページから専用ソフトをダウンロードして、動作を指定するプログラムを作成しなければなりません。そのプログラムをパソコンのサウンド出力からこのKIROBOに転送して初めて動作します。
なかなかハードなキットです。しかし、対象を小学校の高学年から中学以上と想定しているので、説明書も丁寧で、その気になれば誰でも自分の思い通りの動きを実現できそうです。
■歩行するキット
今回は、車輪でなく4本足で歩行するメデューサIIを組み立ててみます。イーケイジャパンのMOVITのシリーズの一つです。メデューサの名前を見て、何でここにギリシャ神話のゴルゴン三姉妹のメデューサが出てくるのか不思議に思っていました。
組み立て説明書には、英語のくらげを示すMedusaに由来しペルセウスに首を切られたメデューサとは無関係とありました。実際足の数は少ないのですがクラゲを思わす形をしています。しかし、辞書を引くとクラゲ(jellyfish)の前にメデューサまだはメドゥーサと出てきます。このメデューサはベルサーチのシンボルともなっていて、その奇抜なベルサーチのコンセプトをよく現しています。
■ソルダーレス ブレッドボード
ブレッドボードとはパン切り(捏ね)台のことですが、当初、パン切り台のような木のボード上に部品を載せ配線し試作基板を作っていたため、試作基板のことをブレッドボードとしているようです。以前は、ICの回路確認のためにかなり大きな試作基板が作られ、回路のテストが行われていました。初期のマイコンの試作基板は畳1、2枚分の大きさにもなったようです。
いまは、ICやトランジスタなどの部品を抜き差しし、ジャンパ線で回路が構成できるブレッドボードは、ソルダーレス ブレッドボード(Breadboard)と呼ばれ、はんだ付けの必要ない試作基板の意です。ここではソルダーレスを省略し単にブレッドボードと呼び、ソルダーレス ブレッドボードを示すこととします。
具体的には次に示すE-CALL ENTERPRISE 社のブレッドボードを例として取り上げます。
![]()
この連載では、電子キットを購入してきて、組み立ててその動作を調べ、より面白い動作などに発展させるために、回路を変更したりすることに挑戦しようとしています。その中で、ちょっとした実験などに適したブレッドボードについて、前回から解説をしているところです。
■ジャンパ線は単芯のリード線で作っている
トランジスタやICのリードをブレッドボードに差し込みます。配線はジャンパ線で行います。ブレッドボードとセットになったジャンパ線もあります。サンハヤトのブレッドボード用のジャンパ線のセットは、回路間の信号や、電源接続のための、長さが50mm、70mm、100mm、150mm、200mmと複数の長さのジャンパ線のセットと、2.54mm単位でブレッドボードのピンの間隔の整数倍の長さの25.4mmまで長さが9種類、25.4mm単位で127mmの5種類用意されています。EIC-Call社も同様なセットを用意しています。
しかし筆者は、部品のリード線の切れ端とφ0.5mmの単芯のリード線でジャンパ線を作っています。次に示す写真のように、必要な長さにリード線を切断し、両端の被覆をワイヤ・ストリッパで剥いて、端をまげて整形し使っています。2.54mm、5.08mmの間隔のジャンパ線は部品のリード線の切れ端とスズ・メッキ線で作っています。
![]()
この連載では、電子キットを購入してきて、組み立ててその動作を調べ、より面白い動作などに発展させるために、回路を変更したりすることに挑戦しようとしています。その中で、ちょっとした実験などに適したブレッドボードについて、二度にわたって利用方法を説明しました。今回から、そのブレッドボードを利用方法を具体的に見ていきましょう。
●タイマICで発振回路
今回は、よく使われるタイマICのLMC555をテストしてみます。8本足の小さなICですが、いろんな場面で使われる便利なタイマICです。回路図を次に示します。ブレッドボード上の部品の配置とほぼ同じ位置にしてあります。
今回はブレッドボード編の最後として、ブレッドボードにスイッチを取り付ける場合とリード線の引き出しの例を示します。
●スイッチの取り付け
ブレッドボードでスイッチを利用する場合、2.54mmピッチのものを利用します。秋月電子通商で販売しているトグル・スイッチは2.54mmピッチです。ブレッドボードに差し込み利用することができます。しかし縦型のトグル・スイッチはスイッチの切り替え時に少し強い力が必要です。そのためしっかりスイッチを押さえてスイッチの切り替えを行わないとブレッドボードから外れてしまいます。
●フォト・リフレクタによるライン検出回路
フォト・リフレクタの赤外線LEDに電流を流し、発光した赤外線の光が白紙に反射してフォト・トランジスタが受光すると、フォト・トランジスタのコレクタに反射して届いた光量に応じた電流が流れます。LEDに流した電流と、反射した赤外線を受けてフォト・トランジスタに流れる電流の関係がデータシートで示されています。または前回実測したデータ。
この値を利用してフォト・リフレクタの動作条件とフォト・リフレクタの信号を判定するコンパレータの条件を設定します。
●電源電圧を決める
今回自走車で使用する予定のタミヤのツインモーターギヤーボックスで使用されているモータは1.5Vから3Vの電源電圧で駆動するようになっています。制御装置はPICマイコンを使用します。モータとは別電源として、3.6Vから4.5Vのニッケル水素電池3本もしくは乾電池3本を使用することにします。
前回組み立てた制御回路の調整と、白地と黒地の反射率の差によるフォト・リフレクタの出力の状況を確認します。測定結果の内、黒線の幅が20mm、10mm、3mmのものについてEXCELでグラフ化したものを示します。
●測定点
各図のX軸の値はフォト・トランジスタの位置を示しています。そのため、+15mm、+10mmの位置ではフォト・トランジスタよりマイナス側に設置された赤外線LEDが黒線の影響を受けます。一方、-10mmのほうで赤外線LEDは黒線の影響を受けない状態になっています。測定値は、黒線を描いているボール紙のゆがみや、センサの向きの振れなどで1,2割変動します。
今回は、制御の対象となる自走車の準備を始めます。連載2-4でモータのオン/オフを確認したタミヤのキットです。まず、次に示す3種類のキットを用意します。
● トラック&ホイール・セット
ユニバーサル・プレートを重ねる場合間に、スペーサを用意します。スペーサがない場合は、45mmから50mmのM3のビスを利用する方法があります。ホームセンタではM3のビスは30mmくらいの長さまでそれ以上の長さのビスはあまり置いていません。
誰でも入手できるようにマルツパーツのメタルスペーサM3用35mm(105円)とジュラコンスペーサM3用40mm(47円)を入手しました。
今回から数回モータの回転制御の話をします。
模型用小型モータの正逆の回転方向制御、回転の開始、停止の制御を行う具体的な方法を試してみます。
モータのオン/オフは連載2-4で示したトランジスタまたはFETのスイッチ回路が基本となります。回転数の方向制御の一つに、次に示すブリッジ回路があります。
![]()
前回提示したモータ制御回路を、、実際に2回路ブレッド・ボード上で組み立て自走車を走らせてみます。
今回は、秋月電子通商で購入したEIC-801Tを使用してテスト回路を組み次の写真のように自走車の上に載せました。
![]()
制御入力値とモータの回転の様子
前回のテスト回路について、制御入力の値をそれぞれ変えて、モータの回転の様子を確認した結果を示します。
測定した値
TA7291Pの制御入力IN1、IN2の設定状態とモータの制御出力OUT1、OUT2およびVS、Vccの電源電圧の様子を測定しました。電源は電池ですので電池の消耗のため測定の開始時期と終了時では電源電圧が変わっています。また、モータ駆動用の電源VSは、モータの稼動状態により停止時の3.1Vから両方のモータが駆動されるときの約2.5Vと大きく変動しています。
測定方法
動き回ると、測定が厄介なので次の写真に示すように500gの巻きはんだのボビンの上に載せて測定しました。ジャンパで右左の入力値IN1、IN2の設定を行いキャタピラが停止、前進、後退か確認します。その後、右左の出力およびVS、Vccの値を手早くPC5000のディジタル・マルチメータで読み取り、記録します。
電池から放出された電力の消費内訳
TA7291Pのモータ制御時の損失について考えます。
前回のモータ駆動時供給電圧とTA7291Pの出力電圧の測定結果をもとに考えます。図に示すと次のようになります。
![]()
リモート・コントロール
今回は自走車のモータをコントロールしている、TA7291P のIN1、IN2の制御入力をリード線で引き出し、手許で前進後退、左右の回転などのリモート制御を行ってみます。
OPアンプは信号増幅のお助け人
安価なコンデンサ・マイクロホンを使用し検出した音でスイッチのオン/オフを行ったり、温度センサを利用する場合などには、信号の増幅が必要になります。今回から各種の信号増幅に利用されるOPアンプIC、LM358について検討してみます。
今回は、OPアンプの動作を説明し、その説明をブレッドボード上で確かめてみます。
これから使用するLM358は反転入力、非反転入力、出力の三つの端子をもっています。
増幅器は入力信号(反転入力信号電圧-非反転入力電圧)を増幅し出力端子に出力します。
前回の最後に次回は反転増幅器の説明をすると書きましたが、非反転増幅器のほうがデータを測定しその結果を解釈するのにわかかりやすいことに気が付きましたので、予定を変え非反転増幅回路から説明します。
前回に測定した、反転増幅器の測定結果をグラフ化し、その結果を検討します。
引き続いて、反転増幅器の増幅率について考えてみます。
測定データをグラフ化する
増幅器の増幅率は、入力電圧の変化に対する出力電圧変化の比となります。グラフの、直線から外れる上下の部分を除いた、測定点を通る直線の傾きからも増幅率を求めることができます。+入力端子と-入力端子間電圧を直接測定した前回の結果をグラフ化します
(前回の最後に表示した測定結果)
方形波は、その周波数と等しい基本周波数の正弦波と、この基本周波数の倍数の高調波と呼ばれる波形が重なったものとも考えられます。この波形は、フーリエ級数と呼ばれる基本周波数とその高次の高調波の級数で表現されます。サンプル波形を基本周波数とそれぞれの高調波に分解し、サンプル波形に含まれる基本周波数と各高調波に分解しその成分の強さを表示する波形の解析法があります。この解析法をFFT(高速フーリエ変換:Fast Fourier Transform)スペクトラム解析と呼びます。
テクトロニクスTDS2004Bのディジタル・オシロスコープにもこの機能が用意されています。この際、前回作成した正弦波発振回路の方形波出力とローパス・フィルタ(ハイカット・フィルタ)で高調波を取り除いた正弦波の波形のスペクトラム解析の結果を示します。
正弦波発振回路のシミュレート
今、検討しているに示した正弦波発振回路は、二つのブロックで構成されています。一つは前回と前々回示した方形波発振回路と、もう一つは、方形波から高調波を削減し基本波を通過させるローパスフィルタの部分です。
今回は、フィルタの特性をPCによる回路シミュレータ(LTSPICE)で確認します。その後、方形発振回路とフィルタ回路を組み合わせた正弦波発振回路について回路シミュレータでその動作を確認してみます。
回路シミュレータで、各コンポーネントの動作確認
回路シミュレータは、回路図エディタでシミュレートしたい回路図を描き、必要に応じて入力信号をいろいろ変化させ、各測定点の電圧、電流、AC信号の場合は位相などをグラフ表示することができます。
前回まで、正弦波のテスト信号発生回路ができましたので、これらを利用してマイクロフォンから手を打った音などを増幅してスイッチなどのオンオフを行う、音声スイッチの検討を行います。
(1) AC信号増幅回路のまとめ、(2) マイクロフォン信号の増幅、(3) 音声信号からスイッチのオン/オフ信号作成方法を、5回くらいで考えていきます。
テスト信号用ケーブルの作成
信号伝達用のためのケーブルを作成しました。使用しなくなったRCAピン・プラグの赤白のオーディオ・ケーブルを切断して0.6か0.7mmφのスズ・メッキ線を取り付けました。以前はケーブルとスズ・メッキ線をはんだ付していました。しかし、すぐにはんだ付した場所が折れてしまいますので、今回は電線の圧着チューブを使って次に示すようにケーブルとスズ・メッキ線を圧着しました。
AC信号の測定
直流信号または直流電圧はその時点の電圧を測定し電圧とします。しかし、交流の場合は電圧が変化します。そのため、交流信号の大きさを示すための代表値が必要になります。テスタやディジタル・マルチメータなどで表示されるACレンジで表示される値は、「実効値」またはRMS(root mean square value)呼ばれる値です。この値は信号の各瞬間ごとの値を二乗してその平均値を求め、その平均値をルートで開いた値となります。
正弦波の場合Vを中心にプラス側、マイナス側同じ波形が繰り返されるので単純に平均値を取ると0になります。実効値はプラス側、マイナス側の0Vからの波形のピークの値をVpとすると、
実効値=Vp/√2=0.707×Vp
となります。マイクロホンからの音声信号は複雑な波形をしています。その大きさの代表値はテスタやディジタル・マルチメータの測定値とは必ずしも一致しません。そのため、アンプの増幅率などを測定するためには、普通は正弦波信号を加え測定します。
前回までの正弦波回路からの信号を利用してOPアンプを利用した増幅回路の増幅率を確認し、その増幅器でマイクロホンから信号を増幅してみます。
OPアンプの半波整流回路をブレッドボードで実際に作成し、シミュレーションと同等の結果が得られるか確認します。
プラス/マイナスの2電源が必要
今回の回路は、プラス/マイナスの2電源が必要です。一般的には安定化電源を用意しますが、今回は乾電池を利用してみます。角型の9Vの積層乾電池を二つ利用します。二つの電源のスイッチは同時に投入または切断するのが望ましいので、次に示す2回路のスイッチを設けました。
続きを読む "連載キットで作る(36)整流回路について(3) OPアンプとダイオードを利用した半波整流回路、ブレッドボードで確認" »
次の全波整流回路をブレッドボード上に組み立て、前回のLTSPICEでのシミュレーション結果と比較してみます。
電源は、連載(36)で使用した9Vの積層乾電池二つで作ったプラス/マイナスの電源を使用します。回路図には描いてありませんが、LM358の8番ピンに+9V、4番ピンに-9Vの電源を供給します。
続きを読む "連載キットで作る(38)整流回路について(5) OPアンプによる全波整流回路をブレッドボードで確かめる" »
最近は、単一電源のOPアンプが多く使われています。整流回路のためだけにマイナスの電源を用意することのないように単一電源で動作する整流回路の検討を行います。
前回(44)では、反転増幅器の入力インピーダンスについて検討しました。今回は、非反転増幅器の動作を検討します。今回もLTSPICEで動作を確認し、ブレッドボードで実際のデバイスを利用して確認します。
非反転増幅器の基本形
次に示すように、LM358を非反転増幅器として構成します。電源は±12Vの2電源で、V3のVoltageを信号源として1kHzの正弦波、AC解析用のAC信号源としています。このAC信号は、1V(ピーク電圧)と設定しています。
非反転増幅器の増幅率
非反転増幅器の増幅率は、
G=(R1+R2)/R1
と計算されます。この回路では、
(10k+100k)/10k=11
となります。1Vの入力信号は11Vになることが想定されます。
過渡解析(Transient)を選択し、シミュレーションの時間を1kHzの正弦波が10サイクル続く10msと設定します。
コンデンサ・マイクロフォンのシミュレーション
OPアンプの増幅回路、整流回路などを調べてきました。それらの結果を前提に、コンデンサ・マイクロフォンとLM358のOPアンプを用いてできるだけシンプルな音声スイッチを作成します。
LTSPICEのシミュレーション例の中にコンデンサ・マイクロフォンの例がありました。その例を基にマイクロフォンの信号源を用意し、LM358のOPアンプを利用した音声スイッチを作ります。
今回はその中で、コンデンサ・マイクロフォンのシミュレーションを確認します。
コンデンサ・マイクロフォンのシミュレート
コンデンサ・マイクロフォンのシミュレートは、次に示すように、コンデンサ(C1)と抵抗(R1)を直列に接続し電源から抵抗を介してコンデンサを充電しておきます。コンデンサ・マイクロフォンは、ダイヤフラムが音圧を受けて振動するときにコンデンサの容量が変動します。充電されている電荷は変わらないので、コンデンサの容量の変化はコンデンサの端子電圧の変化となります。
実際のコンデンサ・マイクロフォンは、インピーダンス変換のためのアンプなどが内蔵されています。しかしここではそれらの素子は省いて、基本となる機能により再現しています。
コンデンサ・マイクロフォンの入力信号の合成
拍手や拍子木のような音声スイッチの入力信号のシミュレーションの方法を考えました。
コンデンサ・マイクロフォンの容量の変化を関数の式、式の演算で表すことができます。また、使用できる関数も数式以外にif関数のような条件式も設定できます。
IF関数式
if(x,y,z) x>0.5のとき xにyをセットし x>0.5でないときはxにzをセットします。
この関数を使用して5msまで出力信号が抑制され、その後は正弦波の出力が生じる方法を考えます。
次のif関数は、
if(time*100,1,0)
timeが5ms(0.005)を超えると time*100>0.5となるので 関数は 1となります。
timeが0から5msまではtime*100<=0.5 となり 関数は0となります。
サイン関数の中にこの条件関数式を組み込み、
SIN(2*pi*1k*time*if(time*100,1,0)
とします。
コンデンサ・マイクで収録した音声をOPアンプで増幅することは、LTSPICEのシミュレータや、連載33回のOPアンプLM358のテスト回路などで確認しています。
今回は、増幅された信号でどのように処理するか検討します。
音声スイッチで起動が想定されるもの
例1 音を検出して、所定の時間モータや照明のスイッチがオンになり、所定の時間を
経過したらスイッチがオフになる。
例2 音声を検出したパルスでカウンタをカウント・アップする。
例3 マイコンなどの入力ポートにパルスを入力する。入力数に応じて、プログラムで
自由な設定が可能になる。
これらの例を可能にするためには、次に示すように、マイクからの数mV多くても10mV以下の音声信号をOPアンプの増幅器で数百倍に増幅します。
増幅された音声の信号は、複数のパルスで構成されています。
OPアンプ、タイマICなどの電源電圧
音声スイッチはOPアンプのLM358とタイマICのLMC555で構成します。それぞれのICの電源電圧は、OPアンプLM358は3V~32VDCで動作し、タイマICのLMC555は2V~15VDCで動作します。そのため、乾電池3本、充電乾電池4本の電源が利用できます。
DCモータ・コントロールICのTA7291Pは、制御用のロジック電源とモータ電源が分離されています。モータ電源は4.5V~20VDCです。IN1、IN2の入力信号レベルは、Lowは0.8V以下でHighは3.5V以上となります。
カウンタの出力とモータの制御
カウンタの出力のうちQA、QB、QCの出力を用いた場合の検討を行います。モータをコントロールするコントローラの入力は、左右のモータにそれぞれ2ビットの入力があります。
R0、R1(右のモータ)、L0、L1(左のモータ)と決めます。
カウンタの出力が4ビットで、モータ・コントローラの左右それぞれ2ビットですから、カウンタに2ビットずつ割り当てることもできます。しかし、4ビットですと16種類のパターンになるので制御が少し煩雑になります。
QA、QB、QCを使用すると
QA~QCの3ビットの場合8種類の組み合わせとなります。次に、カウンタの出力とモータ・コントローラの入力の組み合わせと制御の結果を示します。
音声スイッチで自走車を制御
前回のテストでは、電源がニッケル水素蓄電池4本で、4.8Vと5.6VのスイッチングAC-DCアダプタの電源で動作を確認しました。次に示す自走車は、制御部の電源が乾電池2本の3Vの電源になっています。
まず、3Vに電源電圧を下げて拍手をカウントするか確認しました。電圧を下げても拍手をカウントアップできたのを確認し、モータのコントロール部と接続します。
EIC-801のブレッドボードは連結できる
EIC-801のブレッドボードは次に示すように、連結して利用することができます。前回テストした音声スイッチとカウンタを1枚のEIC-801に収めたものと、自走車のモータ制御のEIC-801のブレッドボードと連結しました。
TA7291を使用した制御回路では、プラス電源側、マイナス電側でそれぞれ電圧降下があり1.5Vから2V近くの電圧降下となります。そのためモータに加わる電圧は多くても1Vくらいになり、乾電池2本くらいの電源の場合、モータに加わるエネルギーより、TA7291での損失エネルギーの比率が大きくなっています。
トランジスタを探す
調べてみると、手元にあるトランジスタは現在廃品種になっているものばかりで、新しく入手できるものはありません。新しいトランジスタは表面実装タイプが多く、電子工作で容易に利用できる3本足で適切な、新しく入手可能なものを探すのに少し苦労しました。
サトー電気のWebのトランジスタのリストに、個々のトランジスタの定格電流、電圧、電力などが載っています。その中で新しいものを選び、メーカのホームページにデータシートがあり、廃品種になっていないことを確認しました。
誰でも、通信販売で実物を入手でき、データシートはメーカのホームページから手に入れることのできるトランジスタです。そのうち今回は、次に示す2SC4935についてテストしてみます。
前回モータで行った仕事
前回モータで錘をつり上げる実験を行いました。この実験結果について検討します。
それぞれモータで所定の重さの錘を0.5m持ち上げる時間を計測しています。それぞれ持ち上げた仕事の大きさを求めます。
仕事は次に示すように加えた力とそれにより移動した距離によって求められます。
仕事=力×距離
ロームのモータ・ドライバ BD6211の入手
TA7291のモータ・ドライバは損失が大きいので低消費電力のHブリッジのモータ・ドライバを探していましたら、ロームのBD62シリーズが従来のモータ・ドライバより低電圧、低消費電力になっているようなので入手方法がないか探していました。
スイッチサイエンスでこのデバイスを使用した基板を開発中
スイッチサイエンスのおまけのページで、ロームのドライバによるモータ・ドライバを開発中との記事がありました。その上、試作の基板の提供のアナウンスがありましたので、応募しましたら幸運にも一つ送ってもらうことができました。
次に示すように、小さな基板にチップとコンデンサがはんだ付けされています。ピン・ヘッダはこちらで用意したものです。
ロームのモータ・ドライバ BD6211の定格
ロームのモータ・ドライバBD6211の最大定格を、まず確認します。
BD6211のモータ駆動のための出力電流の絶対最大定格は1Aとなります。BD6212の場合はこの出力電流の絶対最大定格は2Aまでと強化されています。しかしこの出力電流の絶対最大定格の値はICの温度上昇が規定の範囲内の場合で、周囲の温度や放熱の状態によってはこれ以下の値になります。
Rohm BD62xxFのPWM制御
BD62シリーズはモータの回転方向の制御のほかに、PWMによるモータの回転数の制御もできます。このPWMのベース周波数は、20kHzから100kHzの範囲です。Arduinoのマイコン・ボードのアナログ出力はPWMで出力されています。利用できないか仕様を比較すると、ArduinoのPWMの出力のベース周波数は500Hzで仕様がマッチしませんでした。
PICのPWM制御はこの周波数をカバーしているので、PICを使用しての制御では問題ありません。Arduinoの場合もArduinoのマイコン・ボードに使用されているマイコンチップのAVRでもカバーしていますが、Arduinoとしての標準機能では範囲外なだけです。当面Aruduinoでテストを想定していますので、Vref入力によるPWM制御を想定します。
PWM制御のため速度制御をしても損失が少ない
下のオシロスコープの画面は、Vrefに0.5Vの電圧を加えたときのモータの駆動電圧OUT2を調べたものです。罫線のメモリの1目盛分が1Vとなっていて、その間を5等分した目盛、1目盛が0.2Vとなっています。緑色のラインがVrefの電圧で、この表示では0.5Vの値です。
BD6211のArefの制御信号をArduinoで作る
BD6211の速度制御は、回転方向を制御する制御端子でPWMにより行うことができます。この端子に加えるパルスは20kHzから100kHzの周波数となります。しかし、このモータ・コントローラの制御に使用を予定しているArduinoは、アナログ出力で出力されるPWMの基本周波数がおおよそ490Hzとなります。そのため、BD6211のPWMの制御信号としては周波数が低すぎて使えません。
そのため、BD6211の回転数の制御はBD6211のAref端子に可変の電圧を加えることにします。その可変の電圧としてArduinoのアナログ出力を利用します。
Arduinoのアナログ出力
まず、490Hzの基本周波数のデューティ比1/255から254/255まで変化させたパルスをLTspiceで作ってみます。LTspiceのBV(Arbitrary behavioral voltage source)と呼ばれる汎用の電圧源で作成した結果のうち、0.21/2 約10%のデューティ比のパルスのシミュレーション結果です。
キットに添付されている説明書
キットのCD-ROMには、次の説明書がpdfファイルとして添付されています。また取扱説明書のほかに、このロボット(BeautoRacer)とPCを接続してロボットのソフトを作成するためのBeautoBuilderRと呼ばれるソフトウェアがあります。
組み立て.pdf
4ページに渡る組立て・取扱説明書で、この説明書にしたがってロボットの組立てを行いました。5ページ目にはコースが用意されています。初級コース、上級コースが用意されています。
BeautoBuilderの起動方法について
現在市販されているプログラミング教材ロボット(「Beauto Racer」CD-ROM・USBケーブル付)には、インストール・プログラム(BeautoBuilderR_Inst_001.exe)は格納されていません。CD-ROMに格納されているBeautoBuilderRの名称のフォルダをPCのハードディスクにコピーして、フォルダBeautoBuilder内のcl_edit_r.exeをマウスでダブルクリックしてBeautoBuilderを起動します。
ショートカットを作る
BeautoBuilderRを起動するたびにフォルダを開くのも手間がかかります。そのためcl_edit_r.exeを起動するためのショートカット作成し、デスクトップのそのショートカットをコピーします。以後デスクトップのcl_edit_r.exeのショートカットをダブルクリックしてcl_edit_r.exeを起動することができるようになります。
ショートカットを作るには、エクスプローラでcl_edit_r.exeをマウスの右ボタンでダブルクリックすると次に示すようにドロップダウン・リストが表示されます。
左右両方のセンサを使用する
左のセンサだけ確認し楕円形のコースを回りました。この場合は左センサでは反時計方向の回転の制御はできますが、時計方向の回転ではコースを外れてしまいます。
こんどは、両方のセンサを使用してどちらの方向にも回れるようにします。
コースの作成
キットの説明書の裏面に初級コースと上級コースが印刷されています。この上級コースのロボプロコーナーはグレイになっています。そのためコースの平面を保たないとセンサが正しい値を読めなくコースアウトしてしまいます。床にコースを広げて走らせると説明書の折り目のため少しでこぼこになります。
PCとロボットをUSBケーブルで接続し、Beauto Builder Rでコース上のグレイの部分と白紙の部分のセンサの出力値を確認しました。グレイの部分は、水平でないとコース上でも白紙上のセンサの値と同じ位の値になっていました。そのため、厚さ4mmのベニヤ板にコースを糊付けすることにしました。
ベニヤ板の準備(600mm×450mm×4mm)
次に示すような600mm×450mm×4mmの大きさのベニヤ板を用意しました。ホームセンタで290円の値札がついていました。
周囲を黒くしてレース場を飛び出したらわかるようにしました。つや消しのラッカーのスプレー缶で塗装しました。真中は省略して塗料を節約しています。
両方のセンサが同じ値になったときを検出する
両方のセンサが白紙を検出
今回、両方のセンサが白紙の状態のとき、コースをまたいで両方のセンサがコース外の白紙の状態を検出している場合、またはコースを外れた場所を走っているときなどが当てはまります。
両方のセンサが黒のコースを検出したとき
両方のセンサがコースの黒を検出するとき、コースの交差点に入ったか、コースを横断するときなどが考えられます。この場合は、交差点への進入またはコースの横断、新たな進入ですからいったん停止とします。前項の両方のセンサが白紙を検出のときは遠慮なく前に進むことにします。
両方のセンサが状態を検出するためのプログラム
両方のセンサのチェックを次に示すようにして行います。まず左センサの状態をチェックします。その後右センサのチェックを行います。
Windows7でBeauto Builder Rを動かす
10月22日、Windows7が発売されました。21日の夜中秋葉原でWindows7を買うために集まった大勢の人の中に混じって、Windows7のOEM版を購入してきました。USBの増設PCIカードと共に使う契約になっています。
早速PCIスロットにセットしWindows7をインストールしました。今までBeuto Builder Rが稼動していたWindowsVistaの環境にアップデートで今回購入したWindows7をインストールしました。
Beauto Buider Rは従来と同じように起動する
Beauto Builder Rは新しく、Windows7になっても同じように起動しました。ロボットのライントレーサを接続すると、次に示すようにドライバのインストールが始まります。
モータの制御(PWM)について
ロボットのモータのスピードのコントロールに利用されているPWM(Pulse Width Modulation)制御とは次のような仕組みでモータのスピードをコントロールしています。モータの電源のオン/オフを高速で行い、通電時間と非通電時間の比率を変えることでモータに加えるエネルギーを制御しモータのスピードを変えます。
自転車を超低速でこぐ時に、ペダルを間歇的に漕ぐのと似たような仕組みです。
実際の、PWM制御は数百Hzから数十kHzの直流のパルスについて、パルスのオン期間とオフの期間を変えています。オンの期間とオフの期間の合計は基準となるパルスの周期と一致します。このロボットでは周期は、5msになっていました。
ロボットのモータに加わる電圧
60%の設定の時、モータに通電しているのはパルスのマイナス側に振れている期間です。
上級者向け機能
Beauto Builder Rの見出しの中では上級者向け機能となっていますが、複雑なことを行っているわけでなく、曲がる場合のモータのスピードをコントロールしたり、左右の車輪のスピードを個別に設定するなど、今まで行った処理を組み合わせて利用できるようになっています。
また、計算を行ったり、計算結果や、データを保存することができます。この辺になると本格的な制御プログラムとなんら遜色なくなります。それがこのように処理の手順を並べることで作ることができるのです。
プログラム作成で便利な機能(1)
アクション・ブロックのコピー、移動
単一のアクションブロックの削除、コピー、移動は該当のアクション・ブロックをマウスでクリックして、アクション・ブロックを選択状態にして、ツールバーのコピーなどでコピーします。削除の場合はDeleteキーで選択されたアクションブロックが削除されます。
移動の場合は、該当するアクション・ブロックをドラッグして移動できます。
コピーしたアクション・ブロックは、ツールバーの貼付のアイコンをクリックすると、元のアクション・ブロックの近くに貼り付けられます。マウスでドラッグして所定の場所に移動します。これらの操作は、ほかのWindowsのアプリケーションとあまり変わりません。
複数のアクション・ブロック
一連の処理を示す複数のアクション・ブロックを選択してみました。次の左センサだけでライントレースしたプログラムです。このプログラムの左センサの処理の部分を選択し、ほいかの場所に貼り付けてみます。
ブログ「キットと初歩の電子工作 Kits and Kids」のカテゴリ「(連載)キットで作る」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。
次のカテゴリは100円で1Hzを手に入れようです。