2014年3月2日日曜日

トランジスタ技術2014年3月号3章 XBeeWiFiアプリ動作不良対策

トランジスタ技術2014年3月号3章 XBeeWiFiアプリ動作不良対策

<概要>

F-11D(android Ver4.03)XBeeS6Bでトラ技3月号3章のアプリ動作を確認したところ、android側のIP addressの取得ができず、動作させることができませんでした。
これをアプリ側のソフトを改造してIPaddressandroidに割り当てられたIPaddressを設定して、PortNoを変更したところ動作するようになりました。

<アプリ側のソフト変更>

アプリのソースコード”WiFiBoxController.java”を変更します。

12行目:
修正前:private String mIpAdd =null;
修正後:private String mIpAdd =”192.168.11.3”;
        (android端末に割り当てられたIP address)

13行目:
修正前:private int mPort = 0xBEE;
修正後:private int mPort = 0x2616;
(0xBEE では動作しなかった0x2616という値が最適なのかは不明)

としました。


XBee S6B側の変更>

“XCTU”というツールを使って設定値を変更します。
AH : Infrastracture
CE : STAmode
IP : UDP
DL : 192.168.11.4 (androidに割り付けられたIP address)
C0 : 2616
DE : 2616

と設定しました。




<動作確認>

XBeeを設定して、ルータと接続が成立すると、XBeePin15に接続したLEDが点滅します。またパソコンから
Ping 192.168.11.3
(IP address XBeeに割り当てられたIPaddress)
として応答があれば接続できていることを確認できます。


XBeeLEDが点滅していることを確認して、androidのアプリを起動して、画面に現れたキーを押すと、3byteのデータ(例:”1”を押すと“0x00 0x00 0x31)XBeeのシリアルポートから出力されます。

XBeeから出力されるシリアルデータは、XBeeとパソコンの間をUSB-Serial変換ボードで接続しました。パソコン側では、XCTUのコンソール画面で、XBeeからのシリアルデータを確認しました。




2014年2月11日火曜日

窓付きROMキーホルダーの制作


窓付きROMキーホルダーの制作

 

<概要>


窓付きROMEPROM)をアクリル板で作ったケースに収めてキーホルダーにしました。



 

アクリル板の切り出しにはiModela(iM-01)と、付属している切削データ作成ソフトのiModela Creatorを使用しています。

切削データは、次のアドレスからダウンロードできます。


 

ケース部分のアクリル板は、表板、裏板とROMを収める中板の3枚になります。

中板はROMの厚みに合わせて、3[mm]厚、表板、裏板は全体の厚みを少なくするため2[mm]厚のものを使っています。

板の固定にはM2の皿ネジを使っています。裏板にねじを切って、表板にはネジ頭を鎮めるための座繰りを入れています。この加工は手作業で行います。

iModelaでの加工は、外形とROMを収める部分の切り出しと、ネジ穴、ストラップ穴の穴あけ加工になります。



 

アクリル板の固定にはネジを使いましたが、これは、アクリル接着剤を使うと、むらや、気泡が残ってしまうためです。これがなければ接着剤での固定が良いと思います。

 

<データの作成>


iModelaに付属するiModelaCreatorでデータ作成します。

最初に、すべての板の切削情報を含んだデータを作成します。ここで、それぞれの加工が干渉しないか、バランスに問題ないかを確認します。

そのあとで、表板・裏板と中板にデータを分離します。今回はアクリル板の厚みが2[mm],3[mm]の2種類になったので、厚みの違いでデータを分けました。

使用する工具は、ルータ1[mm]の一種類ですが、複数種類の切削工具を使う場合は、使用する工具毎にデータを分ける必要があります。

 



<切削>


