JP2005326512A - 顕微鏡用電動ステージ - Google Patents
顕微鏡用電動ステージ Download PDFInfo
- Publication number
- JP2005326512A JP2005326512A JP2004142885A JP2004142885A JP2005326512A JP 2005326512 A JP2005326512 A JP 2005326512A JP 2004142885 A JP2004142885 A JP 2004142885A JP 2004142885 A JP2004142885 A JP 2004142885A JP 2005326512 A JP2005326512 A JP 2005326512A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- pulse
- microscope
- movable member
- axis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Microscoopes, Condenser (AREA)
Abstract
【課題】 画像処理手段を含む大規模に自動化された顕微観察装置および顕微観察方法であり、大変高価な構成となってしまう。マイクロプレート単位で頻繁に観察検査条件を変更する場合、その都度、条件設定をする必要があり、煩雑であり、使い勝手が悪い。
【解決手段】 本発明の顕微鏡用電動ステージは、顕微鏡に固定するための固定部材と、標本を保持し顕微鏡の光軸に対して垂直な平面上を移動可能な可動部材と、可動部材を移動させる駆動手段と、駆動手段の動力を可動部材に伝達する動力伝達手段と、可動部材の移動等を操作する操作手段と、操作手段からの操作信号に応じて、少なくとも2つの駆動制御方法を切り換える制御手段とを具備している。
【選択図】 図6
【解決手段】 本発明の顕微鏡用電動ステージは、顕微鏡に固定するための固定部材と、標本を保持し顕微鏡の光軸に対して垂直な平面上を移動可能な可動部材と、可動部材を移動させる駆動手段と、駆動手段の動力を可動部材に伝達する動力伝達手段と、可動部材の移動等を操作する操作手段と、操作手段からの操作信号に応じて、少なくとも2つの駆動制御方法を切り換える制御手段とを具備している。
【選択図】 図6
Description
本発明は、光学顕微鏡に設けられ電動で観察対象物を2次元移動させるための顕微鏡用電動ステージに関する。
顕微鏡は医学、生物学の分野、および工業系分野などの広い分野において、その用途に応じた様々な形式で用いられている。特に半導体製造をはじめとする工業系分野では、作業の省力化のため、あるいは、正確性の向上のため、顕微鏡を含む装置の自動化が早期から進み、顕微鏡の各動作部、駆動部も電動化が進んできた。こうして、当初、高価であった電動化された顕微鏡も、その需要増大に伴い廉価なものや、低価格のものが多くを占めるようになってきた。一方、医学、生物学の分野においても、電動化された顕微鏡の低価格化にあいまって、需要が増している。そして、より使いやすく、より低価格な電動化された顕微鏡が望まれてきた。
試薬研究や臨床検査では、検体を複数、効率よく観察検査するために、複数個のウェルが規定間隔で設けられたいわゆるマイクロプレートを使用している。ステージに保持したマイクロプレートのウェルに観察検査対象である検体を分注し、ステージを走査することにより、一度に多数の検体を観察検査することが行われている。このマイクロプレートはその寸法等が業界団体により規格化されつつあり、昨今では大規模な自動検査装置も提案されている。
特開2002−3038011
特開平8−86965
たとえば、特許文献1の特開2002−3038011公報には、容器の複数の試料収容部に収容された生体試料の顕微鏡画像を撮像する顕微観察装置であって、生体試料を収容する容器を保持する保持手段と、容器内の生体試料の顕微鏡画像を撮像する撮像手段と、この撮像手段に対して前記保持手段に保持された容器を相対的に移動させる移動手段と、前記容器に定義された基準点を原点とする複数の前記試料収容部の位置座標とこの位置座標を原点とする観察位置の相対位置座標に基づいて前記移動手段を制御することにより複数の前記試料収容部を前記撮像手段による撮像位置に位置決めする観察位置制御手段とを備えた顕微観察装置が記載されている。
上記顕微観察装置によれば、容器内の生体試料の顕微鏡画像を撮像手段によって撮像するに際し、容器に定義された基準点を原点とする複数の試料収容部の位置座標とこの位置座標を原点とする観察位置の相対位置座標に基づいて、容器を保持して移動する移動手段を制御して複数の試料収容部を撮像手段による撮像位置に位置決めすることにより、生体試料の顕微鏡画像を効率よく取得することができる顕微観察装置が実現されている。
このようにマイクロプレートの利便性に着目し、観察検査作業を機械化、自動化する装置は、今後益々増えてゆく。しかし、当然のことながらこれら機械化、自動化された装置は、非常に高額な装置であり広く普及するには到っていない。このため、従来から行われている観察検査者が顕微鏡を直接操作しながら、マイクロプレートを使用し、観察検査する方法の需要がいまだに多い。このような検査は、一般に拡大倍率の異なる複数の対物レンズを回転式レボルバーに取付け、対物レンズからの観察光路と直交する平面内で観察試料を移動できるステージを操作しながら、マイクロプレートに一定間隔に設けられたウェルを走査し、観察、検査を行っている。この検査の方法としては、対物レンズを低倍にセットして試料全体をスクリーニングし、その観察試料に異常部位が発見された場合には、さらに対物レンズを高倍の対物レンズへと切換えて異常部位を詳細に検査し、観察を行っている。
特許文献2の特開平8−86965公報では、モータによって駆動される顕微鏡用電動ステージの移動速度を指示する速度指示手段と、使用中の対物レンズの倍率値を出力する倍率値出力手段と、速度指示手段が指示する移動速度および倍率値出力手段が出力する倍率値に応じて、観察される標本像の速度が、前記倍率値とは無関係に前記速度指示手段が指示する移動速度になるようにモータを制御するモータ制御手段とを備えることを特徴とする顕微鏡用電動ステージ制御装置
などが記載されている。
などが記載されている。
上記顕微鏡用電動ステージ制御装置によれば、モータ制御手段が、例えば、倍率値が大きくなれば、その分モータの速度を低下させ、倍率値が小さくなれば、その分モータの速度を高めることにより、観察される標本像の速度を一定にすることができる。従って、標本像の観察に支障が生じることがなくなる顕微鏡用電動ステージ制御装置が実現されている。
しかしながら、特許文献1では、画像処理手段を含む大規模に自動化された顕微観察装置および顕微観察方法であり、大変高価な構成となってしまう。また、大量のマイクロプレートを同観察検査条件にて処理する場合は好適であるが、マイクロプレート単位で頻繁に観察検査条件を変更する場合、その都度、パーソナルコンピュータから条件設定をする必要があり、煩雑であり、かつ、使い勝手が悪い。
また、特許文献2では、対物レンズの倍率に着目し、ジョイスティック等の操作手段からの操作入力と観察される標本像の動き、すなわちステージ移動速度とを最適にする制御を行うのみである。観察検査に複数個のウェルが設けられたマイクロプレートを使用する場合、観察検査者はあるウェルの観察検査が終了する度に、次のウェルへ正確、かつ、素早く移動する操作を強いられ、本来の観察検査への注力を削がれることになる。このようなウェルからウェルへのジョイスティック操作は観察検査者にとって、大きな負担となっている。
本発明の顕微鏡用電動ステージは、顕微鏡に固定するための固定部材と、標本を保持し顕微鏡の光軸に対して垂直な平面上を移動可能な可動部材と、可動部材を移動させる駆動手段と、駆動手段の動力を可動部材に伝達する動力伝達手段と、可動部材の移動等を操作する操作手段と、操作手段からの操作信号に応じて、少なくとも2つの駆動制御方法を切り換える制御手段とを具備している。
請求項1および請求項2記載の発明によれば、マイクロプレートを使用した観察検査において、ジョイステックへの比較的急峻な操作がなされた時は、次の観察検査対象であるウェルの中心位置へ迅速かつ正確に移動することができ、また、ジョイスティックへの比較的穏やかな操作がなされたときは、通常のジョイスティック操作角度に応じたスムーズで自在な移動をすることができる。マイクロプレートを使用した観察検査に必須のステージ移動動作をジョイスティックだけの極く簡単な操作により実現しているので、多数のウェル、マイクロプレートの観察検査においても作業者の疲労を軽減し、ウェルに分注された検体の検査そのものに集中できることとなり、作業成績の向上にも貢献する。また、上述する説明から、明らかなように非常に簡単な構成を採用したため、低コストであり、かつ、耐久性にも優れている。
本実施例では、ジョイスティックのX軸操作角度に応じて、通常ジョイスティック処理とステップ移動処理の切換えを行っていたが、ボタン押下操作や、X軸、あるいは、Y軸のどちらか一方の操作角度に関連付けて切換える構成も可能である。更には、光軸に挿入されている対物レンズ倍率の検出手段を付加することで、高倍対物レンズの観察時は、通常ジョイスティック処理に切換え、低倍対物レンズの観察ではステップ移動処理に切換える構成も可能である。
また、ステップ移動処理に切換えられると、本実施例ではステップ移動方向が単一方向(ステップ移動カウンタが増える方向)であるが、これに限定することはなく、ジョイスティックのX軸操作角度がしきい値を超えた場合、この操作角度が中立位置に対する方向に応じて、ステップ移動カウンタが増える方向、およびステップ移動カウンタが減る方向との2方向へのステップ移動を関連付ける構成も好適な実施である。
このような構成とすれば、観察検査を行う作業者の嗜好に無理なくあわせることが出来、結果としてより作業者の疲労軽減に貢献する。
また、ジョイスティックのX軸操作角度の判定に際して、一つのしきい値を固定的に用いているが、数段階のしきい値をDIP−SWなどに応じて選択、使用する構成もまったく問題ない。
また、ジョイスティックのX軸操作角度の判定に際して、一つのしきい値を固定的に用いているが、数段階のしきい値をDIP−SWなどに応じて選択、使用する構成もまったく問題ない。
この構成によれば、本発明側で作業者の操作感覚に沿わせることが可能となり、観察検査を行う作業者が、顕微鏡操作に熟練、熟達している必要が無く、観察検査そのもののスキルアップを助けることができる。また、スクリーニングパターンとして典型的な2例を採用しているが、本実施例ではこのデータを不揮発メモリへも記憶可能な構成をとっており、PCなどのHostから作業者の望む任意のスクリーニングパターンを記憶ことができる。これにより、高度にスキルアップを遂げた作業者の要求にも簡単に応じることができ、また、マイクロプレートに限らない不定形なプレートの観察検査にも用いることが可能である。
請求項3記載の発明によれば、請求項1および請求項2記載の発明の効果にあわせて、好適な焦点位置への駆動も行うので、さらに使い勝手、操作性が増している。あわせて、焦準において、高価かつパラメータ設定などが煩雑なオートフォーカス装置などを必要とせず実用上合理的な焦準機能を実現している。
以下、本発明の第1実施例および第2実施例について説明する。図1に顕微鏡用電動ステージを使用した顕微鏡システムの全体構成を示していて、顕微鏡フレーム1に取り付けられた電動ステージ7は制御部32に接続され、制御部32には操作部56が接続されている。
図2において、顕微鏡フレーム1には、顕微鏡フレーム1上面と平行なアーム部2aを有する支柱2が設けられている。支柱2には、ランプハウス3が設けられ、このランプハウス3内のランプ3aからの照明光を、アーム部2a内部のレンズ群4とミラー5を有する照明光路を通し、さらに支柱2が固定するコンデンサー内部のレンズ群6を通して顕微鏡フレーム1上方から照射するようにしている。顕微鏡フレーム1の上面には、電動ステージ7が固定部材100を介して設けられ、この電動ステージ7上には、照明光路からの照明光が照射される多数のウェルを有するマイクロプレート8が保持されている。顕微鏡フレーム1の電動ステージ7に対応する位置には、複数の対物レンズ9a〜9fを保持するレボルバ10が配置されている。そして、ステージ7上のマイクロプレート8、および、電動ステージ7の可動部材110に設けられた開口部110b、さらに、固定部材100に設けられた図示しない開口部を通過した光を対物レンズ9aで拡大し、ミラー11で反射するとともに、図示しないレンズ群をリレーして双眼部12で観察できるようになっている。
顕微鏡フレーム1の左右の側面には、焦準ハンドル130が設けられていて、この焦準ハンドル130を回転操作することにより、顕微鏡フレーム1の内部に設けられた図示しないラック&ピニオンなどの回転−並進変換機構を介してレボルバ10を光軸OPに対して平行に上下駆動し、焦点調節を行うことができる。
図3において、電動ステージ7は、顕微鏡フレーム1に取付けるための固定部材100に対して一方向に移動可能な可動部材110が設けられ、直交するもう一方には、マイクロプレート8を保持した状態で可動部材110の 5mm上の平行平面上を移動するクレンメル12にて顕微鏡フレーム1の光軸OPに対してマイクロプレート8の2次元走査を行っている。
図4において、クレンメル12には、マイクロプレート8を載置する持ち出し部12a、12bが設けられている。マイクロプレート8は、持ち出し部12a、12bに隙間無く載置され、かつ、クレンメル12に設けられた図示しないクランプ機構により、マイクロプレート8の長辺部8xとクランプ12の保持部12xが隙間無く接し、さらにマイクロプレート8の短辺部8yとクランプ12の保持部12yが隙間無く接している。これにより、クレンメル12のX軸移動方向とマイクロプレート8の長辺方向(X軸)は平行に一致し、また、クレンメル12のY軸移動方向とマイクロプレートの短辺方向(Y軸)は、平行に一致することになり、結果、電動ステージ7は、光軸OPに垂直な平面上にてマイクロプレート8を2次元走査することができる。
マイクロプレート8は、24ウェル(穴)、48ウェル、96ウェル、384ウェル、864ウェルが一般的であるが、本実施例では、最も広く使われている96ウェルを用いる。図5において、マイクロプレート8は96ウェルであり、たとえば、SBS(The Society for Biomolecular Screening)スタンダードに適合するものであり、マイクロプレート8のプレート面上の基準位置Sに対するウェル1Aの位置は既定義である。また、1Aから12Hの96穴のウェルは、全て隣り合うウェルとの間隔(ピッチ)が、全て等しく、同様に既定義である。今、簡単のためにたとえば、プレート面と平行な面内に基準位置Sを原点(0,0)とするX−Y座標系を考えれば、各ウェルの中心位置(X,Y)は、
ウェル1A:(Xs,Ys)、
ウェル1B:(Xs,Ys+Yp)、
ウェル2A:(Xs+Xp,Ys)、
ウェル6E:(Xs+5Xp,Ys+4Yp)、
ウェル12H:(Xs+11Xp,Ys+7Yp)
のごとく、全て計算で求めることができる。
ウェル1A:(Xs,Ys)、
ウェル1B:(Xs,Ys+Yp)、
ウェル2A:(Xs+Xp,Ys)、
ウェル6E:(Xs+5Xp,Ys+4Yp)、
ウェル12H:(Xs+11Xp,Ys+7Yp)
のごとく、全て計算で求めることができる。
つぎに、固定部材100と可動部材110との間のガイド(Y方向)について説明する。電動ステージ7は、通常直交する2方向への移動が可能であるが、構成作用は同様のため、もう一方のガイド(X方向)の説明は省略する。
図3において、固定部材100にはV字形状のガイド溝100a、100bが形成されている。可動部材110には保持部材13が螺着され、固定部材100のガイド溝100a、100bと平行なV字形状のガイド溝110a、13aが形成されている。対峙する各ガイド溝には、ボール14が挿入され、固定部材100を可動部材110と保持部材13とで挟持した状態にて、保持部材13は可動部材110に螺着されている。そのため、可動部材110はガタ付くことなく、またボール14にて点接触で保持されているため摺動抵抗が小さく、一方向への移動が可能となっている。
動力伝達手段には、細い金属材料の素線を撚って作られたワイヤロープ15を用いる。ワイヤロープ15の両端は輪形状になっており、可動部材110に突設された2本の支持ピン16間に張架されている。一方の支持ピン16はワイヤロープ15の張られた方向に移動可能である。また、固定部材100上には、減速機17Aが配設され、その減速機出力軸21上に装着されたプーリ18は、2本の支持ピン16を結ぶ直線に接する位置に配置され、かつワイヤロープ15はプーリ18に1回転巻き付けられている。
移動可能な支持ピン16を移動させて、ワイヤロープ15の張力を高めることにより、プーリ18とワイヤロープ15の摩擦力を高めることが可能となり、過負荷が加わらない限りワイヤロープ15とプーリ18との間で滑りが生じることはない。また、プーリ18はワイヤロープ15に接する位置に配置しているため、可動部材110の移動に伴い、ワイヤロープ15の全長が変動することはない。前記二つの作用により、プーリ18の回転をワイヤロープ15に正確に伝達することが可能であり、プーリ18の回転量を正確に可動部材110の直線移動量に変換することができる。
駆動手段としては、Yステッピングモータ20を用いる。Yステッピングモータ20は、外部からのパルス信号を受け、ステータ捲線に生じる電磁力でロータを吸引し、パルス信号に比例した角度だけ出力軸が回転するモータである。Yステッピングモータ20は、出力軸1回転が200分割されたモータで、外部より1パルス信号を発するとモータ出力軸は1.8°回転する。
固定部材100に配設された Yステッピングモータ20の出力軸に直接ワイヤロープ駆動用のプーリを装着した場合、2.5μmの分解能を得るためには、プーリの直径は0.15mmとなり現実的ではない。そのため分解能を高めるための平歯車による減速機17Aを固定部材100上に配設している。減速機17Aは、歯数の異なる平歯車を同軸上にて一体に構成し、歯数の異なる歯車同士を噛み合わせた歯車列により減速する。1組の歯車の歯数が1:4であり、減速機出力軸21の歯車60とステッピッグモータ20の出力軸のモータ歯車43とを合わせて3組の歯車列とすることにより、1/64の減速比を得ている。
上記構成により、Yステッピングモータ20の1ステップでの可動部材110の移動量は、ワイヤロープ15が巻き付けられる減速機出力軸21のプーリ18の直径を10mmとすると、Yステッピングモータ20の分割数が200なので、
10mm×π/(200×64)= 2.5μm
の分解能をもつことになり、微小な送りが可能となる。
10mm×π/(200×64)= 2.5μm
の分解能をもつことになり、微小な送りが可能となる。
つぎに、ステージの位置を管理する制御手段について説明する。図6において、固定部材100には、フォトインタラプタ型のY原点センサ30が配設されている。また、可動部材110には、Y原点サンサ30を遮光する遮光板31が配設されている。Y原点センサ30と遮光板31とにより原点検出手段を構成している。可動部材110を駆動する際は、可動部材110を決まった一方向に移動し、遮光板31にてY原点センサ30を遮光する。すなわち、固定部材100に対する可動部材110の原点位置を予め合わせた後、制御手段としての制御部32よりのパルス信号にて可動部材110を駆動する。このように、制御手段としての制御部32で、Yステッピングモータ20への出力パルス数を管理することにより、可動部材110の位置管理が可能となる。
制御手段としての制御部32について説明する。制御部32は、図7のように構成されている。制御部32は、CPU32−1とROM32−2とRAM32−3、不揮発メモリ32−4および、Xパルスジェネレータ32−5、Xドライバ32−6、Yパルスジェネレータ32−7、Yドライバ32−8、からなり、各々CPUバスを介して接続されている。ROM32−2に制御内容を記述したプログラムが記憶され、RAM32−3には、制御演算などのデータが格納される。不揮発メモリ32−4は、EEPROM、NVRAMあるいは、フラッシュメモリ等であり、プログラムの実行により必要な情報の記憶、読み出しがおこなわれる。
Xパルスジェネレータ32−5は、CPU32−1からの移動方向、パルス量、パルス速度、加減速形式など、駆動パラメータの書込みにより、Xドライバ32−6へ該駆動パラメータに応じた移動方向信号、パルス信号を出力する。Xドライバ32−6は、移動方向信号、パルス信号を受けて、これらに応じて不図示のXスッテッピングモータに印加する駆動パルスを出力する。Xパルスジェネレータ32−5はその内部にXカウンタ32−5−1を持っていて、出力するパルスの方向、量に従い該カウンタをアップカウントあるいはダウンカウントする。CPU32−1はXカウンタ32−5−1のカウントや、図示しないステータスレジスタをCPUバスを介して、いつでも読み出すことが可能であり、また、Xカウンタ32−5−1のカウントへ任意の値を書き込むことができる。CPU32−1は、固定部材100に配設された不図示のX原点センサのセンサ信号をいつでも読み出すことが可能である。
Yパルスジェネレータ32−7は、CPU32−1からの移動方向、パルス量、パルス速度、加減速形式など、駆動パラメータの書込みにより、Yドライバ32−8へ該駆動パラメータに応じた移動方向信号、パルス信号を出力する。Yドライバ32−8は、移動方向信号、パルス信号を受けて、これらに応じてYスッテッピングモータ20に印加する駆動パルスを出力する。Yパルスジェネレータ32−7はその内部にYカウンタ32−7−1を持っていて、出力するパルスの方向、量に従い該カウンタをアップカウントあるいはダウンカウントする。CPU32−1はYカウンタ32−7−1のカウントや、図示しないステータスレジスタをCPUバスを介して、いつでも読み出すことが可能であり、また、Yカウンタ32−7−1のカウントへ任意の値を書き込むことができる。CPU32−1は、固定部材100に配設されたY原点センサ30のセンサ信号をいつでも読み出すことが可能である。
また、制御部32には、マンマシンインターフェースとしての操作部56が接続されている。操作部56は、図8のように操作入力部をなすボタン56−2、ジョイスティック56−3からなり、各々CPU32−1と接続されている。ボタン56−2は、押下操作、開放操作に応じた操作信号を出力するもので、CPU32−1はこの操作信号を読み出すことができる。ジョイスティック56−3は、中立位置からの操作角度(操作倒し角)に応じた操作信号を出力するもので、CPU32−1は、この操作信号を読み出すことが可能である。
このジョイスティック56−3は、操作角度を直交するX軸、Y軸に分離して、各々の角度により抵抗値の変化する機構を内部に持っていて、CPU32−1は、この抵抗値を電圧として検出しA/D変換の後、0から255の値を持つ8bitのディジタルデータとして読み出すことができる。図9は、ジョイスティック56−3の一軸に関し操作角度と8bitディジタルデータの関係を示すものである。中立位置のディジタルデータは、127であり左側の最大操作角度位置(30°程度)において、ディジタルデータは、0となる。この間のディジタルデータは、中立位置から操作角度に応じてリニアに変化する。逆方向も全く同様で、右側の最大操作角度位置30°程度)において、ディジタルデータは、255となる。この間のディジタルデータは、中立位置から操作角度に応じてリニアに変化する。このようにして、CPU32−1は、ジョイスティック56−3の操作量と操作方向を含むディジタルデータとして、操作角度を検出することができる。
CPU32−1は、操作部56からの操作入力を受けると、この操作入力に応じて各部位を制御する。制御部32には、RS−232Cや、USBあるいは、イーサネット(登録商標)等の図示しない外部通信部が設けられており、PC等の外部機器(以下、Hostという)から、CPU32−1が、このI/Fを介してコマンドを送受することにより、操作部56からの操作と同等の駆動部制御を行うとともに、外部との情報交換を行なう。
つぎに本実施例の顕微鏡用電動ステージの動作について図13および図13−1〜図13−4を用いて説明する。本実施例で説明する動作は、ジョイスティック56−3への時間あたりの操作角度により、後述する通常ジョイスティック処理と、同じく後述するステップ移動処理との少なくとも2つの処理によりステージ移動制御を切換えるものである。
ステージ位置管理のための準備動作を説明する。
(S1−1)
電源が投入されるとCPU32−1は、不揮発メモリ32−4から電源切断時のX位置、Y位置を読み出し、Xパルスジェネレータ32−5のXカウンタ32−5−1へX位置を書き込み、Yパルスジェネレータ32−7のYカウンタ32−7−1へY位置を書き込む。不揮発メモリ32−4から読み出すこのX位置、Y位置の単位はXカウンタ32−5−1、Yカウンタ32−7−1がカウントする出力パルス数である。こうして、電動ステージ7の位置を管理することが可能となる。
電源が投入されるとCPU32−1は、不揮発メモリ32−4から電源切断時のX位置、Y位置を読み出し、Xパルスジェネレータ32−5のXカウンタ32−5−1へX位置を書き込み、Yパルスジェネレータ32−7のYカウンタ32−7−1へY位置を書き込む。不揮発メモリ32−4から読み出すこのX位置、Y位置の単位はXカウンタ32−5−1、Yカウンタ32−7−1がカウントする出力パルス数である。こうして、電動ステージ7の位置を管理することが可能となる。
上記とは別に、電動ステージ7の位置を管理するために、原点検出動作を行う方法を取ることも可能である。
(SO1−1)
図13−1に沿って原点検出動作を説明する。電源が投入されるとCPU32−1は、Y原点センサ30の信号を読み込む。Y原点センサ30の信号は遮光版31が遮光している位置、つまり、可動部材11が原点に位置している場合をon、遮光版31が遮光していない位置、つまり、可動部材11が原点に位置していない場合をoffとする。CPU32−1は、Y原点センサ30の信号がoffであると、(SO1−4)へいたる。(SO1−1 No)
図13−1に沿って原点検出動作を説明する。電源が投入されるとCPU32−1は、Y原点センサ30の信号を読み込む。Y原点センサ30の信号は遮光版31が遮光している位置、つまり、可動部材11が原点に位置している場合をon、遮光版31が遮光していない位置、つまり、可動部材11が原点に位置していない場合をoffとする。CPU32−1は、Y原点センサ30の信号がoffであると、(SO1−4)へいたる。(SO1−1 No)
一方、CPU32−1は、Y原点センサ30の信号がonであると、Yステッピングモータ20を+方向へ所定パルス量(20パルス)にて駆動し、可動部材11を50umを+方向へ移動する。(SO1−2)
CPU32−1は、20パルス出力終了後再び Y原点センサ30の信号を読み込み、この信号がonであれば、(SO1−2)へ戻り再度所定量を出力する。(SO1−3 Yes)
このようにして、Y原点センサ30の信号がoffとなるまで可動部材11を+方向へ50umずつ移動し、Y原点センサ30の信号がoffとなると、(SO1−4)へ至る。(SO1−3 No)
(SO1−4)
CPU32−1はYステッピングモータ20を−方向へ所定パルス量(−パルス)にて駆動開始し、可動部材11の−方向への移動を開始する。(SO1−4)
CPU32−1はYステッピングモータ20を−方向へ所定パルス量(−パルス)にて駆動開始し、可動部材11の−方向への移動を開始する。(SO1−4)
可動部材11の移動ストロークを100mmとすれば、CPU32−1は、−40000(100000/2.5)パルス程度の出力を開始する。これにより、可動部材11は−方向への移動を開始し、遮光版31はY原点センサ30へ近づいていく。
CPU32−1は、−方向へ所定パルス量(−パルス)の出力を開始した後、Y原点センサ30の信号を読み込む。Y原点センサ30の信号がonであれば、(SO1−6)へ至る。一方、Y原点センサ30の信号がoffであれば、再び、Y原点センサ30の信号を読み込み、この信号がoffの間、これを繰り返す。(SO1−5 No)
Y原点センサ30の信号がonであると、CPU32−1は直ちにYステッピングモータ20へのパルス出力を中断して、可動部材11を停止させる。(SO1−6)
(SO1−7)
CPU32−1は、Yパルスジェネレータ32−7のYカウンタ32−7−1へ所定の値を書き込みカウンタを初期化する。このようにして、Y原点センサ30を遮光版31が遮光し、Y原点センサ30の信号がonとなる位置に可動部材11は位置づけられ、原点検出動作が終了する。
CPU32−1は、Yパルスジェネレータ32−7のYカウンタ32−7−1へ所定の値を書き込みカウンタを初期化する。このようにして、Y原点センサ30を遮光版31が遮光し、Y原点センサ30の信号がonとなる位置に可動部材11は位置づけられ、原点検出動作が終了する。
CPU32−1は、X軸に関しても、上記したY軸の処理と全く同様に(SO1−1)〜(SO1−7)を行う。こうして、電動ステージ7の位置を管理することが可能となる。ここで、本実施の形態では、以降、位置についての説明を簡単にするため、〔図5〕で示す座標系を採用する。さらに上述する(SO1−7)にてXパルスジェネレータ32−5のXカウンタ32−5−1、および、Yパルスジェネレータ32−7のYカウンタ32−7−1に書き込む所定の値として、原点検出動作終了時の光軸OPの位置と、図5で示す基準位置Sとの電動ステージ7において既知となる距離:(Xd,Yd)を採用する。これにより、たとえば、位置:(X1,Y2)へ電動ステージ7が移動すると、図5で示す座標系の位置:(X1,Y2)が光軸OPに位置することとなる。
(S1−2)
CPU32−1は、ステップ移動カウンタを「0」に初期化する。ステップ移動カウンタは、RAM32−3に確保した変数、変数1 StepCountであり、後述するステップ移動での移動先を示すための変数である。
StepCount ← 0
CPU32−1は、ステップ移動カウンタを「0」に初期化する。ステップ移動カウンタは、RAM32−3に確保した変数、変数1 StepCountであり、後述するステップ移動での移動先を示すための変数である。
StepCount ← 0
ジョイスティック操作によるステージ動作を説明する。
(ST1)
CPU32−1は、一定時間 (20ms)でジョイスティックを監視する。これは、たとえば、CPU32−1に内臓された図示しないリソースのタイマー割り込み機能/処理や、あるいは、RTOS(Real Time Operating System)などのタスクスケジューラを使用することで容易に実現できる。すなわち、CPU32−1は、通常プログラムのフロー(S1−1〜S1−12)実行中においても、通常プログラムのコンテキストを破壊することなく、ジョイスティック56−3の操作角度を読み出すことができる。ここではタイマー割り込み機能を用いる。
CPU32−1は、一定時間 (20ms)でジョイスティックを監視する。これは、たとえば、CPU32−1に内臓された図示しないリソースのタイマー割り込み機能/処理や、あるいは、RTOS(Real Time Operating System)などのタスクスケジューラを使用することで容易に実現できる。すなわち、CPU32−1は、通常プログラムのフロー(S1−1〜S1−12)実行中においても、通常プログラムのコンテキストを破壊することなく、ジョイスティック56−3の操作角度を読み出すことができる。ここではタイマー割り込み機能を用いる。
CPU32−1は、20ms間隔でジョイスティック56−3の操作角度をX軸角度および、Y軸角度との二つのディジタルデータを読出し、これらをRAM32−3に確保した以下の変数、
変数2:タイマー割り込み処理でのX軸操作角度 intr_now_X
変数3:タイマー割り込み処理でのY軸操作角度 intr_now_Y
に格納する。すなわちCPU32−1は、20ms間隔で実行する処理として、
intr_now_X ← ジョイスティック56−3から読み出したX軸ディジタルデータ
intr_now_Y ← ジョイスティック56−3から読み出したY軸ディジタルデータ
を順次、実行し、さらにRAM32−3に確保した以下の変数4、
変数4:変数2、および、変数3の書込み/読出しフラグ
に書込みを示す値である「1」を格納する。後述する通常プログラムの(S1−3)では、変数2と変数3から値を読み出すとこの変数4へ「0」を書込む。変数4は、電源投入時に不図示のフローであるスタートアップルーチン、あるいはブートプログラムにより、「0」クリアされていて、初期値として読出しを示す値である「0」が格納されてる。
変数2:タイマー割り込み処理でのX軸操作角度 intr_now_X
変数3:タイマー割り込み処理でのY軸操作角度 intr_now_Y
に格納する。すなわちCPU32−1は、20ms間隔で実行する処理として、
intr_now_X ← ジョイスティック56−3から読み出したX軸ディジタルデータ
intr_now_Y ← ジョイスティック56−3から読み出したY軸ディジタルデータ
を順次、実行し、さらにRAM32−3に確保した以下の変数4、
変数4:変数2、および、変数3の書込み/読出しフラグ
に書込みを示す値である「1」を格納する。後述する通常プログラムの(S1−3)では、変数2と変数3から値を読み出すとこの変数4へ「0」を書込む。変数4は、電源投入時に不図示のフローであるスタートアップルーチン、あるいはブートプログラムにより、「0」クリアされていて、初期値として読出しを示す値である「0」が格納されてる。
(S1−3)
CPU32−1は、ジョイスティック56−3が操作されたか判定する。この判定は、通常プログラムのフロー(S1−1)〜(S1−12)とは、非同期に実行されるタイマー割り込み処理(ST1)により書込み更新される変数2、および、変数3を評価することで行われる。一般に通常プログラムのフロー(S1−1)〜(S1−12)とタイマー割り込み処理(ST1)との、変数2、および、変数3へのアクセス競合を避ける必要があり、ここでは評価に先立ち、割り込み禁止命令を実行し、変数5、および、変数6に変数2、および、変数3の値を移す。変数5、および、変数6は、RAM32−3に確保した変数であり、
変数5:X軸操作角度 now_X
変数6:Y軸操作角度 now_Y
となっている。すなわち、CPU32−1は、割り込み禁止命令を実行し、次いで、書込み/読出しフラグである変数4を評価し、読出しを示す値である「0」が格納されていれば、前回の(S1−3)にて既に変数2、および、変数3は読み出された以降、タイマー割り込み処理(ST1)にて更新されていないので、CPU32−1はジョイスティック56−3が操作されていないとみなし、直ちに割り込み禁止命令を解除し、(S1−3 No)を経て、(S1−4)へ到る。これにより、タイマー割り込み処理の間隔(20ms)より短い間隔で、通常プログラムの(S1−3)が実行された場合にも、既に読出し済みの変数2、および、変数3を不用意に読み出すことを防いでいる。
CPU32−1は、ジョイスティック56−3が操作されたか判定する。この判定は、通常プログラムのフロー(S1−1)〜(S1−12)とは、非同期に実行されるタイマー割り込み処理(ST1)により書込み更新される変数2、および、変数3を評価することで行われる。一般に通常プログラムのフロー(S1−1)〜(S1−12)とタイマー割り込み処理(ST1)との、変数2、および、変数3へのアクセス競合を避ける必要があり、ここでは評価に先立ち、割り込み禁止命令を実行し、変数5、および、変数6に変数2、および、変数3の値を移す。変数5、および、変数6は、RAM32−3に確保した変数であり、
変数5:X軸操作角度 now_X
変数6:Y軸操作角度 now_Y
となっている。すなわち、CPU32−1は、割り込み禁止命令を実行し、次いで、書込み/読出しフラグである変数4を評価し、読出しを示す値である「0」が格納されていれば、前回の(S1−3)にて既に変数2、および、変数3は読み出された以降、タイマー割り込み処理(ST1)にて更新されていないので、CPU32−1はジョイスティック56−3が操作されていないとみなし、直ちに割り込み禁止命令を解除し、(S1−3 No)を経て、(S1−4)へ到る。これにより、タイマー割り込み処理の間隔(20ms)より短い間隔で、通常プログラムの(S1−3)が実行された場合にも、既に読出し済みの変数2、および、変数3を不用意に読み出すことを防いでいる。
タイマー割り込み処理(ST1)により、変数2、および、変数3が更新されていれば、CPU32−1は、変数4から書込みを示す値である「1」を読出すこととなり、
now_X ← intr_now_X
now_Y ← intr_now_Y
と値を移し、さらに変数2と変数3から値を読み出したので、書込み/読出しフラグである変数4へ読出しを示す「0」を書込み、直ちに割り込み禁止命令を解除する。ジョイスティック56−3の中立位置からの不感帯を1bit程度とり、変数5、または、変数6の少なくともどちらか一方が、ディジタルデータとして125より小さいか、あるいは、ディジタルデータとして129より大きいかの場合にジョイスティック56−3が操作されたと検出する。(S1−3 Yes)
一方、変数5と変数6のどちらも、ディジタルデータとして 125〜129であるなら、すなわち、CPU32−1は、ジョイスティック56−3のX、Yともに操作をされていないとみなし、S1−4へ到る。(S1−3 No)
now_X ← intr_now_X
now_Y ← intr_now_Y
と値を移し、さらに変数2と変数3から値を読み出したので、書込み/読出しフラグである変数4へ読出しを示す「0」を書込み、直ちに割り込み禁止命令を解除する。ジョイスティック56−3の中立位置からの不感帯を1bit程度とり、変数5、または、変数6の少なくともどちらか一方が、ディジタルデータとして125より小さいか、あるいは、ディジタルデータとして129より大きいかの場合にジョイスティック56−3が操作されたと検出する。(S1−3 Yes)
一方、変数5と変数6のどちらも、ディジタルデータとして 125〜129であるなら、すなわち、CPU32−1は、ジョイスティック56−3のX、Yともに操作をされていないとみなし、S1−4へ到る。(S1−3 No)
(S1−4)
CPU32−1は、ジョイスティック56−3のX、Yともに操作を検出しないから、Xパルスジェネレータ32−5へ停止を書き込みステージのX方向移動を停止し、Yパルスジェネレータ32−7へ停止を書き込みステージのY方向移動を停止する。
CPU32−1は、ジョイスティック56−3のX、Yともに操作を検出しないから、Xパルスジェネレータ32−5へ停止を書き込みステージのX方向移動を停止し、Yパルスジェネレータ32−7へ停止を書き込みステージのY方向移動を停止する。
(S1−5)
CPU32−1は、ボタン56−2への操作を判定する。ボタン56−2が操作されると、CPU32−1はこれを検出し(S1−5 Yes)、ステップ移動回数を計数するためにRAM32−3に確保した変数、変数1 StepCountを「0」に初期化
StepCount ← 0
した後(S1−6)、(S1−3)へ到る。
CPU32−1は、ボタン56−2への操作を判定する。ボタン56−2が操作されると、CPU32−1はこれを検出し(S1−5 Yes)、ステップ移動回数を計数するためにRAM32−3に確保した変数、変数1 StepCountを「0」に初期化
StepCount ← 0
した後(S1−6)、(S1−3)へ到る。
(S1−3)
CPU32−1は、ジョイスティック56−3が操作されたと検出すると、(S1−3 Yes)を経て、(S1−7)へ到る。
CPU32−1は、ジョイスティック56−3が操作されたと検出すると、(S1−3 Yes)を経て、(S1−7)へ到る。
(S1−7)
CPU32−1は、境界条件判定のため、ステップ移動カウンタである変数1を評価する。この評価は、後述する電動ステージ7のステップ移動により、マイクロプレート8の末尾のウェルに移動したかを判定するものである。ここで、ステップ移動カウンタである変数1が、「96」になっているとCPU32−1は、末尾のウェルまでステップ移動が済んでいると判定する。(S1−7 No)
CPU32−1は、境界条件判定のため、ステップ移動カウンタである変数1を評価する。この評価は、後述する電動ステージ7のステップ移動により、マイクロプレート8の末尾のウェルに移動したかを判定するものである。ここで、ステップ移動カウンタである変数1が、「96」になっているとCPU32−1は、末尾のウェルまでステップ移動が済んでいると判定する。(S1−7 No)
(S1−8)
CPU32−1は、ステップ移動ではなく後述する図13−2にフローを示す通常ジョイスティック処理を行い(S1−3)へ戻る。以降、(S1−5)でボタン56−2が操作されない間、このフローを繰返す。
CPU32−1は、ステップ移動ではなく後述する図13−2にフローを示す通常ジョイスティック処理を行い(S1−3)へ戻る。以降、(S1−5)でボタン56−2が操作されない間、このフローを繰返す。
(S1−7)
一方、末尾のウェルへの移動に到っていないなら、ステップ移動カウンタである変数1は、「96」より小さい値を保持していて、CPU32−1の判定により(S1−7 No)を経て(S1−9)へ到る。
一方、末尾のウェルへの移動に到っていないなら、ステップ移動カウンタである変数1は、「96」より小さい値を保持していて、CPU32−1の判定により(S1−7 No)を経て(S1−9)へ到る。
(S1−9)
CPU32−1は、ステップ移動の開始判定として、まず、電動ステージ7が停止しているか調べる。すなわち、CPU32−1は、Xパルスジェネレータ32−5とYパルスジェネレータ32−7から各々のパルス出力が終了(停止)しているかを読み出す。どちらか一方でもパルスを出力している場合、CPU32−1は通常ジョイスティック処理による電動ステージ7の移動中と判定し、(S1−9 No)を経て(S1−8)へ到り、後述する通常ジョイスティック処理を行う。
CPU32−1は、ステップ移動の開始判定として、まず、電動ステージ7が停止しているか調べる。すなわち、CPU32−1は、Xパルスジェネレータ32−5とYパルスジェネレータ32−7から各々のパルス出力が終了(停止)しているかを読み出す。どちらか一方でもパルスを出力している場合、CPU32−1は通常ジョイスティック処理による電動ステージ7の移動中と判定し、(S1−9 No)を経て(S1−8)へ到り、後述する通常ジョイスティック処理を行う。
一方、CPU32−1は、Xパルスジェネレータ32−5とYパルスジェネレータ32−7双方から、パルス出力が終了(停止)していることを読み出し、電動ステージ7が停止している判定すれば、(S1−9 Yes)を経て(S1−10)へ到る。
(S1−10)
CPU32−1は、(S1−3)で既に読み込んだ、変数5:X軸操作角度 now_Xと予めROM32−2、または、不揮発メモリ32−4に記憶されているX軸しきい値 thr_Xとを評価する。X軸しきい値 thr_Xは、「0〜255」を取りうる正整数であり、ジョイスティック56−3のX軸についての比較的大きな操作角度を示す値を持つ。図8において、ジョイスティック56−3の中立位置は、「127」であるから、X軸操作角度 now_Xからこの「127」を減じた値が、前フロー(直前の(S1−3 No)を経てから)にて電動ステージが停止していた時から、ジョイスティック56−3のX軸に加えられた操作角度である。ここでは、X軸操作角度 now_Xについて操作方向は無関係であり、操作量(中立位置からの操作角度の大きさ)とX軸しきい値 thr_Xとを評価する。すなわち、X軸操作角度 now_Xからこの「127」を減じた値の絶対値が、X軸しきい値 thr_Xを超える場合、CPU32−1は、ジョイスティック56−3のX軸に比較的急峻な操作がなされたと判定し、(S1−10 Yes)を経て、ステップ移動処理(S1−11)へ到る。
CPU32−1は、(S1−3)で既に読み込んだ、変数5:X軸操作角度 now_Xと予めROM32−2、または、不揮発メモリ32−4に記憶されているX軸しきい値 thr_Xとを評価する。X軸しきい値 thr_Xは、「0〜255」を取りうる正整数であり、ジョイスティック56−3のX軸についての比較的大きな操作角度を示す値を持つ。図8において、ジョイスティック56−3の中立位置は、「127」であるから、X軸操作角度 now_Xからこの「127」を減じた値が、前フロー(直前の(S1−3 No)を経てから)にて電動ステージが停止していた時から、ジョイスティック56−3のX軸に加えられた操作角度である。ここでは、X軸操作角度 now_Xについて操作方向は無関係であり、操作量(中立位置からの操作角度の大きさ)とX軸しきい値 thr_Xとを評価する。すなわち、X軸操作角度 now_Xからこの「127」を減じた値の絶対値が、X軸しきい値 thr_Xを超える場合、CPU32−1は、ジョイスティック56−3のX軸に比較的急峻な操作がなされたと判定し、(S1−10 Yes)を経て、ステップ移動処理(S1−11)へ到る。
他方、X軸操作角度 now_Xからこの「127」を減じた値の絶対値が、X軸しきい値 thr_Xに満たない場合、CPU32−1は、ジョイスティック56−3のX軸に比較的穏やかな操作がなされたと判定し、(S1−10 No)を経て、通常ジョイスティック処理(S1−8)へ到り、この処理の後、(S1−3)へ戻る。
(S1−11)
ここでは、CPU32−1は、ステップ移動処理を行う。ステップ移動処理については、後述する。
ここでは、CPU32−1は、ステップ移動処理を行う。ステップ移動処理については、後述する。
(S1−12)
CPU32−1は、ステップ移動が終了したか判定する。すなわち、電動ステージ7が停止しているかを調べる。CPU32−1は、Xパルスジェネレータ32−5とYパルスジェネレータ32−7から各々のパルス出力が終了(停止)しているかを読み出す。どちらか一方でもパルスを出力している場合、ステップ移動が終了していないと判定し、(S1−12 No)を経て再度、(S1−12)の判定を繰返す。
CPU32−1は、ステップ移動が終了したか判定する。すなわち、電動ステージ7が停止しているかを調べる。CPU32−1は、Xパルスジェネレータ32−5とYパルスジェネレータ32−7から各々のパルス出力が終了(停止)しているかを読み出す。どちらか一方でもパルスを出力している場合、ステップ移動が終了していないと判定し、(S1−12 No)を経て再度、(S1−12)の判定を繰返す。
一方、CPU32−1は、Xパルスジェネレータ32−5とYパルスジェネレータ32−7双方から、パルス出力が終了(停止)していることを読み出し、電動ステージ7が停止していることを知り、ステップ移動が終了したと判定し、(S1―12 Yes)を経て(S1−13)へ到る。
(S1−13)
CPU32−1は、ここへいたり1回のステップ移動が終了したので、ステップ移動の回数を計数するための変数であるところの変数1 StepCountをインクリメント(「1」加算)
StepCount ← StepCount+1
を行い、(S1−3)へ戻る。
CPU32−1は、ここへいたり1回のステップ移動が終了したので、ステップ移動の回数を計数するための変数であるところの変数1 StepCountをインクリメント(「1」加算)
StepCount ← StepCount+1
を行い、(S1−3)へ戻る。
通常ジョイスティック処理(SJ1〜SJ8)、(SJD1〜SJD3)について、
(S1−8)図13、および、図13−2、図13−3に示すフローに従い通常ジョイスティック処理について説明する。通常ジョイスティック処理において、ジョイスティック56−3への操作を検出した場合、その操作は、
1)X軸とY軸ともに操作される、
2)X軸だけ操作される、
3)Y軸だけ操作される、
場合の3通りがある。
(S1−8)図13、および、図13−2、図13−3に示すフローに従い通常ジョイスティック処理について説明する。通常ジョイスティック処理において、ジョイスティック56−3への操作を検出した場合、その操作は、
1)X軸とY軸ともに操作される、
2)X軸だけ操作される、
3)Y軸だけ操作される、
場合の3通りがある。
1)X軸とY軸ともに操作される(SJ1)(SJ2)(SJ3)(SJ4)
(SJ1)
(SJ2)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数5:X軸操作角度 now_Xから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル図10により、駆動方向とパルス速度を求める。ここで、求めたパルス速度は駆動方向を含んでいて、該パルス速度が正数であれば原点センサから遠ざかる方向を示し、該パルス速度が負数であれば原点センサへ向かう方向を示す。ディジタルデータからパルス速度への変換は、定数関数、比例関数、指数関数、または、これらの複合が考えられるが、どれを用いても良い。CPU32−1は不図示のDIP−SWなどを読み込み、予め用意された定数関数の速度変換テーブル、比例関数の速度変換テーブル、指数関数の速度変換テーブル、定数関数、比例関数、指数関数を組み合わせた複合関数の速度変換テーブルから一つを選択することも可能である。さらに速度変換テーブルを不揮発メモリ32−4に配置した構成をとるなら、外部通信手段を介して所望の値に書き換えることも可能である。速度変換テーブルは、本実施例ではX軸、Y軸ともに同一のものを用いるが、特別な事情があれば、変換方式の異なる独立した個別の速度変換テーブルを用いても良い。
(SJ1)
(SJ2)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数5:X軸操作角度 now_Xから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル図10により、駆動方向とパルス速度を求める。ここで、求めたパルス速度は駆動方向を含んでいて、該パルス速度が正数であれば原点センサから遠ざかる方向を示し、該パルス速度が負数であれば原点センサへ向かう方向を示す。ディジタルデータからパルス速度への変換は、定数関数、比例関数、指数関数、または、これらの複合が考えられるが、どれを用いても良い。CPU32−1は不図示のDIP−SWなどを読み込み、予め用意された定数関数の速度変換テーブル、比例関数の速度変換テーブル、指数関数の速度変換テーブル、定数関数、比例関数、指数関数を組み合わせた複合関数の速度変換テーブルから一つを選択することも可能である。さらに速度変換テーブルを不揮発メモリ32−4に配置した構成をとるなら、外部通信手段を介して所望の値に書き換えることも可能である。速度変換テーブルは、本実施例ではX軸、Y軸ともに同一のものを用いるが、特別な事情があれば、変換方式の異なる独立した個別の速度変換テーブルを用いても良い。
(SJD3)
CPU32−1は、速度変換テーブル図10より求めた駆動方向、パルス速度、規定パルス量をXパルスジェネレータ32−5に書き込みパルス出力をスタートする。ここで、規定パルス量とは、X、Yともに各々の可動範囲程度のパルス量であり、本実施例では、X:140mmなので、56000パルス、Y:100mmなので、40000パルスである。
CPU32−1は、速度変換テーブル図10より求めた駆動方向、パルス速度、規定パルス量をXパルスジェネレータ32−5に書き込みパルス出力をスタートする。ここで、規定パルス量とは、X、Yともに各々の可動範囲程度のパルス量であり、本実施例では、X:140mmなので、56000パルス、Y:100mmなので、40000パルスである。
(SJ3)
(SJ4)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数6:X軸操作角度 now_Yから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル図10により駆動方向とパルス速度を求める。
(SJ4)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数6:X軸操作角度 now_Yから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル図10により駆動方向とパルス速度を求める。
(SJD3)
CPU32−1は、速度変換テーブル図10より求めた駆動方向、パルス速度、規定パルス量をYパルスジェネレータ32−7に書き込みパルス出力をスタートする。ここで、規定パルス量とは、X、Yともに各々の可動範囲程度のパルス量であり、本実施例では、X、Yともに 80mmなので、32,000パルスである。
CPU32−1は、速度変換テーブル図10より求めた駆動方向、パルス速度、規定パルス量をYパルスジェネレータ32−7に書き込みパルス出力をスタートする。ここで、規定パルス量とは、X、Yともに各々の可動範囲程度のパルス量であり、本実施例では、X、Yともに 80mmなので、32,000パルスである。
2)X軸だけ操作される(SJ1)(SJ2)(SJ3)(SJ7)
(SJ2)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数5:X軸操作角度 now_Xから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル図10により駆動方向とパルス速度を求める。
(SJ2)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数5:X軸操作角度 now_Xから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル図10により駆動方向とパルス速度を求める。
(SJD3)
CPU32−1は、速度変換テーブルより求めた駆動方向、パルス速度、規定パルス量をXパルスジェネレータ32−5に書き込みパルス出力をスタートする。
CPU32−1は、速度変換テーブルより求めた駆動方向、パルス速度、規定パルス量をXパルスジェネレータ32−5に書き込みパルス出力をスタートする。
(SJ3)(SJ7)
CPU32−1は、Y軸の操作を検出しないから、Yパルスジェネレータ32−7へ停止を書き込みステージのY方向移動を停止する。
CPU32−1は、Y軸の操作を検出しないから、Yパルスジェネレータ32−7へ停止を書き込みステージのY方向移動を停止する。
3)Y軸だけ操作される(SJ1)(SJ5)(SJ6)(SJ8)
(SJ5)
CPU32−1は、X軸の操作を検出しないから、Xパルスジェネレータ32−5へ停止を書き込みステージのX方向移動を停止する。
(SJ5)
CPU32−1は、X軸の操作を検出しないから、Xパルスジェネレータ32−5へ停止を書き込みステージのX方向移動を停止する。
(SJ6)(SJ8)
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数6:X軸操作角度 now_Yから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル〔図10〕により駆動方向とパルス速度を求める。
(SJD1)(SJD2)
CPU32−1は、(S1−3)で既に読み込んだ変数6:X軸操作角度 now_Yから、ROM32−2や不揮発メモリ32−4に予め用意されている速度変換テーブル〔図10〕により駆動方向とパルス速度を求める。
(SJD3)
CPU32−1は、速度変換テーブル図10より求めた駆動方向、パルス速度、規定パルス量をYパルスジェネレータ32−7に書き込みパルス出力をスタートする。
CPU32−1は、速度変換テーブル図10より求めた駆動方向、パルス速度、規定パルス量をYパルスジェネレータ32−7に書き込みパルス出力をスタートする。
このようにして、CPU32−1は、ジョイスティック56−3への操作角度に応じて、電動ステージ7を介して自由にマイクロプレート8の2次元操作が可能となり、光軸OP下に所望のウェルを自在に配置させることができる。
ステップ移動処理(S1−11)、(SS1〜SS7)
(S1−11)
図13、および、図13−4に示すフローに従いステップ移動処理での動作について説明する。図11、および、図12は最も一般的に用いられているマイクロプレートのスクリーニングパターンの説明図であり、図11−1は、位置データテーブルである。
(S1−11)
図13、および、図13−4に示すフローに従いステップ移動処理での動作について説明する。図11、および、図12は最も一般的に用いられているマイクロプレートのスクリーニングパターンの説明図であり、図11−1は、位置データテーブルである。
(SS1)
CPU32−1は、Xパルスジェネレータ32−5のXカウンタ32−5−1からカウントを読出し、現在のX位置を保持する変数として、RAM32−3に確保した変数7:pos_Xに格納する。同様に、CPU32−1は、Yパルスジェネレータ32−7のYカウンタ32−7−1からカウントを読出し、現在のY位置を保持する変数として、RAM32−3に確保した変数8:pos_Yに格納する。これは、光軸OP下に、図5で示される座標系での(Pos_X,Pos_Y)で示されるマイクロプレート8の点が位置していることになる。ここで、図5において示す各ウェルの中心位置、たとえば、
ウェル1A:(Xs,Ys)、
ウェル1B:(Xs,Ys+Yp)、
ウェル2A:(Xs+Xp,Ys)、
ウェル6E:(Xs+5Xp,Ys+4Yp)、
ウェル12H:(Xs+11Xp,Ys+7Yp)
は、全てモータを駆動するパルスを単位としている。
CPU32−1は、Xパルスジェネレータ32−5のXカウンタ32−5−1からカウントを読出し、現在のX位置を保持する変数として、RAM32−3に確保した変数7:pos_Xに格納する。同様に、CPU32−1は、Yパルスジェネレータ32−7のYカウンタ32−7−1からカウントを読出し、現在のY位置を保持する変数として、RAM32−3に確保した変数8:pos_Yに格納する。これは、光軸OP下に、図5で示される座標系での(Pos_X,Pos_Y)で示されるマイクロプレート8の点が位置していることになる。ここで、図5において示す各ウェルの中心位置、たとえば、
ウェル1A:(Xs,Ys)、
ウェル1B:(Xs,Ys+Yp)、
ウェル2A:(Xs+Xp,Ys)、
ウェル6E:(Xs+5Xp,Ys+4Yp)、
ウェル12H:(Xs+11Xp,Ys+7Yp)
は、全てモータを駆動するパルスを単位としている。
(SS2)
ここでは、CPU32−1は、ステップ位置カウンタ StepCountから、ステップ移動する移動先位置を求める。移動先位置は、たとえば、図11の示すスクリーニングパターンに対応していて、ROM32−2や不揮発メモリ32−4に予め用意されている位置データテーブル図11−1などを用いて簡単に得ることができる。今、ステップ位置カウンタ StepCountが、74であるとする。CPU32−1は、位置データテーブル図11−1から、このステップ位置カウントが指すウェル中心位置(Xs+9Xp,Ys+5Yp)を読出し、移動先のX位置を保持する変数として、RAM32−3に確保した変数9:dst_XにXs+9Xpを格納し、移動先のY位置を保持する変数として、RAM32−3に確保した変数10:dst_YにYs+5Ypを格納する。
ここでは、CPU32−1は、ステップ位置カウンタ StepCountから、ステップ移動する移動先位置を求める。移動先位置は、たとえば、図11の示すスクリーニングパターンに対応していて、ROM32−2や不揮発メモリ32−4に予め用意されている位置データテーブル図11−1などを用いて簡単に得ることができる。今、ステップ位置カウンタ StepCountが、74であるとする。CPU32−1は、位置データテーブル図11−1から、このステップ位置カウントが指すウェル中心位置(Xs+9Xp,Ys+5Yp)を読出し、移動先のX位置を保持する変数として、RAM32−3に確保した変数9:dst_XにXs+9Xpを格納し、移動先のY位置を保持する変数として、RAM32−3に確保した変数10:dst_YにYs+5Ypを格納する。
(SS3)(SS4)
CPU32−1は、現在位置から移動先位置への移動量と移動方向を求める。CPU32−1は、X軸移動量 pulse_Xを求める。X軸移動量は、移動先X位置から現在のX位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_X ← dst_X − pos_X
CPU32−1は、現在位置から移動先位置への移動量と移動方向を求める。CPU32−1は、X軸移動量 pulse_Xを求める。X軸移動量は、移動先X位置から現在のX位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_X ← dst_X − pos_X
CPU32−1は、Y軸移動量 pulse_Yを求める。Y軸移動量は、移動先Y位置から現在のY位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_Y ← dst_Y − pos_Y
RAM32−2に確保した符号付き変数:pulse_Y ← dst_Y − pos_Y
CPU32−1は、X軸の移動方向を求める。X軸の移動方向は、pulse_Xの符号を調べることでわかる。pulse_Xが正数であれば図5で示される座標系において基準位置Sから遠ざかる方向であり、pulse_Xが負数であれば基準位置Sへ向かう方向である。
CPU32−1は、Y軸復帰移動の方向を求める。Y軸復帰移動の方向は、pulse_Yの符号を調べることでわかる。pulse_Yが正数であれば図5で示される座標系において基準位置Sから遠ざかる方向であり、pulse_Yが負数であれば基準位置Sへ向かう方向である。
(SS5)
CPU32−1は、(SS3)、(SS4)にて求めた駆動方向、パルス量、規定パルス速度をXパルスジェネレータ32−5に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
CPU32−1は、(SS3)、(SS4)にて求めた駆動方向、パルス量、規定パルス速度をXパルスジェネレータ32−5に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
(SS6)
CPU32−1は、(SS3)、(SS4)にて求めた駆動方向、パルス量、規定パルス速度をYパルスジェネレータ32−7に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
CPU32−1は、(SS3)、(SS4)にて求めた駆動方向、パルス量、規定パルス速度をYパルスジェネレータ32−7に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
(SS7)
CPU32−1は、Xパルスジェネレータ32−5へパルス出力開始を書き込み、X軸ステージのステップ移動を開始し、更にCPU32−1は、Yパルスジェネレータ32−7へパルス出力開始を書き込み、Y軸ステージのステップ移動を開始する。
このようにして、ステップ移動処理では、ステップ移動カウンタにより決まる次なるウェルの中心位置へ迅速で、かつ、正確に移動することが可能である。
CPU32−1は、Xパルスジェネレータ32−5へパルス出力開始を書き込み、X軸ステージのステップ移動を開始し、更にCPU32−1は、Yパルスジェネレータ32−7へパルス出力開始を書き込み、Y軸ステージのステップ移動を開始する。
このようにして、ステップ移動処理では、ステップ移動カウンタにより決まる次なるウェルの中心位置へ迅速で、かつ、正確に移動することが可能である。
以上、説明したように、マイクロプレートを使用した観察検査において、ジョイステックへの比較的急峻な操作がなされた時は、次の観察検査対象であるウェルの中心位置へ迅速かつ正確に移動することができ、また、ジョイスティックへの比較的穏やかな操作がなされたときは、通常のジョイスティック操作角度に応じたスムーズで自在な移動をすることができる。マイクロプレートを使用した観察検査に必須のステージ移動動作をジョイスティックだけの極く簡単な操作により実現しているので、多数のウェル、マイクロプレートの観察検査においても作業者の疲労を軽減し、ウェルに分注された検体の検査そのものに集中できることとなり、作業成績の向上にも貢献する。また、上述する説明から、明らかなように非常に簡単な構成を採用したため、低コストであり、かつ、耐久性にも優れている。
本実施例では、ジョイスティックのX軸操作角度に応じて、通常ジョイスティック処理とステップ移動処理の切換えを行っていたが、ボタン押下操作や、X軸、あるいは、Y軸のどちらか一方の操作角度に関連付けて切換える構成も可能である。更には、光軸に挿入されている対物レンズ倍率の検出手段を付加することで、高倍対物レンズの観察時は、通常ジョイスティック処理に切換え、低倍対物レンズの観察ではステップ移動処理に切換える構成も可能である。
また、ステップ移動処理に切換えられると、本実施例ではステップ移動方向が単一方向(ステップ移動カウンタが増える方向)であるが、これに限定することはなく、ジョイスティックのX軸操作角度がしきい値を超えた場合、この操作角度が中立位置に対する方向に応じて、ステップ移動カウンタが増える方向、およびステップ移動カウンタが減る方向との2方向へのステップ移動を関連付ける構成も好適な実施である。
このような構成とすれば、観察検査を行う作業者の嗜好に無理なくあわせることが出来、結果としてより作業者の疲労軽減に貢献する。
また、ジョイスティックのX軸操作角度の判定に際して、一つのしきい値を固定的に用いているが、数段階のしきい値をDIP−SWなどに応じて選択、使用する構成もまったく問題ない。
また、ジョイスティックのX軸操作角度の判定に際して、一つのしきい値を固定的に用いているが、数段階のしきい値をDIP−SWなどに応じて選択、使用する構成もまったく問題ない。
この構成によれば、本発明側で作業者の操作感覚に沿わせることが可能となり、観察検査を行う作業者が、顕微鏡操作に熟練、熟達している必要が無く、観察検査そのもののスキルアップを助けることができる。また、スクリーニングパターンとして典型的な2例を採用しているが、本実施例ではこのデータを不揮発メモリへも記憶可能な構成をとっており、PCなどのHostから作業者の望む任意のスクリーニングパターンを記憶ことができる。これにより、高度にスキルアップを遂げた作業者の要求にも簡単に応じることができ、また、マイクロプレートに限らない不定形なプレートの観察検査にも用いることが可能である。
本発明の第3実施例について説明する。本実施の形態は、実施形態1、および、実施形態2と電動焦準手段と制御手段のみが異なり、他の部分は実施形態1、実施形態2と同様のため異なる部分のみを説明し、同様の部分の図と説明を省略する。
図14に顕微鏡用電動ステージを使用した顕微鏡システムの全体構成を示していて、顕微鏡フレーム1に取り付けられた電動ステージ7は制御部32に接続され、顕微鏡1内部の電動焦準部140は制御部32に接続され、制御部32には操作部56が接続されている。
図15において、顕微鏡フレーム1には、顕微鏡フレーム1上面と平行なアーム部2aを有する支柱2が設けられている。支柱2には、ランプハウス3が設けられ、このランプハウス3内のランプ3aからの照明光を、アーム部2a内部のレンズ群4とミラー5を有する照明光路を通し、さらに支柱2が固定するコンデンサー内部のレンズ群6を通して顕微鏡フレーム1上方から照射するようにしている。顕微鏡フレーム1の上面には、電動ステージ7が固定部材100を介して設けられ、この電動ステージ7上には、照明光路からの照明光が照射される多数のウェルを有するマイクロプレート8が保持されている。顕微鏡フレーム1の電動ステージ7に対応する位置には、複数の対物レンズ9a〜9fを保持するレボルバ10が配置されている。そして、ステージ7上のマイクロプレート8、および、電動ステージ7の可動部材110に設けられた開口部110b、さらに、固定部材100に設けられた図示しない開口部を通過した光を対物レンズ9aで拡大し、ミラー11で反射するとともに、図示しないレンズ群をリレーして双眼部12で観察できるようになっている。
顕微鏡フレーム1の左右の側面には、焦準ハンドル130が設けられていて、この焦準ハンドル130と同軸に設けれられた不図示のエンコーダを有している。このエンコーダは、焦準ハンドル130を回転操作することにより、その回転方向と回転量に応じてパルス信号を出力するもので、制御部32はこのパルス信号をいつでも読み出すことが可能となっている。
顕微鏡フレーム1の内部には、電動焦準部140が備えられている。電動焦準部140は制御部32からの信号により、不図示の駆動機構を用いてレボルバ10を光軸OPに対して平行に上下駆動することができる。結果、制御部32は、焦準ハンドル130への回転操作に応じてレボルバ10を上下駆動し、快適な顕微鏡の焦準操作を実現している。
制御手段の構成を説明する。まず、制御手段としての制御部32について説明する。制御手段は、位置検出手段を含んでいる。制御部32は、〔図2〕のように構成されている。
制御部32は、CPU32−1とROM32−2とRAM32−3、不揮発メモリ32−4および、Xパルスジェネレータ32−5、Xドライバ32−6、Yパルスジェネレータ32−7、Yドライバ32−8、焦準パルスジェネレータ32−9、焦準ドライバ32−10からなり、各々CPUバスを介して接続されている。ROM32−2に制御内容を記述したプログラムが記憶され、RAM32−3には、制御演算などのデータが格納される。不揮発メモリ32−4は、EEPROM、NVRAMあるいは、フラッシュメモリ等であり、プログラムの実行により必要な情報の記憶、読み出しがおこなわれる。
Xパルスジェネレータ32−5は、CPU32−1からの移動方向、パルス量、パルス速度、加減速形式など、駆動パラメータの書込みにより、Xドライバ32−6へ該駆動パラメータに応じた移動方向信号、パルス信号を出力する。Xドライバ32−6は、移動方向信号、パルス信号を受けて、これらに応じて不図示のXスッテッピングモータに印加する駆動パルスを出力する。Xパルスジェネレータ32−5はその内部にXカウンタ32−5−1を持っていて、出力するパルスの方向、量に従い該カウンタをアップカウントあるいはダウンカウントする。CPU32−1はXカウンタ32−5−1のカウントや、図示しないステータスレジスタをCPUバスを介して、いつでも読み出すことが可能であり、また、Xカウンタ32−5−1のカウントへ任意の値を書き込むことができる。CPU32−1は、固定部材100に配設された不図示のX原点センサのセンサ信号をいつでも読み出すことが可能である。
Yパルスジェネレータ32−7は、CPU32−1からの移動方向、パルス量、パルス速度、加減速形式など、駆動パラメータの書込みにより、Yドライバ32−8へ該駆動パラメータに応じた移動方向信号、パルス信号を出力する。Yドライバ32−8は、移動方向信号、パルス信号を受けて、これらに応じてYスッテッピングモータ20に印加する駆動パルスを出力する。Yパルスジェネレータ32−7はその内部にYカウンタ32−7−1を持っていて、出力するパルスの方向、量に従い該カウンタをアップカウントあるいはダウンカウントする。CPU32−1はYカウンタ32−7−1のカウントや、図示しないステータスレジスタをCPUバスを介して、いつでも読み出すことが可能であり、また、Yカウンタ32−7−1のカウントへ任意の値を書き込むことができる。CPU32−1は、固定部材100に配設されたY原点センサ30のセンサ信号をいつでも読み出すことが可能である。
焦準パルスジェネレータ32−9は、CPU32−1からの移動方向、パルス量、パルス速度、加減速形式など、駆動パラメータの書込みにより、焦準ドライバ32−10へ該駆動パラメータに応じた移動方向信号、パルス信号を出力する。焦準ドライバ32−10は、移動方向信号、パルス信号を受けて、これらに応じて図示しない焦準スッテッピングモータ200に印加する駆動パルスを出力する。焦準パルスジェネレータ32−9はその内部に焦準カウンタ32−9−1を持っていて、出力するパルスの方向、量に従い該カウンタをアップカウントあるいはダウンカウントする。CPU32−1は焦準カウンタ32−9−1のカウントや、図示しないステータスレジスタをCPUバスを介して、いつでも読み出すことが可能であり、また、焦準カウンタ32−9−1のカウントへ任意の値を書き込むことができる。CPU32−1は、焦準ハンドル130と同軸に設けれられた不図示のエンコーダからのパルス出力をいつでも読み出すことが可能である。
また、制御部32には、マンマシンインターフェースとしての操作部56が接続されている。操作部56は、図17のように表示部56−1と操作入力部をなす複数のボタン56−2、56−2a〜c、ジョイスティック56−3からなり、各々CPU32−1と接続されている。ボタン56−2a〜dは、押下操作、開放操作に応じた操作信号を出力するもので、CPU32−1はこの操作信号を読み出すことができる。
ジョイスティック56−3は、中立位置からの操作角度(操作倒し角)に応じた操作信号を出力するもので、CPU32−1は、この操作信号を読み出すことが可能である。ここで、ジョイスティック56−3は、操作角度を直交するX軸、Y軸に分離して、各々の角度により抵抗値の変化する機構を内部に持っていて、CPU32−1は、この抵抗値を電圧として検出しA/D変換の後、0から255の値を持つ8bitのディジタルデータとして読み出すことができる。
図9は、ジョイスティック56−3の一軸に関し操作角度と8bitディジタルデータの関係を示すものである。中立位置のディジタルデータは、127であり左側の最大操作角度位置(30°程度)において、ディジタルデータは、0となる。この間のディジタルデータは、中立位置から操作角度に応じてリニアに変化する。逆方向も全く同様で、右側の最大操作角度位置30°程度)において、ディジタルデータは、255となる。この間のディジタルデータは、中立位置から操作角度に応じてリニアに変化する。このようにして、CPU32−1は、ジョイスティック56−3の操作量と操作方向を含むディジタルデータとして、操作角度を検出することができる。
CPU32−1は、操作部56からの操作入力を受けると、この操作入力に応じて各部位を制御する。また、表示部56−1は、CPU32−1から指示に従い各部位の動作状況や位置情報等を表示するものである。
制御部32には、RS−232Cや、USBあるいは、イーサネット(登録商標)等の図示しない外部通信部が設けられており、PC等の外部機器(以下、Hostという)から、CPU32−1が、このI/Fを介してコマンドを送受することにより、操作部56からの操作と同等の駆動部制御を行うとともに、外部との情報交換を行なう。
つぎに本実施例の顕微鏡用電動ステージの動作について図18および図18−1を用いて説明する。本実施例で説明する動作は、ジョイスティック56−3への時間あたりの操作角度により、後述する通常ジョイスティック処理と、同じく後述するステップ移動処理との少なくとも2つの処理によりステージ移動制御を切換えるものであり、電動焦準制御と、ステップ移動処理において規定の焦点位置へ移動する制御を付加している。
電動焦準動作を説明する。
(S20−1)
CPU32−1は、顕微鏡フレーム1の左右の側面に設けられた焦準ハンドル130が回転操作を受けると、この焦準ハンドル130と同軸に設けられたエンコーダの出力されるパルス信号を検出する。
CPU32−1は、このパルス信号に基づいた駆動方向、パルス量、パルス速度をCPUバスを介して焦準パルスジェネレータ32−9に書き込む。続いて、CPU32−1は、焦準パルスジェネレータ32−9へパルス出力開始を書き込み、焦準ドライバ32−10、電動焦準部140を介してレボルバ10の上下駆動を開始する。このようにして、焦準ハンドル130への回転操作に応じてレボルバ10を上下駆動し、快適な顕微鏡の焦準操作を実現している。
(S20−1)
CPU32−1は、顕微鏡フレーム1の左右の側面に設けられた焦準ハンドル130が回転操作を受けると、この焦準ハンドル130と同軸に設けられたエンコーダの出力されるパルス信号を検出する。
CPU32−1は、このパルス信号に基づいた駆動方向、パルス量、パルス速度をCPUバスを介して焦準パルスジェネレータ32−9に書き込む。続いて、CPU32−1は、焦準パルスジェネレータ32−9へパルス出力開始を書き込み、焦準ドライバ32−10、電動焦準部140を介してレボルバ10の上下駆動を開始する。このようにして、焦準ハンドル130への回転操作に応じてレボルバ10を上下駆動し、快適な顕微鏡の焦準操作を実現している。
(S20−2)(S20−3)
CPU32−1は、ボタン56−2aへの操作を判定する。ボタン56−2aが操作されると、CPU32−1はこれを検出し(S20−2 Yes)、次いで、CPU32−1は、焦準パルスジェネレータ32−9の焦準カウンタ32−9−1からカウントを読出し、移動先焦準位置を保持する変数として、RAM32−3に確保した変数11 dst_Zに格納し(S20−3)、(S1−3)へ到る。
このようにして、ボタン56−2aを操作すると、焦準ハンドル130への回転操作により、調整した好適な焦点位置を保持することが可能である。
CPU32−1は、ボタン56−2aへの操作を判定する。ボタン56−2aが操作されると、CPU32−1はこれを検出し(S20−2 Yes)、次いで、CPU32−1は、焦準パルスジェネレータ32−9の焦準カウンタ32−9−1からカウントを読出し、移動先焦準位置を保持する変数として、RAM32−3に確保した変数11 dst_Zに格納し(S20−3)、(S1−3)へ到る。
このようにして、ボタン56−2aを操作すると、焦準ハンドル130への回転操作により、調整した好適な焦点位置を保持することが可能である。
ステップ移動処理(S1−11’)、(SS1’〜SS7’)
(S1−11’)
図18、および、図18−1に示すフローに従いステップ移動処理での動作について説明する。図11、および、図12は最も一般的に用いられているマイクロプレートのスクリーニングパターンの説明図であり、図11−1は、位置データテーブルである。
(S1−11’)
図18、および、図18−1に示すフローに従いステップ移動処理での動作について説明する。図11、および、図12は最も一般的に用いられているマイクロプレートのスクリーニングパターンの説明図であり、図11−1は、位置データテーブルである。
(SS1’)
CPU32−1は、Xパルスジェネレータ32−5のXカウンタ32−5−1からカウントを読出し、現在のX位置を保持する変数として、RAM32−3に確保した変数7 pos_Xに格納する。同様に、CPU32−1は、Yパルスジェネレータ32−7のYカウンタ32−7−1からカウントを読出し、現在のY位置を保持する変数として、RAM32−3に確保した変数8 pos_Yに格納する。これは、光軸OP下に、図5で示される座標系での(Pos_X,Pos_Y)で示されるマイクロプレート8の点が位置していることになる。ここで、図5において示す各ウェルの中心位置、たとえば、
ウェル1A:(Xs,Ys)、
ウェル1B:(Xs,Ys+Yp)、
ウェル2A:(Xs+Xp,Ys)、
ウェル6E:(Xs+5Xp,Ys+4Yp)、
ウェル12H:(Xs+11Xp,Ys+7Yp)
は、全てモータを駆動するパルスを単位としている。
CPU32−1は、Xパルスジェネレータ32−5のXカウンタ32−5−1からカウントを読出し、現在のX位置を保持する変数として、RAM32−3に確保した変数7 pos_Xに格納する。同様に、CPU32−1は、Yパルスジェネレータ32−7のYカウンタ32−7−1からカウントを読出し、現在のY位置を保持する変数として、RAM32−3に確保した変数8 pos_Yに格納する。これは、光軸OP下に、図5で示される座標系での(Pos_X,Pos_Y)で示されるマイクロプレート8の点が位置していることになる。ここで、図5において示す各ウェルの中心位置、たとえば、
ウェル1A:(Xs,Ys)、
ウェル1B:(Xs,Ys+Yp)、
ウェル2A:(Xs+Xp,Ys)、
ウェル6E:(Xs+5Xp,Ys+4Yp)、
ウェル12H:(Xs+11Xp,Ys+7Yp)
は、全てモータを駆動するパルスを単位としている。
CPU32−1は、焦準パルスジェネレータ32−9の焦準カウンタ32−9−1からカウントを読出し、現在の焦準位置を保持する変数として、RAM32−3に確保した変数12 pos_Zに格納する。
(SS2)
ここでは、CPU32−1は、ステップ位置カウンタ StepCountから、ステップ移動する移動先位置を求める。移動先位置は、たとえば、図11の示すスクリーニングパターンに対応していて、ROM32−2や不揮発メモリ32−4に予め用意されている位置データテーブル図11−1などを用いて簡単に得ることができる。今、ステップ位置カウンタ StepCountが、74であるとする。CPU32−1は、位置データテーブル図11−1から、このステップ位置カウントが指すウェル中心位置(Xs+9Xp,Ys+5Yp)を読出し、移動先のX位置を保持する変数として、RAM32−3に確保した変数9:dst_XにXs+9Xpを格納し、移動先のY位置を保持する変数として、RAM32−3に確保した変数10:dst_YにYs+5Ypを格納する。
ここでは、CPU32−1は、ステップ位置カウンタ StepCountから、ステップ移動する移動先位置を求める。移動先位置は、たとえば、図11の示すスクリーニングパターンに対応していて、ROM32−2や不揮発メモリ32−4に予め用意されている位置データテーブル図11−1などを用いて簡単に得ることができる。今、ステップ位置カウンタ StepCountが、74であるとする。CPU32−1は、位置データテーブル図11−1から、このステップ位置カウントが指すウェル中心位置(Xs+9Xp,Ys+5Yp)を読出し、移動先のX位置を保持する変数として、RAM32−3に確保した変数9:dst_XにXs+9Xpを格納し、移動先のY位置を保持する変数として、RAM32−3に確保した変数10:dst_YにYs+5Ypを格納する。
(SS3’)(SS4’)
CPU32−1は、現在位置から移動先位置への移動量と移動方向を求める。CPU32−1は、X軸移動量 pulse_Xを求める。X軸移動量は、移動先X位置から現在のX位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_X ← dst_X − pos_X
CPU32−1は、現在位置から移動先位置への移動量と移動方向を求める。CPU32−1は、X軸移動量 pulse_Xを求める。X軸移動量は、移動先X位置から現在のX位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_X ← dst_X − pos_X
CPU32−1は、Y軸移動量 pulse_Yを求める。Y軸移動量は、移動先Y位置から現在のY位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_Y ← dst_Y − pos_Y
RAM32−2に確保した符号付き変数:pulse_Y ← dst_Y − pos_Y
CPU32−1は、焦準移動量 pulse_Zを求める。焦準移動量は、(S20−3)にて格納した移動先焦準位置から現在の焦準位置を減じたものである。
RAM32−2に確保した符号付き変数:pulse_Z ← dst_Z − pos_Z
RAM32−2に確保した符号付き変数:pulse_Z ← dst_Z − pos_Z
CPU32−1は、X軸の移動方向を求める。X軸の移動方向は、pulse_Xの符号を調べることでわかる。pulse_Xが正数であれば図5で示される座標系において基準位置Sから遠ざかる方向であり、pulse_Xが負数であれば基準位置Sへ向かう方向である。
CPU32−1は、Y軸復帰移動の方向を求める。Y軸復帰移動の方向は、pulse_Yの符号を調べることでわかる。pulse_Yが正数であれば図5で示される座標系において基準位置Sから遠ざかる方向であり、pulse_Yが負数であれば基準位置Sへ向かう方向である。
CPU32−1は、焦準移動の方向を求める。焦準移動の方向は、pulse_Zの符号を調べることでわかる。pulse_Zが正数であればレボルバ10が図14での上方向であり、pulse_Zが負数であれば図14での下方向である。
CPU32−1は、Y軸復帰移動の方向を求める。Y軸復帰移動の方向は、pulse_Yの符号を調べることでわかる。pulse_Yが正数であれば図5で示される座標系において基準位置Sから遠ざかる方向であり、pulse_Yが負数であれば基準位置Sへ向かう方向である。
CPU32−1は、焦準移動の方向を求める。焦準移動の方向は、pulse_Zの符号を調べることでわかる。pulse_Zが正数であればレボルバ10が図14での上方向であり、pulse_Zが負数であれば図14での下方向である。
(SS5)
CPU32−1は、(SS3’)、(SS4’)にて求めた駆動方向、パルス量、規定パルス速度をXパルスジェネレータ32−5に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
CPU32−1は、(SS3’)、(SS4’)にて求めた駆動方向、パルス量、規定パルス速度をXパルスジェネレータ32−5に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
(SS6)
CPU32−1は、(SS3’)、(SS4’)にて求めた駆動方向、パルス量、規定パルス速度をYパルスジェネレータ32−7に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
CPU32−1は、(SS3’)、(SS4’)にて求めた駆動方向、パルス量、規定パルス速度をYパルスジェネレータ32−7に書き込む。ここで、規定パルス速度は予め決められた値で、隣接するウェル間を〜0.5s程度で移動するパルス速度である。
(SS20)
CPU32−1は、(SS3’)、(SS4’)にて求めた駆動方向、パルス量、規定パルス速度を焦準パルスジェネレータ32−9に書き込む。
CPU32−1は、(SS3’)、(SS4’)にて求めた駆動方向、パルス量、規定パルス速度を焦準パルスジェネレータ32−9に書き込む。
(SS7’)
CPU32−1は、Xパルスジェネレータ32−5へパルス出力開始を書き込み、X軸ステージのステップ移動を開始し、更にCPU32−1は、Yパルスジェネレータ32−7へパルス出力開始を書き込み、Y軸ステージのステップ移動を開始する。次いで、CPU32−1は、焦準パルスジェネレータ32−9へパルス出力開始を書き込み、レボルバ10の駆動を開始する。
CPU32−1は、Xパルスジェネレータ32−5へパルス出力開始を書き込み、X軸ステージのステップ移動を開始し、更にCPU32−1は、Yパルスジェネレータ32−7へパルス出力開始を書き込み、Y軸ステージのステップ移動を開始する。次いで、CPU32−1は、焦準パルスジェネレータ32−9へパルス出力開始を書き込み、レボルバ10の駆動を開始する。
このようにして、ステップ移動処理では、ステップ移動カウンタにより決まる次なるウェルの中心位置へ迅速で、かつ、正確に移動することが可能であるばかりでなく、予めボタン操作により保持記憶した好適な焦点位置への駆動も速やかに行うことが可能である。
以上、説明したように、マイクロプレートを使用した観察検査において、ジョイステックへの比較的急峻な操作がなされた時は、次の観察検査対象であるウェルの中心位置へ迅速かつ正確に移動するとともに、予めボタン操作により保持記憶した好適な焦点位置への駆動も速やかに行うことができ、一つのウェルの焦準方向(Z方向)を調整しながら観察し検査対象の焦点位置から大きくずれるような場合にも、次の観察検査対象であるウェルの中心位置への移動と同時に好適な焦点位置へ自動に駆動される。また、ジョイスティックへの比較的穏やかな操作がなされたときは、通常のジョイスティック操作角度に応じたスムーズで自在な移動をすることができる。
マイクロプレートを使用した観察検査に必須のステージ移動動作をジョイスティックだけの極く簡単な操作により実現しているので、多数のウェル、マイクロプレートの観察検査においても作業者の疲労を軽減し、ウェルに分注された検体の検査そのものに集中できることとなり、作業成績の向上にも貢献する。また、上述する説明から、明らかなように非常に簡単な構成を採用したため、低コストであり、かつ、耐久性にも優れている。
Claims (3)
- 顕微鏡に固定するための固定部材と、
標本を保持し前記顕微鏡の光軸に対して垂直な平面上を移動可能な可動部材と、
前記可動部材を移動させる駆動手段と、
前記駆動手段の動力を前記可動部材に伝達する動力伝達手段と、
前記可動部材の移動等を操作する操作手段と、
前記操作手段からの操作信号に応じて、少なくとも2つの駆動制御方法を切り換える制御手段とを具備する顕微鏡用電動ステージ。 - 顕微鏡に固定するための固定部材と、
標本が分注される複数のウェルが設けられたマイクロプレートを保持し前記顕微鏡の光軸に対して垂直な平面上を移動可能な可動部材と、
前記可動部材を移動させるステッピングモータと、
前記ステッピングモータの回転を前記可動部材に伝達する動力伝達手段と、
前記可動部材の移動等を操作する操作手段と、
前記操作手段からの操作信号がしきい値を超える時、前記マイクロプレートに設けられたウェルの間隔に従い駆動制御を行う制御手段とを具備する請求項1記載の顕微鏡用電動ステージ。 - 標本の焦点を合わせるための電動焦準手段と、
前記操作手段からの操作信号がしきい値を超える時、前記標本の焦点位置へ前記電動焦準手段を駆動する制御手段とを具備する請求項1および2記載の顕微鏡用電動ステージ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004142885A JP2005326512A (ja) | 2004-05-12 | 2004-05-12 | 顕微鏡用電動ステージ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004142885A JP2005326512A (ja) | 2004-05-12 | 2004-05-12 | 顕微鏡用電動ステージ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005326512A true JP2005326512A (ja) | 2005-11-24 |
Family
ID=35472935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004142885A Withdrawn JP2005326512A (ja) | 2004-05-12 | 2004-05-12 | 顕微鏡用電動ステージ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005326512A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106029A (ja) * | 2016-12-27 | 2018-07-05 | 一般社団法人白亜会 | デジタルパソロジーのためのメカニカルステージおよび病理診断システム |
-
2004
- 2004-05-12 JP JP2004142885A patent/JP2005326512A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106029A (ja) * | 2016-12-27 | 2018-07-05 | 一般社団法人白亜会 | デジタルパソロジーのためのメカニカルステージおよび病理診断システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2095196C (en) | Method and apparatus for controlling coordinate displacements of a platform | |
JP2019049751A (ja) | 全自動高速顕微鏡スライドスキャナ | |
EP2742338B1 (en) | Method for presenting and evaluation of images of microtiter plate properties | |
Harris et al. | An improved intravital microscopy system | |
JP2009036969A (ja) | カバーガラス、スライドガラス、プレパラート、観察方法、及び顕微鏡装置 | |
EP1710610A2 (en) | Microscope comprising a control unit for controlling the movement speed of the sample stage according to the observation power of the selected lens unit | |
EP2557446B1 (en) | Microscope controller and microscope system comprising the microscope controller | |
JP7150868B2 (ja) | 顕微鏡システム、投影ユニット、及び、画像投影方法 | |
JP2001059940A (ja) | 顕微鏡及び記録媒体 | |
WO2004083930A1 (ja) | 顕微鏡及び試料観察方法 | |
US7954069B2 (en) | Microscopic-measurement apparatus | |
US20060116851A1 (en) | Apparatus and method for three-dimensional measurement and program for allowing computer to execute method for three-dimensional measurement | |
JP4551071B2 (ja) | 顕微鏡用電動ステージ制御システム、該制御装置、及び該制御方法 | |
JP2005326512A (ja) | 顕微鏡用電動ステージ | |
JP2007178661A (ja) | 顕微鏡装置 | |
JP3137634U (ja) | マクロミクロナビゲーションシステム | |
JP5959267B2 (ja) | ステージおよび顕微鏡 | |
JP5174693B2 (ja) | 顕微鏡システム | |
JP2001027729A (ja) | 顕微鏡 | |
JPH08248325A (ja) | マイクロマニピュレータ | |
JP2010085272A (ja) | 光学系評価装置 | |
JP2023045793A (ja) | 顕微鏡補助装置、顕微鏡補助装置の制御方法、及びプログラム | |
JP2023032674A (ja) | 顕微鏡補助装置及びその制御方法とプログラム | |
GB2305266A (en) | Multifunctional, one hand operated, control unit for a microscope | |
WO2022207731A1 (en) | Method of providing an assembled image using a digital microscope, digital microscope system, and program for providing an assembled image using a digital microscope |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |