DIPマイコンLPC1114FNでmbed入門 <2>サーボ・テスタの製作 ~その1~
■サーボ・テスタの製作 ~その1~
mbedマイコンLPC1114FN(以後、1114FN)は安価に購入できて、mbedクラウド開発環境を使ってプログラムを開発できるマイコンです。この1114FNを用いて、ラジコン用サーボ・モータの動作チェックや機体に搭載する際のニュートラル出しなどに便利に使えるサーボ・テスタを製作します。
2016年4月にARMはmbed OSをリリースしました。そのため、2015年5月現在、mbedのトップ・ページはmbed OS前提で作られています。本連載は、それ以前の開発手法を使っています。入口はこちらです。
https://developer.mbed.org/
●サーボ・テスタはニュートラル出しに使える
ラジコン飛行機やロボットにサーボ・モータを搭載する際には、サーボ・モータを機体などに搭載後にニュートラルを出し、サーボ・モータの回転軸にサーボ・ホーンを取り付けます。ニュートラルが確定後に、ホーンと各部品を接続します。サーボ自身にはニュートラルになる機能は搭載されていないのが普通(セルフ・ニュートラル機能付きのサーボもある)なので、ニュートラル出しやサーボの動作確認に本製作が役立ちます。
◆ニュートラルとは
ラジコン用サーボ・モータは、1.0~2.0ms幅のパルスを20ms程度の周期で送ることにより、指定の角度で止めます。1.5ms前後のパルスで停止している位置をニュートラルと呼びます。ニュートラル位置で停止させることを「ニュートラルを出す」などと言います。ニュートラル時のパルス幅はラジコン・プロポ・メーカによって若干異なりますが、ここでは1.5msをニュートラルとします。
マイコン1114FNにボリューム、LCD、サーボを接続します。ボリュームを回転することによって変化する電圧を1114FNに内蔵されているA-Dコンバータによりディジタル値に変換します。変換されたデータにより、1.0~2.0msのパルスを20ms周期で発生し、サーボ・モータに送ります。
◆マイコンLPC1114FNは3.3Vで動作
電源電圧3.3Vで動作します。サーボ・モータを動かすための電源は電池NiMH1.2V×4=4.8Vが必要となるので、三端子レギュレータICのXC6202を使って、3.3Vを作ります。
10kΩと10μFのコンデンサはパワーオン・リセット回路です。電源投入時に起動しない現象が発生したために組み込みました。
◆A-Dコンバータの役割
10kΩボリュームから読み込んだ電圧をディジタル値に変換します。この値に比例させてサーボ・モータを動かします。A-Dコンバータを使用する際には、Analog3.3VINとAGNDに基準電圧3.3Vを加える必要があります。
◆LCD
ストリベリーリナックスや秋月電子通商で販売しているI2C(アイ・スクエア・シーまたはアイ・ツー・シー)接続の小型8桁×2行液晶ディスプレイです。このLCDはピン・ピッチが特殊で使いにくいために、2.54mmピッチに変換する基板を自作しました。秋月電子通商では同等の変換基板を購入できるので、利用するといいでしょう。自作基板と販売されている基板ではピン配置が異なるので、読み替えてください。
LCD基板にはI2C SDAとSCLにプルアップ用として、10kΩの抵抗を装備しています。このために回路図上にはプルアップ用抵抗は入っていません。デバイスが複数つながっても、プルアップ用抵抗はI2Cの信号線の1か所だけに入れます。
このLCDの接続回路は下記のURLを参考にしてください。
https://strawberry-linux.com/pub/sb0802g.pdf
◆サーボ・モータ
ラジコン用小型アナログ・サーボ・モータです。最近はデジタル・サーボ・モータも安価で購入できるようになりましたが、アナログを指定して購入してください。標準動作電圧は4.8Vです。
◆I2C接続について
LCDをマイコンに接続するにはバス接続タイプを採用すると、制御とデータ線を7~8本接続する必要があります。I2C接続を採用すれば、SCL、SDAの2本の接続線に電源、GNDのみでLCDを接続できます。I2C接続はピン数が限られているマイコンにとっては非常にありがたい接続方法です。
各アイテム(デバイス)とは、アドレスを指定して通信します。I2C規格に合致していて、異なったアドレスをもてば、同じライン上に並列に接続できるために、配線の本数を劇的に減らせます。1114FNもI2C接続に対応しています。便利に使いましょう。
ただし、LCDは同じアドレスの製品が多く、同一ライン上には一つしかLCDを接続できないのが、難点です。
●ブレッドボードを使った試作
上記回路をブレッドボード上に組み立てました。回路とプログラミングを試作して動作を確認します。
・サーボの信号-GND、電源-GND間には0.1μFの積層セラミック・コンデンサをノイズ防止のために追加しています。
試作の時点では、プログラムが起動しない現象が何度も発生しました。サーボを接続しているとどうも起動しないというところまではどうにか突き止め、解決方法を探りました。その結果、パワー・オン・リセット(電源ON直後のリセット)を行えば、正常に起動することがわかり、リセット回路を追加しました。
●基板の設計
ブレッドボードで回路を組み、動作を確認後、基板CADソフトのPCBE使ってプリント基板のパターンを設計します。
◆本体基板の配線パターン
1114FNのI2C接続ピンのSDAとSCLは離れていることや、電源が真ん中にあるために、片面基板によって基板化する際にはジャンパが多くなってしまいます。また、600mil幅のために基板上に広い場所が必要です。そのため、LCD基板を1114FNの上に貼り付けることで、できるだけコンパクトになるように工夫しました。
基板パターンが完成後、エッチングやカット法により基板を完成します。
◆I2C接続 8文字×2行 小型LCD 変換基板パターン
小型LCD変換基板です。秋月電子通商で販売されている変換基板とはピン配置が違うので、本体基板の接続ピンの設計を変更するか、配線により対応します。
・使用する抵抗は2本とも10kΩ、コンデンサは1μFの積層セラミック・コンデンサです。
◆基板の組み立て
完成した基板に部品を取り付けました。サーボ・モータ接続用3ピンヘッダは、ラジコン用サーボ・モータに適合するものを取り付けます(細ピンヘッダではゆるゆるでした)。
LCD基板を取り付けます。
LCD基板は丸ピンヘッダを2段に重ねて取り付け、LCDが1114FNの上になるように高さを調整します。
電池とサーボを取り付けると完成です。
次回も続けます。
竹内浩一
バックグラウンド片面基板;プリント基板は、ベースになるエポキシもしくはベークの絶縁板に銅箔が貼ってあります。1面だけを片面基板と呼び、両面に貼ってある場合を両面基板と呼びます。携帯電話などの小型機器は、銅箔と絶縁板を交互にサンドイッチにした8層基板などが使われます。
XC6202;20V耐圧正電圧出力の3端子レギュレータです。入出力電位差は200mV(IOUT=30mA )以上必要で、最大出力電流は150mA(許容損失内)です。