切削するアクリル板は、両面テープで捨て板に固定します。両面テープは切削面全体に張り付けておくと切削時のたわみが少なくなり、均一な厚みで切削ができます。外形などは切り抜き加工をしますが、できるだけ捨て板を傷つけないように、アクリル板の厚みぎりぎりで切削します。うまくいくと、削り残しが0.1[mm]程度のバリになり手で簡単に外せますが、たわみが出ると削り残し部分が厚くなり、取り外しにくくなります。

 


 

捨て板には、ケミカルウッドを使っています。X,Y軸の基準線に合わせてアクリル板を固定するために、捨て板をiModelaのテーブルに固定するときに、X,Y軸のマイナス側にはみ出すようにして面出ししています。

 


使用しているiModelaはプリント基板作成をするためにシャンク径3.175[mm]の切削工具を使えるようにスピンドルシャフトを交換しています。捨て板のX,Y軸基準面出しもプリント基板作成のためのものです。このあたりの切削工具や捨て板作成、切削方法については、「コンパクト3D切削マシンで作るMyプリント基板」を参考にしてください。

Amazon

2014年2月5日水曜日

アクリル漢詩キーホルダ


アクリル漢詩キーホルダ

 

<概要>


透明アクリル板で漢詩キーホルダを作ります。

以前も同様なキーホルダを作りましたが、今回は使用するアプリをiModela付属の「iModela Creator」に変えています。

 

iModelaの通常の切削工具では、0.1mm幅の切削はできませんが、プリント基板作成のために改造してそれを可能にしています。

 

iModelaの改造、使用する切削工具については「コンパクト3D切削マシンで作るMyプリント基板」CQ出版社

amazon


を参照して下さい。

 

また、こちらのBlogに、アクリル板加工時のiModelaや切削工具の扱い方を解説しています。


 

<データの作成>

 

iModela Creatorのデータは次のアドレスからダウンロードできます。


データを作成するときには、使用する切削工具を決めてからにします。

・ルータ1.0mm

 外形、ネジ下穴、ストラップ穴

 

・エンドミル60°

 文字

 

iModela Creatorで作成したデータは、図1のようになります。



図1 iModela Creatorのデータ

 

キーホルダは、表面を保護する「表板」と、文字を刻む「文字板」の2枚に分けています。

データは、文字、外形などすべての切削データを入れたデータを作り、そのデータから、各板の外形、穴あけデータと文字データに分けます。

 

データの分け方は、表板、文字板に分け、文字板は、使用する切削工具毎(外形、穴のルータ1.0mm用と、文字のエンドミル60°)に分けます。

 

使用するアクリル板は、表板は2.0mm厚、文字板は3.0mm厚にしています。これは、適当な厚みがほしかったのと、板を固定する芋ネジの全長が4.0mmあったため厚みに余裕を持たせるためです。同じ厚みの板を使っても問題ありません。

四隅のネジ穴は、iModelaでの加工の後で、M2.0用のタップでねじを切ります。2枚の板の間のネジの線条を合わせないとネジを締めることができないので、板を合わせた状態で
ねじ切りをします。


表板、文字板の加工後に、芋ネジで固定して完成させたのが写真1になります

 



写真1 漢詩キーホルダ完成

 

2014年1月6日月曜日

水槽のふたの扉と取手の追加

水槽のふたの扉と取手の追加

<概要>

前回、アクリル板で水槽ふたを作りましたが、エサや水替えの時にふたを取らなければならず不便だということが分かりました。
そこで、ふたの前面に扉と取手を付けることにしました。







使用状態

<詳細>

●ふたの追加

ふたは前半分を切断して、アクリル用の蝶番で接着します。



ふたの蝶番の固定

●取っ手の追加

前半分の真ん中に取手をつけますが、これはiModela(iM-01)で削り出して作りました。
取っ手の保持板として両脇に楕円を半分に切ったアクリル板ではさみこみました。
何れも5[mm]厚のアクリル板を使用しました。

切削データはiModelaCreatorで作成しています。
切削材料は、端材を使用しました。取っ手の外形は端材をそのまま使用して、取っ手穴だけの加工を行いました。保持板も端材を使用しています。




取っ手データ



保持板データ



取っ手切削完成



保持板切削完成

取っ手、保持板はテープで仮止めして、アクリル用接着剤で固定します。



取っ手の固定

<補足>

ふたには3[mm]厚のアクリル板を使用していますが、湿気を含むと膨張するようで、そりが出てきます。そり防止のために、ふたの2辺に保持板を追加しましたが、効果はありませんでした。
もっと厚みのあるアクリル板か、ガラス板を使用したほうが良いと思いました。


アクリルの反り

以上

2013年12月30日月曜日

水槽ふたの作成

水槽ふたの作成

<概要>

金魚を飼っている水槽で、エアレーションの水はねがひどいので、アクリル板で水槽ふたを作りました。

水替えやえさやりのことを考えて、蓋は2枚に分離します。

-------------------------------------
140111追記
水槽ふたの通販サイトがありました。値段も安くこちらを利用した方が良いです。
”チャーム本店”
 http://www.shopping-charm.jp/Items.aspx?tid=10&catId=1040600000
--------------------------------------

<詳細>

水槽の間口寸法と、ろ過器、エアーチューブ、ヒーターケーブル、照明器の干渉を確認して切欠きなどの加工寸法を決めます。
アクリル板は3[mm]厚のものを使用しました。これ以上の厚さになると切断時の加工が難しくなります。

水槽はGEXの60cm水槽です。メーカによって寸法が違ったり、ろ過器などの寸法が違うと思うので、実際に寸法を確認し他方が良いでしょう。



蓋の各部寸法図

アクリル板の切断には、アクリルカッターを使います。
切断の方法は、
アクリサンデー株式会社 のホームページが参考になります。
http://www.acrysunday.co.jp/howto/index.html




アクリルカッター


また、ろ過器を収める部分はL字型に切断しますが、切断線の交点は予めドリルで穴あけをしておき、交点部分で割れないようにしました。
穴あけはドリル刃を使いますが、ドライバーに装着して切削しました。数ミリ厚の穴あけなら、この方法が手軽です。



ドリル刃とドライバー

切断したら、端面にヤスリかけをして、端面を滑らかにしておきます。

アクリル板を切り出して、水槽に駆り設置したところと、アクリルの保護紙をはがして設置した写真です。



アクリルふたの各部の説明




アクリルふたの設置状態





以上

2013年12月1日日曜日

LPC1114FN28(mbed)を使ったデジタル時計

LPC1114FN28(mbed)を使ったデジタル時計


<概要>

以前作成したLPC1114FN28(mbed)で作ったキッチンタイマーのプログラムを変更して、デジタル時計をつくりました。
動画URL:

http://www.youtube.com/watch?v=_vJgik-W4Io&feature=c4-overview&list=UUBKFbjZziYG1M-dKWqTlUwA

回路はキッチンタイマーのものをそのまま使っています。基板作成や、プログラムの書き込み方法については、次のblogを参照してください。
http://suupen-make.blogspot.jp/2013/11/lpc1114fn28mbedkitchen-timer.html

回路図、PCB、WINSTAR PCB for iModela、などのデータはこちらからダウンロードできます。
https://drive.google.com/file/d/0B_-iH9ny-AE-Qkd0YUppcVF4ZVk/edit?usp=sharing

<時計動作の説明>



基板の電源を入れると、表示が“FFFF”になり、メロディーが流れます。

スイッチは、
右上(赤)SW :時計時刻設定の開始・完了
右下(青)SW :時計時刻設定のキャンセル
左(黒)十字SW:時計時刻変更用
となっています。




デジタル時計のLED,SWの説明

時刻あわせをする場合は、赤色SWを押して時刻設定モードにしてから、十字SWで時刻を変更し、再度赤色SWを押すと時刻確定して、時計動作を始めます。

時計設定をやめたいときは、青色SWを押します。

時計計時は、4桁の7セグメントLEDで、時・分表示をします。秒は、一番右側のドットLEDの点滅で表示しています。

