2018年05月05日

I2C Bus Accelarator

今回はGrove等で使用されるI2Cを延長する方法について紹介します。


I2Cはマイコン周辺の機器との通信を想定しているため、
数メートルといった距離の通信を想定していません。


Grove規格ではハブやケーブルを接続して、
数mまで伸ばしたいということも多々あると思います。

その際に便利な部品、バスアクセラレータLTC4311を紹介します。


バスアクセラレータLTC4311は、400pFのI2C仕様を上回るバス負荷条件で
データ伝送速度と信頼性を向上させるアクティブ・プルアップです。

機能と利点
• I2Cバス立ち上がり遷移時間を改善
• I2Cバス上に複数のデバイスを接続する場合にデータの完全性を保証
• 広い電源電圧範囲:1.6V〜5.5V
• “L”状態のノイズマージンを改善
• 最大400kHz動作


簡単に言えば、
配線が長くなってクロックや信号が鈍ってしまうところを
High、Lowをバシッと決めてくれるデバイスです。

バスアクセラレータLTC4311を接続することによって
複数のデバイス接続や長距離で大容量の相互接続ができるようになります。

簡単にGroveで使えるようにバスアクセラレータアダプタを設計してみました。


I2C_Bus_Acc.jpg

Groveコネクタのラインに繋げることで
I2Cの信号の鈍りを除くことができます。

近々、バスアクセラレータLTC4311の有無で
どれくらい長くできるか検証してみたいと思います。
ラベル:部品 電子部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年04月28日

TinkerBoard S 試食

Tinker Board Sを入手したので、
ちょっと試食してみました。

今回はマルツで購入しましたが、
他にもPhysical Computing Labでも在庫ありの様です。

これまでRaspberryPIやBeagleboneを使ったことがありましたが、
TinkerBoard Sに興味が湧いてきました。


RaspberryPIやnano pi等の問題として
個人使いでは問題ないものの、
本格的に使うようになるとSDカードは
セキュリティー的観点や寿命の面で不安が残る。
本当はeMMC内蔵が好ましい


一方、BeagleboneはeMMC内蔵なのは良いが
CPUがTiのため長期供給できるものの、
依然としてシングルコア。
最近のdebianでは動作が重い...


Tinker Board Sは初代のTinker BoardにeMMCが内蔵となり、
かつ、CPU1.8GHz、メモリ2GBのモリモリ仕様です。
ただ、Beagleboneの様にUSBネットワーク機能はないようです。
欲を言えば、USBネットワーク機能、
スーパーキャパシタでRTC内蔵してくれるとさらに良かったのですが...



早速、OSをダウンロードして起動っと思ったのですが。
ASUSのサイトからTinkerOS_Debian V2.0.5をダウンロードして
SDに書き込んで起動したものの....
CUIで起動後、GUIを起動させると文字化け。
更にtinker-configコマンドのタイムゾーン設定等もおかしい。
なにやらV2.0.5はバグがあるようです。
Zipからの解凍ミスと判明しました。。。

仕方なく、ASUSのサイトからShowAllをクリックして、
1つ前のTinkerOS_Debian V2.0.4をダウンロードしました。


残念ながらTinkerOSにはデフォルトでNode-Red、Nodejsが入っていませんでした。

sudo apt-get install nodejsではnpmが入らないため、
下記のコマンドでnpm含めてインストールします。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm install -g --unsafe-perm node-red

すんなりインストールできました。

tinkers_nodered.JPG

ChromiumブラウザやNode-Redが一瞬で起動しました。
OS自体の起動も爆速です。
Beagleboneでは処理が重く諦めていたことも
Tinker Boardならできそうです。
時間を見つけて色々試してみたいと思います。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年04月14日

3Dプリンタ反り防止その2

3Dプリンタで大きなサイズを印刷する際に
悩ましい反りをなくすツールについて、

5回程度同じ場所に印刷すると跡が残ってしまい、
一部、印刷中に剥がれて軽く反ってしまうことがありました。

今回はプラットフォームシートを使用せずに
別の方法で反らずに何度も再利用可能な方法を紹介します。


ホウケイ酸ガラス+ケープ(ヘアスプレー)です。


plate3D.jpg

3Dプリンター ヒートベッド用ホウケイ酸ガラスがamazon等で売られています。

使用方法としては下記の通りです。

