JP2000209900A - ステッパモ―タ駆動装置用直流コマンド発生 - Google Patents

ステッパモ―タ駆動装置用直流コマンド発生

Info

Publication number
JP2000209900A
JP2000209900A JP11374750A JP37475099A JP2000209900A JP 2000209900 A JP2000209900 A JP 2000209900A JP 11374750 A JP11374750 A JP 11374750A JP 37475099 A JP37475099 A JP 37475099A JP 2000209900 A JP2000209900 A JP 2000209900A
Authority
JP
Japan
Prior art keywords
current value
function table
generating
motor
value
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.)
Pending
Application number
JP11374750A
Other languages
English (en)
Inventor
William Komm
ウイリアム、カム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dana Inc
Original Assignee
Dana Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dana Inc filed Critical Dana Inc
Publication of JP2000209900A publication Critical patent/JP2000209900A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
    • H02P8/12Control or stabilisation of current
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step

Abstract

(57)【要約】 【課題】本発明は、ステッパモータ制御回路における要
素数を減少させ、そしてそれ故また、そのコスト及びサ
イズを減少させること、さらに、モータ回転当たりのス
テップ数のような動作パラメータ、及び電流コマンド設
定を容易に選択可能にすることを目的としている。 【解決手段】電流コマンド信号を直接発生するためのマ
イクロプロセッサは、メモリを有し、そこには、関数テ
ーブル、第一の関数テーブルアドレス、及び第二の関数
テーブルアドレスを含んでいる。速度信号は、複数の割
り込み間隔を含む各更新間隔中にマイクロプロセッサに
よって計算される。本発明のモータ制御は、関数テーブ
ルから第一の電流値を発生する。この第一の電流値は、
モータのための励起波形に相当する。そして、この第一
の電流値は、第一の転送テーブルに記憶される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本出願は、1997年10月
2日に出願された米国特許出願第08/942,937
号のCIP出願である。本発明は、ステッパモータ(s
tepper motor)の制御装置に関し、そし
て、特にステッパモータ用の駆動電流コマンド信号を直
接発生するための制御回路に関する。
【0002】
【従来の技術】ステッパモータは、とりわけ、低コス
ト、耐久性、構成の簡単性、及び広範囲の採用により、
多様な用途において用いられている。普通のタイプのス
テッパモータは、永久磁石タイプのロータ、及び内方向
に延びる歯を持つ本体部を有するステータとを含んでい
る。コイルが、モータ相を形成するために一緒に結合さ
れているステータ磁極上に巻かれている。この技術は、
このタイプのステッパモータの変種で満ちている。例え
ば、通常の構成は、2相、200ステップ/回転(即
ち、1.8°メカニズム/ステップ)ステッパモータで
ある。非マイクロステッピングモード動作において、任
意の時間における任意のモータ相の電流は、完全オン或
いは完全オフのいずれかに切り替えられる。しかしなが
ら、"マイクロステッピング"モード動作を使用すること
は公知であり、かつここで、種々のモータ相における電
流値は、所定関数に従って調整される。例えば、2相を
有するステッパモータにおいて、駆動電流は、サイン/
コサイン法則に従ってステータ巻線(相)を通して電流
を流すことができる。
【0003】駆動回路に印加される電流コマンド信号を
発生するために本技術分野で行われる1つのアプローチ
は、最初に所望の速度信号(即ち、単位時間当たりのロ
ータの回転変化)を発生し、そしてそれから、電流コマ
ンド信号を得るために所望の速度信号を処理することで
ある。このアプローチの下でこれを達成するための構成
は、所望の速度信号を発生するための手段、パルス発生
器、アップダウンカウンタ、サイン及びコサインデータ
を包含するROM、及びディジタル−アナログ(D/
A)コンバータを含むことができる。パルス発生器、ア
ップダウンカウンタ、ROM、及びD/Aコンバータは
全て、所望の速度発生手段の外部にある。速度信号は、
次の予め定められた期間に亘って出力するパルス数を表
すディジタルワードにすることができる。パルス発生器
は、速度信号を受け取り、そしてそれから、次の予め定
められた時間間隔に亘って所望数のパルスを一様に出力
する。パルス発生器出力は、カウンタに結合され、そし
てそれは、(制御装置によって発生した)右回り/左回
り(CW/CCW)方向ラインの状態に依存してアップ
又はダウン方向のいずれかに計数する。カウンタの出力
は、ROMに印加されるアドレスを限定する。それか
ら、ROMの出力は、D/Aコンバータに印加され、か
つその出力は、各相の電流コマンド信号を限定する。
【0004】先のアプローチについての問題は、(通
常、インデクサーとして参照される)制御装置のコスト
及びサイズを大きくするいくつかのハードウエア要素を
使用する必要があるということである。さらに、電流コ
マンドの値、モータ回転当たりのステップ数は、他のパ
ラメータと同様に、通常ディップスイッチによって調整
され、変更することが困難である。
【0005】従って、前述した1つ以上の問題を小さく
し、或いは無くす改良されたステッパモータ制御回路を
提供する必要性がある。
【0006】
【発明が解決しようとする課題】本発明は、ステッパモ
ータ制御回路における要素数を減少させ、そしてそれ故
また、そのコスト及びサイズを減少させることを目的と
している。さらに、本発明は、モータ回転当たりのステ
ップ数のような動作パラメータ、及び電流コマンド設定
を容易に選択可能にすることを目的としている。
【0007】
【課題を解決するための手段】好ましくは、本制御方法
は、ソフトウエアで実施され、かつ電流レベル及び回転
当たりのパルスのようなパラメータは、ソフトウエアコ
マンドを使って設定することができ、それによって、デ
ィップスイッチ等の必要性を無くしている。従って、本
アプローチは、通常のアプローチに比較して、テスト時
間と共に、コストの節約になる。
【0008】本発明に従い、これら及び他の目的を達成
するために、ステッパモータを制御する方法及び装置が
提供される。第一の好適具体例において、この方法は、
いくつかの基本的なステップを包含する。第一のステッ
プは、単位時間当たりのモータの回転位置の所望変化を
示す第一の速度信号を発生することを含んでいる。次
に、回転位置のこの変化を、第一の予め定められたイン
クリメント数に分割する。第三のステップは、第一の予
め定められたインクリメント数及び少なくとも一つの関
数テーブルを使って第一の電流値信号を発生することを
含んでいる。次に、第一の電流値信号を第一の転送テー
ブルに記憶する。次のステップは、次の所定の期間第二
の速度信号を発生することを含んでいる。その次のステ
ップは、第二の速度信号と関連したモータの回転位置の
変化を、第二の予め定められたインクリメント数に分割
することを含んでいる。その次のステップは、第二の予
め定められたインクリメント数及び関数テーブルを使っ
て、第二の電流値信号を発生することを含んでいる。最
後に、第二の電流値信号を第二の転送テーブルに記憶す
る。重要なことに、第一の電流値信号が第一の転送テー
ブルから読み出して、モータ巻線に印加される励起信号
を発生するために使用される間に、第二の電流値信号を
発生しかつそれを第二の転送テーブルに記憶するステッ
プが生じる。上述のことは、この構成された具体例にお
いては、多数の個別ハードウエア部品を無くすために、
ダイレクトメモリアクセス(DMA)能力を有するマイ
クロプロセッサをプログラミングすることにより実施さ
れる。特に、この構成された具体例においては、DMA
コントローラは、マイクロプロセッサコアが第二の電流
値信号を計算する間に、励起信号を発生するために第一
の電流値信号を転送する。
【0009】第二の好適具体例において、ステッパモー
タを制御するための方法は再び、いくつかの基本的なス
テップを含んでいる。その第一のステップは、第一の更
新間隔中に速度信号を発生することを含んでいる。この
第一の更新間隔は、複数の割り込み間隔を含むことがで
き、かつこの速度信号は、単位時間当たりのモータの回
転位置における所望の変化に相当するかもしれない。第
二のステップにおいて、(速度信号によって表されるよ
うな)モータの回転位置の変化は、インクリメンタル位
置変化値を得るために所定数によって割り算される。第
三のステップにおいて、インクリメンタル位置変化値
は、関数テーブルにアクセスし、かつ第一の電流値を発
生するために使用される。この第三のステップは、複数
の割り込み間隔の内の第一の割り込み間隔の間に行うこ
とができる。第四のステップは、第一の電流値に応答し
てモータ内に第一の電流を発生することを含んでいる。
第一の電流は、モータの第一の相コイルに供給すること
ができる。第三のステップ同様に、第四のステップは、
第一の割り込み間隔中に行うことができる。
【0010】第二の好適具体例に従う方法は、いくつか
の追加のステップを含むことができる。例えば、この方
法は、第一の電流値発生ステップ及び更新間隔の各割り
込み間隔の間の第一の電流発生ステップを繰り返すステ
ップを含むことができる。この方法はまた、モータの第
二のモータ相を制御する際に使用するため、第二の電流
値を発生するステップ、及び第一の割り込み間隔中に第
二の電流を発生するステップを含むことができる。
【0011】第二の好適具体例は、より少ない部品によ
って実施することができるので、第一の好適具体例に比
較して有利である。特に、第一の好適具体例は、一対の
転送テーブル及び該転送テーブルにアクセスするための
DMAコントローラを使用する。転送テーブルとDMA
コントローラの両方が、第二の好適具体例において無く
すことができ、かつこれは、更新間隔の各割り込み間隔
中に関数テーブルから直接の電流コマンド発生に頼る。
【0012】本発明の他の目的、特徴及び利点は、以下
の詳細な説明及び本発明を制限するものではない具体例
によって本発明の特徴を示す添付図面から当業者には容
易になるであろう。
【0013】
【発明の実施の形態】さて、種々の図における同一要素
を識別するために同一参照数字が使用される図面を参照
すると、図1には、本発明の第一の好適具体例に従うモ
ータシステム10が示されている。システム10は、2
相ステッパモータ12のようなディジタルモータ、及び
予め定められた基準に従い、モータ12のモータ相を付
勢する(活動させる)ための手段又は回路14を含んで
いる。本発明の第一の好適具体例は、2相ステッパモー
タ好適具体例に関して説明するけれども、本発明はそれ
に制限されず、3相又はそれ以上を有する電気モータに
有利に使用することができるということを認めるべきで
ある。
【0014】モータ12は、当業者には公知の複数の通
常のステッパモータの1つにすることができる。本構成
具体例において、2相、永久磁石ロータの、回転当たり
200ステップの構成が使用された。しかしながら、モ
ータ相の数、回転当たりのフルステップ数等は、例示で
あって、本質を制限するものではないということを認め
るべきである。モータ12は、図1に概略的に例示され
ており、かつ、ロータ部22,ステータ部24,及びモ
ータ相A及びモータ相Bをそれぞれ限定する巻線26
及び26を含んでいる。付勢手段14は、相電流I
φA、及びIφBが巻線26及び26を通して流れ
るようにそれらを付勢するよう構成されている。モータ
12の通常の構成により、ロータ22は複数の半径方
向、外方向に延びる磁極を含むことができる一方、ステ
ータ24は、巻線26A及び26Bが巻かれる複数の半
径方向、内方向に延びる磁極(その端部に形成される歯
を有することができる)を含むことができるということ
を認めるべきである。ステータ磁極の先端は、ロータ2
2を収容するサイズの中央孔を限定する。あらゆる観点
で、モータ12は周知であり、かつ通常のものである。
【0015】付勢手段14は、制御手段16,複数のデ
ィジタル−アナログ(D/A)変換装置18,及び駆動
回路20を含んでいる。制御手段16は、モータ相A及
びBを通して流す所望の電流値に相当する一対のディジ
タルワード(電流値信号27)を直接発生するよう構成
されている。好適具体例において、制御手段16は、各
相A及びBに対してそれぞれ1つの8ビットワードの、
2つの8ビットワードから成る16ビットワードを出力
する。16ビットディジタルワードは、所定周波数で制
御手段16により更新される。例示のみの目的で、本構
成具体例においては、制御手段16は、2ミリ秒毎に6
4回、16ビットディジタルワードを更新する。別の具
体例において、制御手段16は、2ミリ秒毎に48回、
16ビットディジタルワード48を更新する。回転当た
りのマイクロステップ数は選択可能であり、かつ変更す
ることができるが、依然として、本発明の範囲内にある
ということを認めるべきである。さらに、回転当たりの
マイクロステップ数の選択は、システム10で使用され
る駆動回路20のタイプ、特にモータ12の種々の動作
パラメータの瞬時値(例えば、速度、加速、など)と共
に、モータ12の特別の構成によって影響を受けるかも
しれないということを認めるべきである。好適具体例に
おいて、制御手段16は、本発明に従い予めプログラム
されたマイクロプロセッサから構成される。本構成具体
例において、オンチップディレクトメモリアクセス(D
MA)コントローラ(DMAC)と共に、オンチップR
AM,ROM、処理コアを有する市販部品、日立モデル
H8/3003が、本発明を実施するために満足的に動
作することがわかった。もちろん、当業者に公知の他の
装置及びそれと同等品を、本発明の範囲内で、容易に代
換えすることができる。
【0016】ディジタル−アナログ(D/A)コンバー
タ18は、所望の相電流レベルに相当する8ビットディ
ジタルワード(電流値信号27)を、それぞれ受信する
よう構成されている。D/Aコンバータ18はまた、そ
れぞれ、電流コマンド信号I CMDφA、及びI
CMDφBのフルスケールをそれぞれセットする基準信
号REFERENCEを受信する。それから、D/Aコンバータ
18は、それに応答して、一対の"アナログ"電流コマン
ド信号ICMDφA、及びICMDφBをそれぞれ発生
する。電流コマンド信号は、もちろん、当業者には認識
されるように、一連の小さなステップから成っている。
駆動回路20は通常のものであって、この技術分野にお
いては周知であり、かつ、電流コマンド信号I
CMDφA、及びICM DφBを使ってモータ12の相
A及び相Bのための励起信号を発生して、コイル26
及び26を通して相電流IφA、及びIφBを流すよ
う構成されている。この技術分野は、本発明と共に使用
するのに適した種々の駆動構成及び接続形態で、文字通
り満ちている。従って、このブロックは、これ以上詳細
には説明しない。
【0017】図面を参照しての本発明の詳細な説明に進
む前に、本発明によって確立した制御の全体的概況を説
明する。ステッパモータ12の回転位置を制御するため
に、VELOCITY信号が、更新間隔(本構成具体例において
は2ミリ秒)毎に制御装置16によって計算される。VE
LOCITY信号は、次の更新間隔に亘る回転位置の所望の変
化を表している。特に、VELOCITYは、次の更新間隔の間
に取るべき"マイクロステップ"数に相当する。この位置
の変化は、転送テーブルにおけるテーブルエントリーの
数に相当する予め定められた数によって割り算され、か
つこの数は、好ましくは、本構成具体例においては64
である。この割り算の結果は、速度インクリメント(VE
L INC)である。VEL INCは、次の更新間隔に亘って3
1.25ミリ秒(本構成具体例において、0.002/
64)毎に位置データを発生するために使用される。本
構成具体例において、各新たなVELOCITY信号は、関数テ
ーブルからデータサンプルを抽出するためにテーブルア
ドレスを発生するための速度インクリメントを使って、
関数テーブル(例えば、サイン波又はコサイン波)から
データを読み出すことにより、2つの64エントリー転
送テーブルの内の一方に書き込むために使用される。転
送テーブルの一方に書き込まれた後、31.25ミリ秒
間隔で、転送テーブルからのデータワードが出力ポート
に書き込まれる。出力ポートピンにおけるデータは、電
流値信号である。転送テーブルアドレスは、次の転送で
(31.25ミリ秒後)次のテーブルエントリーを出力
するために各転送に続いてインクリメントされる。64
転送(2ミリ秒)後、転送テーブル全体が出力完了し、
かつこの点で、ソフトウエア割込が発生する。この割込
コードは、新たなVELOCITY信号値を計算させ、かつそれ
によって、64の新たなテーブルエントリーが決定され
る。2つの転送テーブルがある。テーブルの第一のもの
が、DMAコントローラの制御の下で、31.25ミリ
秒毎にデータを出力する一方、その他方は、メイン制御
ソフトウエアによって64の新たなデータワードによっ
てロードされている。2つの転送テーブルの役割は、割
込みによって更新間隔毎に逆にされる。最も新しくロー
ドされた転送テーブルは、次の割込みに続いて出力ポー
トにそのデータの転送を開始する一方、メインコントロ
ールによって現在アクセスされた転送テーブルは、新た
な電流値によってロードされるであろう。
【0018】さて、図2を参照すると、制御手段16が
より詳細に示されている。制御手段16は、速度信号を
発生するための手段28,電流値信号を決定するための
手段30,関数テーブル32,第一の転送テーブル3
4,第二の転送テーブル36,出力ポート38,速度イ
ンクリメントメモリ40,転送テーブル位置メモリ4
2,テーブルアドレスメモリ44,及びディレクトメモ
リアクセス(DMA)コントローラ(DMAC)45を
含んでいる。
【0019】発生手段28は、制御手段16のプログラ
ムメモリ内に記憶された予めプログラムされたステップ
のシーケンスを実行することによりソフトウエアで好ま
しくは実現される。発生手段28からの出力信号、即
ち、速度信号VELOCITYは、本構成具体例において、単位
時間当たりのロータ22の回転位置の所望の変化を示す
ディジタルワードにすることができる。一具体例におい
て、VELOCITY信号計数は、次の更新間隔中に取るべきロ
ータ22のための所望数のマイクロステップに相当す
る。例えば、モータ12のためのフルステップは、ロー
タ22の周知の1.8°機械的変位に相当する。さら
に、一構成において、フルステップ当たり64マイクロ
ステップが選択されると仮定する。また、更新間隔は2
ミリ秒であると仮定する。上述のことに基づいて、64
0のVELOCITY計数は、更新間隔当たり10のフルステッ
プに相当し、或いは、言い換えると、2ミリ秒当たり1
8°メカニズムに相当する。この単位時間当たりの変位
は、1500回転/分(rpm)に相当する。
【0020】VELOCITY信号の決定された値は、ロータ2
2の最大速度、ロータ22の最大(絶対、又はデルタ)
加速、及び/又はロータ22の最大(絶対、又はデル
タ)減速のような種々のシステムパラメータによって抑
制(或いは制約)されるかもしれない。これら及び他の
抑制パラメータは、この技術分野において良く理解され
ている。従って、VELOCITY信号発生プログラムは、通常
のプログラミング技術の通常の応用により実現すること
ができる。
【0021】決定手段30はまた、好ましくは、制御手
段16のプログラムメモリ内に記憶されているプログラ
ムステップの予めプログラムされたシーケンスの実行に
よりソフトウエアで実現される。ブロック30は、速度
信号(即ち、ロータ22の回転位置における変化に相当
する計数)を、予め決められた数のインクリメントに分
割するための手段30a(図6参照)を含んでいる。好
適具体例において、予め決められた数のインクリメント
は、64である。別の具体例において、この予め決めら
れた数のインクリメントは、48である。この予め決め
られた数は、テーブル34及び36におけるテーブルエ
ントリー数(その多くは後述する)に相当する。ブロッ
ク30はまた、第一の所定数のインクリメント(即ち、
VEL INCパラメータ:この値がどのように処理されるか
は後述する。)と調和して関数テーブル32を使って電
流値信号を発生するための手段30b(図6参照)を含
んでいる。VEL INCパラメータは、一更新間隔(本構成
具体例において2ミリ秒)に対して有効であり、かつそ
の点で、それは、更新されたVELOCITY信号値に従い更新
されるであろう。即ち、VEL INCパラメータ値は、本構
成具体例において、0.002/64秒におけるモータ
位置の変化である。ブロック30はさらに、転送テーブ
ル34及び36の一方で計算されるような電流値信号
(即ち、ディジタルワードのシーケンス)を記憶するた
めの手段30c(図6参照)を含んでいる。
【0022】VEL INCパラメータに加えて、ブロック3
0に含まれている電流値信号27を発生するための手段
は、メモリ44内に記憶されたテーブルアドレスパラメ
ータと共に、メモリ42内に記憶されたテーブル位置パ
ラメータを利用する。テーブル位置パラメータは好まし
くは、(テーブルエントリー当たりを基礎にして加算さ
れた)VEL INCパラメータのランニング合計である。テ
ーブルアドレスパラメータは、テーブル位置パラメータ
から得られ、かつ、好適具体例において、テーブル位置
パラメータの自然数部の内の下8ビットから得られる。
テーブル位置パラメータは、関数テーブル32におい
て、最後のデータ点が取られたトラックを保つために使
用される。これは、特に、出力電流波コマンドにおける
連続性を維持するために必要である。
【0023】関数テーブル32は、好適の2相ステッパ
モータ具体例において、サイン法則関数テーブル46,
及びコサイン法則関数テーブル48から構成される。本
構成具体例において、テーブル46及び48はそれぞ
れ、1サイクル(360°)の期間を有するサイン波及
びコサイン波の値に相当する256の等間隔点をそれぞ
れ包含している。各点は、本構成具体例において、8ビ
ット幅である。テーブル46及び48は、例えば、非揮
発性メモリのような制御手段16のデータメモリを使っ
て実現することができるということを認めるべきであ
る。さらに、テーブル46及び48は、モータ12をよ
り効果的に駆動するために必要とされるような純サイン
及びコサイン波形以外の関数に相当するデータを包含す
ることができるということを認めるべきである。例え
ば、第三高調波が、個々の波テーブル46及び48にお
いて表されるようなサイン及びコサイン関数のそれぞれ
に付加することができ、或いはひずみが、モータなめら
かさを改良するために付加することができる。或い
は、"三角"波形が、当業者に公知のある事情の下では望
ましいかもしれない。
【0024】DMAC45は、制御手段16のメイン処
理コアによってさらに干渉することなく、データ転送サ
イクルを実行するようプログラムすることができる。特
に、DMAC45は、ソースアドレス(例えば、転送テ
ーブル34及び/又は転送テーブル36の開始アドレ
ス)、宛先アドレス(例えば、出力ポート38のアドレ
ス)、及びトランスファーモードのタイプ(例えば、I
/Oモード等)のようなパラメータによってプログラム
することができる。
【0025】続いて図2を参照すると、制御手段16は
また、パルス幅変調器(PWM)49を含み、かつこれ
は、本来ディジタルの、比較的高周波数のパルス列を発
生するよう構成することができ、そしてそのデューティ
サイクルは選択可能にすることができる。さらに、本発
明において、ローパスフィルタ50を備えることができ
る(かつこれは、制御手段16の本構成具体例において
実際に使用されるマイクロコントローラの外部に備える
ことができる)。ローパスフィルタ50は、PWM49
によって発生したディジタルパルス列の平均値(即ち、
DC値)を抽出するよう構成されている。図1及び2に
REFERENCE信号として示された平均値はそれから、D/
Aコンバータ18の基準入力端子に印加される。前述し
たように、D/Aコンバータ18に印加されたREFERENC
E信号は、電流コマンド信号のフルスケール値をセット
する。即ち、D/Aコンバータ18は、出力信号(即
ち、ICMDφA及びICMDφB信号)が、基準信号
と、ディジタルコード入力、即ち電流値信号27との積
である乗算タイプのものである。
【0026】図3は、(例示のために滑らかにした)電
流コマンド信号ICMDφA及びI CMDφBに相当す
るD/Aコンバータ18からのサンプル出力を示してい
る。波形52及び52は、それぞれ、第一の周波数
を有するサイン及びコサイン波形を示している。軌跡5
及び54は、第一の周波数の略2倍の第二の周波
数を有するサイン及びコサイン波形を示している。軌跡
54及び54は、軌跡52及び52よりも高速
にモータ12を回転させるということが理解されよう。
【0027】図4は、本発明によって確立した基本的制
御を例示するフローチャートである。ステップ60及び
64は、更新間隔毎に(即ち、N*T秒毎、ここで、N
は転送テーブル34又は36のサイズに等しく、かつT
は、新たな電流値信号27が出力ポートに転送される間
隔である。)周期的に実行される。
【0028】ステップ62及び60は好ましくは、ある
程度並列に実行される。即ち、ステップ62及び64の
実行は、所定量だけオーバラップする。ステップ62の
実行は、大部分DMAC45によって制御される(そし
て、制御手段16で実行するソフトウエアに認識されな
い)。ステップ64の実行は、制御手段16の処理コア
によってブロック30に相当するソフトウエアの実行に
よって制御される。
【0029】ステップ62は、制御手段16のプログラ
マブルタイマー部(図示せず)によって、好ましくは決
定されるように、周期的に実行される。タイマーがタイ
ムアウトする毎に(即ち、本構成具体例において、T
秒、又は0.002/64秒毎)、割り込みが発生す
る。この割り込みは、DMAC45に、活動(アクティ
ブ)転送テーブルから電流値信号27を読み出させて、
それを出力ポートに出力し、かつこれは、D/Aコンバ
ータ18及び回路20から成るモータ駆動回路に結合さ
れている。特に、このステップは、(上述したように)
DMAC45を設定し、そしてそれからデータ転送サイ
クルのためにDMAC45を活動させることを含んでい
る。それから、(上述したように)T秒(更新間隔)/
N毎に、(ここで、Nは、転送テーブルエントリーの数
に等しい)、別のディジタルワードが、アクティブ転送
テーブル(34又は36のいずれか)から、DMAC4
5によって読み出される。好ましくは、このディジタル
ワードは、モータ相毎に8ビットの、16ビット幅であ
る。それから、読み出されたディジタル電流値信号27
は、各D/Aコンバータ18に一つずつの8ビットワー
ドが、D/Aコンバータ18に印加される。D/Aコン
バータ18は、駆動回路20に印加される電流コマンド
信号ICMDφA及びICMDφBを発生することによ
り応答する。駆動回路20は、電流IφA及びIφB
発生するためにモータ12に印加される励起信号を発生
する。最後のテーブルエントリーが出力ポート38に書
き込まれたとき(即ち、転送テーブルが出力ポートに完
全に書き込まれたとき)、割り込み(ソフトウエア)が
発生して、メインプログラムを、テーブル34,36の
活動/非活動状態を切り換えさせる。即ち、メインソフ
トウエアルーチンは、転送テーブルの状態を変えること
によりソフトウエア割り込みに応答するようプログラム
されている。もちろん、先に不活動の転送テーブルが新
たなデータによって満たされ、かつ今、出力の用意がさ
れている。
【0030】この点で、今アクティブ(活動)転送テー
ブル内にデータを書き込むジョブを開始するDMAC4
5によって、制御手段16で実行するメインソフトウエ
アルーチンは再び、ステップ60及び64を実行する。
ステップ60において、VELOCITYコマンド信号が、上述
したように、手段28によって計算される。ステップ6
4において、(目下)不活動の転送テーブルのための更
新された電流値信号が、更新された速度信号VELOCITYを
使って決定され、かつそこに記憶される。ステップ60
及び64から成る主ループは、本構成具体例においては
2ミリ秒にすることができる更新間隔毎に繰り返され
る。主ループが繰り返すとき、2つの転送テーブルの活
動及び不活動状態は、切り換えられ、かつ、新たな、或
いは更新された速度信号VELOCITYが計算され、かつこれ
は、ブロック30に相当するソフトウエアの実行により
発生している更新電流値信号27を生じる。
【0031】図5は、更新電流値信号を決定する際に関
係したステップを、より詳細に示すフローチャートであ
る。ステップ66において、速度インクリメントパラメ
ータVEL INCのための新たな値が発生する。このステッ
プの詳細は上述した。VEL INCパラメータは実質上、ど
れだけ離れたサンプルが、関数テーブル46及び48か
ら引き出されるかを制御する。例えば、VEL INCは8に
等しいと仮定する。テーブル46及び48の長さは25
6であり、かつ64のサンプルが(テーブル34及び3
6を書き込むための好適具体例において)そこから引き
出すことができるので、サンプル抽出は、(テーブル4
6及び48におけるサンプル抽出が包み込む)2倍で関
数テーブルを横断させるであろう。テーブル46,48
がサイン又はコサイン法則に従い1つのフルサイクルを
包含すると仮定すると、先のことは、サイン又はコサイ
ン波形の2つのフルサイクルに相当するデータによって
転送テーブル34,36の1つを書き込むことになる。
或いは、VEL INCが4に等しいと、関数テーブル46,
48は、転送テーブルが1つのフルサイクルのみに相当
するデータを包含するように、64エントリーの転送テ
ーブルを書き込む際に、一度のみ横断するであろう。あ
るいは、もしVEL INCが16に等しいならば、そのと
き、(本構成具体例において)関数テーブル46,48
は4回横断し、かつその結果の64エントリーの転送テ
ーブルは、サイン又はコサイン波の4つのフルサイクル
を包含するであろう。転送テーブルに包含されたデータ
は、一定期間("更新間隔")中に出力されるので、より
大きな数のサイクルを出力して、生じる電流コマンド信
号ICMDφA(又はICMDφB)の周波数を増加さ
せて、それによって、モータ12のロータ22の回転速
度を増加させるということを理解すべきである。
【0032】従って、ディジタル電流値信号27を発生
するステップは、(サインテーブル46を使って)サイ
ン法則関数に相当する8ビットのディジタルワードの第
一のシーケンスを発生し、(コサインテーブル48を使
って)コサイン法則関数に相当する8ビットのディジタ
ルワードの第二のシーケンスを発生し、そして、各シー
ケンスからの個々の8ビットディジタルワードを組み合
わせて、16ビットディジタルワードの第三のシーケン
スを形成する各サブステップを包含している。この第三
のシーケンスは、電流値信号27に相当する。本構成具
体例において、波テーブル46及び48は、サイン関数
のために8ビット、そしてコサイン関数のために8ビッ
トの、16ビット幅の1つのテーブルである。従って、
サイン及びコサイン値は、波テーブル46/48から、
転送テーブル(34又は36のいずれか)に同時に転送
される。それから、16ビットワードは、DMACの方
向の下で出力ポート38に送られる。出力ポート38
は、その16ビット出力を2グループの8ビットに分割
し或いは分離し、そしてこれは、個々に2つのD/Aコ
ンバータ18に結合される。
【0033】また、本構成具体例において、サイン法則
タイプの波形は、1つのモータ巻線を駆動するために使
用される一方、コサイン法則タイプの波形は、他のモー
タ巻線を駆動するために使用されるので、2つの巻線
は、位相がずれているということを認めるべきである。
言い換えると、サイン波は、コサイン波よりも"遅れる"
ということができる。この関係は、ロータ22をその構
成に依存して右回り(CW)又は左回り(CCW)方向
のいずれかに回転させる。2つのモータ相に印加される
サイン/コサイン波形を切り換えると、ロータ22は反
対方向に回転するであろう。本発明は、VELOCITY信号
を、単に正又は負の数のいずれかにすることにより、方
向制御を実施する。正数によって、VEL INCパラメータ
値はまた、正であり、そのため、データは、順方向でサ
イン及びコサインテーブル46,48から抽出される。
VEL INCパラメータが負のとき、データは、後方又は逆
方向にテーブル46,48から抽出される。これは、基
本的には、モータ相の間の進み−遅れ関係を逆にし、従
ってまた、ロータ22の回転方向を逆にする。
【0034】続いて、図5を参照すると、ステップ68
において、テーブル位置パラメータが更新される。上述
したように、TABLEPOSパラメータは、(テーブルエント
リー毎に加算された)速度インクリメントVEL INCのラ
ンニング和を示している。ステップ70において、テー
ブルアドレスパラメータ値が決定される。このテーブル
アドレスは、(TABLEPOSの自然数部)モジュロ(波テー
ブル46/48のサイズ)として決定することができ
る。実施において、モジュロ関数の評価は、波テーブル
46/48サイズが2の累乗であるとき、比較的に率直
である。本構成具体例において、テーブルアドレスパラ
メータ値は、TABLEPOSパラメータの自然数部の下8ビッ
トから成る。これは、好適具体例において、サイン及び
コサイン波テーブル46,48へのインデックスとして
使用することのできる整数値である。
【0035】ステップ72において、1つの16ビット
データサンプルが、ステップ70で決定されるようなテ
ーブルアドレスパラメータ値を使って波形テーブル4
6,48から読み出される。ステップ74において、モ
ータ相のための波データは、目下不活動の転送テーブル
に記憶されている。ステップ76において、ステップ6
8−74の反復を制御するカウンタがデクリメントさ
れ、かつこれは、不活動転送テーブルを完全に書き込む
のに十分な回数反復されなければならない。
【0036】ステップ78において、不活動転送テーブ
ルが、最近計算された電流値信号に相当する波データに
よって完全に書き込まれたかどうかを判断するための比
較がなされる。ステップ76及び78の例示及び変数n
の使用は、ステップ68−74がnエントリーを有する
不活動転送テーブルを完全に書き込むためにn回反復さ
れるということを示すためのみの例示であるということ
を認めるべきである。もちろん、いかなる特別の実施に
おいても、限定されたシーケンスのステップの反復動作
を達成するために、プログラミング技術において当業者
には周知の複数の技術がある。
【0037】
【実施例】VELOCITY信号は、更新間隔(該更新間隔は、
本構成具体例において2ミリ秒として任意に選択されて
いる)当たりの(モータ12によって取られるべき)マ
イクロステップ数であると仮定する。さらに、VELOCITY
は、300に等しいと仮定する。速度インクリメントパ
ラメータVEL INCはそれから、64で割ったVELOCITYと
して計算される。速度インクリメントVEL INCは、それ
故、4.6875に等しい。テーブル位置パラメータ値
は、速度インクリメントパラメータVEL INCのランニン
グ和にすることができ、そして、好適具体例においては
そのようにしている。テーブルアドレスは、テーブルア
ドレスパラメータの自然数部の下8ビットである。以下
の表1は、上述したパラメータの数列を示している。
【0038】表1 VEL=300 速度信号VELOCITYのための新たな値が発生し、かつこれ
は304に等しいと仮定する。それ故、新たな速度イン
クリメントパラメータVEL INCは4.75であり、かつ
以下の表2はさらに、上記した動作パラメータの数列の
続きを例示している。
【0039】表2 VEL=304
【0040】速度インクリメントパラメータVEL INC
は、本構成具体例において、(自然数部のみが関数波形
テーブル46,48へのインデックスとして使用されて
さえ)精度を維持するために、自然数部及び小数部を有
するバイナリ数として、テーブル位置パラメータTABLEP
OSのように、保持される。VEL INCの少数部は、いくつ
かの加算に亘って蓄積されるとき、自然数部に影響する
ことができ、かつそれ故、好ましくは、考慮されるとい
うことを認めるべきである。さらに、モータ12は、実
質上連続波形(即ち、厳しい不連続を避けるために)に
よって駆動すべきということを認めるべきである。これ
は、なぜVEL INCパラメータのランニング合計が維持さ
れるかであり、そのため、次の転送テーブルが定められ
るとき、サイン及び/又はコサインテーブル46,48
において、制御プログラムは、どこでサンプリングが停
止し、かつ転送テーブルと転送テーブルの連続性が維持
されるようにサンプリングをどこから再開するかを知っ
ているであろう。
【0041】制御装置16は、単一チップマイクロプロ
セッサを使って実施されるので、必要とされるハードウ
エアは、通常のアプローチよりも少ない。さらに、ソフ
トウエア制御は、使用するのがやっかいなディップスイ
ッチの必要性もなく、あるパラメータの値(例えば、電
流コマンド値)を変更することを可能にする。特に、好
適具体例において、プロセッサのPWM49の出力は、
電流値を制御するために使用することができる。
【0042】さて、図7を参照すると、本発明の第二の
好適具体例に従うモータシステム80が示されている。
モータシステム80は、モータシステム10に見られる
要素と構成及び機能が同一か又は実質上同じであるいく
つかの要素を含んでいる。従って、これらの要素には同
じ番号を付け、かつこれ以上詳細には説明しない。シス
テム80は、2相ステッパモータ12のようなディジタ
ルモータ、及び所定の基準に従いモータ12のモータ相
を付勢するための手段又は回路82を含んでいる。本発
明の第二の好適具体例を2相ステッパモータと関連して
再び説明するけれども、本発明はそれに制限されず、か
つ、3相以上を有する電気モータにおいて実施すること
ができるということを認めるべきである。
【0043】付勢手段82は、モータ12のモータ相巻
線26及び26を選択的に付勢するためにモータ制
御電流IφA及びIφBを発生するために備えられてい
る。付勢手段82は、制御手段84,複数のディジタル
/アナログ(D/A)コンバータ18,及び駆動回路2
0を含んでいる。
【0044】制御手段84は、モータ相A及びBを通し
て流すための所望の電流値に相当する一対のディジタル
ワード(電流値信号86及び88)を直接発生するよう
構成されている。制御手段84は、オンチップRAM、
ROM、及び処理コアを有するプログラム化マイクロプ
ロセッサから構成することができる。詳細は後述するよ
うに、制御手段84は、制御手段16に見られたDMA
コントローラ45を含まない。好適具体例において、制
御手段84は、各相A及びBに対して1つの8ビットワ
ードの、2つの8ビットワードから成る16ビットワー
ドを出力する。16ビットディジタルワードは、所定の
周波数で制御手段84により更新される。例示目的のみ
のために、本構成具体例において、制御手段84は、2
ミリ秒(更新間隔)毎に64回16ビットディジタルワ
ードを更新する。モータシステム10を参照して前述し
たように、2つの8ビットディジタルワード(電流値信
号86,88)は、D/Aコンバータ18に供給され、
かつこれは、それに応答して、一対の"アナログ"電流コ
マンド信号ICMDφA及びICMDφBを発生する。
それから、電流コマンド信号ICMDφA及びI
CMDφBは、駆動回路20に供給され、かつこれは、
励起信号を発生して、相電流IφA及びIφBを相巻線
26及び26を通してそれぞれ流す。
【0045】前述のモータシステム10によってなされ
るように、モータシステム80によって確立した制御装
置の全体的概況を、本発明の詳細な説明をする前に述べ
る。ステッパモータ12の回転位置を制御するために、
VELOCITY信号は、更新間隔(本構成具体例において2ミ
リ秒)毎に、制御手段84によって計算される。VELOCI
TY信号は、次の更新間隔に亘ってモータ12の回転位置
における所望の変化を表す。特に、VELOCITYは、次の更
新間隔中に取るべき"マイクロステップ"数に相当する。
各更新間隔は、複数の割り込み間隔から成る。本構成具
体例において、各割り込み間隔は、31.25ミリ秒の
持続期間を有している。
【0046】VELOCITY信号によって表されるような、モ
ータ12の回転位置の所望の変化は、更新間隔中の割り
込み間隔の数に相当する所定数によって割り算される。
本構成具体例において、更新間隔中に64の割り込み間
隔がある。即ち、更新間隔の持続期間(2ミリ秒)/割
り込み間隔の持続期間(31.25ミリ秒)である。こ
の割り算の結果は、速度インクリメント、又はインクリ
メンタル位置変化値、VEL INCであり、かつこれは、更
新間隔の各割り込み間隔中に関数テーブルから位置デー
タを発生するために使用することができる。特に、VEL
INCは、各割り込み間隔中に第一及び第二の関数テーブ
ルアドレスを発生するためにメモリに記憶された関数テ
ーブルアドレスに反復して加えることができる。第一及
び第二の関数テーブルアドレスはそれから、関数テーブ
ルをインデックスし、かつ所望の位置データを得るため
に使用することができる。位置データは、電流値信号8
6,88として制御手段84により発生し、かつモータ
相26及び26における電流を制御するために使用
される第一及び第二の電流値として各割り込み間隔中に
読み出すことができる。更新間隔が完了すると、ソフト
ウエア割り込みが発生する。割り込みコードは、新たな
VELOCITY信号値を計算させ、かつ上述のプロセスを反復
することができる。
【0047】さて、図8を参照して、制御手段84を詳
細に説明する。制御手段84は、速度信号を発生するた
めの手段28,電流値信号86,88を決定するための
手段90,関数テーブル92,出力ポート94,速度イ
ンクリメントメモリ96,関数テーブル位置メモリ9
8,第一の関数テーブルアドレスメモリ100,第二の
関数テーブルアドレスメモリ102,及び位相オフセッ
トメモリ103を含んでいる。制御手段84はまた、電
圧供給手段104を含むことができる。
【0048】モータシステム10を参照して前述したよ
うに、速度信号発生手段28は、単位時間当たりのモー
タ12のロータ22の回転位置の所望の変化を表すVELO
CITY信号を発生する。発生手段28は、制御手段84の
プログラムメモリに記憶された予めプログラムされたス
テップのシーケンスを実行することにより、ソフトウエ
アで実施することができる。
【0049】決定手段90は、電流値信号86,88を
発生するために備えられる。手段90はまた、好ましく
は、制御手段84のプログラムメモリ内に記憶されたプ
ログラムステップの予めプログラムされたシーケンスの
実行によってソフトウエアで実施される。図9を参照す
ると、決定手段90は、インクリメンタル位置変化値VE
L INCを得るために所定数によって回転位置の変化(即
ち、VELOCITY)を割るための手段90aを含むことがで
きる。前述したように、この所定数は、更新間隔におけ
る割り込み間隔の数に相当し、かつ、本構成具体例にお
いて、64である。即ち、更新間隔の持続期間(2ミリ
秒)/割り込み間隔の持続期間(31.25ミリ秒)で
ある。VEL INC値は、1更新間隔に対して有効であり、
かつその点で、更新されたVELOCITY信号値に従い更新さ
れるであろう。
【0050】決定手段90は、さらに、第一及び第二の
電流値信号86,88をそれぞれ発生するための手段9
0b、90cを含むことができる。VEL INC値に加え
て、発生手段90bは、メモリ98に記憶された関数テ
ーブル位置パラメータ値TABLEPOSを利用することができ
る。テーブル位置パラメータ値TABLEPOSは、電流値信号
86,88を表す最も最近のディジタルワードが得られ
た関数テーブル92内の位置のトラックを保つために使
用される。TABLEPOSは好ましくは、VEL INCを使ってイ
ンクリメントされる連続的増加値である。発生手段90
bは、詳細に後述するように第一の関数テーブルアドレ
スを得るためにTABLEPOSを使用する。発生手段90c
は、メモリ103内に記憶された位相オフセット値を付
加的に利用することができる。詳細に後述するように、
位相オフセット値は、第一の関数テーブルアドレスによ
って得られたデータ点に関して位相シフトされている関
数テーブル92内のデータ点をアクセスする第二の関数
テーブルアドレスを発生するようにされた所定数であ
る。いったん、第一及び第二の関数テーブルアドレスが
得られると、発生手段90b、90cは、関数テーブル
92をインデックスし、かつ電流値信号86,88を表
すディジタルワードを得るためにこのアドレスを使用す
る。第一及び第二の関数テーブルアドレスは、メモリ1
00,102内に記憶することができる。
【0051】関数テーブル92は、サイン又はコサイン
法則関数のような周期的数学関数を表すデータ点又は値
を記憶するために備えている。本構成具体例において、
テーブル92は、2つのサイクルの持続期間(720
゜)を有するサイン波の値に相当する256の等間隔の
データ点を包含する。各データ点は、本構成具体例にお
いて8ビット幅である。テーブル92は、非揮発性メモ
リのような制御手段84のデータメモリを使って実施す
ることができるということを認めるべきである。さら
に、テーブル92は、モータ12をより効果的に駆動す
るために必要なように、純サイン又はコサイン波形以外
の関数に個々に相当するデータを包含することができる
ということを認めるべきである。
【0052】出力ポート94は、第一及び第二の電流値
信号86,88をD/Aコンバータ18に伝送するため
に備えている。出力94は、この技術分野において通常
のものである。メモリ96,98,100,102及び
103は、インクリメンタル位置変化値VEL INC、テー
ブル位置パラメータ値TABLEPOS、第一及び第二の関数テ
ーブルアドレス、及び位位相オフセット値を個々に記憶
するために備えている。メモリ96,98,100,1
02,及び103はまた、この技術分野において通常の
ものである。
【0053】電圧供給手段104は、D/Aコンバータ
18のための基準電圧を発生するために備えられてい
る。供給手段104は、この技術分野において通常のも
のであり、かつ、REFERENCE信号を得るための所定量に
従う電圧を分割する通常の抵抗器回路網106に接続す
ることができる。それから、REFERENCE信号は、D/A
コンバータ18に供給することができる。REFERENCE信
号は、コンバータ18により出力された電流コマンド信
号のフルスケール値をセットする。特に、コンバータ1
8は、出力信号(即ち、電流コマンド信号ICMDφA
及びICMDφB)が、REFERENCE信号と、第一の電流
値信号86及び第二の電流値信号88に相当するディジ
タルワード入力との積である乗算タイプのものである。
モータシステム10を参照して上述したPWM49及び
ローパスフィルタ50は、供給手段104及び抵抗器回
路網106の代わりに使用することができるということ
を理解すべきである。
【0054】さて、図10を参照すると、本発明の第二
の好適具体例に従う方法は、詳細に説明する。この方法
は、単位時間当たりのモータ12の回転位置の所望変化
に相当するVELOCITY信号を発生するステップ108,及
びインクリメンタル位置変化値VEL INCを得るために所
定数によって回転位置の変化を割り算するステップ11
0を含むことができる。ステップ108及び110は、
更新間隔毎に(即ち、本構成具体例において2ミリ秒
毎)周期的に実行され、かつ所定数は、各更新間隔中の
割り込み間隔(即ち、本構成具体例において、更新間隔
の持続期間(2ミリ秒)/割り込み間隔の持続期間(3
1.25ミリ秒)=64)に相当させることができる。
【0055】本発明の第二の好適具体例に従う方法はま
た、関数テーブル92から第一及び第二の電流値を発生
するステップ112,及び第一及び第二の電流値に応答
するモータ12の相巻線26及び26において、第
一及び第二の電流を発生するステップ114を含むこと
ができる。ステップ112及び114は、相当する更新
間隔中の割り込み間隔毎に(即ち、本構成具体例におい
て、31.25ミリ秒毎、或いは各更新間隔中に64
回)実行することができる。
【0056】さて、図11を参照すると、第一及び第二
の電流値を発生するステップ112を詳細に説明する。
ステップ112は、第一の関数テーブルアドレスを得る
ために関数テーブル位置パラメータ値TABLEPOSに、イン
クリメンタル位置変化値VELINCを加算するサブステップ
を含むことができる。このサブステップは、図11に示
されるようないくつかのサブステップを含むことができ
る。第一に、サブステップ116において、VEL INCがT
ABLEPOSのための新たな値を得るためにTABLEPOSに加え
られる。例1を参照して前述したように、VEL INCは非
整数にすることができる。TABLEPOSは、VEL INCのラン
ニング合計を表すので、TABLEPOSはまた、自然数部及び
小数部を有する非整数にすることができる。次に、サブ
ステップ118において、第一の関数テーブルアドレス
は、TABLEPOSの自然数部と関数テーブル92のサイズと
のモジュロを取ることにより得られる。本構成具体例に
おいて、関数テーブル92は、サイン法則関数に相当す
る245データ点又はディジタルワードを含んでいる。
従って、第一の関数テーブルアドレスは、TABLEPOSの自
然数部の下8ビットからなるであろう。ステップ112
はまた、第一の電流値を得るために関数テーブル92に
アクセスするサブステップ120を含むことができる。
特に、第一の関数テーブルアドレスは、関数テーブル9
2をインデックスし、かつ第一の電流値に相当するディ
ジタルワードを読み出すために使用される。第一の電流
値は、更新間隔の1割り込み間隔中にモータ12のモー
タ相巻線26Aに印加され、かつサイン法則関数データ
点に相当させることができる励起信号の値を表してい
る。
【0057】関数テーブル92から第一及び第二の電流
値を発生するステップ112は、第二の電流値を得るた
めに使用されたいくつかの付加的サブステップを含むこ
とができる。特に、ステップ112は、第二の関数テー
ブルアドレスを得るために第一の関数テーブルアドレス
に位相オフセット値を加えるサブステップ122を含む
ことができる。位相オフセット値は、所定量だけ(例え
ば、90゜)第一の電流値(及びモータ相Aにおける第
一の電流)に関して位相シフトされる第二の電流値(及
び、それ故、モータ相Bにおける第二の電流)を発生す
るようになっている。関数テーブルは、本構成具体例に
おいてサイン波関数を含むので、90゜オフセットが、
コサイン法則関数内に生じるということを認めるべきで
ある。第一の電流値がモータ相Aを駆動するために使用
される一方、第二の電流値がモータ相Bを駆動するため
に使用されるので、2つの相は位相がずれているであろ
う。この関係により、ロータ22は、モータ12の構成
に依存して右回り(CW)又は左回り(CCW)のいず
れかに回転する。本発明は、VELOCITY信号を、正数又は
負数のいずれかにすることにより方向制御を実施する。
正数によって、インクリメンタル位置変化値VEL INCは
また、正であって、関数テーブル位置パラメータ値TABL
EPOSを増加させることになる。このように、第一及び第
二の関数テーブルアドレスはまた増加し、かつデータが
第一の方向に関数テーブル92から引き出される。VEL
INCが負のとき、TABLEPOS及び第一及び第二の関数アド
レスは減少して、第二の方向に関数テーブル92からデ
ータを引き出すことになる。
【0058】位相オフセット値は、関数テーブル92に
記憶された関数のサイクル長(゜)により所望の位相シ
フト(゜)を割ることにより、かつこの結果の数を関数
テーブル92におけるテーブルエントリー数に乗算する
ことにより計算することができる。本構成具体例におい
て、2サイクル(即ち、720゜)サイン法則関数が、
256ディジタルワードテーブルエントリーの関数テー
ブル92に記憶される。従って、もし所望位相シフトが
90゜であるならば、本構成具体例における位相オフセ
ット値は、32(即ち、[90゜/270゜]*25
6)になるであろう。この位相オフセット値は、目盛り
103内に記憶することができる。この位相オフセット
値は、関数テーブル位置パラメータ値TABLEPOS、及び第
一の関数テーブルアドレスのためのサブステップ116
及び118においてなされたのと同様に関数テーブル9
2におけるテーブルエントリー数の合計和モジュロを取
ることにより計算された第二の関数テーブルアドレス
に、二者択一的に付加することができる。
【0059】第一及び第二の電流値信号を発生するステ
ップ112は最終的に、第二の電流値を得るために第二
の関数テーブルアドレスを使って関数テーブル92をア
クセスするサブステップ124を含むことができる。特
に、第二の関数テーブルアドレスは、関数テーブル92
をインデックスし、かつ第二の電流値に相当するディジ
タルワードを読み出すために使用される。第二の電流値
は、更新間隔の1割り込み間隔中にモータ12のモータ
相巻線26に印加され、かつサイン法則関数データ点
に相当させることのできる励起信号の値を表す。
【0060】再び、図10を参照すると、モータ12に
おいて第一及び第二の電流を発生させるステップ114
はまた、いくつかのサブステップを含むことができる。
特に、ステップ114は、第一及び第二の電流値に応答
する第一及び第二の電流コマンド信号ICMDφA及び
CMDφBを発生するサブステップを含むことができ
る。特に、第一及び第二の電流値は、ディジタル電流値
信号86,88として制御手段84によって読み出され
る。電流値信号86,88は、16ビットワード(各モ
ータ相に対して8ビット)である1つのディジタルワー
ドから構成することができる。それから、読み出された
電流値信号86,88は、各D/Aコンバータ18に1
つの8ビットワードの、D/Aコンバータ18に印加さ
れる。D/Aコンバータ18は、電流コマンド信号I
CMDφA及びICMDφBを発生することにより応答
し、かつこれらは、駆動回路20に印加される。ステッ
プ114はまた、第一及び第二の励起信号を発生するた
めに駆動回路20に第一及び第二の電流コマンド信号I
CMDφA及びICMDφBを印加し、かつ、駆動電流
φA及びIφBのようなモータ12のモータ相巻線2
6A及び26Bにそれぞれ、励起信号を印加するサブス
テップを含むことができる。
【0061】ステップ112及び114(及びそれらの
関連したサブステップ)は、更新間隔中の割り込み間隔
の数に相当する所定の回数実行することができる。各更
新間隔の終わりに、ソフトウエア割り込みが発生する。
この点で、制御手段84を実行するメインソフトウエア
ルーチンは、新たなVELOCITY信号を発生させ(ステップ
108)、そしてこのプロセスが再び始まる。
【0062】本発明を第一及び第二の好適具体例を参照
して特に図示しかつ説明したけれども、種々の変化及び
変形が本発明の精神及び範囲から離れることなく本発明
においてなすことができるということが当業者には理解
できる。
【0063】
【発明の効果】本発明は、ステッパモータ制御回路にお
ける要素数を減少させ、そしてそれ故また、そのコスト
及びサイズを減少させることができる。さらに、本発明
は、モータ回転当たりのステップ数のような動作パラメ
ータ、及び電流コマンド設定を容易に選択することがで
きる。
【図面の簡単な説明】
【図1】本発明の第一の具体例に従う改良されたステッ
パモータシステムの簡単化された回路ブロック図であ
る。
【図2】図1にブロック図形態で示された制御手段をよ
り詳細に示す簡単化された回路ブロック図である。
【図3】本発明に従う制御回路により発生した波形例を
示す図である。
【図4】本発明の第一の具体例の原理体系を示す簡単化
されたフローチャートである。
【図5】図4にブロック図形態で示された不活動転送テ
ーブルのための電流値信号を決定する全体ステップをよ
り詳細に示す図である。
【図6】図6は、図2の電流値決定手段30をより詳細
に示す図である。
【図7】本発明の第二の具体例に従う改良されたステッ
パモータシステムの簡単化された回路ブロック図であ
る。
【図8】図7にブロック図形態で示された制御手段をよ
り詳細に示す簡単化された回路ブロック図である。
【図9】図8の電流値決定手段90をより詳細に示す図
である。
【図10】本発明の第二の具体例の原理体系を示す簡単
化されたフローチャートである。
【図11】図10にブロック図形態で示された電流値信
号を決定する全体ステップをより詳細に示す図である。
【符号の説明】
10 モータシステム 12 ステッパモータ 14 付勢手段 16 制御手段 18 ディジタル−アナログ(D/A)コンバータ 20 駆動回路 22 ロータ部 24 ステータ部 26A 巻線 26B 巻線

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 (A)モータのための励起波形に相当す
    る第一の電流値を関数テーブルから発生するステップ、
    (B)前記第一の電流値を第一の転送テーブルに記憶す
    るステップ、から成るモータ制御方法。
  2. 【請求項2】 さらに、(C)第一の更新間隔中に前記
    第一の転送テーブルから出力されるべきエントリー数に
    相当する複数回、ステップ(A)及び(B)を繰り返す
    ステップを含む請求項1に記載の方法。
  3. 【請求項3】 さらに、(D)前記モータのための励起
    波形に相当する第二の電流値を前記関数テーブルから発
    生するステップと、(E)前記第二の電流値を第二の転
    送テーブルに記憶するステップと、を含む請求項1に記
    載の方法。
  4. 【請求項4】 さらに、(F)第一の更新間隔中に前記
    第一の転送テーブルから出力されるべきエントリー数に
    相当する複数回、ステップ(A)及び(B)を繰り返す
    ステップと、(G)第二の更新間隔中に前記第二の転送
    テーブルから出力されるべきエントリー数に相当する複
    数回、ステップ(D)及び(E)を繰り返すステップ
    と、を含む請求項3に記載の方法。
  5. 【請求項5】 (A)第一の更新間隔中に速度信号を発
    生し、かつ該第一の更新間隔は複数の割り込み間隔を含
    み、また、前記速度信号は単位時間当たりの前記モータ
    の回転位置における所望の変化に相当するステップと、
    (B)インクリメンタル位置変化値を得るために所定数
    によって前記回転位置の前記変化を割り算するステップ
    と、(C)前記インクリメンタル位置変化値を使って前
    記複数の割り込み間隔の内の第一の割り込み間隔中に関
    数テーブルから第一の電流値を発生するステップと、
    (D)前記第一の電流値に応答して前記第一の割り込み
    間隔中に前記モータに第一の電流を発生するステップ
    と、から成るモータ制御方法。
  6. 【請求項6】 さらに、(E)前記複数の割り込み間隔
    中の内の各割り込み間隔中にステップ(C)及び(D)
    を繰り返すステップを含む請求項5に記載の方法。
  7. 【請求項7】 第一の電流値を発生する前記ステップ
    (C)は、第一の関数テーブルアドレスを得るために関
    数テーブル位置値に前記インクリメンタル位置変化値を
    加えるサブステップと、 前記第一の電流値を得るために前記第一の関数テーブル
    アドレスを使って前記関数テーブルにアクセスするサブ
    ステップと、を含む請求項5に記載の方法。
  8. 【請求項8】 第一の電流を発生する前記ステップ
    (D)は、 前記第一の電流値に応答して第一の電流コマンドを発生
    するサブステップと、 第一の励起信号を発生するために駆動回路に前記第一の
    電流コマンドを印加するサブステップと、 前記モータの第一のモータ相に前記第一の励起信号を印
    加するサブステップと、を含む請求項5に記載の方法。
  9. 【請求項9】 前記第一の電流値がサイン法則関数に相
    当する請求項5に記載の方法。
  10. 【請求項10】 さらに、(E)前記インクリメンタル
    位置変化値を使って前記第一の割り込み期間中に前記関
    数テーブルから第二の電流値を発生するステップと、
    (F)前記第二の電流値に応答して前記第一の割り込み
    間隔中に前記モータ内に第二の電流を発生するステップ
    と、を含む請求項5に記載の方法。
  11. 【請求項11】 さらに、(G)前記複数の割り込み間
    隔の内の各割り込み間隔中にステップ(C),(D),
    (E)及び(F)を繰り返すステップを含む請求項10
    に記載の方法。
  12. 【請求項12】 第二の電流値を発生する前記ステップ
    (E)は、 第二の関数テーブルアドレスを得るために第一の関数テ
    ーブルアドレスに位相オフセット値を加えるサブステッ
    プと、 前記第二の電流値を得るために前記第二の関数テーブル
    アドレスを使って前記関数テーブルをアクセスするサブ
    ステップと、を含む請求項10に記載の方法。
  13. 【請求項13】 前記第二の電流値が、コサイン法則関
    数に相当する請求項10に記載の方法。
  14. 【請求項14】 (A)第一の更新間隔中に速度信号を
    発生し、該第一の更新間隔は複数の割り込み間隔を含
    み、かつ前記速度信号は、単位時間当たりのモータの回
    転位置の所望変化に相当するステップと、(B)インク
    リメンタル位置変化値を得るために所定数によって前記
    回転位置の前記変化を割り算するステップと、(C)第
    一の関数テーブルアドレスを得るために関数テーブル位
    置値に前記インクリメンタル位置変化値を加えるステッ
    プと、(D)前記第一の電流値を得るために前記第一の
    関数テーブルアドレスを使って前記関数テーブルにアク
    セスするステップと、(E)前記第一の電流値に応答し
    て前記第一の割り込み間隔中にモータの第一の相に第一
    の電流を発生するステップと、(F)第二の関数テーブ
    ルアドレスを得るために前記第一の関数テーブルアドレ
    スに位相オフセット値を加えるステップと、(G)前記
    第二の電流値を得るために前記第二の関数テーブルアド
    レスを使って前記関数テーブルをアクセスするステップ
    と、(H)前記第二の電流値に応答して前記第一の割り
    込み間隔中に前記モータの第二の相に第二の電流を発生
    するステップと、から成るモータ制御方法。
  15. 【請求項15】 第一の更新間隔中に速度信号を発生
    し、該第一の更新間隔は複数の更新間隔を含み、かつ前
    記速度信号が単位時間当たりのモータの回転位置の所望
    変化に相当する手段と、 インクリメンタル位置変化値を得るために所定数によっ
    て前記回転位置の前記変化を割り算するための手段と、 前記インクリメンタル位置変化値を使って前記複数の割
    り込み間隔の内の第一の割り込み間隔中に関数テーブル
    から第一の電流値を発生するための手段と、 前記第一の電流値に応答して前記第一の割り込み間隔中
    に前記モータに第一の電流を発生するための手段と、か
    ら成るモータ制御装置。
  16. 【請求項16】 さらに、前記インクリメンタル位置変
    化値を使って前記複数の割り込み間隔の内の第一の割り
    込み間隔中に前記関数テーブルから第二の電流値を発生
    するための手段と、 前記第二の電流値に応答して前記第一の割り込み間隔中
    に前記モータに第二の電流を発生するための手段と、を
    備える請求項15に記載の装置。
JP11374750A 1999-01-05 1999-12-28 ステッパモ―タ駆動装置用直流コマンド発生 Pending JP2000209900A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/226,138 US6121745A (en) 1997-10-02 1999-01-05 Direct current command generation for a stepper motor drive
US09/226138 1999-01-05

Publications (1)

Publication Number Publication Date
JP2000209900A true JP2000209900A (ja) 2000-07-28

Family

ID=22847720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11374750A Pending JP2000209900A (ja) 1999-01-05 1999-12-28 ステッパモ―タ駆動装置用直流コマンド発生

Country Status (4)

Country Link
US (1) US6121745A (ja)
JP (1) JP2000209900A (ja)
DE (1) DE10000125A1 (ja)
FR (1) FR2788175A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19702931C1 (de) 1997-01-28 1998-07-02 Bosch Gmbh Robert Anordnung zur Nachlauferfassung von elektrischen Stellmotoren mit inkrementaler Positionserfassung
AU1179400A (en) * 1998-11-12 2000-06-05 Matsushita Electric Industrial Co., Ltd. Stepping motor control device
AU2001213154A1 (en) * 2000-08-15 2002-02-25 Vladimir Nikolayevich Davidov Method and apparatus for controlling acceleration and velocity of a stepper motor
CA2351201A1 (en) * 2000-11-21 2002-05-21 Zih Corporation An improved motor driver circuit
US6597147B2 (en) * 2000-12-29 2003-07-22 Pitney Bowes Inc. 1/8th and 1/16th micro-stepping motor drive software architecture
US7338260B2 (en) * 2004-03-17 2008-03-04 Baxier International Inc. System and method for controlling current provided to a stepping motor
CN1333519C (zh) * 2004-10-20 2007-08-22 宇东电浆科技股份有限公司 步进马达加速系统
CN102843083B (zh) * 2012-09-18 2015-06-03 天津市亚安科技股份有限公司 一种步进电机电流的控制方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4250544A (en) * 1980-01-04 1981-02-10 General Electric Company Combination microprocessor and discrete element control system for a clock rate controlled electronically commutated motor
US4353019A (en) * 1980-07-29 1982-10-05 Unisen, Inc. Adaptive pulsing motor control for positioning system
US4529919A (en) * 1983-01-05 1985-07-16 Towmotor Corporation Plugging and plugging override control apparatus
JP2572564B2 (ja) * 1983-08-22 1997-01-16 株式会社 エスジー 電気モータの位置決め制御装置
US4518907A (en) * 1983-11-07 1985-05-21 The Superior Electric Company Digital motor control method and means
US4642536A (en) * 1984-04-19 1987-02-10 General Electric Company Control system for an electronically commutated motor, method of controlling such, method of controlling an electronically commutated motor and laundry apparatus
US4630210A (en) * 1984-10-04 1986-12-16 Pitney Bowes Inc. Microprocessor controlled d.c. motor for controlling a load
JPS61150699A (ja) * 1984-12-25 1986-07-09 Seiko Seiki Co Ltd ステツプモ−タ制御装置
US4868477A (en) * 1987-06-23 1989-09-19 The Superior Electric Company Method and apparatus for controlling torque and torque ripple in a variable reluctance motor
US4845608A (en) * 1987-12-21 1989-07-04 General Electric Company Digital speed controller using a single-chip microcontroller
US4855660A (en) * 1988-02-18 1989-08-08 Siemens-Bendix Automotive Electronics L.P. Microstepping of an unipolar stepping motor
JPH02214496A (ja) * 1989-02-14 1990-08-27 Fanuc Ltd 交流電動機の制御方式
US5198741A (en) * 1989-07-31 1993-03-30 Canon Kabushiki Kaisha Drive control system of stepping motor
JP3024164B2 (ja) * 1990-04-13 2000-03-21 ソニー株式会社 オートフォーカス装置のモータ制御回路
US5187417A (en) * 1990-08-06 1993-02-16 Cincinnati Milacron Inc. Motor control apparatus and method
US5249118A (en) * 1991-09-03 1993-09-28 Golden Gate Microsystems Incorporated Fully adaptive velocity tracking drive control positioning system
KR940006958B1 (ko) * 1991-10-02 1994-07-30 삼성전자 주식회사 교류서보모터의 상전류 명령값 발생장치 및 발생방법
US5290205A (en) * 1991-11-08 1994-03-01 Quinton Instrument Company D.C. treadmill speed change motor controller system
KR950703759A (ko) * 1992-09-29 1995-09-20 발도르프, 옴케 스텝모우터 제어방법(process for controlling a step motor)
US5420492A (en) * 1993-01-14 1995-05-30 Emerson Electric Co. Method and apparatus of operating a dynamoelectric machine using DC bus current profile
US5359271A (en) * 1993-01-25 1994-10-25 Gtech Corporation Microstepping bipolar stepping motor controller for document positioning
JPH07194193A (ja) * 1993-12-27 1995-07-28 Canon Inc モータ制御方法
US5648759A (en) * 1994-02-02 1997-07-15 National Semiconductor Corporation Failsafe voltage regulator with warning signal driver
US5508594A (en) * 1994-06-10 1996-04-16 Westinghouse Electric Corp Electric vehicle chassis controller
US5583410A (en) * 1994-10-21 1996-12-10 Pitney Bowes Inc. Method and apparatus for multiplex control of a plurality of stepper motors
US5475289A (en) * 1994-11-04 1995-12-12 Trw Inc. Method and apparatus for controlling an electric assist steering system using two-dimensional interpolation for current commands
US5552691A (en) * 1994-11-14 1996-09-03 Pitney Bowes Inc. Microprocessor motor control
US5650705A (en) * 1995-02-13 1997-07-22 Hart; John Roger Apparatus and method for controlling currents in an inductor
DE19704296C2 (de) * 1997-02-06 2001-03-01 Leica Microsystems Verfahren und Vorrichtung zur Schrittmotoransteuerung
US5914579A (en) * 1997-10-02 1999-06-22 Dana Corporation Direct current command generation for a stepper motor drive

Also Published As

Publication number Publication date
US6121745A (en) 2000-09-19
DE10000125A1 (de) 2000-07-06
FR2788175A1 (fr) 2000-07-07

Similar Documents

Publication Publication Date Title
CA2231644C (en) Open-loop step motor control system
US4250544A (en) Combination microprocessor and discrete element control system for a clock rate controlled electronically commutated motor
US5914579A (en) Direct current command generation for a stepper motor drive
US4642544A (en) Control circuit for driving step motor
US4518904A (en) Stepper motor control for data disk system
EP1219013B1 (en) State advance controller commutation loop for brushless d.c. motors
JP2000209900A (ja) ステッパモ―タ駆動装置用直流コマンド発生
US4145643A (en) Control apparatus for driving a pulse motor
US6597147B2 (en) 1/8th and 1/16th micro-stepping motor drive software architecture
US5278481A (en) Control of stepping motors
JPH07114556B2 (ja) 電動機、電動機等に供される電流制御装置あるいはこれらに使用される演算装置、あるいはこれらの装置を具備する装置
US4803414A (en) Method of controlling a step motor
JP4128266B2 (ja) 可変ステップ角を使用したステッピングモータ駆動制御方法とその制御装置、並びにそのステッピングモータシステム
JP2769721B2 (ja) ディスク装置のステッピングモータ駆動方法
JP3260074B2 (ja) ステッピングモータの駆動装置及び方法
SU1552329A1 (ru) Вентильный электропривод
JPH07170794A (ja) ステッピングモータ制御方式
JPH06189598A (ja) ステッピングモータの駆動制御装置
EP0267417B1 (en) Phase sequencer for stepping motor
JPH0736599U (ja) 2相ステッピングモータの駆動装置
JPH08237982A (ja) スイッチ式リラクタンス形モータ及びスイッチ式リラクタンス形モータの起動方法
CA2413997C (en) Open-loop step motor control system
JPH0246196A (ja) ステツピングモータ制御方式
JPS62221898A (ja) ステツピングモ−タの駆動装置
JPS6166595A (ja) ステツピングモ−タ制御装置