ドットや、数字の変化は、滑らかに変化させています。

毎正時(59から00分に変化)した時に、メロディーを流します。

<プログラムについて>

プログラムは、mbedのWebからダウンロードできます。
http://mbed.org/users/suupen/code/LPC1114FN28_kitchenTimer_Clock/




mbed Web(プログラムダウンロードページ)

2013年11月25日月曜日

LPC1114FN28(mbed)を使ったKitchen Timer

LPC1114FN28(mbed)を使ったKitchen Timer

<概要>

mbed化したLPC1114FN28で99分まで測れるキッチンタイマーを作りました。

動画URL:
http://www.youtube.com/watch?v=uukFitfkv70&feature=c4-overview&list=UUBKFbjZziYG1M-dKWqTlUwA


回路図、PCB、WINSTAR PCB for iModela、LPC1114FN28用プログラムはこちらからダウンロードできます。
https://drive.google.com/file/d/0B_-iH9ny-AE-Qkd0YUppcVF4ZVk/edit?usp=sharing



時間表示は4桁7セグメントLEDを使い、0~99分の間で設定します。LEDの駆動にはドライブ回路は設けず、マイコンからの出力を直接LEDに加えています。このため、LEDは赤色を使用しています。他色(青、白など)は順方向電圧がマイコンの出力電圧より高くなるため使用できません。

設定はタクトSWで構成した十字キーで行います。SWの認識は、3つのSWを1組にしてアナログ入力を使用しています。SWの同時押しも認識できるようにしています。



完成基板(表)

電源は、ニッケル水素電池を2本直列(2.4[V])を使います。

SW操作や、時間経過のお知らせにスピーカでビープ音や、メロディを流します。スピーカ駆動にはドライブ回路は使用せず、PWMとデジタル出力端子を組み合わせて、スピーカに加わる電圧を反転させ、PWMで余韻を作っています。



完成基板(裏)

<回路の説明>

プリント基板をiModela(iM-01)で基板を作成するために、80×50[mm]に収める必要がありました。このため極力部品を減らしています。
LPC1114FN28の出力端子設定での許容電流値は3[mA]、全体で100[mA]にする必要があります。これを目安に部品を選んでいきます。


回路図

● 7セグメントLED出力
電源を、ニッケル水素電池2本直列(2.0~2.4[V])で駆動します。このため順方向電圧の低い赤色LEDを使います。また、LPC1114で直接駆動するため、3[mA]の電流で明るく光る超高輝度LEDを使います。

COM,SEG端子の配置は換えてもかまいませんが、LPC1114の5Pin,27Pinはオープンドレインなので、そのままではHi側に吊り上げることが出来ません。アノードコモンの場合はSEG端子、カソードコモンの場合はCOM端子に割り付ける必要があります。(今回の回路では、アノードコモンの7セグメントLEDを使ったので、SEG端子に割り付ける必要があります)

COM側端子にはSEG端子からの電流が集まるため、全点灯した場合、3[mA]×8=24[mA]の電流が流れ、LPC1114の規格オーバーになります。この点、無理をしているので壊れる可能性があります。(実力OKとして使っています)

補足:
回路図では550[Ω]としていますが、680[Ω]でも充分な輝度が得られました。
電流値は低い方が良いので、680[Ω]を使うことを薦めます。



● タクトSW認識
SWの認識をデジタル入力とすると、LPC1114の端子が足りないのでアナログ入力端子を使って、3つのSWを1つのアナログ端子で読み込むようにしています。
Vcc-GND間に、R1からR4までの抵抗を直列に入れます。抵抗値はR1を基準に倍づつ変化するようにします。R2からR4の両端にSWを入れ、R1とその他の分圧で押されているSWを認識します。使用する抵抗は精度±1[%]のもの(金属皮膜抵抗)を使ってください。

このSW認識用にmbedのLibraryを用意してあります。LPC1768用にアナログ6端子認識できるように作っていますが、LPC1114では未使用端子があると認識できなかったので、今回の用途用に2端子入力用のLibraryに作り直してあります。
mbedLibray:
http://mbed.org/users/suupen/code/SwAnalog/





SWのアナログ認識回路


● スピーカ出力
スピーカ出力もLPC1114端子に直接接続しています。少しでも音を大きくするため、スピーカの両端を出力端子に接続して、交互にHi,Lo出力することで、スピーカの振幅を大きくしています。




スピーカの両相出力



スピーカの音量制御

スピーカー出力もmbed Libraryがあります。
LPC1114用(ノイズ対策のために両端子ともPWM出力としたもの):
http://mbed.org/users/suupen/code/SoundLibraryExample_Melody_ProgramData/wiki/Homepage

LPC1768用(PWM-Digital出力端子としたもの):
http://mbed.org/users/suupen/code/Sound/



● ISP端子
LPC1114を基板に実装した状態でプログラムを書き換えるときに使用します。
書き換えにはLPC1114の15,16,21,22,23,24Pinを使用しますが、この並び順に6Pinコネクタに引き出してあります。コネクタに引き出してあります。



ISPコネクタ部

LPC1768を使ったISP書き込みツール
http://mbed.org/users/okano/code/ika_shouyu_poppoyaki/
を使えば、書き込みは出来ますし、書き込み後に15,16PinのUART出力でprintfが使えます。

ISPコネクタから電源供給する場合には、電池は抜き取ってください。(ISPコネクタ、電池の両方が入った場合のことは回路上考慮していないので、電池へ充電する形になり危険です。


● RESET回路
電池駆動では、LPC1114への電源投入時のマイコン起動がうまくいかず、マイコンが起動しない場合があります。このため、R=33[kΩ]、C=10[uF]でパワーオンリセット回路を入れておきます。



RESET回路部

● 電源(電池)駆動
メロディー出力などの動作状態変化によって電源電圧が変動する場合があります。この影響でLPC1114が暴走する可能性があるので、電源とGND間に47[uF]の電解コンデンサを入れておきます。



電源部回路部



<PCBパターン>

EAGLE CADで回路図、PCBパターンを作成します。iModela(iM-01)でプリント基板を作成するため、片面基板のパターンワークを行いました。どうしても配線できない箇所はジャンパーを飛ばしています。また、部品端子穴のランドは大きく補強しておきました。

EAGLE CADでガーバーデータを作成して、WINSTAR PCB for iModelaで切削用データに変換して、iModela(iM-01)でプリント基板を作成します。
切削についての詳しい説明は「コンパクト3D切削マシンで作るMyプリント基板」http://shop.cqpub.co.jp/hanbai/books/18/18941.html
を参照してください。



PCBパターン図(部品面からの透過図示)



WINSTAR PCB for iModela切削データ



完成基板

<部品実装>


LPC1114はICソケットを介して実装しています。7セグメントLEDも1列6Pinコネクタを2本使って基板に実装しています。これらのソケットを使わず直接実装してもかまいません。



部品実装(表)

スピーカは、ホーン代わりに、紙の筒に取り付けて、基板に固定してあります。


部品実装(裏)

<プログラムの書き込み>

mbedWebからダウンロードします。
https://mbed.org/users/suupen/code/kitchenTimer/rev/269bb751dd19

コンパイルしてできる、拡張子“bin”をLPC1114FN28に書き込みます。
書き込みには、こちらのLPC1768を使用したISPツールを使うと便利です。
http://mbed.org/users/okano/code/ika_shouyu_poppoyaki/
このWebに書き込みに必要な一通りの手順の説明があります。



LPC1768 ISPプログラム「いか醤油ぽっぽ焼き」Web

この方法で書き込みする場合はLPC1768から電源供給するので、キッチンタイマ側の電池はぬいてください。





LPC1114へのプログラム書込み


以上