@ヒートベッドにガラスをクリップ等で固定
Aケープを3Dプリント面に2回ほどまんべんなく塗布
B印刷開始しつつヒートベッドの高さを微調整
C出力中に必要に応じて端にケープを塗布して剥がれ防止
D出力終了後はヘラで剥がさず、温度低下で自然に剥がれるまで待つ
 ※無理に剥がすとホウケイ酸ガラスが割れます
E自然に剥がれない箇所を必要に応じてヘラで剥がす
F出力物にケープが付着している場合は水で洗い流す
Gプレートに残ったケープや樹脂は水やお湯に数分浸けて洗い流す


ホウケイ酸ガラスを使用した際のポイントは
ヒートベッドの高さ調整です。

テープやプリンタープラットフォームシートに比べて、
ガラスは変形しないため、かなり調整がシビアです。

ノズル先端からガラスまでがちょうどノズル径程度でないと
それより近くても遠くても出力ができません。
調整の際のイメージは下図の通りです。
現象を見ながらヒートベッドの高さを適切な位置まで調整します。

printimage.jpg



ホウケイ酸ガラス+ケープ(ヘアスプレー)の場合、
ヒートベッドの高さ調整は難しくなりますが、
剥がれによる反りがなくなり、
汚れを水で洗い流せば何度も使用できるので非常に便利でお勧めです。
posted by Crescent at 10:39| Comment(0) | TrackBack(0) | 3Dプリンタ | このブログの読者になる | 更新情報をチェックする

2018年03月24日

I2C/SPIプロトコルブリッジIC その2

先日、紹介したI2C/SPIプロトコルブリッジICの
SC18IS602BIPW/S8HP でちょっと引っかかった点について紹介します。

SC18IS602BIPW/S8HP はSPI接続のデバイスを
I2Cデバイス化する変換ICです。

GPIOの出力や入力はすんなり動いたのですが、
SPIの転送がなかなかできない問題が発生しました。

原因を調査するとI2CでSPI転送をしているにも関わらず、
SPIのクロック、信号が出ていない感じでした。


原因はGPIOの設定にありました。
4つGPIOがある中ですべてGPIOモードにするとSPI転送できないようです。
もう少し厳密に言うとSPI転送時は自動的にCSのIOが制御されるため、
SPI転送時で使用するCSはGPIO Enableにしてはいけないということです。


GPIOの設定はGPIO Enable (Function ID F6h)で行います。
SPI転送時にCSとして使用するGPIOは無効にして
SlaveSelectとして使用します。
SPI転送時のアドレスがSlaveSelectとして機能します。



普段のマイコンの感覚ではSPIのCSはGPIOで別途制御するのが一般的なので
I2C/SPIプロトコルブリッジICでもGPIOモードで全部制御する
ということを考えてしまいました...


ということでI2Cなので画面書き換え速度がSPIの約4倍以上要しますが、
WaveShare製の電子ペーパーをI2C化成功しました。

IMG_0015-2.jpg

IMG_0016-2.jpg

書き換え速度は遅いですが、I2C(Grove)接続で
簡単に制御できるのは魅力的です。
WaveShare製の電子ペーパーはSPIの配線の他に
Cmd/Data線、Reset線、Busy線の3つの配線が必要です。
SC18IS602BIPW/S8HP にはGPIOが4つあるため、
CS含めてすべてソフトで制御できます。

完全にI2C(Grove)接続のみで電子ペーパーを制御できます。
近日中にライブラリの公開とI2C電子ペーパーモジュールの販売を開始したいと思います。

ラベル:部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年03月10日

I2C/SPIプロトコルブリッジIC

今回はI2C/SPIプロトコルブリッジICの
SC18IS602BIPW/S8HP を紹介します。


SPI接続のデバイスをI2Cデバイス化する変換ICです。
つまりSPI接続のデバイスをGrove接続化できるデバイスです。


SPI接続のスレーブデバイス選択用にGPIOが4つあるため、
スレーブデバイスを最大4つまで選択する用途以外にも
リセットやデータコマンド切替IO等にも使用できます。


他の特徴として
SPI転送速度は最大1.8 Mbit/s、200-byteのデータバッファを搭載しています。


I2Cなので速度には全く期待できませんが、
WaveShare製の電子ペーパーをI2C化させることを検討中です。

もう少し、I2C/SPIプロトコルブリッジICが安ければよいのですが...
マイコンで代替もできますが、
毎度の書き込みの手間を考えると
やはり専用ICを使うのが良さそうです。


I2Cになると接続の容易さが際立つので、
より電子ペーパーの用途が広がると考えています。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする