So-net無料ブログ作成

S88 8ch ToF Detetorを試す [S88]

 今週は惡の華を見に行きました。面白かったですが、人に勧められるかというと微妙な映画ですね。好きな人は見に行けばいいかなあと思います。
 さて、8月にあやのさんからS88 8ch ToF Detector基板をいただいていて、部品もそろったので、作ってみました。この基板は在線検知にToFセンサを用いるもので、物をある距離内に検知したらS88のビットを立てる仕組みです。
 まずは、表面実装部品を組み付けます。C2の0.1uFは手持ちがなかったので1uFを付けています。
re_DSC02865.jpg

 で、あとのスルーホール実装部品を付けて完成です。
re_DSC02867.jpg

 この基板は私のS88 8chのケースがそのまま使える配置になっているので、入れてみました。で、センサのVL6180X (私が買ったのはPololu製)とつないで、あやのさんのスケッチを書き込んで、動くことは確認しました。
 せっかくのToFセンサなので、次にVL53L0X(VL6180Xは255㎜まで測れるが、こっちは2mまでカタログ上測れることになっている)を付けてみました。ちゃんと。距離は出ます。大きな壁に向かって測るとそれなりの距離が出てきますが、小さなもの(手のひらとか)だと、数十cm離れると、全然測れないこともわかりました。
 で、こんな感じにセンサと車両を配置して、スケッチを改造して在線検知実験です。車両を真正面から測るようにしました。まあ50㎝ぐらいまではそれなりの値が出るように見えたので。
re_DSC02870.jpg

 アングル変えるとこんな感じです。
re_DSC02872.jpg

 で、スケッチもセンサと車両の距離に応じて出力を出すように変えてみました。距離で16分割して、1ch~16chで
車両がセンサの近傍の時:1000 0000 0000 0000
車両がセンサから20㎝ぐらい:1111 1111 0000 0000
車両がセンサから40㎝ぐらい:1111 1111 1111 1100
という感じです。
Sensor.png

スケッチはこれ
せっかくなので、DesktopStationで自動運転しています。
センサ3、退出(センサがOn→Off)のときに、車両を停止、方向転換、少し待って、発車
FWD.png

センサ12、進入(センサがOff→On)のときに、車両を停止、方向転換、少し待って、発車
REV.png

動画はこんな感じです。


近くだとそれなりに正確に出てきますが、車両一両分ぐらい離れる(25㎝ぐらい)と、結構外乱に影響されます。部屋を蛍光灯だけの明かりにして、近くのものだけ測るとすると、問題ないですが、窓を開けて、日光が入る環境での遠くのものを測る、は難しそうに感じました。(センサの設定とかは全くいじっていませんが)


 
コメント(2) 

S88 8ch スイッチVer [S88]

 昨日は、お墓参りと桜の花見を兼ねて多磨霊園に行きました。関東では珍しいと思う白いタンポポが咲いていたので、撮っておきました(おいおい桜を撮れよという話はありますが)。ネットによると、西日本の方では珍しいものではないようですね。
re_DSC02744.jpg

 次に、S88 8chの用のケースですが、Yaasan様から、MiniB USB接続部分をくりぬいたらどうかと提案され、ホットナイフでくり抜こうとしたら、この有様です。
re_DSC02761.jpg

 ナイフは通るのですが、その後、アクリル同士がくっつくようで、ナイフの体を成しませんでした。もう少し考えることにしましょう。

 そして、本題です。
ゆうえん・こうじ様から、S88 8chをスイッチのように使えないかというお話があり、わたしも古いことで覚えてなく、ちょっとリハビリがてら、確認してみました。
re_DSC02760.jpg

スイッチの接続はdetector基板側でAとCです。CN2としては、CN1側からABCDの順に並んでいます。
短絡でオン、開放でオフです。

 S88 8ch 光の元機能としては、スケッチのvoid detect_analog()内で
