(57)【要約】【課題】ねじピッチ等のねじ山部分の検査を行うことができるねじ検査装置を提供すること。【解決手段】ＣＣＤラインセンサでねじ山中腹位置を軸方向に走査して得られるエッジ画素［a1〜a4,b1〜b4,c1〜c4］から、一つ隔てたエッジ画素間の距離［(a3-a1)、(a4-a2)、(b3-b1)，(b4-b2),(c3-c1)，(c4-c2)］を割り出し、その内の最長のもの［(b3-b1) ,(c3-c1)，(c4-c2)］が、ねじピッチの公差（Ｐmin〜Ｐmax）の範囲内にあれば良品と、範囲外であれば不良品と判定する。【選択図】図７
2006145557.tif 000002
【特許請求の範囲】
【請求項１】
走査ライン上に存する被検出体の輪郭点を検出するための一次元イメージセンサを有し、当該一次元イメージセンサでねじをその軸方向に走査して、当該ねじが良品か不良品かを検査するねじ検査装置であって、
ねじ山部分の所定位置を走査した結果得られる複数の輪郭点から、一つ隔てた輪郭点間の距離を割り出す割出手段と、
前記割出手段により割り出された輪郭点間距離の内、最長のものと予め定められている基準ねじピッチの公差範囲とを比較し、当該輪郭点間距離が公差範囲内であれば良品と、公差範囲外であれば不良品と判定する判定手段と、
を備えたことを特徴とするねじ検査装置。
【請求項２】
前記所定位置は、ねじ山中腹位置であることを特徴とする請求項１記載のねじ検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ねじ検査装置に関し、特に、ねじ山部分を検査対象とした検査装置に関する。
【背景技術】
【０００２】
ねじ山部分に関する検査項目の一つとしてピッチがある。ピッチの正確性は、雄ねじのねじ山と雌ねじのねじ山の相対的な位置関係を保証するものであり、ピッチが公差の範囲に入っていないと、雄ねじを雌ねじに螺合できなくなってしまう。従来、このピッチを検査する器具としてリードテスタがあり、検査者は、当該リードテスタを用いて、一つずつそのピッチ誤差を測定し、ねじを良品と不良品とに選別している。
【０００３】
また、ねじ山部分に関する他の検査として、ねじ山の欠損やねじ山間に付着した異物の検出を目的とする外観検査がある。ねじ山が欠損していると、締め付け強度が保証できなくなり、異物が付着していると、上記ピッチ不良の場合と同様、ねじ同士を螺合できなくなってしまう。従来、この外観検査は、検査者の目視にたよらざるを得ず、検査者が一つずつ検査をおこなっている。
【特許文献１】特開昭６２−２４０８０４号公報
【特許文献２】特公昭４９−３１９０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ねじは、一般的に大量生産されるため、抜き取り検査をする場合はともかく、全数検査をする場合などには、検査者が個別に手作業で検査する上記従来の方法では、到底その煩に耐えないといった問題がある。また、１ミリ前後のサイズの小さなねじの場合には、上記外観検査自体が困難になってしまう。
本発明は、上記した課題に鑑み、ねじ山部分の検査装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、本発明に係るねじ検査装置は、走査ライン上に存する被検出体の輪郭点を検出するための一次元イメージセンサを有し、当該一次元イメージセンサでねじをその軸方向に走査して、当該ねじが良品か不良品かを検査するねじ検査装置であって、ねじ山部分の所定位置を走査した結果得られる複数の輪郭点から、一つ隔てた輪郭点間の距離を割り出す割出手段と、前記割出手段により割り出された輪郭点間距離の内、最長のものと予め定められている基準ねじピッチの公差範囲とを比較し、当該輪郭点間距離が公差範囲内であれば良品と、公差範囲外であれば不良品と判定する判定手段とを備えたことを特徴とする。
【０００６】
また、前記所定位置は、ねじ山中腹位置であることを特徴とする。
【発明の効果】
【０００７】
本発明に係るねじ検査装置によれば、ねじ山部分を走査した結果得られる複数の輪郭点から、一つ隔てた輪郭点間の距離が割り出され、割り出された輪郭点間距離の内、最長のものと、予め定められている基準ねじピッチの公差範囲とが比較され、当該輪郭点間距離が公差範囲内であれば良品と、公差範囲外であれば不良品と判定されるので、ピッチ誤差に係る検査が可能となる。また、割り出された輪郭点間距離の内、最長のものが公差範囲と比較されるので、ねじ山の欠損やねじ山間に異物が付着しているなどの不良品と良品とを効果的に判別することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明に係るねじ検査装置を実施の形態に基づいて説明する。
当該ねじ検査装置は、ねじの主要寸法を計測して、良品・不良品判定を行い、その選別を行う装置である。
ねじの測定対象となる箇所は、図１に示すように、軸方向の寸法として全長、頭厚、首下長さおよびねじピッチ、軸方向と直交する方向の寸法として頭径、ねじ外径および谷径である。なお、図１は、後述する搬送部で搬送されるねじを断面図で表したものある。
【０００９】
図２は、実施の形態に係るねじ検査装置１の概略構成を示す斜視図である。
本図に示すように、当該ねじ検査装置１は、ねじを供給する供給部１０、供給されたねじを搬送する搬送部２０、搬送されるねじを検出する検出部３０、検出されたねじの良品・不良品判定を行うコントローラ４０、および、ねじを良品と不良品とに振り分ける選別部５０とから構成される。
【００１０】
供給部１０は、ホッパ内にばら積されたねじを整列しながら送り出す、振動式の第１パーツフィーダ１１と、第１パーツフィーダから送り出されたねじを、直線的に移送する、同じく振動式の第２パーツフィーダ１２とからなり、第２パーツフィーダ１２から送りだされるねじは、その頭部を下方に向けた倒立状態で、搬送部２０の後述するターンテーブル２１上に間隔をもって載置される。
【００１１】
搬送部２０は、ターンテーブル２１と当該ターンテーブル２１を図中の矢印Ａの向きに等速で回転駆動するモータ（以下、「搬送モータ」と言う。）２２とを有している。
ターンテーブル２１は、円盤の中央部分が同心円状にくり貫かれた形状をしており、リング状に残存する外周部（以下、「搬送リング」と言う。）２１ａの上面がねじの搬送面２１ｂとなる。ねじは、前記第２のパーツフィーダ１２によって、ターンテーブル２１の回転中心から距離Ｒ（本例では、Ｒ＝１３６mm）の位置に載置され、距離Ｒを半径とする円周上を搬送される。
【００１２】
そして、前記搬送モータ２２の出力軸とターンテーブル２１の回転軸とは、減速機（不図示）を介して連結されており、搬送モータ２２の出力軸には、その回転角度を検出するためのロータリエンコーダ２３が取付けられている。前記減速機の減速比は５０であり、ロータリエンコーダ２３の分解能は２０４８[パルス／回転]である。したがって、ターンテーブル２１の１回転当たり、ロータリエンコーダ２３からは１０２４００（＝２０４８×５０）個のパルス信号が出力されることとなる。
【００１３】
検出部３０は、前記搬送リング２１ａの内周側に設けられた光源３１と搬送リングの一部を挟んで当該光源と対向して設けられた１次元イメージセンサカメラ３２とを有している。当該１次元イメージセンサとしてＣＣＤラインセンサ（以下、単に「ＣＣＤセンサ」と言う。）３３が用いられており、当該ＣＣＤセンサ３３は、その感光画素の配列方向が、搬送リング２１ａの搬送面２１ｂと直交する方向、すなわち、搬送されるねじの軸の方向と平行となる姿勢で設けられている。また、ＣＣＤセンサ３３の画素数は２０４８であり、画素ピッチは０．０１４mmである。
【００１４】
ＣＣＤセンサ３３は、後述するタイミングで走査を繰り返し、当該ＣＣＤセンサ３３の検出位置を通過するねじを走査する。図３は、ＣＣＤセンサ３３における走査結果の一例を示す模式図であり、同図（ａ）は、図１に２点鎖線で示すＣの位置を走査したときの様子であり、同図（ｂ）は、図１に２点鎖線で示すＤの位置を走査したときの様子である。また、図３では、光源からの光を遮るものがなく十分受光した画素（白画素）を白丸で、ねじやターンテーブル２１（搬送リング２１ａ）の陰になって受光量の微少な画素（黒画素）を黒丸で表現している。なお、ＣＣＤセンサ３３における各画素位置は画素番号（アドレス）で識別され、最上位の画素３３１を１番として、最下位の画素３３２（２０４８番）まで連番が付されている。
【００１５】
検出部３０は、後述するように、所定番号の画素から昇順に所定番号の画素まで検査し、白画素から黒画素または黒画素から白画素に切り替わる位置（以下、「エッジ位置」と言う。）を抽出する回路（以下、「エッジ抽出回路」と言う。）３００（図５）を有している。エッジ位置は、画素位置（画素番号）で特定し、図３（ｃ）に示すように、例えば、白画素３３３から黒画素３３４に切り替わる場合には、当該黒画素３３４をエッジ画素とし、その画素位置をエッジ位置とする。一方、例えば、黒画素３３５から白画素３３６に切り替わる場合には、当該白画素３３６をエッジ画素とし、その画素位置をエッジ位置とする。すなわち、画素の状態が切り替わった場合に、切り替わり後の画素をエッジ画素とし、その位置（画素番号）をエッジ位置とするのである。以上の定義から明らかなように、エッジ画素は、ＣＣＤセンサ３３の走査ライン上に存するねじ（被検出体）の輪郭上の１点（輪郭点）を示すものである。
【００１６】
また、ねじの測定箇所に応じて、１番から２０４８番までの画素の内、１回の走査において利用する（検査する）画素の範囲を複数設定できるようになっている。この範囲を、ゲートと言い、図４に示すように、ねじの外径と谷径の測定にはゲート１が用いられ、頭厚と全長と首下長さの測定にはゲート２が用いられる。
なお、各ゲートは、2個の画素番号で定まり、画素番号の小さい方をゲート開始番号（GateStr）、画素番号の大きい方をゲート終了番号（GateEnd）とする。
【００１７】
ゲート１のゲート開始番号Gate1Strおよびゲート終了番号Gate1End並びにゲート２のゲート開始番号Gate2Strおよびゲート終了番号Gate2Endは、以下のように設定される。
Gate1Str＝TableData−HeadThick−ScrLeg×２        …  （１）
Gate1End＝TableData−HeadThick−HeadOffSet        …  （２）
Gate2Str＝Gate1Str                                …  （３）
Gate2End＝TableData−TableOffSet                  …  （４）
ここで、
TableData：ターンテーブル２１のねじ搬送面２１ｂの高さの位置にある画素の番号。以下、この画素を「測定基準画素」と言う。
【００１８】
HeadThick：頭厚の規格値を画素の個数に換算した値（整数）。すなわち、頭厚を画素ピッチで除し、小数点以下を四捨五入した値。
ScrLeg：首下長さの規格値を画素の個数に換算した値（整数）。算出方法は、HeadThickの場合と同様。
HeadOffSet：不完全ねじ部長さの規格値を画素の個数に換算した値。算出方法は、HeadThickの場合と同様。
【００１９】
TableOffSet：ターンテーブル２１のねじ搬送面２１ｂからのオフセット値（整数）。ゲートが、ねじ頭部の一部（少なくとも最大径部分）を含み、かつ、テーブル（搬送リング）と被らないように設定される値。
である。すなわち、ゲート１は、ＣＣＤセンサ３３における走査結果の利用を、ねじの完全ねじ部の範囲に限定するものであり、ゲート２は、ターンテーブル２１を除外し、ねじのほぼ全長の範囲に限定するものである。なお、上記HeadThick、ScrLeg、HeadOffSet、TableOffSetは、ねじの種類やサイズによって異なるものであり、各値を求めるのに必要な各規格値などは、検査者によって、対応するねじ毎に、キーボード４４を介して入力されるようになっている。また、TableData に関しては、1次元イメージセンサカメラ３２を所定の位置に位置決めすることにより、ＣＣＤセンサ３３の予め定められ特定の画素（測定基準画素に用いることとした画素）が、ねじ搬送面２１ｂの高さにくるようになっているが、ねじがターンテーブル２１に載置されていない状態で走査を行って、測定基準画素（搬送面を捉えたエッジ画素）を決定するようにしてもよい。
【００２０】
図２に戻り、コントローラ４０は、ＣＣＤセンサ３３の検出結果とロータリエンコーダ２３からの出力結果をもとにねじ各部の寸法を割り出し、割り出した各寸法とＲＯＭ４２（図５）に予め格納されている各寸法毎の設定された公差範囲とを比較して良品・不良品判定を行う。なお、各部寸法の割り出し方法については後述する。また、上記公差範囲は自由に設定可能である。
【００２１】
選別部５０は、ステッピングモータからなる選別モータ５１の回転軸の先端部分に、４枚の羽根５２ａ〜５２ｄが９０°の等間隔で設けられた構成の選別機を有している。当該選別モータ５１は前記コントローラ４０によって回転制御され、不良品と判定されたねじが、図２に示す状態で静止している羽根の位置に来るタイミングで９０°回転される。当該不良品は、当該羽根によって掃き出され、搬送リング２１ａ外周側に設けられたシュート５３を介して不良品箱（不図示）に収容される。良品と判定されたねじは、選別機を通過し、搬送方向下流側に設けられた衝立て５４によって塞き止められて、搬送リング２１ａの外周側に転げ落ち、シュートを介して良品箱（いずれも不図示）に収容される。
【００２２】
図５は、ねじ検査装置の制御ブロック図を示す。
本図に示すように、エッジ抽出回路３００がＣＰＵバス３０１を介してコントローラ４０のＣＰＵ４１と接続されており、当該ＣＰＵ４１はロータリエンコーダ２３と選別モータ５１に接続されている。
ＣＰＵ４１からＣＣＤセンサ３３に走査信号が出力されると、ＣＣＤセンサ３３は、１ライン分の画素データを保持する。保持された画素データは、不図示のクロック発生器から入力されるクロック信号にしたがって、1番の画素のものから順にシリアルに出力される。画素データは、クロック信号の１パルスに付き１個出力され、出力された画素データは、Ａ／Ｄ変換器３０２によって２５６（０〜２５５）階調の濃度データに変換された上で、比較器３０３に入力される。比較器３０３は、入力された濃度データと、基準濃度レジスタ３０４に格納されている基準濃度とを比較し、濃度データが基準濃度以上の場合は、「１」を、濃度データが基準濃度未満の場合は「０」を出力する。ここで、この「１」と「０」で現される情報を２値情報と言い、２値情報が「１」の画素を白画素、「０」の画素を黒画素とする。なお、基準濃度レジスタ３０４には、初期値として、ＲＯＭ４２に格納されている値がＣＰＵ４１によって書き込まれる。また、当該基準濃度レジスタ３０４内の基準濃度は、コントローラ４０のキーボード４４（図１）などを介して、変更することが可能である。
【００２３】
比較器３０３から出力される２値情報は、排他的論理和（以下、「Ex-OR」と言う。）素子３０５の一方の入力端子に入力される。Ex-OR素子３０５のもう一方の入力端子には、比較器３０３からの２値情報が、１Dot Delay回路３０６によって１画素分遅延されて入力される。その結果、比較器３０３から異なる状態を示す２値情報が連続して出力されたとき、すなわち、比較器３０３からエッジ画素の２値情報が出力されたときに、Ex-OR素子３０５から「１」（以下、「エッジ信号」と言う。）が出力されることとなる。したがって、Ex-OR素子３０５の出力を監視することによって、比較器３０３から出力される２値情報に対応する画素がエッジ画素か否かの判定を行うことができる。
【００２４】
さらに、比較器３０３から出力される２値情報は、そのまま、桁連結回路３０７を介して、エッジ位置・エッジ個数抽出回路３０８に入力され、Ex-OR素子３０５の出力結果は、スイッチ素子３０９を介して（当該スイッチ素子３０９がオンの間）、エッジ位置・エッジ個数抽出回路３０８に入力される。
また、前記クロック発生器から出力されるクロックパルスの数をカウントするドットカウンタ３１０が設けられている。ドットカウンタ３１０は、ＣＰＵ４１から走査信号が出力されると、ＣＣＤセンサ３３から画像データを出力するための前記クロック信号のパルス数を１から２０４８までカウントする。したがって、当該ドットカウンタ３１０のカウント値が、比較器３０３から出力される２値情報に対応する画素の画素番号となる。ドットカウンタ３１０のカウント値は、比較器３１１と前記桁連結器３０７に入力される。
【００２５】
比較器３１１は、入力されるカウント値（画素番号）と、ゲート開始レジスタ３１２に格納されているゲート開始番号（GateStr）およびゲート終了レジスタ３１３に格納されているゲート終了番号（GateEnd）とを比較し、入力カウント値（画素番号）が、ゲート開始番号からゲート終了番号までの範囲にある間、前記スイッチ素子３０９をオンし、それ以外の間は、スイッチ素子３０９をオフする。なお、ゲート開始レジスタ３１２のゲート開始番号（GateStr）とゲート終了レジスタ３１３のゲート終了番号（GateEnd）とは、ねじ検査に先立ち、ＣＰＵ４１によって書き込まれる。
【００２６】
桁連結器３０７は、ドットカウンタ３１０から入力されるカウント値（画素番号）と比較器３０３から入力される２値情報とを対応付けて、エッジ位置・エッジ個数抽出回路３０８に出力する。
エッジ位置・エッジ個数抽出回路３０８は、Ex-OR素子３０５から前記エッジ信号が出力されたときにドットカウンタ３１０から出力されるカウント値（画素番号）と、比較器３０３から出力される２値情報とをエッジ情報記憶ＲＡＭ３１４に書き込む。
【００２７】
図６（ａ）は、エッジ情報記憶ＲＡＭ３１４を示す図である。エッジ情報記憶ＲＡＭ３１４は、０〜６３のアドレスで識別される６４個の記憶領域を有しており、この内、０番の記憶領域はエッジ個数の記憶に、１〜６３番の記憶領域は画素番号（エッジ位置）と２値情報の記憶に用いられる。同図（ｂ）は、一つの記憶領域を示す。当該記憶領域は、３２ビットの記憶容量を有するが、本実施の形態では、下位１６ビットが使用される。下位１６ビットの最上位ビット、すなわち、最下位から第１６番目のビットＢ15に前記２値情報が記憶され、最下位から第１５番目までのビット列Ｂ０〜Ｂ14に画素番号が記憶される。なお、アドレス０番も同様な記憶領域であるが、前記したように、エッジの個数が記憶されるだけである。
【００２８】
エッジ位置・エッジ個数抽出回路３０８は、桁連結器を介して入力される画素番号と２値情報の内、上述したように、エッジ画素の画素番号と２値情報のみをアドレス１番の記憶領域から順に書き込んでいく。画素番号２０４８が入力されると、すなわち、１走査が終了すると、当該走査におけるエッジの個数をアドレス０番の記憶領域に書き込む。
なお、図５において、点線で囲まれた部分（以下、「ＲＡＭブロック」と言う。）は、本図に示す他５個、合計６個設けられており、ゲート別に使い分けられるが、本実施の形態では、ゲートは２つしか設定しないので、実際に使用するＲＡＭブロックは２個だけである。また、ゲート１に用いるＲＡＭブロックをＲＡＭブロック１、ゲート２に用いるＲＡＭブロックをＲＡＭブロック２とする。
【００２９】
以上のようにして、ＣＣＤセンサ３３の1回の走査において、各ゲート内で検出されたエッジ位置と2値情報およびエッジ個数が、各ゲート毎に割り当てられたＲＡＭブロックのエッジ情報記憶ＲＡＭ３１４に記憶されることとなる。
コントローラ４０のＣＰＵ４１は、ドットカウンタ３１０のカウント値から１走査が終了したのを検知すると、各エッジ情報記憶ＲＡＭ３１４から２値情報とエッジ位置とを読み出す。このとき、先頭番地（０番地）のエッジ個数を参照することによって、何番地まで読み出せばよいのかが分かるので、不必要な読み出し処理を行わなくて済む。その結果、全ての番地から読み出すのと比較して、読み出し時間の短縮が図られる。
【００３０】
ＣＰＵ４１は、ダウンカウンタを内蔵し（不図示）、ロータリエンコーダ２３から入力されるパルス信号の個数をカウントしている。これは、ターンテーブルの回転を１回転以上連続して検出するもので、初期値が２１４７４８３６４７であり、ターンテーブルを毎分９回転させても、約３８時間（２１４７４８３６４７÷２０４８÷５０÷９÷６０）、桁あふれすることはないもので、ねじ検査時の搬送方向と交叉する方向の部品寸法を測定するのに使用する。
【００３１】
ＣＰＵ４１は、ロータリエンコーダ２３からパルス信号が入力される毎にＣＣＤセンサ３３に走査信号を出力し、得られたエッジ情報とダウンカウンタのカウント値とから、以下のようにして、前記ねじ各部の寸法を割り出す。
(i)  頭径
ゲート２で、エッジ０個の状態（ねじがＣＣＤセンサ３３の検出位置にかかっていない状態）から一つでもエッジが検出されると（ＣＣＤセンサ３３が、ねじ頭部の搬送方向先端部を捉えると）、そのときのダウンカウンタのカウント値ＨｓをＲＡＭ４３に記憶する。その後、再びエッジが０個になったとき（ねじ頭部の搬送方向後端部が、ＣＣＤセンサ３３の検出位置を通過した瞬間）のダウンカウンタのカウント値ＨｅとＲＡＭ４３に記憶した前記カウント値Ｈｓとの差から頭径を割り出す。
(ii)  ねじ外径
ゲート１で、エッジ０個の状態（ねじの完全ねじ部がＣＣＤセンサ３３の検出位置にかかっていない状態）から初めて2個以上エッジが検出されると（ＣＣＤセンサ３３が、搬送方向前方のねじ山頂部を捉えると）、そのときのダウンカウンタのカウント値ＤｓをＲＡＭ４３に記憶する。その後、再びエッジが０個になったとき（搬送方向後方のねじ山頂部がＣＣＤセンサ３３の検出位置を通過した瞬間）のダウンカウンタのカウント値ＤｅとＲＡＭ４３に記憶した前記カウント値Ｄｓとの差からねじ外径を割り出す。なお、１個ではなく、2個以上のエッジが検出されたことをもって、ＣＣＤセンサ３３がねじ山頂部を捉えたと判断するのは、誤検出を防止するためである。
(iii)  ねじ谷径
ゲート１で、エッジ０個の状態（ねじの完全ねじ部がＣＣＤセンサ３３の検出位置にかかっていない状態）から、初めて２個以上のエッジが検出され（ＣＣＤセンサ３３が、搬送方向前方のねじ山頂部を捉え）、次に、エッジが１個になったとき（搬送方向前方のねじ谷底部がＣＣＤセンサ３３の検出位置を通過した瞬間）のダウンカウンタのカウント値ｄｓをＲＡＭ４３に記憶する。その後、再び、２個以上のエッジが検出されると（ＣＣＤセンサ３３が、搬送方向後方のねじ谷底部を捉えると）、そのときのダウンカウンタのカウント値ｄｅとＲＡＭ４３に記憶した前記カウント値ｄｓとの差からねじ谷径を割り出す。
(iv)  頭厚
上記カウント値Ｈｓと上記カウント値Ｄｓとから、ねじ頭部の搬送方向先端部と搬送方向前方のねじ山頂部との間の中間地点を算出し、当該中間地点においてゲート２で検出したエッジ位置（画素番号）とターンテーブル２１のねじ搬送面２１ｂの位置（TableData）との差から頭厚を割り出す。すなわち、頭厚を求めるに際しては、ゲート２における、ねじ頭部の搬送方向先端部から搬送方向前方のねじ山頂部に至る間の走査分を、全てＲＡＭ４３に格納しておき（エッジ位置とダウンカウンタのカウント値とを対応付けて格納しておき）、その内の前記中間地点のデータを用いる。
(v)  全長、首下長さ
ゲート２において検出されたエッジ位置の内、最も高いエッジ位置（一番小さい画素番号）とねじ搬送面２１ｂの位置（TableData）との差から、全長を割り出す。
【００３２】
また、首下長さは、割り出された全長から上記頭厚を差し引いて求める。
(vi)  ねじピッチ（ねじ山数）
ゲート１において、ＣＣＤセンサ３３が搬送方向前方のねじ山頂部を捉えてから搬送方向前方の谷底部がＣＣＤセンサ３３の検出位置を通過するまでの間で、４個以上のエッジが検出されている間はＣＣＤセンサ３３がねじ山部を捉えているとみなし、各走査ごとにピッチを割り出す。ピッチは、図７（ａ）に示すように、１番目の画素(a1)と３番目の画素(a3)、２番目の画素(a2)と４番目の画素(a4)、……といった具合に、一つ隔てた画素をペアとし、各ペアにおける画素位置の差から求める（(a3)−(a1)、(a4)−(a2)）。そして、求まったピッチの内、最長のものをＲＡＭ４３に設けられたピッチテーブル４３１に格納する。なお、最長のものを選択する理由については後述する。
【００３３】
図８に、ピッチテーブル４３１を示す。上記したようにして各走査において得られた最長ピッチが、アドレスｍで識別されるピッチ格納領域の０番のアドレスから順に格納される。一個のねじについて、ピッチテーブル４３１が完成すると、ｍ／２（小数点以下四捨五入）で特定されるアドレスのピッチ、すなわち、ねじ山中腹部で測定されたピッチを当該ねじの代表ピッチとし、当該ねじの良品・不良品判定のためのデータとする。
【００３４】
また、上記ペアの数を記憶しておくことにより、ねじ山数を求めることも可能である。
図９は、ＣＰＵ４１による、ピッチ測定処理を示すフローチャートである。
なお、本フローチャートでその内容が示されるプログラムは、ＣＣＤセンサ３３のゲート２において、前記したようにねじ頭部の搬送方向先端部が捉えられたのをきっかけとして起動される。
【００３５】
先ず、初期設定としてピッチテーブル４３１のピッチ格納領域をクリヤし（ステップＳ１）、当該ピッチテーブル４３１のピッチ格納アドレスを特定するための変数「ｍ」に「０」を格納する（ステップＳ２）。
ダウンカウンタのカウント値が一つ増加すると（ステップＳ３でＹｅｓ）、走査信号を出力してＣＣＤセンサ３３に走査させ（ステップＳ４）、走査が終了すると（ステップＳ５でＹｅｓ）、ＲＡＭブロック１のエッジ情報記憶ＲＡＭ３１４からエッジ情報を読み取る（ステップＳ６）。
【００３６】
読み取った結果、エッジが2個未満であり（ステップＳ７でＮｏ）、変数ｍが「０」の間は（ステップＳ９でＹｅｓ）、ＣＣＤセンサ３３が未だねじ山部を捉えていないとみなせるので、ステップＳ３にリターンする。
エッジが４個以上になると（ステップＳ７、ステップＳ１０でＹｅｓ）、ＣＣＤセンサ３３がねじ山部を捉えたとみなし、最初のエッジ画素（エッジ情報記憶ＲＡＭ３１４の１番アドレスに格納されている画素）を検査し（ステップＳ１１）、黒画素であれば（ステップＳ１１でＹｅｓ）、最長ピッチを求め、ピッチテーブル４３１のアドレスｍ番地に格納し（ステップＳ１２）、変数ｍを１つだけインクリメントしてステップＳ３にリターンする。なお、最初のエッジ画素は、通常、黒画素となるはずであるので、ステップＳ１１でＮｏと判定した場合には、何らかの誤走査があったものと判断し、当該走査結果を無視してステップＳ３にリターンする。
【００３７】
以上、ステップＳ３〜Ｓ７、Ｓ１０〜Ｓ１３を繰り返して、ピッチテーブル４３１に、各走査で得られた最長ピッチを格納していく。
そして、エッジが１個になり（ステップＳ７でＮｏ、ステップＳ８でＹｅｓ）、ｍ＝０でないと判定されると（ステップＳ９でＮｏ）、搬送方向前方の谷底部がＣＣＤセンサ３３の検出位置を通過したとみなせるので、ピッチテーブル４３１に格納されているピッチの内、ｍ／２で特定されるアドレス番号の格納領域のピッチを代表ピッチに選択する（ステップＳ１４）。
【００３８】
以上のようにして、ねじ山中腹部で測定されたピッチの内の最長のピッチ（代表ピッチ）が得られることとなる。
続いて、ＣＰＵ４１は、代表ピッチがＲＯＭ４２に予め格納されている最大許容ピッチＰmaxと最小許容ピッチＰminの範囲、すなわち公差範囲内にある場合は（ステップS１５でＹｅｓ）、ピッチに関しては当該ねじを良品と判定し（ステップＳ１６）、範囲外の場合は（ステップＳ１５でＮｏ）、不良品と判定する（ステップＳ１７）。なお、ＰmaxとＰminは、任意に設定可能である。
【００３９】
ねじのピッチは、互いに隣り合うねじ山の相対応する２点を軸方向に測った距離なので、ねじ山頂部から谷底部に至る間のどの位置で測定してもよいのであるが、特に、ねじ山中腹部で測定することとしたのは、図７（ｂ）や図７（ｃ）に示すような不良を検出するためである。
すなわち、図７（ｂ）に示すのは、ねじ山の間に異物が付着していたり、ねじ山が正常に形成されていないような不良であるが、本図に示すような場合に、ねじ山頂部付近でピッチを測定したのでは、当該不良品を良品と誤判定してしまうからである。
【００４０】
一方、図７（ｃ）に示すのは、ねじ山が部分的に低く形成されていたり、ねじ山が欠けているような不良であるが、本図に示すような場合に、ねじの谷底付近でピッチを測定したのでは、当該不良品を良品と誤判定してしまうからである。
ねじ山中腹部で測定すると、図７（ｂ）の場合の代表ピッチは(b3)−(b1)、図７（ｃ）の場合の代表ピッチは(c3)−(c1)となり、いずれも、規定のピッチから大きくはずれることとなり、各々の不良を検出することができるのである。
【００４１】
また、最短ピッチではなく、最長ピッチを代表ピッチとしたのは、最短ピッチを代表ピッチとすると、図７（ｂ）に示す場合には、代表ピッチが(b4)−(b2)となり、当該不良品を良品と誤判定してしまうおそれがあるからである。
以上説明したように、本実施の形態係るねじ検査装置によれば、ねじ山中腹部を完全ねじ部の範囲（ゲート１）に渡って走査した結果得られる複数のエッジ位置（輪郭点）から、一つ隔てたエッジ位置間の距離が割り出され、割り出されたエッジ間距離の内最長のもの（代表ピッチ）と、予め定められている基準ピッチの公差範囲（Ｐmin〜Ｐmax）とが比較されて良品・不良品の判定がなされるので、図７（ｂ）や図７（ｃ）に示したような不良品と良品とを判別することができる。
【００４２】
以上、本発明を実施の形態に基づいて説明してきたが、本発明は上記実施の形態に限らないことはもちろんであり、例えば、以下のような形態とすることもできる。
（１）上記実施の形態では、図７（ａ）や図７（ｂ）に示すような不良品を同時に検出するため、ねじ山中腹部の走査結果を用いることとした。しかし、このような特異な不良品の検出ではなく、純粋にピッチ誤差から不良品を検出するのが目的であれば、ねじ山山頂部から谷底部に至るどの位置の走査結果を用いることとしてもよい。なお、走査位置は、ピッチテーブル４３１完成後のアドレス番号ｍで特定できることは言うまでもない。
【００４３】
この場合、一回の走査で演算される複数のピッチの内、最短のものを除いた残り全てのピッチと公差範囲とを比較して（上記実施の形態では、最長のものだけとした）、良品・不良品の判定を行ってもよい。最短のものを除くのは、完全ねじ部の全領域に渡って走査した場合、ねじの係り部分（ねじの先端部）の形状が完全には一山分ないことから、正常なねじ（良品）であっても、一番目の黒画素（１番アドレスのエッジ画素）と二番目の黒画素（３番アドレスの黒画素）から演算されるピッチがＰminよりも短くなり、公差範囲に入らない可能性が高いからである。
（２）上記実施の形態では、ピッチ測定のため、ゲート１の設定により完全ねじ部の全範囲に渡って走査することとしたが、これに限らず、完全ねじ部の一部の範囲だけとしてもよい。上記した特異な不良が現出する位置は特定される場合も少なくなく、その場合には、その範囲だけを走査対象とすれば足りるからである。また、純粋にピッチ誤差を測定する目的であっても、ねじの一箇所のピッチが正常であれば、他の残りのピッチについて正常であるとみなせる場合が多いので、完全ねじ部の全範囲に渡って走査する必要はないからである。
（３）上記実施の形態では、搬送方向前方のねじ山部分からピッチを測定することとしたが、同様にして、搬送方向後方のねじ山部分からピッチを測定することとしてもよい。あるいは、両方の測定結果からねじの良品・不良品判定を行ってもよい。
（４）上記実施の形態では、被測定対象を搬送する無端搬送体として、ターンテーブルを用いたが、無端搬送体はターンテーブルに限らず、例えばベルトコンベアのコンベアベルトでもよい。
（５）上記実施の形態では、全長、頭厚、首下長さ、ピッチ、頭径、ねじ外径および谷径の全部を測定することとしたが、測定箇所は任意に選択できることは、言うまでもなく、同様の手法により測定可能な箇所については、追加することも可能である。
【産業上の利用可能性】
【００４４】
本発明に係るねじ検査装置は、例えば、ねじ山部分で発生する不良品の検査に好適に利用可能である。
【図面の簡単な説明】
【００４５】
【図１】ねじの寸法測定箇所を示す図である。
【図２】ねじ検査装置の概略構成を示す図である。
【図３】ＣＣＤセンサにおける走査結果の一例を示す模式図である。
【図４】ＣＣＤセンサにおけるゲート位置を説明するための図である。
【図５】ねじ検査装置の制御ブロック図である。
【図６】エッジ情報記憶ＲＡＭを示す図である。
【図７】ねじ山不良の一例を説明するための図である。
【図８】ピッチテーブルを示す図である。
【図９】ねじ山不良検査の際に起動されるプログラムのフローチャートを示す図である。
【符号の説明】
【００４６】
３３    ＣＣＤセンサ
４１    ＣＰＵ
４２    ＲＯＭ
４３    ＲＡＭ
３００    エッジ抽出回路
４３１    ピッチテーブル
【図１】
2006145557.tif 000003
【図２】
2006145557.tif 000004
【図３】
2006145557.tif 000005
【図４】
2006145557.tif 000006
【図５】
2006145557.tif 000007
【図６】
2006145557.tif 000008
【図７】
2006145557.tif 000009
【図８】
2006145557.tif 000010
【図９】
2006145557.tif 000011