JPH02184296A - ステップモータの異常検出装置 - Google Patents

ステップモータの異常検出装置

Info

Publication number
JPH02184296A
JPH02184296A JP224589A JP224589A JPH02184296A JP H02184296 A JPH02184296 A JP H02184296A JP 224589 A JP224589 A JP 224589A JP 224589 A JP224589 A JP 224589A JP H02184296 A JPH02184296 A JP H02184296A
Authority
JP
Japan
Prior art keywords
coil
voltage
phase
step motor
read
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.)
Granted
Application number
JP224589A
Other languages
English (en)
Other versions
JPH0750998B2 (ja
Inventor
Hidehiko Natsume
夏目 英彦
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.)
Asmo Co Ltd
Original Assignee
Asmo Co Ltd
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 Asmo Co Ltd filed Critical Asmo Co Ltd
Priority to JP224589A priority Critical patent/JPH0750998B2/ja
Publication of JPH02184296A publication Critical patent/JPH02184296A/ja
Publication of JPH0750998B2 publication Critical patent/JPH0750998B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明はステップモータの異常、たとえば脱調とか結線
の接続外れなどを検出する装置に関する。
「従来の技術」 ステップモータは開ループ制御が行える利点があるが、
逆に、負荷によりロックされ脱調してもそのままでは検
出できない弱点がある。
従来の脱調検出の方法として、ステップモータにフォト
インタラプタ等の簡単な位置検出器を設けてステップモ
ータの回転を検出するようにしたものがある。
さらに、直接脱調を検出するものではないが、負荷トル
クを検出する方法として、ステップモータの安定点位置
と駆動信号との位相差により負荷を検出する方法が提案
されている(特開昭60−234499号公報)。
また、巻線の断線を検出する方法として、巻線(コイル
)電圧をダイオードを介して5マイクロプロセツサで測
定し異常を検出する方法が提案されている(特開昭62
−181695号公報)。
[発明が解決しようとする課題」 しかしながら、特別の位置検出器を設けるものは部品点
数が増加するという問題点がある。負荷トルクを検出す
る方法はステップモータの安定点位置を検出する手段が
複雑になり、脱調を検出する目的に用いるには高度に過
ぎる。また、ダイオードを介してコイル電圧を検出する
方法は簡易である利点があるが、断線検出しか行えず、
脱調を検出することができない。
本発明は上記の問題点に鑑みなされたものであり、たと
えばシリアルプリンタのヘッド駆動にステップモータを
用いた様な場合に、負荷変動によるステップモータの脱
調あるいは結線外れによる制御不能などの異常を、簡易
に検出することができるステップモータの異常検出装置
を提供することを目的とする。
[課題を解決するための手段J 上記の目的を達成するため、本発明では、スイッチング
素子により電源と各相コイルとの通電を断続しPMff
3またはハイブリッド形のステップモータを駆動する駆
動回路と、少なくとも一つの相のコイル電圧を検出すべ
く前記スイッチング素子とコイルとの接続点に接続され
たA/Dコンバータ及びプロセッサと、当該相のコイル
及び共巻きされている相のコイルの両者共に励磁してい
ない励磁タイミングに当該相のコイル電圧を読込み記憶
するコイル電圧読込み手段と、前記読込まれたコイル電
圧のうち互いに異なった励磁タイミングにおけるコイル
電圧を比較しその電圧差が所定しきい値を超えたことに
より異常を判別する異常検出手段と、を備えたことを特
徴とするステップモータの異常検出装置が提供される。
また、第2の発明として、前記コイル電圧読込み手段に
より読込まれたコイル電圧を所定値と比較し異常を判別
する異常検出手段を備えたことを特徴とするステップモ
ータの異常検出装置が提供される。
「作用」 上記のように構成された異常検出装置では、所定の励磁
タイミングにおけるコイル電圧が読込まれる。このコイ
ル電圧は、当該コイルが励磁されていないため、電源電
圧に速度起電力が重ね合わされた誘起電圧になる。速度
起電力は励磁タイミングにより正にも負にもなる。
第1の発明では、速度起電力が正になる励磁タイミング
に誘起されるコイル電圧と、負になる励磁タイミングに
誘起されるコイル電圧との差が判別基準になる。この電
圧差は、ステップモータの回転速度に対応するか・ら、
ステップモータがロックされ停止して税調を生じていれ
ば、これを容易に検出することができる。
第2の発明では、同一の励磁タイミングに誘起されるコ
イル電圧そのものの値が所定値と比較される。所定値に
は、たとえば電源電圧に相当する値が選定される。電源
電圧に相当する値と誘起されたコイル電圧との差により
、ステップモータが脱調して停止しているか否かを検出
することができる。また、コイル電圧に電源電圧分が重
畳していなければ、当該コイルの断線又は結線外れと判
別することができる。
また、所定値として、正常運転時に当該コイルに誘起さ
れるコイル電圧を用いることもできる。
この場合、たとえば、同一励磁タイミングにおけるコイ
ル電圧を順次記憶していき、そのコイル電圧が大きく変
動した場合に、何らかの異常が生じたと判別することが
できる。
「実施例」 本発明の実施例について図面を参照し説明する。
第1図は異常検出装置を備えたステップモータ制御装置
を示す回路図である。この実施例ではPM形(永久磁石
形)ステップモータ1によりシリアルプリンタのヘッド
2の位置を制御する装置3に本発明が適用されている。
シリアルプリンタのヘッド2を駆動するステップモータ
1はPM形であり、4相の励磁コイル11〜14を備え
ている。コイル11〜14はいわゆるバイファイラ巻が
採用され、第1相と第3相のコイル11.13及び第2
相と第4相のコイル12.14がそれぞれ共巻きに巻回
されている。
各相のコイル11〜14の一端はバッテリ電源4に接続
され、他端は駆動回路5内のスイッチング素子51〜5
4に接続されている。各スイッチング素子51〜54を
オン、オフすることにより、各コイル11〜14との接
続点がアースレベルに落とされ、各コイル11〜14と
電源4との通電が断続される。駆動回路5はマイクロコ
ンピュータ6により制御される。
マイクロコンピュータ6は、プロセッサ(CPU)61
.メモリ(ROM62.RAM63)、A/Dコンバー
タ64及びI10インターフェース65を備える周知の
ものである。A/Dコンバータ64はマルチプレクサを
内蔵し、多チャンネルから選択してデータを読込むこと
ができる。A/Dコンバータ64には、シリアルプリン
タのヘッド2の位置を指令するアナログ指令信号の他に
、各相のコイル11〜14のコイル電圧が分圧されて入
力される。
駆動回路5のスイッチング素子51〜54と各相コイル
11〜14との接続点には分圧抵抗21゜22が接続さ
れ、分圧された電圧がA/Dコンバータ64に入力され
ている。各分圧点にはコンデンサ23及びクランプダイ
オード24.25が接続され、コイル11〜14からの
サージ電圧を吸収している。
第2図はステップモータ1の励磁波形及び各相コイル1
1〜14で検出される電圧波形を示す波形図である。
本実施例では1−2相励磁力式が用いられ、第1相コイ
ル11から順次各コイル11〜14が一部重複して励磁
され回転駆動される。ここで励磁状態番区別するため、
第1相コイル11が励磁されたrl!後の状態から、順
次、第1.第2.第3・・・第8励磁タイミングと称す
ることとする。
各相コイル11〜14で検出される電圧について、第3
相コイル13のコイル電圧を例に、第3図を併せ参照し
て説明する。
第3相コイル13の励磁が終了した直後の第8励磁タイ
ミングでは、コイル電圧は電流遮断による強いサージ電
圧φ1が現れた後減衰し、安定した電圧■、に移行する
。この安定した電圧vAは第8励磁タイミングでは第3
相コイル13及び共巻きされている第1相コイル11の
両者共に励磁されていないため、電源電圧に速度起電力
が重畳した電圧になる。ここでは速度起電力が正になり
、電源電圧より高い電圧になる。
第1.第2.第3励磁タイミングでは、共巻きされてい
る第1相コイル11が励磁されるため、その誘導電圧が
加わった電圧φ、になる。
第4励磁タイミングでは、第1相コイル11の励磁遮断
によるサージ電圧の銹導電圧φコが現れた後、安定した
電圧■、に回復する。このサージ誘導電圧φ、は負であ
るが、クランプダイオード25によりクランプされるた
めほとんどO■の電圧として現れる。サージ減衰後の安
定した電圧■、は、第4励磁タイミングが第3相コイル
13及び第1相コイル11の両者共に励磁されていない
タイミングであることから、電源電圧に速度起電力が重
畳した電圧になる。ここでは速度起電力は負になり、電
源電圧より低い電圧になる。
第5.第6.第7励磁タイミングでは、第3相コイル1
3自体が励磁されるため、コイル電圧はスイッチング素
子53によりアースレベルに落とされ、0■の電圧φ4
になる。
本実施例では、第3図に示す様に、第8励磁タイミング
におけるサージ減衰後のコイル電圧■。
と、第4励磁タイミングにおけるサージ減衰後のコイル
電圧■、とが比較され、脱調等の異常が判別される。す
なわち、励磁切換時点からτ時間遅れた時点A及び時点
Bに誘起されるコイル電圧■6及び■、を測定し、電圧
差ΔV=VA  V@が所定のしきい値αより小さけれ
ば脱調等の異常と判別するのである。脱調時には、図中
に鎖線で示す波形のように、コイル電圧■1とV、どの
差がほとんどなくなり、ときには大小が逆転して電圧差
ΔVは負の値を示す。
第4図は上記の制御思想を実現するマイクロコンピュー
タでの処理を示すフローチャートである。
ここでは、第3相コイル13だけではなく、4つのコイ
ル11〜14すべてについて上記時点Aと時点Bとに誘
起されるコイル電圧V A、 V mが調べられ、一つ
のコイルでも電圧差Δ■がΔVくαとなれば脱調と判断
する。
この処理100は、各相の励磁切換からτ時間後に発生
する内部割込みにより開始される。処理100が開始さ
れると、まず脱調検出が可能(イネーブル)な動作モー
ドか否かが図示しないパラメータにより調べられ(ステ
ラ7101)、可能であれば以下の処理が実行される。
ステップ102では、今回の割込みの励磁タイミングか
らA点となる相が選択され、当該布のコイル電圧を読込
むべ(A/Dコンバータ64に選択信号が与えられる(
ステップ102)、たとえば、第8励磁タイミングでは
、第2図に示す様に第3相コイル13が選択される。そ
して、A/Dコンバータ64がら当該布のコイル電圧を
読込み、そのコイル電圧■、をメモリ63に格納する(
ステップ103.104)、同時に、当該布のA点電圧
を読込んだ旨のフラグを立てておく(ステップ105)
次いで、今回の励磁タイミングがB点となる相を選択す
る(ステップ106)、たとえば、第8励磁タイミング
では第1相コイル11を選択する。
そして、当該布のコイル電圧を読込み、そのコイル電圧
■、をメモリ63に格納する(ステップ1゜8.109
>、なお、当該布(ここでは第1相)のA点検出フラグ
が立っていなければ、比較の対象が未測定であるので、
ステップ107がら126に進み今回の処理100を終
了する。
ステップ110では、電圧差ΔV=VA−V、を算出す
る。ここで用いられるコイル電圧■、は今回測定した第
3相コイルのコイル電圧ではなく、4回前の第4励磁タ
イミングの割込処理時に測定記憶した第1相コイルのコ
イル電圧■あである。
その電圧差Δ■が所定しきい値αを超えていれば、正常
であるからステップ111から112に進み今回の処理
を終了する。一方、超えていなければ、脱調と判断しス
テップ120に進み、a屑処理を行う。
以上の処理を各励磁タイミング毎に行うことにより、4
つのコイル11〜14すべてについて誘起されるコイル
電圧がチエツクされる。
本実施例は、速度起電力が正となる励磁タイミングのコ
イル電圧■、と負となる励磁タイミングのコイル電圧■
−との電圧差ΔV=V、−V、によりステップモータの
異常を検出しているため、検出感度がよいという利点が
ある。
第5図は第2の実施例を示すフローチャートである。前
記実施例ではコイル電圧vAと■、との差Δ■により異
常を判別したが、本実施例では、同一励磁タイミングに
誘起されるコイル電圧VAの変動により異常を判別する
処31200が開始されると、励磁切換時点からτ時間
経過した検出タイミングを待ち(ステップ201)、検
出タイミングが到達すると、その励磁タイミングを判別
する(ステップ202)、その励磁タイミングでA点と
なるコイルが選択され、A/Dコンバータ64を駆動し
て当該布のコイル電圧が読込まれる(ステップ203〜
206)、読込まれた電圧値はメモリに記憶される。
ステップ207では、今回測定され読込まれたデータと
、8回前の前回の同一励磁タイミングにおいて測定され
記憶されたデータとの差が変動値として算出される。変
動値が所定のしきい値β以内であれば正常であるからス
テップ209に進み、記憶するデータの更新を行って処
理を終了する。
一方、変動値が所定のしきい値β以上であれば異常と判
断し、ステップ220に進み脱調処理を実行する。
本実施例は処理が比較的簡単になるという利点がある。
本実施例ではコイル電圧■、の変動によりステップモー
タ1の脱調を検出している。これは正常運転時に誘起さ
れるコイル電圧を記憶して所定値とみなし、当該所定値
と今回測定したコイル電圧とを比較して異常を検出して
いると考えることができる。
前記実施例では誘起されるコイル電圧の変動により脱調
を検出したが、コイル電圧■6を直接電源電圧に相当す
る電圧■。と比較することも可能である。第3図に示す
様に電源電圧に相当する所定電圧V0と誘起されるコイ
ル電圧vAとの差が所定しきい値以下であれば脱調と判
別するのである。
しかし、この方法は、バッテリ電源4の電圧自体が変動
するため、各相コイル11〜14の電圧に加えてバッテ
リ電源4の電圧もA/Dコンバータ64に接続し測定す
る必要がある。
以上説明した実施例はいずれも脱調の検出を主目的とす
るが、ステップモータ1と制御袋W3との結線カプラの
外れ、あるいはコイル11〜14の断線等も検出するこ
とができる。第6図は正常時と結線カブラ外れ時とを対
比して示すコイル電圧の波形図である。正常時には、時
点A及び時点Bには確立したコイル電圧V、、V、が発
生する。
これに対して、結線カブラの外れ時などに観察されるコ
イル電圧Va’、Vm’はほとんどOVに近い。
従って、たとえばA点のコイル電圧vAを所定値γと比
較することにより、結線外れ、断線等を検出することが
できる。所定値γには0.5V程度の小さな値が用いら
れる。
第7rjliはその処理を示すフローチャートである。
この処理は第4図と同様に、励磁切換からτ時間後に発
生する内部割込みにより開始される。処理30(1m始
されると、異常検出が可能か否かが調べられ(ステラ7
301)、今回の割込みの励磁タイミングからA点とな
る相が選択され、A/Dコンバータ64の入力信号が選
択される(ステップ302)、そして、当該相のコイル
電圧■1が読込まれる(ステップ303)、ステップ3
04では、読込まれたコイル電圧■^が所定値γより大
であるか否かが判別される。大であれば正常であるから
そのまま今回の処理を終了する。コイル電圧■えが所定
値γより小であれば結線カプラ外れと判断し、ステップ
320に進み異常処理を実行する。第7図に示す結線外
れ検出の処理は、第4図に示す処理の中に組み込み、脱
調と同時に結線外れも検出するようにすることが好まし
い。
「発明の効果」 本発明は、上記の構成を有し所定励磁タイミングにおけ
る各相コイルに誘起するコイル電圧を測定比較してステ
ップモータの異常を検出するものであるから、特別の位
置検出器等をステップモータに取付けることなく、容易
に異常を検出することができるという効果がある。
特に、第1の発明は容易に脱調を検出することができる
。第2の発明は容易に結線外れを検出することができる
また、本発明をマイクロコンピュータを備えたステップ
モータ制御装置に適用する場合は、コイル電圧をA/D
コンバータに入力するための分圧抵抗等の僅かの部品を
追加するのみでよく、回路構成が極めて簡単であるとい
う利点を奏する。
【図面の簡単な説明】
図面は本発明の実施例を示し、第1図は異常検出装置を
備えたステップモータ制御装置を示す回路図、第2図は
励磁タイミング及びコイル電圧を示す波形図、第3図は
その一部を示す波形図、第4図は第1の実施例の処理を
示すフローチャート、第5図は第2の実施例の処理を示
すフローチャート、第6図は結線外れ時のコイル電圧を
示す波形図、第7図は第3の実施例を示すフローチャー
トである。 191.ステップモータ、 311.制御装置、501
.駆動回路、 6.1.マイクロコンピュータ、11〜
14 。 、各相コイル、 51〜54 1.スイ ッチング素子、 61 、、、プロセッサ(CPU)、 64、、、A/Dコンバータ。 第6図 正 常 時 A点 B点

Claims (1)

  1. 【特許請求の範囲】 1 スイッチング素子により電源と各相コイルとの通電
    を断続しPM形またはハイブリッド形のステップモータ
    を駆動する駆動回路と、 少なくとも一つの相のコイル電圧を検出すべく前記スイ
    ッチング素子とコイルとの接続点に接続されたA/Dコ
    ンバータ及びプロセッサと、当該相のコイル及び共巻き
    されている相のコイルの両者共に励磁していない励磁タ
    イミングに当該相のコイル電圧を読込み記憶するコイル
    電圧読込み手段と、 前記読込まれたコイル電圧のうち互いに異なった励磁タ
    イミングにおけるコイル電圧を比較しその電圧差が所定
    しきい値を超えたことにより異常を判別する異常検出手
    段と、 を備えたことを特徴とするステップモータの異常検出装
    置。 2 スイッチング素子により電源と各相コイルとの通電
    を断続しPM形またはハイブリッド形のステップモータ
    を駆動する駆動回路と、 少なくとも一つの相のコイル電圧を検出すべく前記スイ
    ッチング素子とコイルとの接続点に接続されたA/Dコ
    ンバータ及びプロセッサと、当該相のコイル及び共巻き
    されている相のコイルの両者共に励磁していない励磁タ
    イミングに当該相のコイル電圧を読込み記憶するコイル
    電圧読込み手段と、 前記読込まれたコイル電圧を所定値と比較し異常を判別
    する異常検出手段と、 を備えたことを特徴とするステップモータの異常検出装
    置。
JP224589A 1989-01-09 1989-01-09 ステップモータの異常検出装置 Expired - Fee Related JPH0750998B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP224589A JPH0750998B2 (ja) 1989-01-09 1989-01-09 ステップモータの異常検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP224589A JPH0750998B2 (ja) 1989-01-09 1989-01-09 ステップモータの異常検出装置

Publications (2)

Publication Number Publication Date
JPH02184296A true JPH02184296A (ja) 1990-07-18
JPH0750998B2 JPH0750998B2 (ja) 1995-05-31

Family

ID=11523968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP224589A Expired - Fee Related JPH0750998B2 (ja) 1989-01-09 1989-01-09 ステップモータの異常検出装置

Country Status (1)

Country Link
JP (1) JPH0750998B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0855298A1 (en) 1997-01-28 1998-07-29 Sanden Corporation Rotation driving system simple in structure and capable of reliably detecting abnormal rotation of a stepping motor
JP2009261045A (ja) * 2008-04-11 2009-11-05 Minebea Co Ltd ステッピングモータの脱調状態検出方法
WO2012102232A1 (ja) * 2011-01-25 2012-08-02 ローム株式会社 ステッピングモータの駆動回路、その集積回路およびそれを備える電子機器、ならびに、ステッピングモータの駆動回路の制御方法
JP2012157122A (ja) * 2011-01-25 2012-08-16 Rohm Co Ltd ステッピングモータの駆動回路、その集積回路およびそれを備える電子機器、ならびに、ステッピングモータの駆動回路の制御方法
JP2012222934A (ja) * 2011-04-07 2012-11-12 Rohm Co Ltd ステッピングモータの駆動回路、その集積回路およびそれを備える電子機器、ならびに、ステッピングモータの駆動回路の制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7129802B2 (ja) * 2018-03-23 2022-09-02 ミネベアミツミ株式会社 モータ制御装置、ステッピングモータシステム及びモータ制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0855298A1 (en) 1997-01-28 1998-07-29 Sanden Corporation Rotation driving system simple in structure and capable of reliably detecting abnormal rotation of a stepping motor
JP2009261045A (ja) * 2008-04-11 2009-11-05 Minebea Co Ltd ステッピングモータの脱調状態検出方法
EP2110942A3 (en) * 2008-04-11 2015-08-19 MINEBEA Co., Ltd. Method of detecting state of synchronization loss in stepping motor
WO2012102232A1 (ja) * 2011-01-25 2012-08-02 ローム株式会社 ステッピングモータの駆動回路、その集積回路およびそれを備える電子機器、ならびに、ステッピングモータの駆動回路の制御方法
JP2012157122A (ja) * 2011-01-25 2012-08-16 Rohm Co Ltd ステッピングモータの駆動回路、その集積回路およびそれを備える電子機器、ならびに、ステッピングモータの駆動回路の制御方法
CN103404020A (zh) * 2011-01-25 2013-11-20 罗姆股份有限公司 步进电机的驱动电路、其集成电路和包括该集成电路的电子设备以及步进电机的驱动电路的控制方法
US9654040B2 (en) 2011-01-25 2017-05-16 Rohm Co., Ltd. Drive circuit of stepping motor, integrated circuit thereof, and electronic equipment including same, and method for controlling drive circuit of stepping motor
JP2012222934A (ja) * 2011-04-07 2012-11-12 Rohm Co Ltd ステッピングモータの駆動回路、その集積回路およびそれを備える電子機器、ならびに、ステッピングモータの駆動回路の制御方法

Also Published As

Publication number Publication date
JPH0750998B2 (ja) 1995-05-31

Similar Documents

Publication Publication Date Title
US6992451B2 (en) Motor control apparatus operable in fail-safe mode
CN101127502A (zh) 无刷电机的驱动装置和无刷电机的启动方法及无刷电机的转子停止位置检测方法
US7170254B2 (en) Stepper motor driving apparatus
JP2006050890A (ja) 発電制御装置
US6956351B2 (en) Driving device for stepping motor
CN102055397B (zh) 发电机的输出控制装置
EP1868287A2 (en) Controller for ensuring start of operation of synchronous motor
JPH02184296A (ja) ステップモータの異常検出装置
US20020047351A1 (en) Method of starting brushless DC motor on the basis of induced voltage in armature coil for detection of position of rotor
JP3871130B2 (ja) モータ制御装置
JPH1023783A (ja) 直流ブラシレスモータ駆動方法及び装置
JPH01148099A (ja) パルスモータ異常検知装置
JPH0640756B2 (ja) ステツピングモ−タの異常検知装置
JP4211139B2 (ja) 電気負荷の通電制御装置
KR100390493B1 (ko) 에스알엠의 초기 기동방법
KR100283900B1 (ko) 탭단자를 지닌 직류 브러시리스 모터 제어용 모터 제어장치
JP3849629B2 (ja) モータ制御装置
WO2024070464A1 (ja) モータ制御装置
JP6967880B2 (ja) 電子制御装置
JP3134663B2 (ja) ステップモータ励磁コイルの断線診断装置
JP2024048947A (ja) モータ制御装置
JP2024048927A (ja) モータ制御装置
JP3934879B2 (ja) 駆動装置及び駆動制御装置
JPS631395A (ja) ブラシレスモ−タの駆動回路
JPH10257690A (ja) 車両用交流発電機の発電停止検出方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees