XYステージ制御用基板 2002.04.13
2004.01.20
2004.12.15
2006.2.13
改定 2006.11.27
ここで紹介した モーター(デジットより購入)ですが 完売しました。 (2010.9)
モーター多摩川精機「TS3166N913」は、購入可能なことが分かりました。
2010.9の完売は、何だったんだ......。 2011.5.1
USB対応制御回路
2009.10.3 https://ss1.xrea.com/vega.s58.xrea.com/telescope/qcamft/control/control-new.htm
------------------------------------------------------------------------
XYステージの制御は、アトメル社のAVRマイコンを使用しています。
パソコンから指示に従い、ドライブ回路を介してパルスモーターを回します。
ユニバーサル基板で作成しました。 (私のはこれ)回路図と一部異なります。
マイコンへのコマンドのフォーマットは説明書で公開してあります(したつもり)のでパソコン側のソフトを自由に
作ることもでき、又フーコーテスター以外のXYステージにも使用可能です。
EEPROMのデータ破壊について。(2002.10.5)
マイコンチップをAT90S2313ではなくATtiny2313を使用し、低電圧検出器を(BOD)指定すれば、
EEPROMの破壊を回避できるのでこの方法をお勧めします。 (2006.12.7)
1. 回路図
パソコンとのI/FはADM232A(アナログデバイス)、モーターのドライブはTA7257P(東芝)を使用して、
バイポーラタイプのモーターを回します。TA7257Pのロジック部の電源は規格で6V以上ですが、5Vで動かしています。
モーター(多摩川精機「TS3166N913」)の電源はニッカド電池で別になってますが、3A程度の電源なら共用できます。
TA7257Pは、18Vまで使用可能ですので、別なバイポーラのモーターでも使用できると思います。
@ 回路図バイポーラモーター用 表示用
ダウンロード用 xykairo.lzh 10KB 2002.05.07改 (バイポーラタイプのモータ用です。)
AT90S2313の20番に付けるコンデンサは、1μFの積層セラミックコンデンサを使用しています。高周波の特性
が良ければ、(又はフィルム系)なら1μFにこだわる必要はありません。10μF〜20μFのケミコンを使用する場合は、
0.1μF程度の積層セラミックコンデンサをパラに接続します。
セラロック(4Mhz)は、コンデンサ内蔵なので外付けコンデンサは不要です。
ATtiny2313を使用する場合は、セラロック自体不要です。
回路図では、モーター用電源がニッカド電池で別電源になっていますが、現在はマイコンなどと共通の5Vになっています。
電源の容量は(少し不足ですが)1.6Aです。ロジック系(モーター以外)は、500mAのヒューズを付けてあります。
モーターの電源にヒューズを付ける場合は、3A程度が良いと思います。
別電源にする場合は、ロジック系の電源を入れ、次にモーター系の電源を入れる様にして下さい。切るときは逆に。
(詳細はTA7257Pのデータシート参照(最近は日本語化されてます))
ヒューズの変わりにポリスイッチ(リセッタブル・ヒューズ)を使用する場合は、ロジック系に0.1A、モーターの電源に1.6A
(3.2Aで遮断)を使用すれば良いと思います。
紹介したモーターは、コイル抵抗が4.3Ωです。1−2相励磁では同時に2組のコイルに電流が流れる場合がありますから
ますから、5Vの場合電源に必要な容量は
(5.0V/4.3Ω) x 2 = 2.33
A
となりますので3A程度の電源で十分と思います。 (2009.11)
((5.0V−1.9V)/4.3Ω) x 2 = 1.44
A
となりますので2A程度の電源で十分と思います。(1.9Vは、ICの飽和電圧)
1.5 USB で使用する
COMポートが無いパソコンが当たり前になりつつあります。 USBでqcamftを使用する方法として。
1. 基盤はCOMポートの接続と、 USBシリアルケーブルを使用する。
まだ入手できるようです。 「USBシリアル」 でWEB検索して下さい。
実際にqcamftで問題なく使用できたと、報告がきてます。
リスクは殆どありません。
2. 基盤にUSBのコネクタを付けて、基盤内で USBシリアルの変換を行う。
USBシリアルは、スマートでないから、基板に組み込みたいと思う人は
@ Attiny2313 で USBシリアル
試してみて動作したので、制御基盤に組みこんだ回路図作りました。
https://ss1.xrea.com/vega.s58.xrea.com/telescope/qcamft/control/control-new.htm
これから作る人は、これしかないでしょう! (リスクはありますが)
メリットは、
・部品が大きいので作りやすい
・ローコスト
A USBシリアルのチップを使用して、モータードライブ基板に組み込む。
チップはどれも小さく、ピンとピンの間隔が 0.5mmや0.65mm です。 購入前に注意。
CP2102 、FT232RL
B (小さな基板)をモータードライブ基板に組み込む。
この方法が、手間がかからないと思います。
ここで紹介するモジュールは、どれも実際に使用したわけではありません。
モジュールの完成形
http://akizukidenshi.com/catalog/g/gK-01977/
https://marutsu.co.jp/user/shohin.php?p=52777
モジュールのキット
http://strawberry-linux.com/catalog/items?code=50025
http://www.fitdesign.biz/cpa01.htm
モータドライブ基盤との接続は、これを参考にして下さい。
https://ss1.xrea.com/vega.s58.xrea.com/telescope/qcamft/control/control-usb.htm
AVRマイコンとUSBシリアルのモジュール接続上の注意は、
・電源(チップの電源)は、をどうしているか。(USB側からとっているか。 外部から取っているか。)
・信号は、0V、5V か、又は0V、3.3Vか?
チップを3.3Vで動かしている場合は、AVRマイコンと直結できないものもあるかもしれません。
2. プリント基板パターン
1.の回路図(バイポーラ用)の基板パターンです。
フリーソフトのCAD、KBAN(Windows版)を使用しました。CADの元データも付けたので
御自分のプリンター密度でパターンデータを作成できます。
ユニバーサル基板で作成する場合は、特に誤配線に注意しましょう。
パソコンが壊れるかもしれません。
パターンは、モーターの電源は、独立しています。一番右上のジャンパー腺の先
から供給します。
D−SUBコネクタとDCコネクタは、秋月電子で買った部品に合わせてあります。
又DCコネクタは手持ちの電源に合わせて、センターがマイナスにのパターンなっています。
逆の電源もありますので注意して下さい。必要に応じてパターンを変更して下さい。
クロスケーブル D−SUB9オス用と、ストレートケーブル D−SUB9メス用 を分けて書
きました。(2002.05.18)
異なる部分は、D−SUB9からADM2 32AANとの結線です。上はクロスケーブル用です。
[VX1.1]のXがメス−メスのクロスケーブルを想定しています。
[VS1.1]のSがオスーメスのストレートケーブル(延長ケーブル)を想定しています。
下のファイル名も同様。
最近は、メス−メス ストレートケーブルもあるので注意して下さい。
2.1 プリント基板パターンデータ
感光基板を使用する場合に使用して下さい。ユニバーサル基板で組む場合の参考にもなります。
最近はインクジェットプリンタ用のOHPシートと感光基板を使用し、プリント基板が比較的簡単にできるようです。
顔料系の黒インクを使用しているプリンタの方が上手く出来るらしいです。
xyptnv11_x.lzh 2006.2.13改定 表示用クロス 78 kb (クロスケーブル D−SUB9オス用)
xyptnv11_s.lzh 2006.2.13改定 表示用ストレート 78 kb (ストレートケーブル D−SUB9メス用)
トナー熱転写のパターンを配布しています。 パターンを太くした改良版で、ストレート用のみです。
4個のファイルから成ります。クロスケーブル D−SUB9オス用。(カッコ内はストレートケーブル D−SUB9メス用)
@ ptn_a_x.bmp (ptn_a_s.bmp): 部品側から見たパターン、ジャンパー腺、部品配置 (上の元画像です)
青:パターン、緑:部品側のジャンパー腺、黄色:部品
A ptn_x.bmp (ptn_s.bmp)
: パターンデータ 1200BPI用
感光基板で作成する場合使用して下さい。(大きい場合可能なら縮小して使用して下さい)
下のFSOで印刷すれば、実寸のパターンが印刷できます。
B parts.bmp
: 部品側の配置図 2002.05.07改
部品番号は、回路図に合わせてあります。 半導体の脇の「1」は、1番ピンの事です。
C xystage_x.kbn (xystage_s.kbn)
: CADの元データ(KBANが必要)
Aの縮小が上手くいかない場合、これで貴方のプリンタの密度に合わせてパターンデータを
吐出し(BMP)、SFOでパターンを印刷してください。BMPデータ作成方法
2.2 画素対応で印刷するソフト(SFO)
sfo004.lzh
34kb (平田 和貴さん作製)
BMPデータを、画素体対応で印刷できます。BPIが一致していれば、実寸で印刷できます。
2.3 KBAN (使用したプリント基板設計CAD) kban2b39.lzh 214kb (平田
和貴さん作製)
上のCを使用する場合必要。
3. 制御用マイコンソフトウエア(ファームウエア)
AVRマイコン内臓のEEPROM(書き換え可能なROM)からパルスモーターのバイポーラ/ユニポーラ、
1相/2相/1−2相、回転速度 等のデータを読み込みそれに従いパルスモーターを回します。
EEPROMを変えることで、色々な回し方がきます。変更は、パソコンの測定ソフト(QCAMFT)やターミナ
ルソフトから変更できます。
パソコンとのインターフェイスは、わたなべさん考案のコマンド体系に合わせてあります(合わせたつもり)。
一部独自のコマンドもありますが、どの組み合わせでも使用できるように考慮したつもりです(実績はありません)。
3.1 制御プログラム
AVRのワンチップマイコン、AT90S2313 又は AT90S8535 を使用します。
AT90S2313は、プログラムエリアの関係と安全を見て機能別に3種類に分かれてます。AT90S8535は、1種類のみです。
AT90S2313のファームは、ATtiny2313でも使用できます。
(A)(B) 古いソフトはここ
(C) Ver
2.1 加速(減速)制御、ブレーキ制御(バイポーラのみ)をしたもの。リセット機能追加(Wコマンド)。
(測定ソフトは、Ver
1.9以降を使用します。)
プログラム | CPU | バイポーラ | ユニポーラ | 1 相 | 2 相 | 1−2相 | Vコマンド | コマンドチェック | 最高速指定 | cr、lf付加 | eepromの内容 | 備 考 |
xy2313a21.lzh | AT90S2313 | 〇 | × | 〇 | × | 〇 | V2.1a1 | × | ×(無反応) | × | バイポーラ、1-2相 | @ |
(D) Ver 2.2
モーターの励磁方法を保存するEEPROMアドレスを変更したもの。(#00-#01を#0E-0Fに変更)
EEPROMのアドレスゼロは、データが破壊されXモーターが回らなくなる場合があります。
測定ソフトから励磁方法を変更する場合は、注意が必要です。
変更前 #00
Xモーター励磁方法 (1:1相、2:2相、3:1−2相)
#01
Yモーター励磁方法 (1:1相、2:2相、3:1−2相)
変更後 #0E
Xモーター励磁方法 (1:1相、2:2相、3:1−2相)
#0F
Yモーター励磁方法 (1:1相、2:2相、3:1−2相)
プログラム | CPU | バイポーラ | ユニポーラ | 1 相 | 2 相 | 1−2相 | Vコマンド | コマンドチェック | 最高速指定 | cr、lf付加 | eepromの内容 | 備 考 |
xy2313a22.lzh | AT90S2313 | 〇 | × | 〇 | × | 〇 | V2.2a1 | × | ×(無反応) | × | バイポーラ、1-2相 |
機能に制限(xの部分)がありますが、AT90S2313のマイコンチップの容量が一杯だからです。(8535なら組み込み可能)
ソース(Ver 2.2) (コメントは、あまり信用しないで)(加速とブレーキは、ユニポーラではできません)
最近のWINAVRでは言語仕様が変わりBIT操作の関連がコンパイルエラーになります。
2004.07.20リリースのWINAVRは、OKです。
ソース(Ver
2.3) Attiny2313 対応、 WinAVR-20090313 対応。 1-2相励磁 固定にしました。
Attiny2313かAt90S2313かは、pmot.cの14行目を変更し、makefileのmcuを変更すればokです。 (2009.6.12)
このファームは使用実績がありません。
ソース(Ver 2.4) モータドライバー TA8428K を使用する場合の対応。 (2009.6.13)
このファームは、使用実績がありません。
AT90S2313は、いずれ(遠くない将来)入手不可能になるらしいです。
ATtiny2313は、AT90S2313用の上記ファームが動く可能性がありますが、私は試していません。
動きました。(2006.11)
又ATtiny2313は、ヒューズビットの指定で低電圧検出器(BOD)指定すれば、EEPROMの破壊も避けられるはずです。
マイコン書き込みサービスを行っています。 不安な方は遠慮なくどうぞ。
3.2 EEPROMのカスタマイズ
3.1で解凍したxxxxxx.eepを必要に応じて変更して下さい。表で「固定」となっている部分は、eeprom自体は
変更できますが、使用されません。変更は測定ソフト(QCAMFT)からできます。
また設定を誤ると、モータードライブICが破壊される場合があります。
4. 説明書
上記の説明で、3個のファイルから成ります。 xydoc.lzh 7kb (2002.10.05改)
回路図説明
: 簡単な説明
モータードライバー仕様 : コマンド仕様、励磁パターン、etc
AVRカスタマイズ
: EEPROMの書きかえ方法
5. 参考
データシート
ADM232A(AD社) http://www.interq.or.jp/japan/se-inoue/datasheet.htm
井上さんのHP
TA7257P(東芝) http://www.semicon.toshiba.co.jp/openb2b/websearch/productDetails.jsp?partKey=TA7257P
又はここ
AT90S2313(日本語) http://homepage1.nifty.com/radio_tech/
から
半導体購入先
AT90S2313 (180円) ADM232A (300円) その他セラロックなど
秋月電子 http://akizukidenshi.com/
ADM232AANが入手できない場合は、SP3232EH又はSP202ECP(Sipex社、ピン互換)が使用できます。
SP202ECPの方が内部構造が似ています。(どちらも秋月で¥250)
TA7257P
若松通商 http://www.wakamatsu-net.com/
千石電商 http://www.sengoku.co.jp/Frame-CI.htm (ここはシリアル用クロスケーブルが安い)
三協電子部品 http://www.sankyo-d.co.jp/ 一般部品
> 一般IC > 音響・映像・リモコン用IC
にある
ここで全部そろいそう (小金額、軽量なら、定型外で送付してくれます。郵便振替可能 手数料が安い)
共立エレショップ http://eleshop.kyohritsu.com/index2.html
AT90S2313、TA7257P、セラロック、コンデンサ、SP3232EH、デジットで販売してるパルスモーター
http://eleshop.kyohritsu.com/products/irregular.html (デジット扱いの購入方法)
パルスモーター
多摩川精機「TS3166N913」4.3Ω、0.9度/STEP、軸径5mm、
バイポーラ。
http://www.kyohritsu.com/DIGIT/ 購入先はデジット(大阪) の 「お勧めステッピングモータ各種」
下から2段目の右から2つ目の「0.9度 \500」のです。(実際は値下げして\250。)
http://digit.kyohritsu.com/DSC/PHOTO-mt/b6.jpg 画像はこれ
6. AVRライター
マイコンにプログラム(ファームウエア)を書きこむ為のものです。私の使用しているライターを紹介します。
D−SUBコネククタ(25ピン)、抵抗4本、その他。とても安価。
パラレルポートを使用するタイプです。電源は別に必要です。
上記のパターンには書きこみ用の配線がないので、左の写真左上コネクタの先に
クリップが必要ですが、そこは赤松さんのHP(一番下の写真)を参考にして下さい。
安定に動作してます。誤配線には十分注意しましょう。パソコンを壊さないように。
詳細は、赤松さん(Chanさん)のHPを参考にして下さい。
http://elm-chan.org/index_j.html から入って
趣味の電子工作集 -> PCインターフェースの活用 -> AVRライタ3品 でたどれます。
AT90S2313のピン配置
私が製作したのは、【LPT制御 ISPアダプタの制作】のタイプで、
AVRXS.EXE を使用して書きこみます(WIN98SEで)。上記の場合は,
>AVRXS xy2313a.hex xy2313a.eep
として書きこみます。 xy2313a.eepは、設定データを指定
しています。必ず必要です。
Detected device is AT90S2313
Chip Erasing ...OK
Flash: Writing ... Verifying ...OK
EEPROM: Writing ... Verifying ...OK
が出れば成功。
WinXPでは、32BITタイプのライタソフト AVRSPを使用します。 (-pl1
は、パラレルポート指定)
>AVRSP -pl1 -w
xy2313a.hex xy2313a.eep
AT90S2313の書き込みにはピンの1,10、17、18,19、20 を使用します。発振子も必要です。
このXYステージ以外にAVRで遊んでみようという場合は、COMポート接続のタイプ又は、USB接続のライターをお薦めします。
最近は、Windpws
XPでも使用可能で、新チップ対応の為に精力的に改定がされています。 書き込みコマンドは
>avrsp -pc1 -w s2313a22.hex Eeprom.eep
とします。(comポートの場合)
・ chanさん設計のAVRライターがキットになってます(COMポート接続)。
http://strawberry-linux.com/shop/index.php?c=&s=date&p=1&r=1&page=#72001
http://www2.strawberry-linux.com/products/avrsp/
簡易ライターと書いてありますが、シンプルがゆえに拡張性がありISPタイプでは一級品です。
COMポート接続でこれ以上のものは知りません。
DOSでも、Win95、Win98、Win2Kでも、WinXPでも使え、とても高速です。ひそかにテスターを作成したい方どうですか。
USBしかない場合は、USBシリアル変換ケーブルを使用した書き込み方法があります。
http://www11.ocn.ne.jp/~akibow/AVR/usbwriter.html
(あきぼうさん トライアルその4:普通にUSB-b>シリアル変換ケーブル+ChaN氏のavrsp-COMライタ)
USBシリアル変換ケーブルは、そのままXYステージの接続に使用できるはずです。
ライターなんか、製作できるか! という人や、USB接続が条件の場合 Atmelの純正ライターがあります。(\6,000)
ただし古い石(AT90S2313,など)は、対応していません。ATtiny2313には書き込みできるようです。
http://www.compass-lab.com/STK_CAN/ATAVRISP.htm
ATtiny2313を使用 (2006.11.27)
ATtiny2313のピン配置
AT90S2313は、製造中止でいずれ入手できなくなるかもしれません。
秋月電子ではATtiny2313が120円で購入できるので、使用してみました。
ATtiny2313
を使用する場合は、 ヒューズ(low側)も書き換える必要があります。
出荷時の設定は、8Mhzの1/8分週で1Mhzになっています。
内臓CR発振子で下記のように4Mhzを選択1/8分周なしとすれば、外部の発振子が必要ありません。
マイコンチップはそのまま交換できます。
>avrsp -pc1 -w -fl11100010 s2313a22.hex Eeprom.eep (chan氏、COMポート接続のライター使用)
として書き込みました。(AT90S2313用のHEXファイルをそのまま)
結果は、モーターの回転、速度変更程度の簡単な確認ですが問題なく使用できました。
低電圧検出器を(BOD)指定する場合は、 hight側のヒューズ(-fh11011001)を下記とすれば良いです。
>avrsp -pc1 -w -fl11100010 -fh11011001
s2313a22.hex Eeprom.eep (4.3V以下でリセットする)場合
最近購入したATtiny2313は、内臓のCR発振4Mhzで、動作しませんでした。(通信できない)
外付け 4Mhz (セラロック) にしたら、動作しました。
今回動作したFuse指定 Low:
11101100 High:11-11001 (2009.6.12)
7. AVRについて
今回は、cのコンパイラーは必要ありませんが、PICならいいのに、とお思いの方も多いと思います。
AVRはとても優れた点がありながら、後発の弱みかあまり流行っていません。
PICではWindoes環境で動くフリーのコンパイラーがあり、快適に使用できますが(私が知る限りでは)デバイス限定です。
私が使用したAVRの開発環境はATMEL社のAVR STUDIO と、avrgcc(フリー)のCコンパイラ(Windows版)です。
gccと言うと、unixが分からなくては使いこなせないと思う方もいるかもしれません。私も最初はそう思っていました。
フリーのCコンパイラにつられて使用してみると、そんな事は全くありません。AVR STUDIOも、gccのcコンパイラ
の環境に合わせる動きがあり、ほとんど純正コンパイラと同様に使用できます。シミュレーターでのテストは、VBの様にのカーソルを
ソース上の変数の上に動かすだけで、変数の値が表示されます。ウォッチ用の変数一覧を表示して、動かす事もできます。
プログラム領域が十分あれば、浮動小数点の計算も可能です。この環境が多くのデバイスで使用できるのですから。全て無料です。
インストールから使用方法は ここに詳しい説明があります。
http://www.toshu-ltd.co.jp/gaki 杉柿さん
AVR -> ATMEL AVRに関すること
-> gccを使ってみよう の順にたどって下さい。
ここにも 開発環境に関する解説があります。 (少し古い)
http://ww2.tiki.ne.jp/~maro/AVR/ まろりさん
最近のWINAVRを使用してみました(avrgcc) 2004.07.20付 最近のチップ(Attiny26など)に対応してます。
http://sourceforge.net/project/showfiles.php?group_id=68108
インストール後、再起動してサンプルのmakeが問題無くできました。
AVR STUDIO でCのソースデバッグするには
avr-objcopy -O coff-avr --debugging samp.elf samp.cof のようにすればOKです。
makeで行いたい場合は、これmakefileで上手く行きました。以前のようにコンバータだけ追加インストールする必要はありません。
最近のgccはここが参考になります
http://www.geocities.jp/kuman2600/index.html kumanさん
http://www11.ocn.ne.jp/~akibow/ あきぼうさん
_____________________________________________________
コンパイルエラーが多く出る(スクロールしてしまう)場合は DosExecPro(フリーソフト) を使用すると保存できます。
http://www5.wisnet.ne.jp/~mercury/ 作者のMERCURYさん
http://www.vector.co.jp/soft/win95/prog/se128431.html 以前 Vector のここからDLしました。