UARTtoRS485/電源供給モジュールを作りました

f:id:iteclab:20210116232809j:plain

f:id:iteclab:20210117005045j:plain

 

表題の機能のモジュールを作ってみました。

使い道は、例えば下図のような構成を想定します。

f:id:iteclab:20210117000428p:plain

ある場所にセンサやスイッチ操作盤を置き、ちょっと離れた(数m)場所で、表示機能や、メカの駆動などを行いたい場合、センサやスイッチの配線を距離分延ばすのは、線の本数が増えることや、センサの配線にノイズがのるなどの悪影響が考えられます。

そのため、センシング・スイッチの読み取り用にマイコンを一個使い、表示機能や、メカ駆動を行うマイコンを別に用意して、その間を通信(Arduinoなら、手軽なUARTが便利だと思います)で結ぶのが良いと思います。

ただし、上の図の場合、まだ問題が残ります。

 

 問題点1)UART通信の配線長が長くなると不安定になる

 問題点2)センサ・スイッチ側マイコンに別電源が必要

 

そこで、下図の構成を考えます。

f:id:iteclab:20210117000450p:plain

ということで、通信距離が長くなる部分をUARTからRS485トランシーバを介して信頼性を高めつつ、RS485とはいえ、ツイストペアケーブルを使わないと数mでも通信が安定しないので、身近なツイストペアケーブルとして、Ethernetケーブル(CAT5e)を使います。RJ45コネクタで安定性と運用性(ばらして運ぶ・再配線など)が向上します。ケーブルも必要な長さを買ってくるだけ。

ついでに、使わないペアがあるので、電源も載せてしまうと、リモート先で電源を用意する必要も無くて、これは便利なのでは??という思想です。

 

実際の基板の構成は下図のようになっています。
R1は、CAT5eケーブルのインピーダンスが100Ωなので、終端抵抗100Ωとしています。

 

f:id:iteclab:20210117001539p:plain

*RS485トランシーバは、調達したタイミングの数量の都合で、下記を採用

akizukidenshi.com

RS485トランシーバを使う際、送信時はDE端子をHigh、受信時はLowにする必要があります。マイコン側でピンを割り当てて、UARTの送受信に合わせてHigh、Lowにするのが真っ当かとは思いますが、片側が送信専用、または受信専用の場合は、基板上でTx、Rxの記載のパッドをはんだでジャンパすると、マイコンのピンが一本節約できます。

尚、双方向で通信を行う場合、ArduinoからRS485通信を行うためのライブラリもありますが、常に固定長のメッセージを通信する場合は、送信時間が常に一定ですので、Serial.writeで送信してから、送信が終わるまでの時間を、設定した通信速度とバイト数で計算して、DE制御のピンを指定時間DelayでHighに保ってあげれば、特にライブラリ使うほどのものでもないかなと思います。

 

自分で実際に使っていますが、5mのCAT5eケーブル使用で、特に今のところ不具合は無いように思います。

 

調子が良かったので、こちらのモジュールを勢いで数十個、部品実装まで作りましたので、販売を予定しています。販売というよりは、ほぼ原価以下で頒布に近いかも・・・

 

パッと見で、問題点などあれば是非ご指摘いただければ幸いです。

Arduino IDE 1.6xでシリアルモニタのウィンドウが表示されなくて困った(Windows)

*Arduino1.8.3では、この問題は解決されている模様(2017.08.20)

困った内容

Arduino IDEで、シリアルモニタを起動すると、タスクバーにシリアルモニタのボタンは現れるのに、ウィンドウが表示されず困った。

 

原因

前回使用時に、マルチモニタ環境のセカンドモニタにシリアルモニタウィンドウを表示して、そのまま終了していた。

 

解決方法

users/<username>/AppData/Local/Arduino 以下のpreferences.txtを開く

”last.serial.location=” に続く座標が、マイナス値とかになっているので、