1.LEDを発光
2.検出用フォトトランジスタで光量を確認。車両が上にあるなら、反射して光を検知。車両があれば、明るく、無い場合は、環境光影響で、明るいところなら明るい、暗いところなら暗い
3.LEDを消灯
4.検出用フォトトランジスタで光量を確認。車両が上にあるなら、暗く、無いなら環境光影響で、明るいところなら明るい、暗いところなら暗い
5.(2.)-(5.)をやって、値に差があれば、車両あり。なければ車両なし
として検出しています。これを8ch分繰り返していきます。

 スイッチとして利用するときは、差分を取る必要はありませんので、
1.検出用フォトトランジスタにあたるところ(Detector基板のA,C間電圧)の電圧を確認。スイッチオフの時は1023(=5V)。スイッチオンで0(=0V)。とでる。
2.(1.)の結果を反転させて、0ならオフ、1023なら(ある値以上なら)オンとする。

とします。一応、サンプルはこちらになります。

現状だと、8ch同じ機能(光なら光だけ、MAGならMAGだけ、SWならスイッチだけ)になってしまいますが、
for(int i= 0;i < ANALOG_PORT_NUM;i++)
で8回繰り返している部分をchごとに違う処理にしてしまえば
あるチャンネルはスイッチ、あるチャンネルはMag検出、あるチャンネルは光検出
という風にして、チャンネル数を節約することも可能だと思います。


コメント(2) 

S88 Magを作る(その2) [S88]

 Elecrowに頼んでいたS88 Detector Mag基板が届きましたので、動くか実験してみました。
 基板は光センサと共用です。IC1がMagセンサの穴です。横着してシルクを以前のものと一緒にしてしまったため、一見してバージョンが分からなく困ったことになっています。ICの足が1.27mmピッチのため、基板のスルーホールをΦ0.7mmとしたため線路の加工がとてもしづらいし、半田付けもはんだブリッジに注意が必要です。
re_DSC02331.jpg

 で、HO線路に付けるとこうです。
re_DSC02327.jpg

 拡大するとこう。
re_DSC02330.jpg

 ダイソーから強力なネオジム磁石を買ってきて、
re_DSC02332.jpg

 適当なトミックスの貨車に乗せて、テープで止めておきます
re_DSC02328.jpg

 で、キハ58に引かせることにしました。
re_DSC02329.jpg

 動画はこちら。まあ、キハ58が往復する、鉄道模型市のものそのままですが。


スケッチはこちら。8ch向け6ch向け
(まだ、6ch向けは動作確認していません。)

コメント(0) 

スピードメーター製作 その2 [S88]

 なぜ「その2」があるかというと、Yaasanさんから、OLEDの数字が大きくなるソースをもらったからです。早速いただいたOLED.cppとOLED.hを組み込んで、文字を大きくしました。そして、Nゲージで暴走特急ごっこです。ちょっと面白いかも。
 今回は、このようにOLEDの数字表示が前回の倍の大きさになっています。字幕入れなくてもスピードが読める!
re_DSC02324.jpg

 で、平日にHOを広げるわけにはいかないので(広げている部屋は寝室なので子供が寝ている)、Nにしました。
re_DSC02323.jpg

 で、まずはVSEでスピードを上げてみます。


 頑張って271km/hでした。

そして、次に本命の琴電。鉄コレ動力は意味もなく速いので、期待しています。やる気を出してパンタグラフも上げてみました。
re_DSC02326.jpg

 動画です。


325km/h出ました。私としては満足です。ポポンデッタの貸レイアウト動画の気分です。
でも、スピード半分でいいから、もっとスローを美しく走らせるようにした方がこのごろの消費者ニーズに合っているのではないかと思います。

スケッチはこちらです。が、基板頒布していませんね・・・。
コメント(3) 

スピードメーター製作 [S88]

 スピードメーターを作ろうかどうしようか考えていた話で、まあ、まずはS88内で完結させて作ってしまおうと思って、作りました。使った基板は(頒布もしていない)S88 8ch基板です。
 構成は、S88 8ch基板にS88 detector基板を2枚繋いで、AD4,AD5をI2CのSDA,SCLとして使用し、OLEDに繋いでいます。また、給電はUSB経由にしています。全体としてこんな感じです。
re_DSC02314.jpg

 OLEDへの配線は、Ch5,Ch6部分から取って、写真で、赤:5V,緑、GND、黄色:I2C SDA,青:I2C SCLです。I2C用に6.8kの抵抗で+5Vに吊っています。
re_DSC02315.jpg

 OLEDは、DSMainのOLEDライブラリをコピーして使っていますので、一応、大きな数字表示でスピードを表示します。0.96インチは小さい・・・。
re_DSC02317.jpg

 OLED裏側の配線は、こんな感じですが、買うメーカーによって配線が異なるそうなので、お気を付けください。
re_DSC02318.jpg

 で、線路に繋ぐとこんな感じです。
 線路に二点センサをつけ、この間に何秒かかったかでスケールスピードを割り出します。
re_DSC02319.jpg

 今回の基板はケースも作っているので、ケースに入れました。
re_DSC02322.jpg

 OLEDは透明アクリル板に裏からスーパーXクリアで接着しています。
re_DSC02320.jpg

 実際は、コントローラの隣に置いて、周回コースでスピードを測りました。使ったのはKATOのE5系(HO)で、今回は、ACアダプタを15V直流品にしてみました。
re_DSC02321.jpg

 動画です。


スケッチはこちらです。

コメント(0) 

S88 Magを作る [S88]

 S88 Magって何?という話があると思うので、説明します。
 スマイラーさんが、鉄道模型市用のレイアウトで、S88光検知式を改造して、磁気検知式を作成しました。模型市では動かせず、原因は特定できていませんが、私のほうでも実物での確認を開始しました。
re_DSC02308.jpg

 こんな感じで、磁気センサをつけ、オシロとかで見ながら波形を確認しました。
試した素子は秋月の素子です。(スマイラーさんのを大いに参考にしています)
SK8552G
SK1816G(ラッチ)
VCCで吊っていないとか細かい違いはありますが、センサの読み込み周期を考えると、ラッチありの方が取りこぼさないかと思ったのですが、どうも、磁石が近づいて、遠ざかるときにN,Sが変わってしまうようで、ラッチがあるくせに、HighとLowがパタパタと変わってしまうため、ラッチなしの8552G にしました。
 で、まあ、3Vぐらいあれば動くようなので、LED駆動するところをVCCとしてそのまま使い(制限抵抗も一緒のまま)、本当はDigitalReadでやるところをAnalogReadでやったりとか確認しましたら、
---------------------
int diff_value_threshold = 200;

int diff_value_threshold = 400;
---------------------
と、光検知式ならLEDが光っている時と光っていないときの差分を閾値としているのでが、ここを少々大きくすることで、抵抗などの基板の抵抗を変更せずにそのまま対応できそうなことが分かりました。
 今後、S88 Detector基板(線路に着ける方のセンサ基板)の形をMag専用を作って、沢山つないで確認してOKかどうかを確認しようと思います。

コメント(0) 

S88 8ch 一応完成 [S88]

 金曜日は娘の小学校の卒業式でした。卒業証書授与で、200人近くいる児童が一人一人今までのことや将来の夢など一言しゃべるのですが、もちろんすごい時間になっていました。パイプ椅子でお尻が痛かったです。で、家に帰ってきてから、「自分の部屋が欲しい!」って言うじゃないですが。あなたに部屋をあげると私の遊び部屋がなくなってしまう!。どうしよう。
 さて、Elecrowからやっと基板とケースが届きました。
 メカ寸法は問題なしでした。
re_DSC02234.jpg

re_DSC02235.jpg

 自画自賛しますが、いい感じです。

 で、実動作させてみました。
 こんな実験環境です。
re_DSC02236.jpg
 
 re_DSC02237.jpg
 
 そうしたら、問題が出ました。
 6chの時は、Outputピン一つで6ch分の赤外線LEDを駆動させるためにトランジスタを二つ付けて、LEDの制限抵抗は220Ωを付け、電流は(5.0V-1.2V)/220 = 17mA流す感じで作っていました。つまり、LEDの駆動で最大17mA*6 = 102mA流れていました。
 今回は、省電力を狙って、8chのLEDを個別に制御しています。駆動にはArudinoのピンの駆動を使用しています。一応40mAまで可能とのことです。で、やってみたら、LEDが暗いようです・・・。かなり指を近づけないと光検出ができません。仕方ないので、LEDの制限抵抗を220Ω→100Ωに付け替えました。一応計算上は(5.0V-1.2V)/100 = 38mAですが、これで、6chのときと同じぐらいの検出になっているので、マイコンのIOピンの電圧がそれなりに低いことが予想されます。(測っていない)
 図面はこれです。
S88Control_8ch_K1.PNG

 もちろん、スケッチも個別点灯に直して、8ch対応しました。
 スケッチはこちらです。
 せっかく作ったので、デバッグも兼ねて久しぶりに自動運転でもやってみようかと思います。

 
コメント(0) 

やっと発送されたようだ [S88]

 2/23にElecrowに頼んだS88 8chの基板とアクリル板がやっと発送されたようです。
 あまりにも遅いので、なんか問題ありましたか?とメールしたら、春節明けでアクリル加工にすごい時間がかかっているとのことでした。
re_無題.jpg
 荷物のトラッキングで、日本には入ってきているようですので、木曜日ぐらいに受け取れるといいなあと思っております。
 AliExpressに注文したArduinoNano互換品は、集荷されてから全く動いていないようです・・・。
 
コメント(0) 

S88 8chをElecrowに注文した [S88]

 さて、デジタル鉄道模型フォーラムが出来たり、DesktopStation様が法人化したり、すごい勢いで動いているようですが、私は、私のペースで行きたいと思います。
 Fablab藤沢が終了するということで、Elecrowにアクリルケースの加工を頼もうと思ったのですが、送料も込みで5セットで5000円を超えるため、高いなあと感じています。設計したものはすぐに加工できないし。で、中華製のレーザー加工機が欲しいなあと思い現在物色中です。
 CorelDrawの高い奴(5万円ぐらい)がないと動かせないという話で、実質10万円はさすがに出せないなあと思っていたら、フリーのInklspaceからも動かせるという話もあり、かなり、買うほうに傾きつつおります。
 そんななかS88 8chとケースをElecrowに注文したら、PayPalの支払いで楽天カードに拒否られて、次の瞬間楽天カードから電話があり、「今、お客様のカードで家電?が買われましたが、お客様が買われましたか?」「はいそうです・・・。」、で、その後決済できましたが、Elecrowは怪しい中国通販のカテゴリなんですかね。やっぱり。
 で、今日は、「カメラ付きのRasPiもあるし、運転手目線の自動運転を考えよう!」と思って、OpenCVとPythonを使った信号機認識の画像処理を調べ始めました。が、Pythonの勉強だけで一日終わりました。

コメント(0) 

ケースを作ったが [S88]

 水曜日はフレックスを最大限に利用して3時に会社から帰ってFablab藤沢に行きました。残念ながら2月でFablab藤沢は終わりらしいです。かなり残念です。鉄橋(木だけど)をいっぱい作りたかったのですが。
 で、ケースを作りました。左からNuckyさんのs88-N Train Detector (16区間用)、私の S88 14port、YaasanさんのS88 Button Decoderです。
re_DSC02228.jpg

 遠目にはよさげに見えます。
 が、S88 14ポート系はもともとAK-P-01を使用しており、これと同じサイズでつくるつもりで、適当にS88 Masconの基板の形から起こしたら、残念なことになりました。S88 Masconは、ほかのS88 Nuckyさんのや私の14ポート版に比べて基板サイズが小さかったようです。NuckyさんのS88基板をいれたら、基板のほうが少々大きく、アクリルの下部パネルが割れてしまいました。
re_DSC02226.jpg

 まあ、今度はケースの寸法から値を取ってきて作り直さないとですね。(最初からそうしろよという話もありますが)
 もう一つ、妄想中のS88 8ch用のケースも作りました。こっちはまだ基板がないので、問題が起こるはずもなく、今のところ完璧です。
re_DSC02227.jpg

 来週も、時間があったらケース加工に行こうかと思っています。

コメント(2)