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) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年02月25日

One-Wireインタフェース

今回はOne-Wireインタフェースについて紹介します。

One-Wireインタフェースはその名の通り、
1本の信号線とGNDで通信するシリアル通信規格です。


信号線から電力を受けることができるため、
信号とGNDの2本のみで通信できます。
また、One-Wireのデバイス1つ1つに固有ID(識別番号、64bit)があるため、
1つのデータライン上の複数デバイスから特定デバイスを呼び出すことができます。

I2Cも7bitの固有アドレスがあります。
同じデバイスの場合は基本的に同じアドレスとなります。
そのため、同じデータライン上に同じデバイスは1つしか繋げることができません。
一方、One-Wireはネットワーク機器のMACアドレスの様に
完全に固有のIDのため、同じデータラインに同じデバイスを複数繋ぐことができます。


便利なOne-Wireインタフェースですが、
1つのデータラインでやり取りするため、
通信速度は期待できません。



入手性のよいOne-Wireデバイスは
他にEEPROM、NVRAMなどがOne-Wireデバイスとしてあります。


急激な温度変化のない環境で定期的に温度を監視する場合などに
1つのデータラインに複数のOne-Wire温度計を設置して
監視すると配線を減らすことができるので効果的です。


STM32マイコンでOne-Wireデバイス(One-Wireデバイス)と通信する

One-Wireデバイスを呼び出す場合、
2種類の方法があります。
データライン上に1つのデバイスしかない場合は
SKIP_ROM_CMDで固有ID指定なしで呼び出します。

データライン上に複数のデバイスがある場合は
MATCH_ROM_CMDで固有IDを指定して該当するデバイスのみ呼び出します。



今回のサンプルコードの場合、
DS18B20_GetTemperature()では
SKIP_ROM_CMDで固有ID指定なしで温度を取得します。
DS18B20_GetSelectDeviceTemperature(***)では
MATCH_ROM_CMDで固有IDを指定して温度を取得します。


ICの配線を簡易化できるOne-Wireインタフェースは面白いと思いました。
2本の配線なので配線の存在感を消すことができます。

現状の課題としては温度計くらいしかデバイスがないことでしょうか。
今後のOne-Wireセンサデバイス種類の拡充に期待です。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2018年02月16日

PS2/USB変換アダプタ

今回は現在開発中のデバイスについて紹介します。


プログラミング専用こどもパソコンichigojamやサーバマシンなどでは
キーボードのインタフェースとしてUSBでなく、PS2がまだ使われています。
一方でUSBが広まり、PS2のキーボードが入手しづらい状況です。

そこで開発しているものがPS2/USB変換アダプタです。


世の中で販売されているPS2/USB変換アダプタ
PS2のキーボードをUSBデバイス化して
古いキーボードを最新のPCで使える変換アダプタです。
これではichigojamやサーバマシンでは使えません。


今回、開発しているPS2/USB変換アダプタは
USBキーボードをPS2化する変換アダプタです。
世の中で販売されている変換アダプタとは変換の向きが逆です。


調べる限り、このような変換アダプタは販売されていないようです。
USBのHostの処理は面倒なため、コストもかかるのが要因でしょうか。


構成としては
[市販USBキーボード]<-USB->[USB Host(Vinculum)]
<-UART->[STM32マイコン]<-PS2->[PC,ichigojam]
です。


本当はVinculumのみでPS2も扱えればよいのですが、
現行のVinculumUはPS2ポートがなく、
GPIOで処理する必要があります。

VinculumTはPS2ポート搭載していますが、
チップ単価が高いため却下。
Vinculumは独自RTOSが搭載されているため、
GPIOでus単位のPS2の処理を実装するのが厳しいため、
STM32を搭載してPS2の処理をさせています。

設計中の基板はこんな感じ。
PS2USBChanger.jpg
裏と表にVinculumとSTM32のチップをそれぞれ搭載しています。
両側にUSBとPS2のポートが搭載される感じです。
電源はPS2から給電のため、挿せば使えるという感じです。
一般的なキーの動作確認ができましたが、
特殊キーのデバッグがまだ残っている状況です。

ただ、PS2は規格がざっくりなところがあり、
あるPCで動いても他で動くかどうか...


上手くいけば3月、4月頃に2千円前後で販売開始する予定です。

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