(57)【要約】  本開示の１つの局面における電動作業機は、モータと、操作部と、制御部と、を備える。モータは、バッテリパックから電力の供給を受けて駆動する。操作部は、モータを駆動させるために操作される。制御部は、操作部が操作されたことに応じて、モータを始動させ、バッテリパックの放電状態に関する状態情報を取得し、取得した状態情報に基づいて、バッテリパックによる保護動作の実行を抑制するように、モータの駆動を制御する。
2020054775.tif 000002
【特許請求の範囲】
【請求項１】
過負荷になったことに応じて保護動作を実行するバッテリパックから電力の供給を受けて作動する電動作業機であって、
前記バッテリパックから電力の供給を受けて駆動するモータと、
前記モータを始動させるために操作されるように構成された操作部と、
前記操作部が操作されたことに応じて、前記モータを始動させ、前記バッテリパックの放電状態に関する状態情報を取得し、取得した前記状態情報に基づいて、前記バッテリパックによる前記保護動作の実行を抑制するように、前記モータの駆動を制御するように構成されている制御部と、を備える、
電動作業機。
【請求項２】
前記制御部は、前記状態情報に基づいて、前記バッテリパックにより前記保護動作が実行される前に、供給電力に関する前記モータの制御パラメータを変更するように構成されている、
請求項１に記載の電動作業機。
【請求項３】
前記制御部は、前記状態情報に基づいて、前記供給電力を制限するように前記制御パラメータを変更するように構成されている、
請求項２に記載の電動作業機。
【請求項４】
前記状態情報は、前記バッテリパックが前記保護動作を実行する予兆に関する情報を含んでいる、
請求項２又は３に記載の電動作業機。
【請求項５】
前記制御パラメータは、前記バッテリパックから前記モータへ流れる放電電流の値を含み、
前記制御部は、前記状態情報に基づいて、前記放電電流の値を制限する、
請求項２〜４のいずれか１項に記載の電動作業機。
【請求項６】
前記制御部は、前記状態情報に基づいて、前記バッテリパックにより前記保護動作が実行される前に、前記モータを停止させるように構成されている、
請求項１に記載の電動作業機。
【請求項７】
前記状態情報は、前記バッテリパックから前記モータに供給される放電電流の値に応じた加算値を累積した、前記バッテリパックが前記保護動作を実行するために用いる累積値を含み、
前記制御部は、前記累積値をバッテリ保護値として用いて、前記モータの駆動を制御するように構成されている、
請求項１〜６のいずれか１項に記載の電動作業機。
【請求項８】
前記状態情報は、前記バッテリパックが前記保護動作を実行するために用いる累積値を算出するためのマップ情報を含み、
前記制御部は、放電に関する放電関係値を検出し、検出された前記放電関係値と前記マップ情報とからバッテリ保護値を算出し、算出された前記バッテリ保護値を用いて、前記モータの駆動を制御するように構成されており、
前記バッテリ保護値は、前記バッテリパックにより前記マップ情報における前記放電関係値に応じた加算値を累積して算出される前記累積値に対応する値である、
請求項１〜６のいずれか１項に記載の電動作業機。
【請求項９】
前記放電関係値は、前記バッテリパックから前記電動作業機へ流れる放電電流の値である、
請求項８に記載の電動作業機。
【請求項１０】
前記状態情報は、前記累積値を含み、
前記制御部は、前記バッテリパックから前記累積値を取得したことに応じて、前記バッテリパックから取得された前記累積値を、前記バッテリ保護値とするように構成されている、
請求項８又は９のいずれか１項に記載の電動作業機。
【請求項１１】
前記制御部は、前記バッテリパックから取得された過去の前記累積値に、前記マップ情報における検出された前記放電関係値に応じた前記加算値を加算して、前記バッテリ保護値を算出するように構成されている、
請求項１０に記載の電動作業機。
【請求項１２】
前記バッテリパックは、前記累積値が保護閾値を超えたことに応じて、前記保護動作を実行するように構成されており、
前記制御部は、前記バッテリ保護値が前記保護閾値よりも小さい制限閾値を超えたことに応じて、供給電力を制限するように、前記供給電力に関する前記モータの制御パラメータを変更するように構成されている、
請求項７〜１１のいずれか１項に記載の電動作業機。
【請求項１３】
前記状態情報は、前記バッテリパックから前記モータへ流れる放電電流の値と前記加算値との対応関係を示すマップ情報を含み、
前記バッテリパックは、前記累積値が保護閾値を超えたことに応じて、前記保護動作を実行するように構成されており、
前記制御部は、前記放電電流を検出し、前記バッテリ保護値と検出された前記放電電流の値と前記マップ情報とから、前記バッテリパックが前記保護動作を実行するまでの時間を予測し、予測された時間が時間閾値よりも短いことに応じて、供給電力を制限するように前記供給電力に関する前記モータの制御パラメータを変更するように構成されている、
請求項７〜１２のいずれか１項に記載の電動作業機。
【請求項１４】
前記バッテリパックは、前記累積値が保護閾値を超えたことに応じて、前記保護動作を実行するように構成されており、
前記制御部は、前記バッテリ保護値が前記保護閾値よりも小さい停止閾値を超えたことに応じて、前記モータを停止させるように構成されている、
請求項７〜１１のいずれか１項に記載の電動作業機。
【請求項１５】
前記停止閾値は、第１停止閾値と、前記第１停止閾値よりも大きい第２停止閾値とを含み、
前記制御部は、前記バッテリ保護値が前記第１停止閾値を超えたことに応じて、前記モータを停止させた後、前記操作部が操作されたことに応じて、前記モータを再始動させ、前記バッテリ保護値が前記第２停止閾値を超えたことに応じて、前記モータを停止させた後、前記バッテリ保護値が前記第１停止閾値を下回るまで、前記モータの再始動を禁止するように構成されている、
請求項１４に記載の電動作業機。
【請求項１６】
前記状態情報は、前記バッテリパックから前記モータへ流れる放電電流の値と前記加算値との対応関係を示すマップ情報を含み、
前記制御部は、前記放電電流の値を検出し、検出された前記放電電流の値と取得された前記マップ情報とに基づいて、前記制限閾値を設定するように構成されている、
請求項１２に記載の電動作業機。
【請求項１７】
前記状態情報は、前記バッテリパックのバッテリ温度と、前記バッテリ温度別の前記マップ情報と、を含み、
前記制御部は、検出された前記放電電流の値と、取得された前記バッテリ温度と、取得された前記マップ情報と、に基づいて、前記制限閾値を設定する、
請求項１６に記載の電動作業機。
【請求項１８】
前記状態情報は、前記バッテリパックの残容量を含み、
前記バッテリパックは、前記残容量が第１容量閾値を下回ったことに応じて、前記保護動作を実行し、
前記制御部は、前記残容量が前記第１容量閾値よりも大きい第２容量閾値を下回ったことに応じて、供給電力を制限するように前記供給電力に関する前記モータの制御パラメータを変更するように構成されている、
請求項１〜７のいずれか１項に記載の電動作業機。
【請求項１９】
前記状態情報は、前記バッテリパックのバッテリ温度を含み、
前記バッテリパックは、前記バッテリ温度が第１温度閾値を超えたことに応じて、前記保護動作を実行し、
前記制御部は、前記バッテリ温度が前記第１温度閾値よりも小さい第２温度閾値を超えたことに応じて、供給電力を制限するように前記供給電力に関する制御パラメータを変更する、
請求項１〜７のいずれか１項に記載の電動作業機
【請求項２０】
前記制御部は、前記モータのパルス幅変調（ＰＷＭ）制御を実行し、
前記制御パラメータは、前記ＰＷＭ制御でのデューティ比を含む、
請求項２〜５、１２、１３、１８、１９のいずれか１項に記載の電動作業機。
【請求項２１】
前記制御部は、前記モータの駆動前から前記状態情報を取得し、前記モータの駆動前から前記状態情報に基づいて前記制御パラメータを変更する、
請求項２〜５、１２、１３、１８〜２０のいずれか１項に記載の電動作業機。
【請求項２２】
前記制御部へ電源を供給するための主電源スイッチを更に備え、
前記制御部は、前記主電源スイッチがオンになった後、且つ、前記モータの駆動前の時点から、前記バッテリパックに対して前記状態情報の要求を開始する、
請求項１〜２１のいずれか１項に記載の電動作業機。
【請求項２３】
前記制御部は、前記バッテリパックからシリアル通信によって伝送された前記状態情報を取得し、
前記バッテリパックから前記モータへ電流が流れている時における前記シリアル通信の頻度は、前記バッテリパックから前記モータへ電流が流れていない時における前記シリアル通信の頻度よりも高い、
請求項１〜２２のいずれか１項に記載の電動作業機。
【請求項２４】
前記制御部は、取得された前記状態情報に基づいて、前記バッテリパックから前記モータへ流れる放電電流について電流上限値を設定し、前記放電電流の値が設定された前記電流上限値以下に制御する、
請求項１〜２３のいずれか１項に記載の電動作業機。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本国際出願は、日本国特許庁に出願された日本国特許出願第２０１８−１７２７４７号に基づく優先権を主張するものであり、日本国特許出願第２０１８−１７２７４７号の全内容を本国際出願に参照により援用する。
【技術分野】
【０００２】
本開示は、電動作業機に関する。
【背景技術】
【０００３】
下記特許文献１に記載の電動作業機は、複数のバッテリセルが直列接続されたバッテリパックから電力の供給を受けて動作する。上記バッテリパックは、複数のバッテリセルのいずれか１つの電圧値が閾値よりも低い状態が一定時間継続した場合に、放電禁止信号を電動作業機へ出力している。上記電動作業機は、バッテリパックから放電禁止信号が入力されると、モータの電流を制御するスイッチング素子を停止して、バッテリパックを保護している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１３１７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
バッテリパックは、比較的大きな電流が比較的長い時間流れた場合にも、故障する可能性がある。よって、このような過電流状態の場合においても、放電禁止信号がバッテリパックから出力されて、バッテリパックが保護されることが望ましい。しかしながら、作業機の負荷が高くなると、バッテリパックから作業機へ流れる電流が大きくなる。そのため、バッテリパックが過電流状態の時に放電を禁止すると、作業機の負荷が高いときに頻繁に放電が禁止され、作業効率が低下するという問題がある。【０００６】
本開示は、保護すべきときにバッテリパックの保護機能を動作させつつ、使用者の利便性を向上した電動作業機を提供する。
【課題を解決するための手段】
【０００７】
本開示の１つの局面は、過負荷になったことに応じて保護動作を実行するバッテリパックから電力の供給を受けて作動する電動作業機であって、モータと、スイッチと、制御部と、を備える。モータは、バッテリパックから電力の供給を受けて駆動する。スイッチは、モータを始動させるために操作されるように構成される。制御部は、スイッチが操作されたことに応じて、モータを始動させ、バッテリパックの放電状態に関する状態情報を取得し、取得した状態情報に基づいて、バッテリパックによる保護動作の実行を抑制するように、モータの駆動を制御するように構成されている。【０００８】
上述の電動作業機の制御部によりバッテリパックの放電状態に関する状態情報が取得される。バッテリパックは過負荷になると保護動作を実行する。そのため、制御部は、取得した状態情報に基づいて、バッテリパックによる保護動作の実行を抑制するように、モータの駆動を制御する。これにより、バッテリパックによる保護動作の実行を抑制しつつ、電動作業機による作業を継続することができる。このとき、バッテリパックが保護動作を実行する条件は変更されない。よって、保護すべきときにバッテリパックが保護動作を実行できるようにしつつ、使用者の利便性を高めることができる。【０００９】
また、制御部は、状態情報に基づいて、バッテリパックにより保護動作が実行される前に、供給電力に関するモータの制御パラメータを変更するように構成されていてもよい。【００１０】
バッテリパックにより保護動作が実行される前に、制御部が供給電力に関するモータの制御パラメータを変更することにより、バッテリパックによる保護動作の実行が抑制され、電動作業機による作業を継続することができる。【００１１】
また、制御部は、状態情報に基づいて、供給電力を制限するように制御パラメータを変更するように構成されていてもよい。【００１２】
制御部が供給電力を制限するように制御パラメータを変更することにより、バッテリパックが保護動作を実行する前に供給電力が制限される。その結果、バッテリパックの負荷の累積が抑制されるため、バッテリパックによる保護動作が実行されない状態で、電動作業機による作業を継続することができる。【００１３】
また、状態情報は、バッテリパックが保護動作を実行する予兆に関する情報を含んでいてもよい。【００１４】
状態情報が、保護動作が実行される予兆に関する情報を含んでいることにより、制御部は、バッテリパックが保護動作を実行する前にその予兆を認識することができる。ひいては、制御部は、バッテリパックにより保護動作が実行される前に、保護動作が実行されないように、すなわち、バッテリパックの負荷の累積が抑制されるように、制御パラメータを変更することができる。【００１５】
また、制御パラメータは、バッテリパックからモータへ流れる放電電流の値を含み、制御部は、状態情報に基づいて、放電電流の値を制限してもよい。【００１６】
制御部が放電電流を制限することにより、バッテリパックが保護動作を実行する前に供給電力が制限される。その結果、使用者は、電動作業機の出力が低下するものの、バッテリパックによる保護動作が実行されない状態で、電動作業機による作業を継続することができる。【００１７】
また、制御部は、状態情報に基づいて、バッテリパックにより保護動作が実行される前に、モータを停止させるように構成されていてもよい。【００１８】
バッテリパックが保護動作を実行することにより、電動作業機は比較的長い期間使用できなくなる。そこで、制御部が、バッテリパックによる保護動作が実行される前に、モータを停止させることにより、比較的短い時間でバッテリパックを回復させて、電動作業機による作業を再開することができる。【００１９】
また、状態情報は、バッテリパックからモータに供給される放電電流の値に応じた加算値を累積した、バッテリパックが保護動作を実行するために用いる累積値を含んでもよい。制御部は、累積値をバッテリ保護値として用いて、モータの駆動を制御するように構成されていてもよい。【００２０】
制御部により、バッテリパックが保護動作を実行するために用いる累積値が、バッテリパックから取得される。これにより、制御部は、取得された累積値を用いて、バッテリパックが保護動作を実行することを抑制するように、モータの駆動を制御することができる。【００２１】
また、状態情報は、バッテリパックが保護動作を実行するために用いる累積値を算出するためのマップ情報を含んでもよい。制御部は、放電に関する放電関係値を検出し、検出された放電関係値とマップ情報とからバッテリ保護値を算出し、算出されたバッテリ保護値を用いて、モータの駆動を制御するように構成されていてもよい。バッテリ保護値は、バッテリパックによりマップ情報における放電関係値に応じた加算値を累積して算出される累積値に対応する値であってもよい。【００２２】
制御部により、バッテリパックが保護動作を実行するために用いる累積値を算出するためのマップ情報が取得され、取得されたマップ情報を用いて、累積値に対応するバッテリ保護値が算出される。これにより、制御部は、算出されたバッテリ保護値を用いて、バッテリパックが保護動作を実行することを抑制するように、モータの駆動を制御することができる。【００２３】
また、放電関係値は、バッテリパックから電動作業機へ流れる放電電流の値であってもよい。【００２４】
放電関係値として検出された放電電流の値を用いて、バッテリ保護値を算出することができる。【００２５】
また、状態情報は、累積値を含んでいてもよい。制御部は、バッテリパックから累積値を取得したことに応じて、バッテリパックから取得された累積値を、バッテリ保護値とするように構成されていてもよい。【００２６】
制御部が、バッテリパックから累積値を取得したことに応じて、バッテリパックから取得された累積値がバッテリ保護値とされる。したがって、制御部は、できる限りバッテリパックが保護動作を実行するために用いる値と同じ値を用いるため、バッテリパックが保護動作を実行する予兆を精度良く検出することができる。【００２７】
また、制御部は、バッテリパックから取得された過去の累積値に、マップ情報における検出された放電関係値に応じた加算値を加算して、バッテリ保護値を算出するように構成されていてもよい。【００２８】
制御部により、バッテリパックから過去に取得された累積値に加算値を加算して、バッテリ保護値が算出される。したがって、制御部は、できる限りバッテリパックが保護動作を実行するために用いる値を用いることができる。ひいては、制御部は、できる限りバッテリパックが保護動作を実行するために用いる値を用いつつ、通信と通信との間や通信が一時的に途切れた場合などの累積値を取得できない期間でも、バッテリ保護値を更新することができる。よって、バッテリパックが保護動作を実行する予兆を精度良く検出することができる。【００２９】
また、バッテリパックは、累積値が保護閾値を超えたことに応じて、保護動作を実行するように構成されていてもよい。制御部は、バッテリ保護値が保護閾値よりも小さい制限閾値を超えたことに応じて、供給電力を制限するように、供給電力に関するモータの制御パラメータを変更するように構成されていてもよい。【００３０】
バッテリ保護値が保護閾値よりも小さい制限閾値を超えると、供給電力を制限するように、供給電力に関するモータの制御パラメータが変更される。これにより、累積値及びバッテリ保護値の増加が抑制される。その結果、バッテリパックによる保護動作の実行が抑制され、モータは、バッテリパックから電力供給を継続して受けることができる。【００３１】
また、状態情報は、バッテリパックからモータへ流れる放電電流の値と加算値との対応関係を示すマップ情報を含んでもよい。バッテリパックは、累積値が保護閾値を超えたことに応じて、保護動作を実行するように構成されていてもよい。制御部は、放電電流を検出し、バッテリ保護値と検出された放電電流の値とマップ情報とから、バッテリパックが保護動作を実行するまでの時間を予測し、予測された時間が時間閾値よりも短いことに応じて、供給電力を制限するように供給電力に関するモータの制御パラメータを変更するように構成されていてもよい。【００３２】
バッテリパックが保護動作を実行するまでの時間が予測され、予測された時間が時間閾値よりも短いことに応じて、供給電力を制限するように、供給電力に関するモータの制御パラメータが変更される。これにより、累積値及びバッテリ保護値の増加が抑制される。その結果、バッテリパックによる保護動作の実行が抑制され、モータは、バッテリパックから電力供給を継続して受けることができる。【００３３】
また、バッテリパックは、累積値が保護閾値を超えたことに応じて、保護動作を実行するように構成されていてもよい。制御部は、バッテリ保護値が保護閾値よりも小さい停止閾値を超えたことに応じて、モータを停止させるように構成されていてもよい。【００３４】
バッテリ保護値が保護閾値よりも小さい停止閾値を超えると、モータが停止される。これにより、累積値及びバッテリ保護値が減少する。その結果、バッテリパックによる保護動作の実行された場合よりも、短いモータ停止期間により、バッテリパックを回復させることができる。ひいては、モータは、比較的短い停止期間後に、バッテリパックからの電力の受給を再開することができる。【００３５】
また、停止閾値は、第１停止閾値と、第２停止閾値とを含んでもよい。第２停止閾値は、第１停止閾値よりも大きい。制御部は、バッテリ保護値が第１停止閾値を超えたことに応じて、モータを停止させた後、スイッチが操作されたことに応じて、モータを再始動させてもよい。また、制御部は、バッテリ保護値が第２停止閾値を超えたことに応じて、モータを停止させた後、バッテリ保護値が第１停止閾値を下回るまで、モータの再始動を禁止するように構成されていてもよい。【００３６】
バッテリ保護値が第１停止閾値を超えたことに応じて、モータが停止され、その後、操作部が操作されたことに応じて、モータが再始動される。さらに、バッテリ保護値が第２停止閾値を超えたことに応じて、モータが停止され、バッテリ保護値が第１停止閾値を下回るまで、モータの再始動が停止される。これにより、使用者は、一旦モータが停止した際には、操作部を操作することにより電動作業機の使用を継続することができるとともに、使用を継続することよって、電動作業機が使用できなくなる期間が到来することを認識することができる。【００３７】
また、状態情報は、バッテリパックからモータへ流れる放電電流の値と加算値との対応関係を示すマップ情報を含んでもよい。制御部は、放電電流の値を検出し、検出された放電電流の値と取得されたマップ情報とに基づいて、制限閾値を設定するように構成されていてもよい。【００３８】
状態情報がマップ情報を含んでいることにより、制御部は、放電電流の値に応じて、制限閾値を変化させることができる。ひいては、制御部は、放電電流の値に応じて、好適に供給電力を制限することができる。【００３９】
また、状態情報は、バッテリパックのバッテリ温度と、バッテリ温度別のマップ情報と、を含んでいてもよい。制御部は、検出された放電電流の大きさと、取得されたバッテリ温度と、取得されたマップ情報と、に基づいて、制限閾値を設定してもよい。【００４０】
状態情報がバッテリ温度別のマップ情報を含んでいることにより、制御部は、バッテリ温度と放電電流の値とに応じて、制限閾値を変化させることができる。ひいては、制御部は、より好適に供給電力を制限することができる。【００４１】
また、状態情報は、バッテリパックの残容量を含んでもよい。バッテリパックは、残容量が第１容量閾値を下回ったことに応じて、保護動作を実行してもよい。制御部は、残容量が第１容量閾値よりも大きい第２容量閾値を下回ったことに応じて、供給電力を制限するように供給電力に関するモータの制御パラメータを変更するように構成されていてもよい。【００４２】
バッテリパックの残容量が第１容量閾値よりも大きい第２容量閾値を下回ると、供給電力に関するモータの制御パラメータが変更される。これにより、バッテリパックの残容量の減少速度が緩やかになる。その結果、バッテリパックによる保護機動作の実行が抑制され、モータは、バッテリパックから供給電力を継続して受けることができる。【００４３】
また、状態情報は、バッテリパックのバッテリ温度を含んでもよい。バッテリパックは、バッテリ温度が第１温度閾値を超えたことに応じて、保護動作を実行してもよい。制御部は、バッテリ温度が第１温度閾値よりも小さい第２温度閾値を超えたことに応じて、供給電力を制限するように供給電力に関する制御パラメータを変更してもよい。【００４４】
バッテリ温度が第１温度閾値よりも小さい第２温度閾値を超えると、供給電力に関するモータの制御パラメータが変更される。これにより、バッテリパックの温度上昇が抑制される。その結果、バッテリパックによる保護動作の実行が抑制され、モータは、バッテリパックから供給電力を継続して受けることができる。【００４５】
また、制御部は、モータのパルス幅変調（ＰＷＭ）制御を実行してもよい。制御パラメータは、ＰＷＭ制御でのデューティ比を含んでいてもよい。【００４６】
ＰＷＭ制御におけるデューティ比を変更することによって、モータに流れる電流の値を変更し、モータに供給される供給電力を変更することができる。ひいては、デューティ比を低減して供給電力を抑制することによって、バッテリパックによる保護動作の実行を抑制することができる。【００４７】
また、制御部は、モータの駆動前から状態情報を取得し、モータの駆動前から状態情報に基づいて制御パラメータを変更してもよい。【００４８】
バッテリパックを電動作業機に装着すると、モータの駆動前に、電動作業機によりバッテリパックから状態情報が取得され、取得された状態情報に基づいて制御パラメータが変更される。これにより、バッテリパックが保護動作を実行しないように制御パラメータを設定してから、モータを始動させることができる。ひいては、モータの始動直後に、バッテリパックが保護動作を実行して、モータが停止することを回避できる。【００４９】
また、上述の電動作業機は、制御部へ電源を供給するための主電源スイッチを更に備えてもよい。制御部は、主電源スイッチがオンになった後、且つ、モータの駆動前の時点から、バッテリパックに対して状態情報の要求を開始してもよい。【００５０】
主電源スイッチがオン状態になった後に、電動作業機とバッテリパックとの通信が開始される。そのため、電動作業機にバッテリパックが装着されただけで通信を開始する場合と比べて、消費電力を抑制することができる。また、モータの駆動前の時点から、バッテリパックに対して状態情報の要求が開始される。そのため、モータの駆動前に制御パラメータを変更して、バッテリパックが保護動作を実行しない消費電力の範囲でモータを始動させることができる。【００５１】
また、制御部は、バッテリパックからシリアル通信によって伝送された状態情報を取得してもよい。バッテリパックからモータへ電流が流れている時におけるシリアル通信の頻度は、バッテリパックからモータへ電流が流れていない時におけるシリアル通信の頻度よりも高くてもよい。【００５２】
バッテリパックからモータへ電流が流れていない時は、バッテリパックからモータへ電流が流れている時と比べて、バッテリパックの状態が変化しにくい。そのため、バッテリパックからモータへ電流が流れていない時には、シリアル通信の頻度を抑制することにより、電動作業機の処理負荷を抑制することができる。【００５３】
また、制御部は、取得された状態情報に基づいて、バッテリパックからモータへ流れる放電電流について電流上限値を設定し、放電電流の値が設定された電流上限値以下に制御してもよい。【００５４】
放電電流の電流上限値が設定され、放電電流の値が設定された電流上限値以下となるようにモータの駆動が制御される。よって、バッテリパックが保護動作を実行する前に電流上限値を低減することにより、バッテリパックが保護動作を実行しない消費電力の範囲で、モータの駆動を続けることができる。【００５５】
本開示はさらに以下の項目を含む。【００５６】
［項目Ａ−１］
本開示の１つの局面は、電動作業機であって、モータと、取得部と、制御部と、を備える。モータは、バッテリパックから電力の供給を受けて回転する。取得部は、バッテリパックの放電状態に関する状態情報を取得する。制御部は、取得部により取得された状態情報に基づいて、バッテリパックの保護機能が動作する前に、前記バッテリパックから前記モータへ供給される供給電力に関するモータの制御パラメータを変更する。【００５７】
本開示の１つの局面によれば、電動作業機によりバッテリパックの放電状態に関する状態情報が取得される。バッテリパックは例えば過電流状態になると保護機能が動作する。そのため、電動作業機は、取得した状態情報に基づいて、バッテリパックの保護機能が動作する前に、供給電力に関するモータの制御パラメータを変更する。これにより、電動作業機は、バッテリパックの保護機能の動作を抑制するように変更された供給電力を継続して受けることができる。また、バッテリパックの保護機能が動作する条件は変更されないため、バッテリパックを保護すべきときには保護機能が動作する。よって、保護すべきときにバッテリパックの保護機能を動作させつつ、使用者の利便性を高めることができる。【００５８】
［項目Ａ−２］
制御部は、状態情報に基づいて、供給電力を制限するように制御パラメータを変更してもよい。【００５９】
制御部が供給電力を制限するように制御パラメータを変更することにより、バッテリパックの保護機能が動作する前に供給電力が制限される。その結果、使用者は、バッテリパックの保護機能が動作しない状態で、電動作業機の使用を続けることができる。【００６０】
［項目Ａ−３］
状態情報は、保護機能が動作する予兆に関する情報を含んでいてもよい。【００６１】
状態情報が保護機能の動作する予兆に関する情報を含んでいることにより、電動作業機は、バッテリパックの保護機能が動作する前にその予兆を認識することができる。ひいては、電動作業機は、保護機能が動作する前に、保護機能が動作しないように制御パラメータを変更することができる。【００６２】
［項目Ａ−４］
制御パラメータは、バッテリパックからモータに供給される放電電流を含んでいてもよい。制御部は、状態情報に基づいて、放電電流を制限してもよい。【００６３】
制御部が放電電流を制限することにより、バッテリパックの保護機能が動作する前に供給電力が制限される。その結果、使用者は、バッテリパックの保護機能が動作しない状態で、電動作業機の使用を続けることができる。【００６４】
［項目Ａ−５］
状態情報は、バッテリパックからモータに供給される放電電流の大きさに応じた加算値を積算したカウンタ値を含んでいてもよい。バッテリパックの保護機能は、カウンタ値が第１閾値を超えた場合に動作してもよい。そして、制御部は、カウンタ値が第１閾値よりも小さい第２閾値を超えた場合に、制御パラメータを変更してもよい。【００６５】
カウンタ値が第１閾値よりも小さい第２閾値を超えると、供給電力に関するモータの制御パラメータが変更される。これにより、カウンタ値の上昇が抑制される。その結果、バッテリパックの保護機能の動作が抑制され、モータは、バッテリパックから電力供給を継続して受けることができる。【００６６】
［項目Ａ−６］
状態情報は、放電電流の大きさと加算値との対応関係を示すマップ情報を含んでいてもよい。そして、制御部は、検出された放電電流の大きさと、取得されたマップ情報と、に基づいて、第２閾値を設定してもよい。【００６７】
状態情報がマップ情報を含んでいることにより、制御部は、放電電流の大きさに応じて、第２閾値を変化させることができる。ひいては、制御部は、放電電流の大きさに応じて、好適に供給電力を制限することができる。【００６８】
［項目Ａ−７］
状態情報は、バッテリパックのバッテリ温度と、バッテリ温度別のマップ情報と、を含んでいてもよい。そして、制御部は、検出された放電電流の大きさと、取得されたバッテリ温度と、取得されたマップ情報と、に基づいて、第２閾値を設定してもよい。【００６９】
状態情報がバッテリ温度別のマップ情報を含んでいることにより、制御部は、バッテリ温度と放電電流の大きさとに応じて、第２閾値を変化させることができる。ひいては、制御部は、より好適に供給電力を制限することができる。【００７０】
［項目Ａ−８］
状態情報は、バッテリパックの残容量を含んでいてもよい。バッテリパックの保護機能は、残容量が第１容量閾値を下回った場合に動作してもよい。そして、制御部は、残容量が第１容量閾値よりも大きい第２容量閾値を下回った場合に、制御パラメータを変更してもよい。【００７１】
バッテリパックの残容量が第１容量閾値よりも大きい第２容量閾値を下回ると、供給電力に関するモータの制御パラメータが変更される。これにより、バッテリパックの残容量の減少速度が緩やかになる。その結果、バッテリパックの保護機能の動作が抑制され、モーは、バッテリパックから供給電力をより長い期間継続して受けることができる。【００７２】
［項目Ａ−９］
状態情報は、バッテリパックのバッテリ温度を含んでいてもよい。バッテリパックの保護機能は、バッテリ温度が第１温度閾値を超えた場合に動作してもよい。そして、制御部は、バッテリ温度が前記第１温度閾値よりも小さい第２温度閾値を超えた場合に、制御パラメータを変更してもよい。【００７３】
バッテリ温度が第１温度閾値よりも小さい第２温度閾値を超えると、供給電力に関するモータの制御パラメータが変更される。これにより、バッテリパックの温度上昇が抑制される。その結果、バッテリパックの保護機能の動作が抑制され、モータは、バッテリパックから供給電力をより長い期間継続して受けることができる。【００７４】
［項目Ａ−１０］
制御部は、モータに流れる電流のパルス幅変調（ＰＷＭ）制御を実行してもよい。制御パラメータは、ＰＷＭ制御でのデューティ比を含んでもよい。【００７５】
ＰＷＭ制御におけるデューティ比を変更することによって、モータに流れる電流の値を変更し、モータに供給される供給電力を変更することができる。ひいては、デューティ比を低減して供給電力を抑制することによって、バッテリパックの保護機能の動作を抑制することができる。【００７６】
［項目Ａ−１１］
取得部は、モータの駆動前から状態情報を取得してもよい。制御部は、モータの駆動前から状態情報に基づいて制御パラメータを変更してもよい。【００７７】
モータの駆動前から状態情報が取得され、取得された状態情報に基づいて制御パラメータが変更される。これにより、モータを一時停止させて再始動させる場合に、制御パラメータは一時停止前の値から初期値に戻されることなく、モータが再始動される。よって、バッテリパックの保護機能が動作しない消費電力の範囲でモータを再始動させることができる。【００７８】
［項目Ａ−１２］
電動作業機は、制御部へ電源を供給するための主電源スイッチを備えてもよい。制御部は、主電源スイッチがオン状態になった後、且つ、モータの駆動前の時点から、バッテリパックに対して状態情報の要求を開始してもよい。【００７９】
主電源スイッチがオン状態になった後に、電動作業機とバッテリパックとの通信が開始される。そのため、電動作業機にバッテリパックが装着されただけで通信を開始する場合と比べて、電力消費を抑制することができる。また、モータの駆動前の時点から、バッテリパックに対して状態情報の要求が開始される。そのため、モータの駆動前に制御パラメータを変更して、バッテリパックの保護機能が動作しない供給電力の範囲でモータの駆動を開始させることができる。【００８０】
［項目Ａ−１３］
取得部は、バッテリパックからシリアル通信によって伝送された状態情報を取得してもよい。バッテリパックからモータへ電流が流れている時におけるシリアル通信の頻度は、バッテリパックからモータへ電流が流れていない時におけるシリアル通信の頻度よりも高くてもよい。【００８１】
バッテリパックからモータへ電流が流れていない時は、バッテリパックからモータへ電流が流れている時と比べて、バッテリパックの状態が変化しにくい。そのため、バッテリパックからモータへ電流が流れていない時には、シリアル通信の頻度を抑制することにより、電動作業機の処理負荷を抑制することができる。【００８２】
［項目Ａ−１４］
電動作業機は、取得部により取得された状態情報に基づいて、バッテリパックからモータに供給される放電電流の電流上限値を設定するように構成された設定部を備えてもよい。制御部は、放電電流の値を設定部により設定された電流上限値以下となるように制御してもよい。【００８３】
放電電流の電流上限値が設定され、放電電流の値が設定された電流上限値以下となるように制御される。よって、バッテリパックの保護機能が動作する前に電流上限値を低減することにより、バッテリパックの保護機能が動作しない供給電力の範囲で、モータ５０の駆動を続けることができる。
【図面の簡単な説明】
【００８４】
【図１】第１実施形態の作業機の外観を表す斜視図である。
【図２】第１実施形態に係るモータ制御システムの構成を示すブロック図である。
【図３】第１実施形態に係る作業機の制御回路が実行するメイン処理を示すフローチャートである。
【図４】第１実施形態に係る作業機の制御回路が実行するバッテリ状態処理を示すフローチャートである。
【図５】第１実施形態に係る作業機の制御回路が実行するモータ制御処理を示すフローチャートである。
【図６】第１実施形態に係る作業機の制御回路が実行するモータ駆動処理を示すフローチャートである。
【図７】第１実施形態に係る作業機の制御回路が実行する電流上限設定処理を示すフローチャートである。
【図８】第１実施形態に係るバッテリパックと作業機との間のデータの流れを模式的に示す図である。
【図９】第１実施形態に係るバッテリパックから作業機へ送信される蓄積割合を示す図である。
【図１０】第１実施形態に係るモータ負荷、電流上限値、放電電流、回転速度、トリガスイッチ、保護カウンタ値のタイムチャートである。
【図１１】第１実施形態に係るバッテリ制御回路が実行する履歴処理を示すフローチャートである。
【図１２】第１実施形態に係るバッテリパックへの充電器の装着回数を記憶する記憶領域を示す図である。
【図１３】第１実施形態に係るバッテリパックへの工具の装着回数を記憶する記憶領域を示す図である。
【図１４】第２実施形態に係る作業機の制御回路が実行するモータ駆動処理を示すフローチャートである。
【図１５】第２実施形態に係る作業機の制御回路が実行する保護カウント処理を示すフローチャートである。
【図１６】第２実施形態に係る作業機の制御回路が実行するデューティ比上限値設定処理を示すフローチャートである。
【図１７】第２実施形態に係るバッテリパックと作業機との間のデータの流れを模式的に示す図である。
【図１８】第３実施形態に係る作業機の制御回路が実行する電流上限値設定処理を示すフローチャートである。
【図１９】放電電流値と加算値との対応関係を示すカウンタマップである。
【図２０】第３実施形態に係るバッテリパックと作業機との間のデータの流れを模式的に示す図である。
【図２１】第４実施形態に係る作業機の制御回路が実行するバッテリ通信処理を示すフローチャートである。
【図２２】第４実施形態に係る作業機の制御回路が実行する保護カウント処理を示すフローチャートである。
【図２３】第４実施形態に係る作業機の制御回路が実行する保護カウンタ値算出処理を示すフローチャートである。
【図２４】第４実施形態に係る電流上限値設定処理を示すフローチャートである。
【図２５】第４実施形態に係る電流上限値設定処理の別例を示すフローチャートである。
【図２６】第４実施形態に係るバッテリパックから作業機へ送信されるカウンタマップである。
【図２７】第４実施形態に係る保護カウンタ値に対する制限電流値の変化を示す図である。
【図２８】第４実施形態に係るバッテリパックと作業機との間のデータの流れを模式的に示す図である。
【図２９】第５実施形態に係る作業機の制御回路が実行する保護カウンタ停止処理を示すフローチャートである。
【図３０】第５実施形態に係るモータ負荷、放電電流、保護カウンタ値、トリガスイッチのタイムチャートである。
【符号の説明】
【００８５】
１…作業機、２…メインパイプ、３…制御ユニット、４…駆動ユニット、５…カバー、６…ハンドル、７…右グリップ、８…左グリップ、９…正逆切替スイッチ、１０…ロックオフボタン、１１…トリガ、１２…トリガスイッチ、１３…制御配線パイプ、１６…モータハウジング、１７…刈刃、２１…後端ハウジング、２２…バッテリパック、２３…変速ダイヤル、２４…メインスイッチ、２５…表示部、２８…バッテリ電圧検出部、３０…コントローラ、３２…駆動回路、３４…ゲート回路、３６…制御回路、３８…レギュレータ、４１…正極端子、４２…負極端子、４３…ＥＳ端子、４４…シリアル端子、５０…モータ、５２…回転センサ、５４…電流検出部、５６…温度検出部、６０…バッテリ、６１…バッテリ正極端子、６２…バッテリ負極端子、６３…バッテリＥＳ端子、６４…バッテリシリアル端子、６５…バッテリ制御回路、６６…バッテリ。
【発明を実施するための形態】
【００８６】
以下、図面を参照しながら、本開示を実施するための形態を説明する。
【００８７】
（第１実施形態）
＜１−１．全体構成＞
図１に示すように、本例示的な実施形態では、草刈機に本開示の電動作業機を適用した場合について説明する。本例示的な実施形態の作業機システムは、作業機１とバッテリパック２２と、を備える。作業機１は、メインパイプ２と、制御ユニット３と、駆動ユニット４と、カバー５と、ハンドル６とを備えた草刈機である。メインパイプ２は、長尺かつ中空の棒状に形成されている。制御ユニット３は、メインパイプ２の後端側に設けられている。駆動ユニット４及びカバー５は、メインパイプ２の前端側に設けられている。
【００８８】
駆動ユニット４は、モータハウジング１６と、刈刃１７とを備えている。刈刃１７は、草や小径木などの刈り取り対象物を刈り取るための円板状の刃であり、モータハウジング１６に対して着脱可能に構成されている。カバー５は、刈刃１７により刈り取られた草等が、作業機１の使用者に向かって飛んでくることを抑止するために設けられている。
【００８９】
モータハウジング１６の内部には、刈刃１７を回転させるための回転力を発生するモータ５０が搭載されている。モータ５０の駆動により発生した回転力は、減速機構を介して刈刃１７が装着された回転軸に伝達される。刈刃１７がモータ５０の回転力によって回転しているときに、刈刃１７の外周部分を対象物に当接させることで、使用者は、対象物を切断することができる。
【００９０】
ハンドル６は、Ｕ字状に形成されており、メインパイプ２の長さ方向における中間位置近傍でメインパイプ２に接続されている。ハンドル６の第１端側には使用者が右手で把持する右グリップ７が設けられ、ハンドル６の第２端側には使用者が左手で把持する左グリップ８が設けられている。
【００９１】
右グリップ７の先端側には、正逆切替スイッチ９、ロックオフボタン１０、及びトリガ１１が設けられている。正逆切替スイッチ９は、モータ５０の回転方向、つまり刈刃１７の回転方向を、正回転又は逆回転の何れかに切り替える。なお、正回転は、草等を刈り取る際に設定される回転方向であり、逆回転は、刈刃１７に絡まった草等を取り除く際に設定される回転方向である。
【００９２】
トリガ１１は、使用者が刈刃１７の回転又は停止を指令するために操作する操作部材である。右グリップ７の内部には、トリガ１１と連動して動作するトリガスイッチ１２が配置されている。トリガスイッチ１２は、トリガ１１の操作時にオンし、トリガ１１の非操作時にオフして、そのオン状態又はオフ状態を示すトリガ信号ＴＳを出力する。本実施形態では、トリガ１１が操作部の一例に相当する。
【００９３】
ロックオフボタン１０は、刈刃１７の誤動作を防止又は抑制するためのボタンである。ロックオフボタン１０が押下されていない状態では、ロックオフボタン１０がトリガ１１に機械的に係合する。これにより、トリガ１１の動きを規制し、トリガスイッチ１２がオン状態になることを阻止又は抑制する。ロックオフボタン１０が押下された状態では、ロックオフボタン１０によるトリガ１１との係合が解除される。
【００９４】
右グリップ７の下端と制御ユニット３の前端の間には、制御配線パイプ１３が設けられている。制御配線パイプ１３は、中空の棒状に形成されており、内部には、制御用ハーネスが配設されている。制御用ハーネスは、トリガスイッチ１２及び正逆切替スイッチ９と制御ユニット３とを電気的に接続するための配線である。
【００９５】
制御ユニット３は、後端ハウジング２１とバッテリパック２２とから構成される。
【００９６】
後端ハウジング２１の前端側には、変速ダイヤル２３及びメインスイッチ２４が、使用者が操作可能な状態で設けられている。変速ダイヤル２３は、使用者がモータ５０の回転速度を可変設定するために設けられている。メインスイッチ２４は、バッテリ６０から各部への給電を開始させることで、作業機１を使用可能な状態にするためのスイッチである。メインスイッチ２４がオンのときに、バッテリ６０からモータ５０への放電経路が形成され、メインスイッチ２４がオフのときに、バッテリ６０からモータ５０への放電経路が遮断される。本実施形態では、メインスイッチ２４が主電源スイッチの一例に相当する。
【００９７】
さらに、後端ハウジング２１の前端側には、表示部２５が使用者から視認可能に設けられている。表示部２５は、動作状態や異常等を使用者に報知するために設けられており、表示灯、残容量表示灯、逆転表示灯などを備える。表示灯は、メインスイッチ２４がオンされ作業機１の各部への給電が行われているときに点灯する。残容量表示灯は、バッテリ６０の残容量を表示する。逆転表示灯は、モータ５０が逆回転中であることを表示する。なお、残容量は、バッテリ６０に残っている電力量である。
【００９８】
後端ハウジング２１の内部には、後述するコントローラ３０が配置されている。コントローラ３０は、主に、モータ５０の駆動制御を実行する。コントローラ３０は、モータ５０への通電を制御することによりモータ５０の回転速度を制御する。
【００９９】
バッテリパック２２は、後端ハウジング２１の後端部に着脱可能に構成されている。
【０１００】
図２に示すように、バッテリパック２２は、バッテリ６０と、バッテリ制御回路６５と、バッテリ正極端子６１、バッテリ負極端子６２、バッテリＥＳ端子６３と、バッテリシリアル端子６４と、を備える。バッテリ６０は、複数のバッテリセルが直列に接続されて構成されている。バッテリ６０は、後端ハウジング２１内の各部及びモータ５０へ電力を供給するための、繰り返し充電可能な電源である。バッテリ６０は、一例としてリチウムイオン２次バッテリを備えている。また、バッテリ６０の定格電圧は、例えば６４Ｖであってもよい。
【０１０１】
＜１−２．モータ制御システムの構成＞
次に、バッテリ制御回路６５及びコントローラ３０とを備える、モータ５０の制御システムについて図２を参照して説明する。
【０１０２】
バッテリ制御回路６５は、ＣＰＵ６５ａ、ＲＯＭ６５ｂ、ＲＡＭ６５ｃ、フラッシュメモリなどのメモリ６５ｄ、及びＩ／Ｏ等を備える。
【０１０３】
バッテリ正極端子６１は、バッテリ６０の正極側に接続されている。バッテリ負極端子６２は、バッテリ６０の負極側に接続されている。バッテリＥＳ端子６３は、第１バッテリ接続線６８を介してバッテリ制御回路６５に接続されている。バッテリＥＳ端子６３は、バッテリパック２２からの放電許可信号又は放電禁止信号を出力する端子である。ＥＳはエラーストップの略である。
【０１０４】
バッテリシリアル端子６４は、第２バッテリ接続線６９を介してバッテリ制御回路６５に接続されている。バッテリシリアル端子６４は、シリアル通信によって複数のバッテリ情報を出力する端子である。複数のバッテリ情報は、バッテリパック２２の放電状態に関する状態情報を含む。状態情報は、後述する保護カウンタ値、カウンタ閾値、バッテリ温度、バッテリ６０の残容量などを含む。さらに、状態情報は、後述するカウンタマップ情報、加算閾値、減算閾値、などを含んでいてもよい。
【０１０５】
また、バッテリパック２２は、図示しないセル電圧検出部、セル温度検出部、バッテリ電流検出部を備える。セル電圧検出部は、バッテリ６０の各セルの電圧値を検出し、検出信号をバッテリ制御回路６５へ出力する。セル温度検出部は、サーミスタ等によって構成されており、少なくとも１つのセルの温度を検出して検出信号をバッテリ制御回路６５へ出力する。バッテリ電流検出部は、放電時にバッテリ６０を流れる放電電流を検出し、検出信号をバッテリ制御回路６５へ出力する。
【０１０６】
コントローラ３０は、正極端子４１、負極端子４２、ＥＳ端子４３、及びシリアル端子４４を備える。さらに、コントローラ３０は、駆動回路３２、ゲート回路３４、制御回路３６、及び、レギュレータ３８を備える。
【０１０７】
正極端子４１は、バッテリパック２２のバッテリ正極端子６１に接続される。負極端子４２は、バッテリパック２２のバッテリ負極端子６２に接続される。ＥＳ端子４３は、バッテリパック２２のバッテリＥＳ端子に接続される端子であり、バッテリパック２２から送信された放電許可信号又は放電禁止信号が入力される端子である。シリアル端子４４は、シリアル通信により、バッテリパック２２から送信されたバッテリ情報が入力される端子である。
【０１０８】
ＥＳ端子４３は、第１接続線４８を介して制御回路３６に接続されており、シリアル端子４４は、第２接続線４９を介して制御回路３６に接続されている。
【０１０９】
駆動回路３２は、バッテリ６０から電力供給を受けて、モータ５０の各相に対応する各巻線に電流を流す回路である。モータ５０は、３相のブラシレスモータである。駆動回路３２は、ハイサイドのスイッチング素子Ｑ１〜Ｑ３と、ローサイドのスイッチング素子Ｑ４〜Ｑ６を備える３相フルブリッジ回路である。各スイッチング素子Ｑ１〜Ｑ６は、例えばＭＯＳＦＥＴを含むが、ＭＯＳＦＥＴ以外を含んでいてもよい。
【０１１０】
ゲート回路３４は、制御回路３６から出力された制御信号に従い、駆動回路３２の各スイッチング素子Ｑ１〜Ｑ６をオン又はオフさせ、モータ５０の各相巻線に順次電流を流すことで、モータ５０を回転させる。なお、スイッチング素子Ｑ１〜Ｑ６を全てオフさせた場合、モータ５０はフリーランの状態となる。また、スイッチング素子Ｑ１〜Ｑ３をいずれもオフ、且つスイッチング素子Ｑ４〜Ｑ６をいずれもオンさせた場合、モータ５０はいわゆる短絡ブレーキがかかった状態となる。
【０１１１】
レギュレータ３８は、メインスイッチ２４がオンのときに、バッテリ６０から電力供給を受けて、制御回路３６を動作させるために必要な一定の電源電圧Ｖｃｃ（例えば、直流５Ｖ）を生成する。
【０１１２】
制御回路３６は、ＣＰＵ３６ａ、ＲＯＭ３６ｂ、ＲＡＭ３６ｃ及びＩ／Ｏ等を備えている。制御回路３６には、ＥＳ端子４３、シリアル端子４４、トリガスイッチ１２、メインスイッチ２４、表示部２５、及びバッテリ電圧検出部２８が接続されている。また、図示していないが、制御回路３６には、正逆切替スイッチ９及び変速ダイヤル２３も接続されている。
【０１１３】
バッテリ電圧検出部２８は、正極端子４１と負極端子４２との間の電圧、すなわち、バッテリ６０の電圧（以下、バッテリ電圧）の値を検出し、検出信号を制御回路３６へ出力する。
【０１１４】
また、コントローラ３０において、駆動回路３２からバッテリ６０の負極に至る通電経路には、モータ５０に供給された放電電流値を検出する電流検出部５４が設けられている。さらに、モータ５０の近傍には、モータ５０に含まれるロータの回転位置を検出する回転センサ５２が設けられている。回転センサ５２は、例えば、ホールセンサや、光学エンコーダ、磁気エンコーダなどである。さらに、駆動回路３２のスイッチング素子の近傍には、スイッチング素子の温度を検出するサーミスタ等によって構成された温度検出部５６が設けられている。そして、制御回路３６には、電流検出部５４や回転センサ５２、温度検出部５６からの検出信号も入力される。制御回路３６は、回転センサ５２からの検出信号に基づきモータ５０の回転位置及び回転速度を算出する。
【０１１５】
制御回路３６は、レギュレータ３８から電力供給を受けて動作する。制御回路３６は、各種の検出信号及び各種スイッチの操作状態に基づいて、後述するメイン処理を含む各種の処理を実行する。本実施形態では、制御回路３６は、制御部の一例に相当する。
【０１１６】
＜１−３．作業機における処理＞
＜１−３−１．メイン処理＞
次に、作業機１の制御回路３６が実行するメイン処理について、図３のフローチャートを参照して説明する。
【０１１７】
まず、Ｓ１０では、制御回路３６はタイムベースが経過したか否か判定する。制御回路３６は、タイムベースが経過していない場合には待機し、タイムベースが経過した場合にはＳ２０の処理へ進む。タイムベースは、制御回路３６の制御周期に相当する。
【０１１８】
Ｓ２０では、制御回路３６は、トリガスイッチ１２の操作検出処理を実行する。詳しくは、制御回路３６は、トリガスイッチ１２からの信号に基づいて、トリガスイッチ１２がオンかオフかを検出する。
【０１１９】
続いて、Ｓ３０では、制御回路３６は、バッテリパック２２から出力された情報に基づいて、バッテリ状態処理を実行する。バッテリ状態処理の詳細は後述する。
【０１２０】
続いて、Ｓ４０では、制御回路３６は、ＡＤ変換処理を実行する。詳しくは、制御回路３６は、バッテリ電圧検出部２８、電流検出部５４、及び温度検出部５６から入力された検出信号をＡＤ変換する。これにより、制御回路３６は、モータ５０に供給される放電電流の値、バッテリ６０の電圧値、及び、スイッチング素子の温度を取得する。
【０１２１】
続いて、Ｓ５０では、制御回路３６は、異常検出処理を実行する。詳しくは、制御回路３６は、Ｓ４０において取得した放電電流値、電圧値、及び温度とそれぞれの閾値とを比較して、過電流、バッテリ電圧の低下、スイッチング素子の高温状態などの異常を検出する。
【０１２２】
続いて、Ｓ６０では、制御回路３６は、トリガスイッチ１２の操作状態、バッテリ状態、異常の検出結果に基づいて、モータ制御処理を実行する。モータ制御処理の詳細は後述する。
【０１２３】
続いて、Ｓ７０では、制御回路３６は、表示処理を実行する。詳しくは、制御回路３６は、モータ５０の動作状態、バッテリ６０の残容量、検出された異常などを表示して、使用者に報知する。以上で本処理を終了する。
【０１２４】
＜１−３−２．バッテリ状態処理＞
次に、制御回路３６がＳ３０において実行するバッテリ状態処理の詳細について、図４のフローチャートを参照して説明する。
【０１２５】
まず、Ｓ１００では、制御回路３６は、バッテリ通信処理を実行する。詳しくは、制御回路３６は、作業機１にバッテリパック２２が装着されたことを検出すると、バッテリパック２２との初期通信で、シリアル端子４４を介して、作業機１のモデルナンバーを送信するとともに、バッテリパック２２のモデルナンバーを受信する。さらに、制御回路３６は、バッテリパック２２との初期通信で、カウンタマップ情報を受信してもよい。
【０１２６】
さらに、制御回路３６は、シリアル端子４４を介して、所定の周期でバッテリ制御回路６５へ情報要求信号を送信し、バッテリ制御回路６５から情報要求信号の応答としてバッテリ情報を受信する。ここで、情報要求信号を送信する周期は、バッテリパック２２から作業機１へ放電電流が流れていない時には、バッテリパック２２から作業機１へ放電電流が流れている時よりも、長く設定される。すなわち、バッテリパック２２から作業機１へ放電電流が流れていない時には、放電電流が流れている時よりも、シリアル通信の頻度が低く設定される。
【０１２７】
また、制御回路３６は、メインスイッチ２４がオン状態になった後、且つ、モータ５０の駆動前の時点から、バッテリ制御回路６５へ情報要求信号を送信して、バッテリパック２２に対してバッテリ情報の要求を開始する。
【０１２８】
続いて、Ｓ１１０では、制御回路３６は、バッテリパック２２からの放電の許可又は禁止を設定する。具体的には、制御回路３６は、バッテリパック２２から放電許可信号を受信した場合には、放電許可フラグをセットする。また、制御回路３６は、バッテリパック２２から放電禁止信号を受信した場合には、放電許可フラグをクリアする。以上で本処理を終了する。
【０１２９】
＜１−３−４．モータ制御処理＞
次に、制御回路３６がＳ６０において実行するモータ制御処理の詳細について、図５のフローチャートを参照して説明する。
【０１３０】
まず、Ｓ３００では、制御回路３６は、トリガスイッチ１２がオンになっているか否か判定する。制御回路３６は、トリガスイッチ１２がオンになっていると判定した場合には、Ｓ３１０の処理へ進み、トリガスイッチ１２がオフになっていると判定した場合には、Ｓ３４０の処理へ進む。
【０１３１】
Ｓ３１０では、制御回路３６は、Ｓ５０において異常が検出されたか否か判定する。制御回路３６は、異常が検出されていないと判定した場合には、Ｓ３２０の処理へ進む。また、制御回路３６は、異常が検出されていると判定した場合には、Ｓ３４０の処理へ進む。
【０１３２】
Ｓ３２０では、制御回路３６は、放電許可フラグがセットされているか否か判定する。制御回路３６は、放電許可フラグがセットされていると判定した場合には、Ｓ３３０の処理へ進み、放電許可フラグがクリアされていると判定した場合には、Ｓ３４０の処理へ進む。
【０１３３】
Ｓ３３０では、制御回路３６は、バッテリ６０からの電力供給を受けて、モータ駆動処理を実行し、本処理を終了する。モータ駆動処理の詳細は後述する。
【０１３４】
一方、Ｓ３４０では、制御回路３６は、ブレーキ制御を実施するか否か判定する。具体的には、制御回路３６は、モータ５０が回転しており、且つ、モータ５０に制動力を発生させてもコントローラ３０に影響がない場合には、ブレーキ制御を実行すると判定する。この場合、制御回路３６は、Ｓ３５０においてブレーキフラグをセットし、本処理を終了する。これにより、バッテリ６０からモータ５０への電力供給が停止されて、短絡ブレーキが実行される。
【０１３５】
一方、制御回路３６は、モータ５０が回転していない場合、及び、モータ５０が回転しているがモータ５０に制動力を発生させるとコントローラ３０に影響がある場合には、ブレーキ制御を実施しないと判定する。この場合、制御回路３６は、Ｓ３６０においてブレーキフラグをクリアし、本処理を終了する。これにより、バッテリ６０からモータ５０への電力供給が停止される。そして、モータ５０が回転している場合には、フリーランなどが実行される。
【０１３６】
＜１−３−５．モータ駆動処理＞
次に、制御回路３６がＳ３３０において実行するモータ駆動処理の詳細について、図６のフローチャートを参照して説明する。
【０１３７】
まず、Ｓ４００では、制御回路３６は、モータ５０の目標回転速度を設定する回転速度設定処理を実行する。詳しくは、制御回路３６は、正逆切替スイッチ９の設定に基づいて、モータ５０の回転方向を設定する。そして、制御回路３６は、変速ダイヤル２３の設定に基づいて、設定した回転方向における、モータ５０の目標回転速度を設定する。
【０１３８】
続いて、Ｓ４１０では、制御回路３６は、放電電流の電流上限値を設定する上限値設定処理を実行する。電流上限値は放電電流を制御するための値である。制御回路３６は、放電電流の値を電流上限値以下に制御する。上限値設定処理の詳細は後述する。
【０１３９】
続いて、Ｓ４２０では、制御回路３６は、パルス幅変調（ＰＷＭ）制御におけるデューティ比の算出処理を実行する。制御回路３６は、算出されたデューティ比を用いて、モータ５０に流れる電流をＰＷＭ制御する。Ｓ４２０では、制御回路３６は、次の条件（１）及び（２）を満たすように、ＰＷＭ制御におけるデューティ比を算出する。条件（１）は、放電電流がＳ４１０において設定した電流上限値以下になることである。条件（２）は、モータ５０の回転速度がＳ４００において設定した目標回転速度へ収束することである。制御回路３６は、条件（１），（２）の両方を満たすことができない場合、条件（１）を満たすことを優先し、条件（１）を満たす中で、モータ５０の回転速度ができる限り目標回転速度に近づくように、デューティ比を算出する。
【０１４０】
続いて、Ｓ４３０では、制御回路３６は、デューティ比の出力処理を実行する。詳しくは、制御回路３６は、Ｓ４２０において算出したデューティ比に基づいた制御指令を生成し、生成した制御指令をゲート回路３４へ出力する。以上で本処理を終了する。
【０１４１】
＜１−３−６．電流上限値設定処理＞
次に、制御回路３６がＳ４１０において実行する電流上限値設定処理の詳細について、図７のフローチャートを参照して説明する。
【０１４２】
まず、Ｓ５００では、バッテリパック２２から取得した保護カウンタ値が、カウンタ閾値よりも大きいか否か判定する。保護カウンタ値は、バッテリ制御回路６５により、バッテリ６０の放電電流の大きさに応じた加算値を積算（すなわち累積）した値である。
【０１４３】
バッテリ制御回路６５は、放電電流値が加算閾値以上の場合に、保護カウンタ値に加算値を加算する。また、バッテリ制御回路６５は、放電電流値が大きいほど、加算値を大きくする。例えば、加算閾値が５０Ａである場合、バッテリ制御回路６５は、放電電流値が５０Ａ未満の場合には、保護カウンタ値に値を加算しない。また、バッテリ制御回路６５は、放電電流値が５０Ａのとき加算値「１」を保護カウンタ値に加算し、放電電流値が７０Ａのとき加算値「３」を保護カウンタ値に加算する。バッテリ制御回路６５は、制御周期ごとに、放電電流の大きさに応じた加算値を保護カウンタ値に加算する。よって、加算値の積算値（すなわち、累積値）が保護カウンタ値になる。よって、保護カウンタ値は、放電電流値が大きいほど、また、加算閾値以上の値の大きさの放電電流が流れる時間が長いほど、大きな値になる。さらに、バッテリ制御回路６５は、放電電流値が減算閾値以下の場合には、保護カウンタ値から所定値を減算する。減算閾値は例えば５Ａである。
【０１４４】
バッテリ６０は、比較的大きな電流が比較的長い時間流れる過電流状態（すなわち、バッテリ６０の過負荷状態）になると、劣化する可能性がある。そのため、バッテリ制御回路６５は、保護カウンタ値が保護閾値を超えると、保護動作を実行する。具体的には、バッテリ制御回路６５は、制御回路３６へ放電禁止信号を送信する。Ｓ５００の判定に用いるカウンタ閾値は、保護閾値よりも小さい値であり、例えば、保護閾値の５０％〜７０％の値である。
【０１４５】
すなわち、Ｓ５００において、制御回路３６は、バッテリパック２２の保護機能が動作する前に、バッテリパック２２の保護機能が動作する予兆を検出したか否か判定する。Ｓ５００において、制御回路３６は、保護カウンタ値がカウンタ閾値以下の場合、すなわち、バッテリパック２２の保護機能が動作する予兆を検出していない場合には、Ｓ５１０の処理へ進む。また、制御回路３６は、Ｓ５００において保護カウンタ値がカウンタ閾値よりも大きい場合、すなわち、バッテリパック２２の保護機能が動作する予兆を検出した場合には、Ｓ５２０の処理へ進む。
【０１４６】
Ｓ５１０では、制御回路３６は、電流上限値に通常電流値を設定する。通常電流値は、加算閾値以上の電流値である。
【０１４７】
一方、Ｓ５２０では、制御回路３６は、電流上限値に制限電流値を設定する。制限電流値は、加算閾値未満の電流値である。すなわち、制限電流値は、保護カウンタ値を一定値以下に保持する値である。
【０１４８】
ここで、モータ５０の負荷が上がると、モータ５０の回転速度を目標回転速度に収束させるために、放電電流が大きくなる。そのため、保護カウンタ値がカウンタ閾値を超えている状態でモータ５０の負荷が上がると、保護カウンタ値が保護閾値まで到達し、バッテリパック２２の保護機能が動作する可能性がある。バッテリパック２２の保護機能が動作すると、バッテリパック２２の放電が停止され、モータ５０に電力が供給されなくなり、モータ５０が停止する。ひいては、使用者は、作業を続けることができなくなり、作業効率が低下する。
【０１４９】
そこで、制御回路３６は、バッテリパック２２の保護機能が動作する予兆を検出した場合には、放電電流値を加算閾値よりも小さい値に制限する。これにより、モータ５０の負荷が上がっても、保護カウンタ値が増加しないため、バッテリパック２２の保護機能が動作しない。したがって、放電電流値を制限することによって、モータ５０の回転速度が目標回転速度よりも低くなることはあるものの、使用者は、作業機１を使い続けることができる。
【０１５０】
図８は、本実施形態に係るメイン処理を実行した場合における、バッテリパック２２と作業機１との間のデータの流れの概要を示す図である。バッテリパック２２において、放電電流とカウンタマップとから保護カウンタ値が算出される。カウンタマップは、放電電流値と加算値及び減算値（すなわち、負の加算値）との対応関係を示すマップである（図１９及び図２６参照）。バッテリパック２２では、所定周期で、カウンタマップにおいて放電電流値と対応する加算値又は減算値を累積して、保護カウンタ値が算出される。
【０１５１】
そして、バッテリパック２２から作業機１へ、算出された保護カウンタ値と、バッテリパック２２に保存されている保護閾値と、が送信される。作業機１では、受信された保護カウンタ値と保護閾値よりも小さいカウンタ閾値とを用いて、放電電流が制限される。
【０１５２】
また、バッテリパック２２から作業機１へ、保護カウンタ値の代わりに、蓄積割合が送信されてもよい。図９に示すように、蓄積割合は、保護閾値を１００％とした場合における保護閾値に対する現在の保護カウンタ値の割合である。この場合、カウンタ閾値は、保護閾値に対する割合（例えば、８０％）で表される。
【０１５３】
＜１−３−７．作業機の動作＞
次に、作業機１の動作について、図１０のタイムチャートを参照して説明する。
【０１５４】
時点ｔ０において、トリガスイッチ１２がオンになると、放電電流が流れ始め、モータ５０の回転速度が上昇し始める。そして、時点ｔ１から時点ｔ５までの期間、モータ負荷が徐々に大きくなり、時点ｔ５においてモータ負荷はゼロになる。
【０１５５】
時点ｔ１から時点ｔ２の期間では、モータ負荷の増加に伴い、放電電流も増加する。そして、時点ｔ２において、放電電流値は加算閾値以上となり、保護カウンタ値が増加し始める。
【０１５６】
時点ｔ３において、放電電流は電流上限値に到達する。この時の電流上限値は通常設定値である。モータ５０の回転速度は目標回転速度に到達してから時点ｔ３までの期間において、目標回転速度に保持される。
【０１５７】
時点ｔ３から時点ｔ４までの期間では、モータ負荷が増加している中で、放電電流は電流上限値に抑えられている。そのため、時点ｔ３から時点ｔ４までの期間では、モータ５０の回転速度は低下している。また、この期間では、放電電流値は加算閾値以上であるため、保護カウンタ値は増加している。
【０１５８】
そして、時点ｔ４において、保護カウンタ値がカウンタ閾値を超えると、電流上限値が制限電流値に設定される。これにより、放電電流が加算閾値未満に抑えられるため、保護カウンタ値の増加が停止する。そのため、時点ｔ４から時点ｔ７までの期間では、保護カウンタ値は一定値に保持される。また、時点ｔ４から時点ｔ５までの期間では、放電電流値が通常設定値よりも小さい制限電流値に制限されるため、さらに、モータ５０の回転速度が低下する。
【０１５９】
時点ｔ５では、モータ５０の負荷がゼロなる。これに伴い、放電電流が電流上限値よりも小さくなり、モータ５０の回転速度は目標回転速度に戻る。
【０１６０】
そして、時点ｔ６において、トリガスイッチ１２がオフになると、放電電流値がゼロになる。すなわち、放電電流が流れなくなる。その後、時点ｔ７において、放電電流が流れなくなったことに伴い、保護カウンタ値が減少し始める。さらに、時点ｔ８において、保護カウンタ値がカウンタ閾値を下回ったことに伴い、電流上限値が通常設定値に設定される。
【０１６１】
ここで、時点ｔ４において、電流上限値を通常設定値のままにした場合、保護カウンタ値は保護閾値まで増加を続ける。そして、保護カウンタ値が保護閾値に到達した時点でバッテリパック２２の保護機能が動作して、モータ５０が停止し、使用者は作業を継続できなくなる。これに対して、本実施形態では、時点ｔ４において、電流上限値を制限電流値に抑制することにより、使用者はトリガ１１をオフにするまでの間、作業を継続することができる。
【０１６２】
＜１−４．バッテリパックにおける処理＞
＜１−４−１．履歴処理＞
次に、バッテリ制御回路６５が実行する履歴処理について、図１１のフローチャートを参照して説明する。
【０１６３】
まず、Ｓ６００では、バッテリ制御回路６５は、バッテリパック２２に充電器又は作業機が装着されたか否か判定する。バッテリ制御回路６５は、バッテリパック２２に充電器又は作業機が装着されていない場合には、装着されるまでＳ６００の処理を繰り返し実行する。また、バッテリ制御回路６５は、バッテリパック２２に充電器又は作業機が装着された場合には、Ｓ６１０の処理へ進む。
【０１６４】
Ｓ６１０では、バッテリ制御回路６５は、バッテリパック２２に装着されている充電器又は作業機（以下、装着機器）と初期通信を行い、バッテリパック２２のモデルナンバーを送信するとともに、装着機器から送信された装着機器のモデルナンバーを取得する。
【０１６５】
続いて、Ｓ６２０において、バッテリ制御回路６５は、バッテリパック２２から装着機器が取り外されたか否か判定する。バッテリ制御回路６５は、装着機器が取り外されていない場合には、装着機器が取り外されるまでＳ６２０の処理を繰り返し実行する。また、バッテリ制御回路６５は、バッテリパック２２から装着機器が取り外された場合には、Ｓ６３０の処理へ進む。
【０１６６】
Ｓ６３０では、バッテリ制御回路６５は、バッテリパック２２のメモリ６５ｄ内の履歴データベースに、Ｓ６１０において取得した装着機器のモデルナンバーがあるか否か判定する。図１２及び図１３に示すように、履歴データベースは、充電器の装着回数を記憶する充電器記憶領域と、作業機の装着回数を記憶する作業機記憶領域とをそれぞれ有する。充電器記憶領域には、充電器のモデルナンバーと当該モデルナンバーの充電器の装着回数とが対応づけて記憶されている。作業機記憶領域には、作業機のモデルナンバーと当該モデルナンバーの作業機の装着回数とが対応付けて記憶されている。
【０１６７】
バッテリ制御回路６５は、装着機器が充電器の場合には、充電器記憶領域にＳ６１０において取得したモデルナンバーがあるか否か判定する。また、バッテリ制御回路６５は、装着機器が作業機の場合には、作業機記憶領域にＳ６１０において取得したモデルナンバーがあるか否か判定する。
【０１６８】
バッテリ制御回路６５は、履歴データベースに装着機器のモデルナンバーが存在しない場合には、Ｓ６４０の処理へ進み、履歴データベースに装着機器のモデルナンバーが存在する場合には、Ｓ６６０の処理へ進む。
【０１６９】
Ｓ６４０では、バッテリ制御回路６５は、履歴データベースの対応する記憶領域に空きがあるか否か判定する。具体的には、バッテリ制御回路６５は、装着機器が充電器の場合には、充電器記憶領域に空きがあるか否か判定する。また、バッテリ制御回路６５は、装着機器が作業機の場合には、作業機記憶領域に空きがあるか否か判定する。バッテリ制御回路６５は、履歴データベースの対応する記憶領域に空きがない場合には、Ｓ６００の処理へ戻り、対応する記憶領域に空きがある場合には、Ｓ６５０の処理へ進む。
【０１７０】
Ｓ６５０では、バッテリ制御回路６５は、Ｓ６１０において取得した装着機器のモデルナンバーを、対応する記憶領域に記憶する。具体的には、バッテリ制御回路６５は、装着機器が充電器の場合には、充電器記憶領域の空きに取得したモデルナンバーを記憶する。また、バッテリ制御回路６５は、装着機器が作業機の場合には、作業機記憶領域の空きに取得したモデルナンバーを記憶する。
【０１７１】
一般に、作業機のモデルナンバーの種類は、充電器のモデルナンバーの種類と比べてかなり多い。そのため、履歴データベースが１つの記憶領域しか有していないと、記憶領域に作業機のモデルナンバーが次々と記憶され、充電器の新しいモデルナンバーを記憶する空きがなくなる可能性がある。これに対して、履歴データベースが充電器記憶領域と作業域記憶領域とを別個に有するため、バッテリパック２２に装着された作業機のモデルナンバーの種類が増加しても、充電器の新しいモデルナンバーを記憶する領域を確保できる。
【０１７２】
続いて、Ｓ６６０では、バッテリ制御回路６５は、Ｓ６１０において取得したモデルナンバーに対応する装着回数をインクリメントする。具体的には、バッテリ制御回路６５は、装着機器が充電器の場合には、充電機器領域に記憶されているモデルナンバーのうち、Ｓ６１０において取得したモデルナンバーに対応する装着回数を「１」増やす。また、バッテリ制御回路６５は、装着機器が作業機の場合には、作業機記憶領域に記憶されているモデルナンバーのうち、Ｓ６１０において取得したモデルナンバーに対応する装着回数を「１」増やす。以上で本処理を終了する。
【０１７３】
履歴処理では、バッテリパック２２に装着機器が装着された時に、装着機器のモデルナンバーが取得され、バッテリパック２２から装着機器が取り外された時に、モデルナンバーのメモリ６５ｄへの書き込み、及びメモリ６５ｄにおける装着回数の更新が実行される。バッテリパック２２に装着機器が装着されているときには、バッテリ制御回路６５は、充電制御、放電制御、装着機器との通信などの処理を実行するため、処理負荷が高く、メモリ６５ｄへの書き込みやメモリ６５ｄの更新を実行する余裕がないことがある。そのため、バッテリ制御回路６５は、バッテリパック２２から装着機器が取り外されるまで、すなわち、時間的な余裕ができるまで、メモリ６５ｄへの書き込み及びメモリ６５ｄの更新の実行を保留する。これにより、バッテリ制御回路６５は、メモリ６５ｄへの書き込み及びメモリ６５ｄの更新を確実に実行することができる。
【０１７４】
＜１−５．効果＞
以上説明した第１実施形態によれば、以下の効果が得られる。
【０１７５】
（１）制御回路３６は、取得したバッテリパック２２の状態情報に基づいて、バッテリパック２２の保護機能が動作する前に、放電電流の電流上限値を低減する。これにより、放電電流が制限されるため、使用者は、作業機１の負荷が比較的高いときでも、バッテリパック２２の保護機能が動作しない消費電力の範囲で、作業機１の使用を続けることができる。また、保護カウンタ値が保護閾値を超えたときには保護機能が動作する。すなわち、バッテリパック２２を保護すべきときには保護機能が動作する。よって、保護すべきときにバッテリパック２２の保護機能を動作させつつ、使用者の利便性を高めることができる。
【０１７６】
（２）バッテリパック２２の過電流状態（すなわち、過負荷状態）は、放電電流の大きさ及び放電電流が流れる時間に応じて判定できる。よって、制御回路３６は、放電電流の大きさに応じた加算値又は減算値を累積した保護カウンタ値に基づいて、バッテリパック２２の過電流状態を判定することができる。
【０１７７】
（３）保護カウンタ値が保護閾値よりも小さいカウンタ閾値を超えると、バッテリパック２２からモータ５０に供給される供給電力が低減される。これにより、モータ５０は、バッテリパック２２の保護機能が動作しない消費電力の範囲で、バッテリパック２２から電力供給を継続して受けることができる。
【０１７８】
（４）保護カウンタ値がカウンタ閾値を超えた場合に、放電電流の電流上限値が低減される。電流上限値が低減されることによって、放電電流値が低減され、モータ５０への供給電力が低減される。ひいては、保護カウンタ値の増加を抑制して、バッテリパック２２の保護機能の作動を抑制することができる。
【０１７９】
（５）モータ５０の駆動前から保護カウンタ値、加算閾値、及び減算閾値が取得され、取得されたこれらの値に基づいて電流上限値が変更される。これにより、モータ５０を一時停止させて再始動させた場合に、電流上限値が一時停止前の設定値から通常設定値に変更されることなく、モータ５０が再始動される。よって、バッテリパック２２の保護機能が動作しない消費電力の範囲でモータ５０を再始動させることができる。
【０１８０】
（６）メインスイッチ２４がオンになった後に制御回路３６とバッテリ制御回路６５との通信が開始される。そのため、作業機１にバッテリパック２２が装着されただけで通信を開始する場合と比べて、バッテリ６０の消費電力を抑制することができる。また、モータ５０の駆動前の時点から、制御回路３６からバッテリ制御回路６５へ情報要求信号の送信が開始される。そのため、バッテリパック２２の保護機能が動作しない消費電力の範囲でモータ５０の駆動を開始させることができる。
【０１８１】
（７）バッテリパック２２からモータ５０へ電流が流れていない時は、バッテリパック２２からモータ５０へ電流が流れている時と比べて、バッテリパック２２の状態が変化しにくい。そのため、バッテリパック２２からモータ５０へ電流が流れていない時には、シリアル通信の頻度を抑制することにより、制御回路３６及びバッテリ制御回路６５の処理負荷を抑制することができる。
【０１８２】
（８）保護カウンタ値に基づいて、放電電流の電流上限値が設定され、設定された電流上限値以下となるように、放電電流が制御される。よって、バッテリパック２２の保護機能が動作する前に電流上限値が低減されるため、バッテリパック２２の保護機能が動作しない消費電力の範囲で、モータ５０の駆動を続けることができる。
【０１８３】
（第２実施形態）
＜２−１．第１実施形態との相違点＞
第２実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【０１８４】
上述した第１実施形態では、バッテリ制御回路６５が、保護カウンタ値を算出し、算出した保護カウンタ値及びカウンタ閾値をバッテリ情報として、作業機１の制御回路３６へ送信した。これに対し、第２実施形態では、制御回路３６が、バッテリパック２２からカウンタマップ情報、加算閾値、及び減算閾値を受信し、受信したこれらを用いて、保護カウンタ値を算出する点で、第１実施形態と相違する。
【０１８５】
また、第１実施形態では、制御回路３６は、バッテリパック２２の保護機能が動作する予兆を検出した場合に、電流上限値を低減して、保護カウンタ値が保護閾値を超えないようにした。これに対して、第２実施形態では、制御回路３６は、バッテリパック２２の保護機能が動作する予兆を検出した場合に、ＰＷＭ制御におけるデューティ比上限値を低減して、保護カウンタ値が保護閾値を超えないようにする。すなわち、第１実施形態では、電流上限値を通常の値よりも小さい値にすることで、放電電流値を低減した。これに対して、第２実施形態では、デューティ比上限値を通常の値よりも小さい値にすることで、放電電流値を低減する。
【０１８６】
具体的には、第２実施形態は、図５に示すモータ制御処理のＳ３３０におけるモータ駆動処理が第１実施形態と異なる。第１実施形態では、制御回路３６は、Ｓ３３０におけるモータ駆動処理において、図６及び図７に示すフローチャートに示す処理を実行した。これに対して、第２実施形態では、制御回路３６は、Ｓ３３０におけるモータ駆動処理において、図１４〜図１６のフローチャートに示す処理を実行する。
【０１８７】
＜２−２．作業機における処理＞
＜２−２−１．モータ駆動処理＞
次に、制御回路３６がＳ３３０において実行するモータ駆動処理の詳細について、図１４のフローチャートを参照して説明する。
【０１８８】
まず、Ｓ７００では、制御回路３６は、図６に示すＳ４００と同様の処理を実行する。
【０１８９】
続いて、Ｓ７１０では、制御回路３６は、保護カウンタ値を算出する保護カウント処理を実行する。保護カウント処理の詳細は後述する。
【０１９０】
続いて、Ｓ７２０では、制御回路３６は、ＰＷＭ制御におけるデューティ比の上限値を設定するデューティ比上限値設定処理を実行する。デューティ比上限値設定処理の詳細は後述する。
【０１９１】
続いて、Ｓ７３０では、制御回路３６は、ＰＷＭ制御におけるデューティ比の算出処理を実行する。具体的には、制御回路３６は、条件（３）及び（４）を満たすように、デューティ比を算出する。次の条件（３）は、デューティ比が、Ｓ７２０において設定したデューティ比上限値以下になることである。条件（４）は、モータ５０の回転速度が、Ｓ７００において設定した目標回転速度へ収束することである。制御回路３６は、条件（３），（４）の両方を満たすことができない場合、条件（３）を満たすことを優先し、条件（４）を満たす中で、モータ５０の回転速度ができる限り目標回転速度に近づくように、デューティ比を算出する。
【０１９２】
続いて、Ｓ７４０では、制御回路３６は、図６に示すＳ４３０と同様の処理を実行する。以上で本処理を終了する。
【０１９３】
＜２−２−２．保護カウント処理＞
次に、制御回路３６が、Ｓ７１０において実行する保護カウント処理の詳細について、図１５のフローチャートを参照して説明する。
【０１９４】
まず、Ｓ８００では、制御回路３６は、電流検出部５４により検出された放電電流値が加算閾値以上か否か判定する。
【０１９５】
制御回路３６は、放電電流値が加算閾値以上の場合には、Ｓ８１０の処理へ進み、放電電流値が加算閾値未満の場合には、Ｓ８３０の処理へ進む。
【０１９６】
Ｓ８１０では、受信したカウンタマップを用いて、放電電流の大きさに応じた正の値の加算値を算出する。図１９に示すように、制御回路３６は、放電電流値が大きいほど、大きな加算値を算出する。例えば、制御回路３６は、放電電流値が５０Ａのとき加算値「１」を算出し、放電電流値が７０Ａのとき加算値「３」を算出する。
【０１９７】
続いて、Ｓ８２０では、制御回路３６は、Ｓ８１０において算出した加算値を保護カウンタ値に加算して、保護カウンタ値を更新し、本処理を終了する。
【０１９８】
一方、Ｓ８３０では、制御回路３６は、放電電流値が減算閾値以下か否か判定する。減算閾値は、加算閾値よりも小さい値であり例えば５Ａである。制御回路３６は、放電電流値が減算閾値以下の場合には、Ｓ８４０の処理へ進み、放電電流値が減算閾値よりも大きい場合には、本処理を終了する。
【０１９９】
Ｓ８４０では、制御回路３６は、受信したカウンタマップから一定値である減算値を算出し、保護カウンタ値から算出した減算値を減算して、保護カウンタ値を更新する。以上で、本処理を終了する。
【０２００】
＜２−２−３．デューティ比上限値設定処理＞
次に、制御回路３６がＳ７２０において実行するデューティ比上限値設定処理の詳細について、図１６のフローチャートを参照して説明する。
【０２０１】
まず、Ｓ９００では、制御回路３６は、保護カウンタ値がカウンタ閾値よりも大きいか否か判定する。制御回路３６は、保護カウンタ値がカウンタ閾値以下の場合には、Ｓ９１０の処理へ進み、保護カウンタ値がカウンタ閾値よりも大きい場合には、Ｓ９２０の処理へ進む。
【０２０２】
Ｓ９１０では、制御回路３６は、デューティ比上限値に通常デューティ比を設定する。通常デューティ比は、放電電流値を加算閾値以上の値にするデューティ比であり、例えば１００％である。
【０２０３】
一方、Ｓ９２０では、制御回路３６は、デューティ比上限値に制限デューティ比を設定する。制限デューティ比は、放電電流値を加算閾値未満の値にするデューティ比であり、通常デューティ比よりも小さい値である。以上で本処理を終了する。
【０２０４】
図１７は、本実施形態に係るメイン処理を実行した場合における、バッテリパック２２と作業機１との間のデータの流れの概要を示す図である。バッテリパック２２から作業機１へ、カウンタマップと、加算閾値と、減算閾値と、保護閾値と、が送信される。作業機１では、放電電流値と、受信したカウンタマップと加算閾値と保護閾値と、を用いて、保護カウンタ値が算出される。そして、作業機１では、算出した保護カウンタ値と受信した保護閾値から算出したカウンタ閾値とを用いて、デューティ比が制限される。
【０２０５】
＜２−３．効果＞
以上説明した第２実施形態によれば、第１実施形態の効果（１）〜（３），（６），（７）を奏するとともに、次の効果（９）を奏する。
【０２０６】
（９）保護カウンタ値がカウンタ閾値を超えた場合に、デューティ比上限値が低減される。デューティ比上限値が低減されることによって、放電電流が低減され、バッテリパック２２からモータ５０への供給電力が低減される。ひいては、保護カウンタ値の増加を抑制し、バッテリパック２２の保護機能の作動を抑制することができる。
【０２０７】
（第３実施形態）
＜３−１．第１実施形態との相違点＞
第３実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【０２０８】
第１実施形態では、カウンタ閾値は固定値であった。これに対して、第３実施形態では、カウンタ閾値は、制御回路３６がバッテリパック２２から受信した状態情報に基づいて設定する可変値である点で、第１実施形態と異なる。
【０２０９】
具体的には、第３実施形態では、図６に示すモータ駆動処理のＳ４１０における電流上限値設定処理が第１実施形態と異なる。第１実施形態では、制御回路３６は、Ｓ４１０における電流上限値設定処理において、図７のフローチャートに示す処理を実行した。これに対して、第３実施形態では、制御回路３６は、Ｓ４１０における電流上限値設定処理において、図１８のフローチャートに示す処理を実行する。
【０２１０】
＜３−２．電流上限値設定処理＞
次に、本実施形態において、制御回路３６０がＳ４１０において実行する電流上限値設定処理の詳細について、図１８に示すフローチャートを参照して説明する。
【０２１１】
まず、Ｓ５０５において、制御回路３６は、カウンタ閾値を設定する。詳しくは、制御回路３６は、電流検出部５４により検出された放電電流の大きさと、バッテリパック２２から受信したカウンタマップ情報とに基づいて、カウンタ閾値を設定する。図１９に示すように、カウンタマップ情報は、放電電流の大きさと加算値及び減算値との対応関係を示す。ここでの加算値は、正の値、ゼロを含み、減算値は、負の値を含む。加算値は、放電電流値が大きいほど大きな値になっており、減算値は、一定の値になっている。
【０２１２】
制御回路３６は、カウンタマップ情報を用いて、検出された放電電流の大きさに対応する加算値を取得する。そして、制御回路３６は、取得した加算値を保護カウンタ値に加算した場合における保護カウンタ値の上昇率を算出し、算出した上昇率に応じてカウンタ閾値を設定する。例えば、制御回路３６は、上昇率が設定された上昇率閾値よりも高い場合には、直ぐに放電電流が制限されるように、カウンタ閾値を比較的小さい値に設定し、上昇率が上昇率閾値以下の場合には、カウンタ閾値を比較的大きい値に設定する。
【０２１３】
また、同じ大きさの放電電流が流れていても、バッテリ温度が比較的高い場合は、バッテリ温度が比較的低い場合よりも、バッテリ６０が劣化しやすい。よって、カウンタマップ情報は、バッテリ温度別に分けられていてもよい。例えば、図１９に示すように、バッテリ温度がＴｈ℃以上の場合と、バッテリ温度がＴｈ℃未満の場合とで、カウンタマップ情報が分けられていてもよい。この場合、制御回路３６は、検出された放電電流の大きさと、バッテリパック２２から受信したバッテリ温度及びカウンタマップ情報と、に基づいて、カウンタ閾値を設定すればよい。
【０２１４】
さらに、同じ大きさの放電電流が流れていても、バッテリ６０の残容量が比較的小さい場合は、残容量が比較的大きい場合よりも、バッテリ６０が劣化しやすい。よって、カウンタマップ情報は、バッテリ温度別及び残容量別に分けられていてもよい。この場合、制御回路３６は、検出された放電電流の大きさと、バッテリパック２２から受信したバッテリ温度、残容量及びカウンタマップ情報と、に基づいて、カウンタ閾値を設定すればよい。
【０２１５】
次に、Ｓ５１５〜Ｓ５３５の処理では、制御回路３６は、図７に示すＳ５００〜Ｓ５２０と同様の処理を実行する。
【０２１６】
図２０は、本実施形態に係るメイン処理を実行した場合における、バッテリパック２２と作業機１との間のデータの流れの概要を示す図である。バッテリパック２２において、放電電流値とカウンタマップとから保護カウンタ値が算出される。カウンタマップは、バッテリ温度及び／又は残容量に応じたマップでもよい。
【０２１７】
そして、バッテリパック２２から作業機１へ、算出された保護カウンタ値と、カウンタマップとが送信される。作業機１では、受信された保護カウンタ値とカウンタマップとからカウンタ閾値が算出される。さらに、作業機１では、受信された保護カウンタ値と、算出したカウンタ閾値とを用いて、放電電流が制限される。
【０２１８】
＜３−３．効果＞
以上説明した第３実施形態によれば、第１実施形態の効果（１）〜（８）を奏するとともに、次の効果（１０）を奏する。
【０２１９】
（１０）制御回路３６は、カウンタマップ情報を用いることにより、放電電流の大きさに応じてカウンタ閾値を変化させることができる。ひいては、制御回路３６は、放電電流の大きさに応じて好適に供給電力を制限することができる。特に、制御回路３６は、バッテリ温度別及び／又は残容量別のカウンタマップ情報を用いる場合には、より好適に供給電力を制限することができる。
【０２２０】
（第４実施形態）
＜４−１．第１実施形態との相違点＞
第４実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【０２２１】
上述した第１実施形態では、バッテリ制御回路６５が、保護カウンタ値を算出し、算出した保護カウンタ値及びカウンタ閾値をバッテリ情報として、作業機１の制御回路３６へ送信した。これに対し、第４実施形態では、バッテリ制御回路６５から制御回路３６へ保護カウンタ値及びカウンタマップを送信する。そして、制御回路３６は、バッテリ制御回路３６から保護カウンタ値を受信するとともに、保護カウンタ値を受信する周期よりも短い周期で、自身で保護カウンタ値を算出する。
【０２２２】
具体的には、第４実施形態は、図４に示すバッテリ状態処理のＳ１００におけるバッテリ通信処理が第１実施形態と異なる。第４実施形態では、制御回路３６は、Ｓ１００におけるバッテリ通信処理において、図２１のフローチャートに示す処理を実行する。また、図６に示すモータ駆動処理のＳ４００とＳ４１０の処理の間において、図２２に示す保護カウント処理を実行する。さらに、図６に示すモータ駆動処理のＳ４１０における電流上限値設定処理において、図２４又は図２５のフローチャートに示す処理を実行する。
【０２２３】
＜４−２．作業機における処理＞
＜４−２−１．バッテリ通信処理＞
次に、制御回路３６が、Ｓ１００において実行するバッテリ通信処理の詳細において、図２１のフローチャートを参照して説明する。
【０２２４】
Ｓ１０５では、制御回路３６は、初期通信が完了したか否か判定する。Ｓ１０５において、初期通信が完了していないと判定した場合は、Ｓ１１５の処理へ進み、初期通信が完了していると判定した場合は、Ｓ１２５の処理へ進む。
【０２２５】
Ｓ１１５では、制御回路３６は、初期通信処理を実行する。具体的には、制御回路３６は、バッテリ制御回路６５から、カウンタマップ、加算閾値、減算閾値、保護閾値、カウンタ閾値、及び後述する時間閾値を受信する。図２６に、カウンタマップの一例を示す。このカウンタマップは、バッテリ温度及び／又は残容量に応じたカウンタマップでもよい。一方、Ｓ１２５では、バッテリ制御回路６５により算出された保護カウンタ値を受信する。
【０２２６】
なお、制御回路３６は、作業機１とバッテリパック２２とが接続したときの初回通信以外でも、バッテリ制御回路６５からカウンタマップ等を受信してもよい。例えば、制御回路３６は、バッテリパック２２からの電力供給が停止して作業機１が停止した後に、作業機１が電力の再供給を受けて再始動した際において、バッテリ制御回路６５からカウンタマップ等を受信してもよい。
【０２２７】
＜４−２−２．保護カウント処理＞
次に、制御回路３６が、Ｓ４００とＳ４１０の処理の間において実行する保護カウント処理の詳細について、図２２のフローチャートを参照して説明する。
【０２２８】
まず、Ｓ２０５では、保護カウンタ値算出処理を実行して、保護カウンタ値を算出する。保護カウンタ値算出する処理の詳細は後述する。
【０２２９】
続いて、Ｓ２１５では、制御回路３６は、バッテリパック２２との通信により、現時点の保護カウンタ値を取得したか否か判定する。現時点の保護カウンタ値は、例えば、今回の保護カウント処理サイクルと、今回の保護カウント処理サイクルから所定期間遡った時点との間における保護カウンタ値である。あるいは、現在の保護カウンタ値は、前回の保護カウント処理サイクルと、今回の保護カウント処理サイクルとの間における保護カウンタ値である。上述したバッテリ通信処理の周期は、保護カウント処理の周期よりも長いため、保護カウント処理のサイクル間で、バッテリパック２２から保護カウンタ値を取得できる場合と、取得できない場合がある。
【０２３０】
Ｓ２１５において、保護カウンタ値を取得したと判定した場合は、Ｓ２２５の処理へ進み、保護カウンタ値を取得していないと判定した場合は、本処理を終了する。
【０２３１】
Ｓ２２５では、制御回路３６は、制御回路３６が有するバッテリ保護カウンタ値を、バッテリパック２２から取得した保護カウンタ値に更新し、本処理を終了する。すなわち、制御回路３６は、バッテリパック２２から現時点の保護カウンタ値を取得した場合には、制御回路３６が算出した保護カウンタ値よりも、バッテリパック２２から取得した保護カウンタ値を優先して用いる。また、制御回路３６は、バッテリパック２２から現時点の保護カウンタ値を取得していない場合には、制御回路３６が算出した保護カウンタ値を用いる。
【０２３２】
＜４−２−２．保護カウンタ値算出処理＞
次に、制御回路３６が、Ｓ２０５において実行する保護カウンタ値算出処理の詳細について、図２３のフローチャートを参照して説明する。
【０２３３】
まず、Ｓ３０５〜Ｓ３４５では、図１５に示すＳ８００〜Ｓ８４０と同様の処理を実行する。すなわち、Ｓ３２５及びＳ３４５では、保護カウンタ値を、保護カウンタ値に加算値を加算した値、又は保護カウンタ値から減算値を減算した値に、更新する。
【０２３４】
このとき、更新前の保護カウンタ値は、前回の保護カウンタ処理算出処理サイクルにおいて算出した値、又は、Ｓ２２５において、バッテリパック２２からの取得値に更新した保護カウンタ値である。したがって、制御回路３６は、バッテリ通信処理を実行してバッテリ制御回路６５から保護カウンタ値を取得する。そして、制御回路３６は、バッテリ通信処理のサイクル間において、直近の通信によりバッテリ制御回路６５から取得した保護カウンタ値に、加算値又は減算値を累積して、現時点の保護カウンタ値を算出する。
【０２３５】
＜４−２−３．電流上限値設定処理＞
次に、制御回路３６がＳ４１０において実行する電流上限値設定処理の詳細について、図２４のフローチャートを参照して説明する。
【０２３６】
Ｓ４０５では、制御回路３６は、バッテリパック２２が過負荷停止になるまでの時間予測処理を実行する。バッテリパック２２は、保護カウンタ値が保護閾値に到達した場合に、過負荷のため放電禁止信号を出力し、放電停止状態になる。制御回路３６は、受信したカウンタマップを用いて、保護カウンタ値が保護閾値に到達するまでの時間を予測する。
【０２３７】
Ｓ４１５では、制御回路３６は、Ｓ４０５において予測した停止までの時間が、時間閾値未満か否か判定する。Ｓ４１５において、停止までの時間が時間閾値以上と判定した場合には、Ｓ４２５の処理へ進み、停止までの時間が時間閾値未満と判定した場合には、Ｓ４３５の処理へ進む。すなわち、制御回路３６は、停止までの時間と時間閾値との比較から、バッテリパック２２が保護動作を実行する予兆を検出した場合は、Ｓ４３５の処理へ進み、予兆を検出していない場合は、Ｓ４２５の処理へ進む。
【０２３８】
Ｓ４２５では、制御回路３６は、電流上限値に通常電流値を設定する。通常電流値は、加算閾値以上の電流値である。すなわち、通常電流値は、保護カウンタ値を増加させる値である。
【０２３９】
一方、Ｓ４３５では、制御回路３６は、電流上限値に制限電流値を設定する。制限電流値は、加算閾値未満の電流値であってもよい。すなわち、制限電流値は、保護カウンタ値を一定値以下に保持する値であってもよい。
【０２４０】
あるいは、図２７に示すように、電流制限値は、保護カウンタ値に応じて設定する値であってもよい。例えば、図２６に示すように、保護カウンタ値が保護閾値の６０％の値の場合には、加算値を２以下に制限するように、電流制限値を７０Ａに設定する。そして、保護カウンタ値が保護閾値の８０％の値まで上昇した場合には、加算値を１以下に制限するように、電流制限値を６０Ａに設定する。さらに、保護カウンタ値が保護閾値の９０％の値まで上昇した場合には、加算値を０以下に制限するように、電流制限値を５０Ａに設定する。すなわち、放電電流を加算値が０以下となる値にいきなり制限するのではなく、保護カウンタ値の増加が緩やかになるように放電電流を制限し、保護カウンタ値が保護閾値に到達する直前に、保護カウンタ値が増加しない値に放電電流を制限してもよい。このようにすれば、放電電流を加算値が０以下となる値にいきなり制限する場合と比べて、使用者は作業機の出力をできる限り低下させることなく、使用し続けることができる。
【０２４１】
＜４−２−３．電流上限値設定処理の別例＞
次に、制御回路３６がＳ４１０において実行する電流上限値設定処理の別例の詳細について、図２５のフローチャートを参照して説明する。
【０２４２】
Ｓ５０５、Ｓ５１５、及びＳ５４５では、Ｓ４０５〜Ｓ４３５と同様の処理を実行する。
【０２４３】
そして、Ｓ５１５において、停止までの時間が時間閾値以上と判定した場合には、Ｓ５２５の処理へ進む。Ｓ５２５では、制御回路３６は、保護カウンタ値がカウンタ閾値よりも大きいか否か判定する。Ｓ５２５において、保護カウンタ値がカウンタ閾値よりも大きいと判定した場合は、Ｓ５４５の処理へ進み、電流上限値に制限電流値を設定する。
【０２４４】
一方、Ｓ５２５において、保護カウンタ値がカウンタ閾値以下であると判定した場合は、Ｓ５３５の処理へ進み、電流上限値に通常電流値を設定する。すなわち、電流上限値設定処理の別例では、停止までの時間と時間閾値との比較と、保護カウンタ値とカウンタ閾値との比較とから、バッテリパック２２が保護動作を実行する予兆を検出する。
【０２４５】
図２８は、本実施形態に係るメイン処理を実行した場合における、バッテリパック２２と作業機１との間のデータの流れの概要を示す図である。初期通信において、バッテリパック２２から作業機１へ、カウンタマップと、加算閾値と、減算閾値と、保護閾値と、時間閾値と、が送信される。また、バッテリパック２２において、保護カウンタ値が算出され、所定の周期で、算出された保護カウンタ値が作業機１へ送信される。
【０２４６】
作業機１では、受信された保護カウンタ値と、カウンタマップと、放電電流値とから、現時点の保護カウンタ値が算出される。そして、作業機１では、算出された現時点の保護カウンタ値と、時間閾値とを用いて、放電電流が制限される。あるいは、作業機１では、算出された現時点の保護カウンタ値と、時間閾値と、受信した保護閾値から算出したカウンタ値と、を用いて、放電電流が制限される。
【０２４７】
＜４−３．効果＞
以上説明した第４実施形態によれば、第１実施形態の効果（１）〜（８）を奏するとともに、次の効果（１１）〜（１２）を奏する。
【０２４８】
（１１）制御回路３６が、バッテリパック２２から現時点の保護カウンタ値を取得した場合には、バッテリパック２２から取得された保護カウンタ値が、制御回路３６が算出した保護カウンタ値よりも優先して用いられる。したがって、制御回路３６は、できる限りバッテリパック２２が保護動作を実行するために用いる値と同じ値を用いるため、バッテリパック２２が保護動作を実行する予兆を精度良く検出することができる。
【０２４９】
（１２）制御回路３６により、バッテリパック２２から過去に取得された保護カウンタ値に加算値を加算又は減算値を減算して、保護カウンタ値が算出される。したがって、制御回路３６は、できる限りバッテリパックが保護動作を実行するために用いる値を用いるため、バッテリパック２２が保護動作を実行する予兆を精度良く検出することができる。
【０２５０】
（第５実施形態）
＜５−１．第１実施形態との相違点＞
第５実施形態は、基本的な構成は第１実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【０２５１】
上述した第１実施形態では、制御回路３６は、バッテリパック２２により保護動作が実行される予兆を検出した場合に、放電電流を抑制し、バッテリパック２２の過負荷状態の進行を抑制していた。これに対して、第５実施形態では、制御回路３６は、バッテリパック２２により保護動作が実行される予兆を検出した場合に、モータ５０を一旦停止させて、バッテリパック２２の回復を促す点で、第１実施形態と異なる。第５実施形態では、制御回路３６は、Ｓ４１０における電流上限値設定処理の代わりに、図２９のフローチャートに示す過負荷停止処理を実行する。
【０２５２】
図１９及び図２６のカウンタマップに示すように、モータ５０が停止して放電電流が０Ａになると、保護カウンタ値から減算値が減算され、保護カウンタ値が減少する。保護カウンタ値が所定値まで減少した後、モータ５０を再始動させることにより、作業機１の停止時間が、バッテリパック２２が保護動作を実行した場合と比べて、比較的短い時間に抑制される。バッテリパック２２が保護動作を実行して放電禁止信号を出力すると、モータ５０の停止期間は、例えば３〜５分になる。これに対して、作業機１が、バッテリパック２２により保護動作が実行される前にモータ５０を停止させる場合、モータ５０の停止期間は、例えば、２０〜３０秒になる。
【０２５３】
＜５−２．過負荷停止処理＞
次に、制御回路３６が、Ｓ４１０において電流上限値設定処理の代わりに実行する過負荷停止処理の詳細について、図２９に示すフローチャートを参照して説明する。
【０２５４】
まず、Ｓ６０５において、制御回路３６は、停止フラグがクリアされているか否か判定する。停止フラグがセットされている場合、Ｓ５０の処理において、制御回路３６は異常を検出する。その結果、バッテリ６０からモータ５０への電力供給が停止されて、モータ５０が停止する。
【０２５５】
Ｓ６０５において、停止フラグがクリアされていると判定した場合は、Ｓ６１５の処理へ進む。Ｓ６１５では、制御回路３６は、保護カウンタ値が、設定されている停止閾値よりも大きいか否か判定する。Ｓ６１５において、保護カウンタ値が停止閾値よりも大きいと判定した場合は、Ｓ６２５の処理へ進み、保護カウンタ値が停止閾値以下と判定した場合は、Ｓ６４５の処理へ進む。
【０２５６】
Ｓ６２５では、制御回路３６は、停止フラグをセットする。続いて、Ｓ６３５では、制御回路３６は、停止閾値に第２カウンタ値を設定し、本処理を終了する。第２カウンタ値は、バッテリパック２２が保護動作を実行する保護閾値よりも小さい値である。本実施形態では、第２カウンタ値が第２停止閾値の一例に相当する。
【０２５７】
一方、Ｓ６４５では、制御回路３６は、保護カウンタ値が第３カウンタ値よりも小さいか否か判定する。第３カウンタ値は、第２カウンタ値よりも小さい値である。Ｓ６４５において、保護カウンタ値が第３カウンタ値よりも小さいと判定した場合は、Ｓ６５５の処理へ進み、保護カウンタ値が第３カウンタ値以上と判定した場合は、本処理を終了する。
【０２５８】
Ｓ６５５では、制御回路３６は、停止閾値に第１カウンタ値を設定して、本処理を終了する。第１カウンタ値は、第２カウンタ値よりも小さく、第３カウンタ値よりも大きい値である。本実施形態では、第１カウンタ値が第１停止閾値の一例に相当する。
【０２５９】
また、Ｓ６０５において、停止フラグがセットされていると判定した場合は、Ｓ６６５の処理へ進む。Ｓ６６５では、制御回路３６は、保護カウンタ値が第１カウンタ値よりも小さいか否か判定する。Ｓ６６５において、保護カウンタ値が第１カウンタ値よりも小さいと判定した場合は、Ｓ６７５へ進み、保護カウンタ値が第１カウンタ値以上と判定した場合は、本処理を終了する。Ｓ６７５では、制御回路３６は、停止フラグをクリアして、本処理を終了する。
【０２６０】
＜５−３．作業機の動作＞
次に、制御回路３６が過負荷停止処理を実行した場合における、作業機１の動作について、図３０のタイムチャートを参照して説明する。図３０に示す保護カウンタ値のタイムチャートにおいて、ハッチング部分は、モータ５０の停止期間を示す。また、ハッチング部分のうち、点のハッチング部分は、トリガ１１を引くことにより、モータ５０の再始動が可能な期間を示し、斜線のハッチング部分は、トリガ１１の操作の有無にかかわらず、モータ５０の再始動を禁止する期間を示す。
【０２６１】
時点ｔ１０において、トリガ１１が引かれてトリガスイッチ１２がオンになり、加算閾値以上の放電電流が流れ、保護カウンタ値が増加し始める。このとき、停止閾値には、第１カウンタ値が設定されている。
【０２６２】
時点ｔ１１において、保護カウンタ値が停止閾値（＝第１カウンタ値）を超えると、停止閾値に第２カウンタ値が設定される。また、モータ５０が一旦停止し、モータ５０の再始動の可能期間に入る。モータ５０の停止により、放電電流が流れなくなるため、保護カウンタ値が減少し始める。
【０２６３】
そして、時点ｔ１２において、トリガ１１が離されてトリガスイッチ１２が一旦オフになり、時点ｔ１３において、トリガ１１が引かれてトリガスイッチ１２がオンになると、モータ５０が再始動し、放電電流が流れる。
【０２６４】
そして、時点ｔ１４において、保護カウンタ値が停止閾値（＝第２カウンタ値）を超えると、モータ５０が停止し、モータ５０の再始動の不可期間に入る。時点ｔ１３から時点ｔ１４の期間は、時点ｔ１０から時点ｔ１１の期間よりも、モータ５０の負荷が大きく、放電電流値が大きくなっている。そのため、時点ｔ１３から時点ｔ１４の期間では、時点ｔ１０から時点ｔ１１の期間よりも、保護カウンタ値の増加率が大きくなっている。
【０２６５】
また、時点ｔ１４において、モータ５０が停止すると、保護カウンタ値が減少し始める。時点ｔ１５において、トリガ１１が離れトリガスイッチ１２がオフになり、時点ｔ１６において、トリガ１１が引かれてトリガスイッチ１２がオンになる。しかしながら、モータ５０の再始動の不可期間であるため、モータ５０は停止状態に維持され、放電電流は流れていない。使用者は、時点ｔ１１において、モータ５０が一旦停止することにより、作業機１の使用を継続すると、モータ５０の再始動の不可期間が到来することを認識できる。
【０２６６】
時点ｔ１７において、トリガ１１が離されトリガスイッチ１２がオフになる。時点ｔ１８において、保護カウンタ値が第１カウンタ値以下になり、モータ５０の再始動の不可期間から可能期間へ遷移する。
【０２６７】
そして、時点ｔ１９において、トリガ１１が引かれてトリガスイッチ１２がオンなると、モータ５０が再始動し、放電電流が流れる。時点ｔ２０において、保護カウンタ値が再び停止閾値（＝第２カウンタ値）を超えると、モータ５０が停止し、モータ５０の再始動の不可期間に入る。
【０２６８】
時点ｔ１９から時点ｔ２０の期間は、時点ｔ１３から時点ｔ１４の期間よりも、モータ５０の負荷が小さく、放電電流値が小さくなっている。そのため、時点ｔ１９から時点ｔ２０の期間では、時点ｔ１３から時点ｔ１４の期間よりも、保護カウンタ値の増加率が小さくなっている。
【０２６９】
また、時点ｔ２０において、モータ５０が停止すると、保護カウンタ値が減少し始める。時点ｔ２１において、トリガ１１が離されトリガスイッチ１２がオフになる。時点ｔ２２において、保護カウンタ値が第１カウンタ値以下になり、モータ５０の再始動の不可期間から可能期間へ遷移する。しかしながら、トリガ１１が引かれないため、モータ５０が再始動することなく、保護カウンタ値が減少し続ける。
【０２７０】
そして、時点ｔ２３において、保護カウンタ値が第３カウンタ値未満になると、停止閾値に第１カウント値が設定される。時点ｔ２４において、トリガ１１が引かれてトリガスイッチ１２がオンになると、モータ５０が再始動し、放電電流が流れ始める。また、保護カウンタ値が増加し始める。時点ｔ２５において、保護カウンタ値が停止閾値（＝第１カウント値）を超えると、モータ５０が停止し、モータ５０の再始動の可能期間に入る。本実施形態では、放電電流を制限していないため、全期間に亘って、放電電流はモータ５０の負荷の変化に応じて、変化している。
【０２７１】
＜５−４．効果＞
以上説明した第５実施形態によれば、以下の効果（１３）〜（１５）を奏する。
【０２７２】
（１３）制御回路３６が、バッテリパック２２による保護動作が実行される前に、モータ５０を停止させる。これにより、バッテリパック２２が保護動作を実行する場合と比べて、比較的短い時間でバッテリパック２２をから回復させることができる。ひいては、使用者は、作業機１の比較的短い停止期間を経て、作業機１の使用を継続することができる。また、使用者は、バッテリパック２２の出力が制限されない状態で、作業機１の使用を継続することができる。
【０２７３】
（１４）保護カウンタ値が保護閾値よりも小さい停止閾値を超えると、モータ５０が停止される。これにより、保護カウンタ値が減少する。その結果、モータ５０の比較的短い停止期間を経て、バッテリパック２２をから回復させることができる。ひいては、モータ５０は、比較的短い停止期間後に、バッテリパック２２から電力供給を継続して受けることができる。
【０２７４】
（１５）保護カウンタ値が、第１カウンタ値が設定された停止閾値を超えた場合に、モータ５０が停止され、モータ５０の停止後、トリガ１１が操作された場合に、モータ５０が再始動される。さらに、保護カウンタ値が、第２カウンタ値が設定された停止閾値を超えた場合に、モータ５０が停止され、保護カウンタ値が第１カウンタ値を下回るまで、モータ５０の再始動が禁止される。これにより、使用者は、モータ５０が一旦停止した際には、トリガ１１を操作することにより作業機１の使用を継続することができるとともに、使用を継続することよって、作業機１が使用不可能な期間が到来することを認識することができる。
【０２７５】
（他の実施形態）
以上、本開示を実施するための形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０２７６】
（ａ）上記各実施形態では、バッテリパック２２は保護カウンタ値が保護閾値を超えた場合に保護機能が作動したが、本開示はこれに限定されるものではない。バッテリパック２２は、バッテリ６０の残容量が第１容量閾値を下回った場合に、保護機能が作動してもよい。すなわち、バッテリパック２２は過放電状態になった場合に、保護機能が作動して放電禁止になってもよい。
【０２７７】
そして、制御回路３６は、バッテリパック２２から取得した残容量が第２容量閾値を下回った場合に、電流上限値に制限電流値を設定してもよい。あるいは、制御回路３６は、取得した残容量が第２容量閾値を下回った場合に、デューティ比上限値に制限デューティ比を設定してもよい。第２容量閾値は、第１容量閾値よりも大きい値である。この場合、制御回路３６は、残容量が第２容量閾値を下回った場合に、保護機能が作動する予兆を検出する。
【０２７８】
（ｂ）また、バッテリパック２２は、バッテリ温度が第１温度閾値を超えた場合に、保護機能が作動してもよい。すなわち、バッテリパック２２が高温状態になった場合に、保護機能が作動して放電禁止になってもよい。
【０２７９】
そして、制御回路３６は、バッテリパック２２から取得したバッテリ温度が第２温度閾値を超えた場合に、電流上限値に制限電流値を設定してもよい。あるいは、制御回路３６は、取得したバッテリ温度が第２温度閾値を超えた場合に、デューティ比上限値に制限デューティ比を設定してもよい。第２温度閾値は第１温度閾値よりも小さい値である。この場合、制御回路３６は、バッテリ温度が第２温度閾値を超えた場合に、保護機能が作動する予兆を検出する。
【０２８０】
（ｃ）第１実施形態では、保護カウンタ値がカウンタ閾値以下の場合に、電流上限値に通常電流値を設定したが、保護カウンタ値がカウンタ閾値以下の場合には電流上限値を設定しなくてもよい。この場合、制御回路３６は、Ｓ４２０の処理において、条件（２）を満たすように、デューティ比を算出すればよい。
【０２８１】
（ｄ）第１実施形態では、電流上限値を、２段階の値のいずれかに設定したが、３段階以上の値のいずれかに設定してもよい。例えば、保護閾値よりも小さい閾値として、第１カウンタ閾値と、第１カウンタ閾値よりも小さい第２カウンタ閾値とを設定する。そして、制御回路３６は、保護カウンタ値が第２カウンタ閾値よりも小さい場合には、電流上限値に通常電流値を設定する。また、制御回路３６は、保護カウンタ値が第１カウンタ閾値以上の場合には電流上限値に第１制限電流値を設定し、保護カウンタ値が第１カウンタ閾値未満且つ第２カウンタ閾値以上の場合には、電流上限値に第２制限電流値を設定する。第１電流制限値及び第２電流制限値は、いずれも加算閾値よりも小さい値で、第１電流制限値は第２電流制限値よりも小さい値とする。同様に、第２実施形態では、デューティ比上限値を、３段階以上の値のいずれかに設定してもよい。
【０２８２】
（ｅ）第１実施形態と第２実施形態とを組み合わせてもよい。具体的には、第１実施形態において、第２実施形態のように、作業機１の制御回路３６は、バッテリ制御回路６５から保護カウンタ値を受信する代わりに、保護カウンタ値を算出してもよい。この場合、バッテリ制御回路６５は、保護カウンタ値を算出しなくてもよい。
【０２８３】
また、第２実施形態において、第１実施形態にように、バッテリ制御回路６５は、保護カウンタ値を算出してもよい。この場合、作業機１の制御回路３６は、保護カウンタ値を算出する代わりに、バッテリ制御回路６５から保護カウンタ値、加算閾値及び減算閾値を受信してもよい。
【０２８４】
（ｆ）第３実施形態において、Ｓ５０５の処理において、制御回路３６は、放電電流の大きさ等とカウンタマップ情報とに基づいて、カウンタ閾値を設定したが、放電電流の大きさ等とカウンタマップ情報とに基づいて、制限電流値を設定してもよい。例えば、制御回路３６は、カウンタマップ情報から推定した保護カウンタ値の上昇率が比較的大きい場合には、制限電流値を比較的小さい値に設定し、保護カウンタ値の上昇率が比較的小さい場合には、制限電流値を比較的大きい値に設定してもよい。
【０２８５】
（ｇ）上記各実施形態において、第２接続線４９及び第２バッテリ接続線６９のそれぞれを構成する通信線は１本に限らず２本でもよい。第２接続線４９及び第２バッテリ接続線６９が２本の通信線を含んでいる場合、一方の通信線は、制御回路３６からバッテリ制御回路６５へデータを送信する送信専用線であり、他方の通信線は、バッテリ制御回路６５から制御回路３６へデータを送信する送信専用線である。第２接続線４９及び第２バッテリ接続線６９が２本の通信線を含んでいる場合、シリアル端子４４及びバッテリシリアル端子６４のそれぞれは、２つのシリアル通信用の端子を含む。そして、２本の通信線のそれぞれは、シリアル通信用の端子に接続されている。このように、第２接続線４９及び第２バッテリ接続線６９が２本の通信線を含む場合、１本の通信線しか含まない場合と比べて、制御回路３６とバッテリ制御回路６５との間における通信速度を高くすることができる。このようにしても、好適にバッテリパック２２からモータ５０への供給電力を制限することができる。
【０２８６】
（ｈ）本開示は、草刈機への適用に限らず、例えばチェーンソー、ヘッジトリマ、バリカンや、インパクトドライバー等の電動工具など、回転力により作業ツールが駆動されるように構成された各種の作業機に対して適用可能である。
【０２８７】
（ｉ）制御回路３６及びバッテリ制御回路６５は、マイクロコンピュータに代えて、又はマイクロコンピュータに加えて、個別の各種電子部品の組み合わせを備えてもよいし、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｅｄ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）を備えてもよいし、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｔ（ＡＳＳＰ）を備えてもよいし、例えばＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）などのプログラマブル・ロジック・デバイスを備えてもよいし、あるいはこれらの組み合わせを備えてもよい。
【０２８８】
（ｊ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【０２８９】
（ｋ）上述した電動作業機の他、当該電動作業機とバッテリパックとを構成要素とするシステム、モータ駆動方法など、種々の形態で本開示を実現することもできる。
【図１】
2020054775.tif 000003
【図２】
2020054775.tif 000004
【図３】
2020054775.tif 000005
【図４】
2020054775.tif 000006
【図５】
2020054775.tif 000007
【図６】
2020054775.tif 000008
【図７】
2020054775.tif 000009
【図８】
2020054775.tif 000010
【図９】
2020054775.tif 000011
【図１０】
2020054775.tif 000012
【図１１】
2020054775.tif 000013
【図１２】
2020054775.tif 000014
【図１３】
2020054775.tif 000015
【図１４】
2020054775.tif 000016
【図１５】
2020054775.tif 000017
【図１６】
2020054775.tif 000018
【図１７】
2020054775.tif 000019
【図１８】
2020054775.tif 000020
【図１９】
2020054775.tif 000021
【図２０】
2020054775.tif 000022
【図２１】
2020054775.tif 000023
【図２２】
2020054775.tif 000024
【図２３】
2020054775.tif 000025
【図２４】
2020054775.tif 000026
【図２５】
2020054775.tif 000027
【図２６】
2020054775.tif 000028
【図２７】
2020054775.tif 000029
【図２８】
2020054775.tif 000030
【図２９】
2020054775.tif 000031
【図３０】
2020054775.tif 000032
【国際調査報告】
2020054775.tif 000033
2020054775.tif 000034
2020054775.tif 000035
2020054775.tif 000036