last.serial.location=200,200,200,200

とか、適当な座標を入れる。

Arduino IDEを起動する。

丸鋸用の作業台を作る

f:id:iteclab:20170819205313j:plain

 

まずは丸鋸ガイドを用意した

丸鋸は持っていても、きちんとした精度で切れないと、出番も少なくなりがち。きちんとした加工をしようと、すこしずつ環境改善を進めていました。
まずは、下記の記事を参考に、丸鋸ガイドを作りました。
引いた線で、ビシッと切断できて、箱がきちっと組めた時は大変感動しました。

gardeningdiy-love.com

 

本題、切断用作業台を作ります


本当に最低ラインですが、引いた線のとおりにきっちり切れるようになり、次の問題を解決します。
今まで、庭というか、駐車スペースにある段差に被加工材を載せて、切り落とされた方は切断されるに従い、自重でだんだん垂れ下がるような感じで無理やり切っていました。当然、切り終わりが残念な感じになってしまうので、なんらかの台が必要だなとは思っていました。

作業台への希望

  • サブロク板を載せて切り出せること
  • 細い部材を切り出すこともあるので、神経質にならない程度に丸鋸を通すスリットは細目で
  • 収納にあまり困らないものが望ましい

ということで、構造的には冒頭の画像のとおりで、設計データがどうというものでもないので、作業工程が何かのご参考になれば。

 

部材購入

f:id:iteclab:20170819211321j:plain

 ・針葉樹構造用合板 12mm厚 2枚(1枚1000円程度)
 安いので財布に優しいことと、比較的水濡れにも強いので選択。

 まだ作業台が存在しないので、カットはホームセンターにお願いしました。昇降盤いいですね。

・3×25mmネジ

・水性ペンキ
 (あとあと、手持ちの透明ニスも使いました)

・電動サンダー用ネット #240

 

 切り欠き加工

f:id:iteclab:20170819212142j:plain

ジグソーでちょいと切り欠きます。コの字のカドは、ドリルで10mmの穴を開けておきました。後で天板を合わせたときに、寸法が誤っていたことが発覚し、少し直しています。

 

組み立て

f:id:iteclab:20170819212504j:plain

「タイトボンド3」で土台の枠を接着し、カドを保定する便利なクランプは持ち合わせていないので、PPバンドでしっかり締めています。

以前は、コニシ木工用ボンド(今はバリエーションで多用途タイプも出ています)で万全と思っていましたが、今、タイトボンドシリーズが人気高いんですね。

 

f:id:iteclab:20170819212511j:plain

中央付近に補強の桟を取り付けて、枠にネジを打ちます。
「割れない」というのが売りの、先端とそれ以外でピッチの違うネジを使いましたが、ほんとに割れなくて感心しました。

 

f:id:iteclab:20170819212520j:plain

重石載せて接着を。

 

f:id:iteclab:20170819212532j:plain

上を居心地よくすると、プラス4kgくらいの重り増えないかと思いましたが、残念ながら落ち着いてくれませんでした。(奥にいる白いのは5kg)

 

仕上げ

f:id:iteclab:20170819214053j:plain

構造用合板なので、表面は荒いです。
サンダーで全体をざっとならしました。数分で終わるのが電動工具のありがたみを感じるところ。

 

f:id:iteclab:20170819214059j:plain

ローラーはあったのに、なぜかローラー皿が見当たらず、基板作る時のエッチング用バットで代用しました・・・

 

f:id:iteclab:20170819214112j:plain

洗うの面倒なので袋かけて使います。そのまま裏返してローラー包んでおくと、しばらく使えますし。

 

f:id:iteclab:20170819214128j:plain

ペンキ塗ったところ、いい雰囲気になったので、ペンキ塗らない部分もちゃんとニス塗ろうと思い立ち、10年くらい放置してあったニスを塗って、在庫一掃。

 

完成

f:id:iteclab:20170819215023j:plain

 

使い方(実際は家の中では使いませんが)

f:id:iteclab:20170819215044j:plain

丸鋸と丸鋸ガイド

f:id:iteclab:20170819215049j:plain

910mm幅の板も安定して置けて良い感じです。1100mmの奥行をとっていますので、丸鋸ガイドも、もう少し長いものを作ると、より使いやすそうです。丸鋸ガイドを長くすると、作業台に耳をつけてあるので、クランプで固定もできる想定です。

 

そういえば、収納しやすさの点、なるべく背は低く作ったものの、どこに立てておこう・・・

 

次は木工小屋を作りたいですね(ガン吹き塗装とかもできちゃう感じの)。

 

BOCCOでペットの健康管理をしてみる

事の発端。

猫が血尿を出した

↓(我が家では5年ぶり2匹目の血尿)

f:id:iteclab:20170214214043p:plain

 

  • 血尿と猫

猫によくある症状で、ストルバイトなどの結石ができて血尿が出たり、ストレスでも発生するようです。

↓5年前にストルバイト由来の血尿を出し、それ以降、結石予防の療法食で元気に暮らしています

f:id:iteclab:20170214214309p:plain

 

  • 血尿と猫(早期発見)

今回気が付くのが遅れてしまいましたが、血尿の前に、頻尿になったり、行動の変化が出ることも多いようです。早く気が付いて、おかしいなと思ったら、念のために動物病院で検査してもらうと、治るのも早くなると思います。

白い猫は、治りが遅く、膀胱に増えている細菌の種類を特定する検査をしたり、途中で抗生物質の種類を変えたりして、症状が落ち着くまでに4週間くらいかかってしまいました。

 

とはいえ、普段、猫が毎日何回トイレに行っているか知らない。

休日、家に一日いるとしても、猫が何回トイレに行ったか、ずっと見張っているわけでもないので、カウントするもの難しいです。人が寝ている間に行ってるかもしれないですし。

 

 

 BOCCOを使って猫のトイレの使用状況を知ろう

f:id:iteclab:20170214215245p:plain

BOCCOとは、ユカイ工学の製品で、家族のためのコミュニケーションロボットです。

BOCCOとスマートフォンアプリの間でメッセージを送り合ったり、付属の振動センサやオプションの鍵センサの反応をアプリに届けてくれます。

 

振動センサを猫トイレにつけると、トイレの使用頻度がわかるのではないかと思い、設置してみました。

トイレの可動フタは、以前から取り付けていました。

振動を検知するセンサですので、トイレへの出入りの際に振動する、この可動フタに振動センサを取りつけます。

f:id:iteclab:20170214215731p:plain

 

施工完了!

f:id:iteclab:20170214215834p:plain

 

結果 思ったより便利だった!

BOCCOアプリには、センサ通知はこのように届きます。(センサの名前は自分で変更できます。)

f:id:iteclab:20170214215922p:plain

 

・思ったよりわかりやすい
トイレへの出入りの際にセンサが反応してしまいますが、アプリ上の表示は折りたたまれるので、意外と一覧性悪くないと思いました。

 

・うちの猫は1日3回くらいトイレに行くらしい
同じスペースにいる猫は2匹なので、6回を2で割ると3回くらい。

 

・ドア側トイレが人気
設置の都合上、手前のトイレは3cmくらい高さがあるからかも?

 

課題

 

f:id:iteclab:20170214220309p:plain

・多頭飼いだと、どの猫がトイレに行ったかまではわからない

怪しいと思ったら全部捕まえて動物病院かなぁ。

 

まとめ

一人暮らしなので、我が家のBOCCOは、これまでmyThingsとのサービス連携で、毎朝天気予報を喋らせたりしていたくらいでしたが、小さな家族のためにも、結構役立つことがわかりました。監視カメラでずっと見ているより、時々トイレを使った通知がアプリに届く感じが良いです。