ベルトコンベア上を流れるワーク(完成品など)に、産業用のインクジェットプリンタで直接印字を行うケースがある。その場合、ワークの速度の変化に追従して印字を行うために、2相パルス出力型のエンコーダをベルトコンベアあるいは直接ワークに接触するように設置し、その出力パルスに同期して印字する方式がよく用いられている。
また、ベルトコンベアではなく、サーボモーターを利用した搬送装置を使用することもある。その場合には、サーボモーターからの出力パルスに同期して印字を行うことになる。
いずれにせよ、搬送装置が停止したら、印字も完全に停止する必要がある。しかし、停止中であっても、ベルトコンベアの場合は微振動により、サーボモーターの場合にはサーボロックにより、それぞれ不定期なパルスが出力される。また、直接ワークに接触するようにエンコーダを設置したシステムにおいては、接触するワークのない状態でのエンコーダの出力は常に不安定である。このパルスに反応して印字動作が生じてしまうと、停止中にインクの誤射が起きるという問題になる。
本稿では、PLDベースの簡易な回路によって、この問題を回避する方法を紹介する。なお、ある方向に回転するときのみ動作する仕様では、エンコーダの回転方向を検出し、場合によってはパルスをカウントアップ/カウントダウンする回路を構成するので、この問題は発生しない。本稿で紹介するのは、回転方向に関係なく動作し、なおかつ停止中の不定期パルスのみ除去することを目的とした回路である。
まず、搬送装置の動作とパルスの関係は次のようなものとなる。すなわち、搬送装置が動作しているときは、エンコーダからの2相のパルス(A相とB相)は交互に出力される。それに対し、停止中に不定期なパルスが出力された場合には、片方の出力は固定で、もう片方の出力のみが不定期に変化する場合が多い。
図1に、上述した問題を回避するための回路を示した。この回路において、入力はエンコーダのA相およびB相のパルス、出力は印字動作のソースクロックとなるパルスである。エッジ生成の部分は、A相のパルスの立ち上がりエッジと降下エッジ、B相のパルスの立ち上がりエッジと降下エッジをそれぞれ生成する。4つの信号エッジはORゲートに入力され、ノード1では基のパルス周波数の4逓倍パルスが得られる。
ノード2の信号は、A相とB相のパルスが交互に入力されている場合には真(ハイ)になる。具体的には、A相の立ち上がり時と降下時それぞれにおけるB相の状態の排他出力と、B相の立ち上がり時と降下時それぞれにおけるA相の状態の排他出力とのANDをとることで構成している。このノード2の信号とノード1の信号とのANDをとったものが、印字動作のソースクロックとなるパルスである。このような構成により、回転方向に関係なく、A相とB相が交互に入力されたときのみ、クロックが出力されるようになる。
図2に示したのは、入力パルスと出力パルスの状態を表したタイミングチャートである。また、図1の回路のVHDLソースコードをリスト1に示した。このコードのアーカイブファイルは、http://ednjapan.cancom-j.com/issue/2010/07/designideas/sample.zipからダウンロード可能である。
Copyright © ITmedia, Inc. All Rights Reserved.