(第1実施形態)
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態のチェーンソー1は、図1に示すように、手持ち式電動工具の一種であり、周囲にソーチェーン3が取り付けられたガイドバー4と、ガイドバー4が突出するように取り付けられた本体5とを備える。
ガイドバー4に固定されたボルト6は、本体5に形成された図示しない貫通孔に挿入されることにより、本体5の内側から外側へ突出している。そして、ボルト6が本体5の外側でナット7に螺合することで、ガイドバー4が本体5に固定される。したがって、ナット7は、本体5の外側においてチェーンソー1の使用者に接触可能な状態で露出している。
ガイドバー4は、本体5内に設けられた図示しないスプロケットとともにソーチェーン3を周回可能に支持するための部材である。本体5内には、図2に示すモータ10が収納されている。モータ10は、図示しないスプロケットを回転させることによって、ガイドバー4の外周に沿って移動するようにソーチェーン3を駆動する。
図1に示すように、本体5には、使用者が左右の手でそれぞれ把持するための第1グリップ12および第2グリップ14が設けられている。
第1グリップ12は、ガイドバー4が本体5から突出する方向を前方とした場合に、本体5の上方で、本体5の前方から後方にかけて、チェーンソー1を把持するための空間を本体5との間に形成するように架け渡されている。
第2グリップ14は、一端が第1グリップ12における前方の側壁に連結され、他端が本体5における後端の側壁に連結されている。
このため使用者は、第1グリップ12を本体5の上方で把持し、第2グリップ14を本体5の側方で把持することができる。
第1グリップ12より前方には、モータ10の緊急停止機構に接続されたハンドガード16が設けられている。本体5の後方における下端部分には、バッテリパック8が着脱可能に装着されている。
第1グリップ12の下側には、使用者が第1グリップ12を把持した手で引き操作可能な駆動スイッチ18が設けられている。駆動スイッチ18は、使用者により引き操作されるとオン状態となるトリガスイッチである。
第1グリップ12の上側には、ロック解除レバー19が設けられている。使用者がロック解除レバー19を押し下げると、ロック解除レバー19と駆動スイッチ18との係合が外れて、駆動スイッチ18が操作可能となる。従って、使用者は、上方からロック解除レバー19を押さえつつ第1グリップ12を把持することにより、駆動スイッチ18を指先で操作することができる。一方、使用者は、ロック解除レバー19を押し下げていない状態では、駆動スイッチ18を操作することができない。
第1グリップ12の上側には、操作パネル20が設けられている。操作パネル20には、主電源スイッチ21と、チェーンソー1の動作状態を表示するための状態表示部22とが組み付けられている。
主電源スイッチ21は、使用者が押し下げ操作をしているときにだけオン状態となるタクトスイッチで構成されている。状態表示部22は、点灯色が異なる2つのLEDで構成されている。状態表示部22は、2つのLEDの点灯状態を切り替えることにより、モータ10を制御する際の動作モードを識別可能に表示する。
図2に示すように、チェーンソー1は、モータ駆動部30を備える。モータ駆動部30は、バッテリパック8内のバッテリ9から電力供給を受けてモータ10を駆動制御する。本実施形態では、モータ10は、3相ブラシレスモータである。そしてモータ駆動部30は、駆動回路32、ゲート回路34、制御回路36およびレギュレータ40を備える。
駆動回路32は、バッテリ9から電力供給を受けて、モータ10の各相巻線に電流を流すための回路である。本実施形態では、駆動回路32は、6つのスイッチング素子Q1,Q2,Q3,Q4,Q5,Q6を備える3相フルブリッジ回路として構成されている。本実施形態では、スイッチング素子Q1〜Q6はMOSFETである。
駆動回路32において、スイッチング素子Q1〜Q3は、モータ10の各端子U,V,Wと、バッテリ9の正極側に接続された電源ラインとの間に設けられている。スイッチング素子Q4〜Q6は、モータ10の各端子U,V,Wと、バッテリ9の負極側に接続されたグランドラインとの間に設けられている。
ゲート回路34は、制御回路36から出力された制御信号に従い、駆動回路32内の各スイッチング素子Q1〜Q6をオン/オフさせることで、モータ10の各相巻線に電流を流し、モータ10を回転させる回路である。
制御回路36は、CPU、ROMおよびRAM等を備えたマイクロコンピュータを中心に構成されている。マイクロコンピュータの各種機能は、CPUが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROMが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPUが実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、制御回路36を構成するマイクロコンピュータの数は1つでも複数でもよい。
制御回路36は、制御対象となるモータ10およびバッテリ9の状態と使用状態とを履歴情報として記憶するための不揮発性のメモリ38を備える。
モータ駆動部30は、バッテリ電圧検出部42、電流検出回路44および温度センサ46を備える。バッテリ電圧検出部42は、バッテリ9の電圧を検出する。電流検出回路44は、モータ10に流れた電流を検出する。温度センサ46は、モータ駆動部30の温度(以下、コントローラ温度)を検出する。
またチェーンソー1は、モータ10の回転位置および回転数を検出する回転センサ50と、ガイドバー4に固定されたボルト6の温度(以下、外殻温度)を検出する温度センサ52とを備える。
上述した駆動スイッチ18、主電源スイッチ21、状態表示部22、バッテリ電圧検出部42、電流検出回路44、温度センサ46、回転センサ50および温度センサ52は、制御回路36に接続される。
またバッテリパック8は、図示しない監視回路を備える。監視回路は、バッテリ9の状態(例えば、温度およびセル電圧)を監視し、異常時にバッテリ9からの放電を停止させる停止信号を出力する。
そしてモータ駆動部30は、バッテリパック8の監視回路と制御回路36との間の通信を中継するデータ通信部48を備える。このため、制御回路36は、データ通信部48を介して、バッテリパック8から停止信号を受けてモータ10の駆動を停止したり、バッテリ9の状態を取得したりすることができる。
レギュレータ40は、バッテリ9から電力供給を受けて、制御回路36を動作させるための電源電圧Vccを生成し、モータ駆動部30の内部回路に電源供給を行う。
なお、主電源スイッチ21が押されると、制御回路36に信号が出力されるとともに、レギュレータ40に対して信号が出力される。レギュレータ40は、主電源スイッチ21からの信号を受けて電源電圧Vccを生成し、生成した電源電圧Vccを制御回路36へ供給する。これにより、制御回路36は、起動して、モータ制御処理および温度保護判定処理を実行する。また制御回路36は、レギュレータ40が継続して電源電圧Vccを供給するようにレギュレータ40に対して信号を出力する。その結果、主電源スイッチ21が押された状態から離された状態になっても、レギュレータ40は、継続して電源電圧Vccを生成する。また、制御回路36に電源電圧Vccが供給されているときに、主電源スイッチ21が押されると、制御回路36はレギュレータ40に対して、レギュレータ40が電源電圧Vccを生成しなくするようにするために、マイコンの出力ポートの状態を変更する。
まず、制御回路36が実行するモータ制御処理の手順を説明する。モータ制御処理は、制御回路36の動作中に繰り返し実行される処理である。
モータ制御処理が実行されると、制御回路36は、図3に示すように、まずS10にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態である場合には、制御回路36は、S20にて、RAMに設けられた温度保護フラグF1がセットされているか否かを判断する。以下の説明において、フラグをセットするとは、そのフラグの値を1にすることを示し、フラグをクリアするとは、そのフラグの値を0にすることを示す。
ここで、温度保護フラグF1がクリアされている場合には、制御回路36は、S30にて、RAMに設けられた目標回転数Rtを10000rpmに設定する。そしてS40にて、制御回路36は、目標回転数Rtでモータ10を駆動するためのモータ駆動処理を呼び出して、モータ制御処理を一旦終了する。一方、S20にて、温度保護フラグF1がセットされている場合には、制御回路36は、S50に移行する。
またS10にて、駆動スイッチ18がオン状態でない場合には、制御回路36は、S50に移行する。
そしてS50に移行すると、制御回路36は、目標回転数Rtを0rpmに設定する。そしてS60にて、制御回路36は、モータ10の駆動を停止するためのモータ停止処理を呼び出して、モータ制御処理を一旦終了する。
次に、制御回路36が実行する温度保護判定処理の手順を説明する。温度保護判定処理は、制御回路36の動作中に繰り返し実行される処理である。
温度保護判定処理が実行されると、制御回路36は、図4に示すように、まずS110にて、RAMに設けられた初期温度計算完了フラグF2がセットされているか否かを判断する。ここで、初期温度計算完了フラグF2がセットされている場合には、制御回路36は、S120にて、RAMに設けられたモータ回転数Rnowに格納されている値を取得する。モータ回転数Rnowには、回転センサ50から入力される検出信号が示す検出結果に基づいて制御回路36が算出したモータ回転数が格納される。
そして制御回路36は、S130にて、RAMに設けられた現在推定温度Tnowに格納されている値を取得する。現在推定温度Tnowには、制御回路36が推定したナット7の温度が格納される。
また制御回路36は、S140にて、S120で取得したモータ回転数に基づいて終局温度を算出し、算出した終局温度を、RAMに設けられた終局温度Tfinに格納する。なお、制御回路36は、例えば、モータ回転数と終局温度との対応関係を示すマップまたは演算式などを用いて、終局温度を推定する。
また制御回路36は、S150にて、現在推定温度Tnowに格納されている温度と、終局温度Tfinに格納された終局温度との差分を算出し、算出した差分を、RAMに設けられた差分Tdifに格納する。
また制御回路36は、S160にて、差分Tdifに格納された値を予め設定された係数で除算した除算値を、RAMに設けられた温度変化量Taに格納する。
また制御回路36は、S170にて、現在推定温度Tnowに格納されている値と、温度変化量Taに格納されている値とを加算した加算値を、現在推定温度Tnowに格納する。
そして制御回路36は、S180にて、現在推定温度Tnowに格納されている値が、予め設定された温度保護判定値TH1以上であるか否かを判断する。ここで、現在推定温度Tnowに格納されている値が温度保護判定値TH1以上である場合には、制御回路36は、S190にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。
一方、現在推定温度Tnowに格納されている値が温度保護判定値TH1未満である場合には、制御回路36は、S200にて、現在推定温度Tnowに格納されている値が、予め設定された保護解除判定値TH2以下であるか否かを判断する。ここで、現在推定温度Tnowに格納されている値が保護解除判定値TH2以下である場合には、制御回路36は、S210にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、現在推定温度Tnowに格納されている値が保護解除判定値TH2を超えている場合には、温度保護判定処理を一旦終了する。
またS110にて、初期温度計算完了フラグF2がクリアされている場合には、制御回路36は、S220にて、初期温度算出処理を実行し、温度保護判定処理を一旦終了する。
次に、S220で実行される初期温度算出処理の手順を説明する。
初期温度算出処理が実行されると、制御回路36は、図5に示すように、まずS310にて、温度センサ46から入力される検出信号が示すコントローラ温度を、RAMに設けられたコントローラ温度Tcntに格納する。
そして制御回路36は、S320にて、コントローラ温度Tcntに格納されている値を、現在推定温度Tnowに格納する。さらに制御回路36は、S330にて、初期温度計算完了フラグF2をセットし、初期温度算出処理を終了する。
このように構成されたチェーンソー1は、本体5と、ガイドバー4と、ソーチェーン3と、ナット7と、モータ駆動部30とを備える。本体5は、回転することにより駆動力を発生させるように構成されたモータ10を内部に収納する。ガイドバー4は、本体5から突出するように本体5に固定される。ソーチェーン3は、ガイドバー4の外周に沿って取り付けられて、モータ10が発生させる駆動力によりガイドバー4の外周に沿って回転するように構成される。ナット7は、本体5の外側に配置されて、ガイドバー4を本体5に対して固定する。モータ駆動部30は、ナット7の温度(以下、ナット温度)が予め設定された保護温度以上であることを示す予め設定された保護条件が成立した場合に、モータ10の回転を停止させるモータ停止処理を実行する。
このようにチェーンソー1は、ナット7の温度が高くなり保護温度以上となると、モータ10の回転を停止させることができる。このため、チェーンソー1は、ソーチェーン3とガイドバー4との間で発生する摩擦熱に起因してナット7の温度が上昇するのを抑制することができる。
またモータ駆動部30は、モータ10の回転数に基づいて、現在推定温度Tnowを推定する。そして保護条件は、現在推定温度Tnowが温度保護判定値TH1以上であることである。このように、チェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、モータ10は駆動源に相当し、本体5は本体部に相当し、ナット7は固定部材に相当し、S10〜S60,S180〜S210は制御回路としての処理に相当する。
また、S110〜S170,S220は温度推定部としての処理に相当し、現在推定温度Tnowは部材温度に相当し、温度保護判定値TH1は保護温度に相当する。
(第2実施形態)
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第2実施形態のチェーンソー1は、モータ制御処理および温度保護判定処理が変更された点が第1実施形態と異なる。
まず、第2実施形態のモータ制御処理の手順を説明する。
第2実施形態のモータ制御処理が実行されると、制御回路36は、図6に示すように、まずS410にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態である場合には、制御回路36は、S420にて、温度保護フラグF1がセットされているか否かを判断する。
ここで、温度保護フラグF1がクリアされている場合には、制御回路36は、S430にて、目標回転数Rtを10000rpmに設定し、S450に移行する。一方、温度保護フラグF1がセットされている場合には、制御回路36は、S440にて、目標回転数Rtを5000rpmに設定し、S450に移行する。
そして、S450に移行すると、制御回路36は、目標回転数Rtでモータ10を駆動するためのモータ駆動処理を呼び出して、モータ制御処理を一旦終了する。
またS410にて、駆動スイッチ18がオン状態でない場合には、制御回路36は、S460にて、目標回転数Rtを0rpmに設定する。そしてS470にて、制御回路36は、モータ10の駆動を停止するためのモータ停止処理を呼び出して、モータ制御処理を一旦終了する。
次に、第2実施形態の温度保護判定処理の手順を説明する。
第2実施形態の温度保護判定処理が実行されると、制御回路36は、図7に示すように、まずS510にて、S120と同様にして、モータ回転数Rnowに格納されている値を取得する。
そして制御回路36は、S520にて、モータ回転数Rnowに格納されている値が9000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が9000rpmを超えている場合には、制御回路36は、S530にて、RAMに設けられているカウンタ変更量ΔCに20を格納して、S630に移行する。
一方、モータ回転数Rnowに格納されている値が9000rpm以下である場合には、制御回路36は、S540にて、モータ回転数Rnowに格納されている値が7000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が7000rpmを超えている場合には、制御回路36は、S550にて、カウンタ変更量ΔCに10を格納して、S630に移行する。
一方、モータ回転数Rnowに格納されている値が7000rpm以下である場合には、制御回路36は、S560にて、モータ回転数Rnowに格納されている値が5000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が5000rpmを超えている場合には、制御回路36は、S570にて、カウンタ変更量ΔCに5を格納して、S630に移行する。
一方、モータ回転数Rnowに格納されている値が5000rpm以下である場合には、制御回路36は、S580にて、モータ回転数Rnowに格納されている値が3000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が3000rpmを超えている場合には、制御回路36は、S590にて、カウンタ変更量ΔCに−5を格納して、S630に移行する。
一方、モータ回転数Rnowに格納されている値が3000rpm以下である場合には、制御回路36は、S600にて、モータ回転数Rnowに格納されている値が1000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が1000rpmを超えている場合には、制御回路36は、S610にて、カウンタ変更量ΔCに−10を格納して、S630に移行する。
一方、モータ回転数Rnowに格納されている値が1000rpm以下である場合には、制御回路36は、S620にて、カウンタ変更量ΔCに−20を格納して、S630に移行する。
そしてS630に移行すると、制御回路36は、RAMに設けられている発熱カウンタCtに格納されている値と、カウンタ変更量ΔCに格納されている値との加算値を、発熱カウンタCtに格納する。
さらに制御回路36は、S630にて、発熱カウンタCtがアンダーフローしているか否かを判断する。すなわち、制御回路36は、発熱カウンタCtに格納されている値が0より小さいか否かを判断する。ここで、発熱カウンタCtに格納されている値が0より小さい場合には、制御回路36は、発熱カウンタCtがアンダーフローしていると判断し、S650にて、発熱カウンタCtに0を格納し、S660に移行する。一方、発熱カウンタCtに格納されている値が0以上である場合には、制御回路36は、発熱カウンタCtがアンダーフローしていないと判断し、S660に移行する。
そしてS660に移行すると、制御回路36は、温度保護フラグF1がクリアされているか否かを判断する。ここで、温度保護フラグF1がクリアされている場合には、制御回路36は、S670にて、発熱カウンタCtに格納されている値が、予め設定された温度保護判定値TH3以上であるか否かを判断する。ここで、発熱カウンタCtに格納されている値が温度保護判定値TH3以上である場合には、制御回路36は、S680にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、発熱カウンタCtに格納されている値が温度保護判定値TH3未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
またS660にて、温度保護フラグF1がセットされている場合には、制御回路36は、S690にて、発熱カウンタCtに格納されている値が、予め設定された保護解除判定値TH4以下であるか否かを判断する。ここで、発熱カウンタCtに格納されている値が保護解除判定値TH4以下である場合には、制御回路36は、S700にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、発熱カウンタCtに格納されている値が保護解除判定値TH4を超えている場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1は、本体5と、ガイドバー4と、ソーチェーン3と、ナット7と、モータ駆動部30とを備える。モータ駆動部30は、ナット7の温度が予め設定された保護温度以上であることを示す保護条件が成立した場合に、保護条件が成立していない場合よりもモータ10の回転を低減させる低減処理を実行する。
このようにチェーンソー1は、ナット7の温度が高くなり保護温度以上となると、モータ10の回転を低減させることができる。このため、チェーンソー1は、ソーチェーン3とガイドバー4との間で発生する摩擦熱に起因してナット7の温度が上昇するのを抑制することができる。
またモータ駆動部30は、モータ10の回転数に基づいて、発熱カウンタCtを推定する。そして保護条件は、発熱カウンタCtが温度保護判定値TH3以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S410〜S470,S660〜S700は制御回路としての処理に相当し、S510〜S650は発熱量推定部としての処理に相当し、発熱カウンタCtは部材発熱量に相当し、温度保護判定値TH3は保護発熱量に相当する。
(第3実施形態)
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第3実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第3実施形態の温度保護判定処理の手順を説明する。
第3実施形態の温度保護判定処理が実行されると、制御回路36は、図8に示すように、まずS810にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態でない場合には、制御回路36は、S820にて、温度保護フラグF1をクリアする。さらに制御回路36は、S830にて、RAMに設けられたオン時間Tonに0を格納し、温度保護判定処理を一旦終了する。
またS810にて、駆動スイッチ18がオン状態である場合には、制御回路36は、S840にて、駆動スイッチ18がオン状態になってから経過した時間(以下、オン時間)を算出し、算出したオン時間をオン時間Tonに格納する。
そして制御回路36は、S850にて、オン時間Tonに格納されている値が、予め設定された温度保護判定値TH5以上であるか否かを判断する。ここで、オン時間Tonに格納されている値が温度保護判定値TH5以上である場合には、制御回路36は、S860にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、オン時間Tonに格納されている値が温度保護判定値TH5未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、モータ10に駆動力を発生させるために使用者に操作される駆動スイッチ18が操作されているオン時間Tonを計測する。そして保護条件は、計測されたオン時間Tonが予め設定された温度保護判定値TH5以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S820,S850〜S860は制御回路としての処理に相当し、S810,S830,S840は時間計測部としての処理に相当し、オン時間Tonは操作時間に相当し、温度保護判定値TH5は操作用保護時間に相当する。
(第4実施形態)
以下に本開示の第4実施形態を図面とともに説明する。なお第4実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第4実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第4実施形態の温度保護判定処理の手順を説明する。
第4実施形態の温度保護判定処理が実行されると、制御回路36は、図9に示すように、まずS910にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中でない場合には、制御回路36は、S920にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態である場合には、制御回路36は、温度保護判定処理を一旦終了する。一方、駆動スイッチ18がオン状態でない場合には、制御回路36は、S930にて、温度保護フラグF1をクリアする。さらに制御回路36は、S940にて、RAMに設けられた駆動時間Tdrに0を格納し、温度保護判定処理を一旦終了する。
またS910にて、モータ10が駆動中である場合には、制御回路36は、S950にて、モータ10が駆動を開始してから経過した時間(以下、駆動時間)を算出し、算出した駆動時間を駆動時間Tdrに格納する。
そして制御回路36は、S960にて、駆動時間Tdrに格納されている値が、予め設定された温度保護判定値TH6以上であるか否かを判断する。ここで、駆動時間Tdrに格納されている値が温度保護判定値TH6以上である場合には、制御回路36は、S970にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、駆動時間Tdrに格納されている値が温度保護判定値TH6未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、モータ10が駆動している駆動時間Tdrを計測する。そして保護条件は、計測された駆動時間Tdrが予め設定された温度保護判定値TH6以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S930,S960〜S970は制御回路としての処理に相当し、S910〜S930,S950は時間計測部としての処理に相当し、駆動時間Tdrは操作時間に相当し、温度保護判定値TH6は操作用保護時間に相当する。
(第5実施形態)
以下に本開示の第5実施形態を図面とともに説明する。なお第5実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第5実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第5実施形態の温度保護判定処理の手順を説明する。
第5実施形態の温度保護判定処理が実行されると、制御回路36は、図10に示すように、まずS1010にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態でない場合には、制御回路36は、S1020にて、RAMに設けられたオン時間Tonに格納された値から、前回の温度保護判定処理が終了してから経過した時間に相当する値を減算した減算値を、オン時間Tonに格納する。
そして制御回路36は、S1030にて、オン時間Tonに格納されている値が、予め設定された保護解除判定値TH7以下であるか否かを判断する。ここで、オン時間Tonに格納されている値が保護解除判定値TH7以下である場合には、制御回路36は、S1040にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、オン時間Tonに格納されている値が保護解除判定値TH7を超えている場合には、制御回路36は、温度保護判定処理を一旦終了する。
またS1010にて、駆動スイッチ18がオン状態である場合には、制御回路36は、S1050にて、RAMに設けられたオン時間Tonに格納された値と、前回の温度保護判定処理が終了してから経過した時間に相当する値とを加算した加算値を、オン時間Tonに格納する。
そして制御回路36は、S1060にて、オン時間Tonに格納されている値が、予め設定された温度保護判定値TH5以上であるか否かを判断する。ここで、オン時間Tonに格納されている値が温度保護判定値TH5以上である場合には、制御回路36は、S1070にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、オン時間Tonに格納されている値が温度保護判定値TH5未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、モータ10に駆動力を発生させるために使用者に操作される駆動スイッチ18が操作されているオン時間Tonを計測する。そして保護条件は、計測されたオン時間Tonが予め設定された温度保護判定値TH5以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S1030,S1040,S1060,S1070は制御回路としての処理に相当し、S1010,S1020,S1050は時間計測部としての処理に相当し、オン時間Tonは操作時間に相当し、温度保護判定値TH5は操作用保護時間に相当する。
(第6実施形態)
以下に本開示の第6実施形態を図面とともに説明する。なお第6実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第6実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第6実施形態の温度保護判定処理の手順を説明する。
第6実施形態の温度保護判定処理が実行されると、制御回路36は、図11に示すように、まずS1110にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中でない場合には、制御回路36は、S1120にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態である場合には、制御回路36は、温度保護判定処理を一旦終了する。一方、駆動スイッチ18がオン状態でない場合には、制御回路36は、S1130にて、RAMに設けられた駆動時間Tdrに格納された値から、前回の温度保護判定処理が終了してから経過した時間に相当する値を減算した減算値を、駆動時間Tdrに格納する。
そして制御回路36は、S1140にて、駆動時間Tdrに格納されている値が、予め設定された保護解除判定値TH8以下であるか否かを判断する。ここで、駆動時間Tdrに格納されている値が保護解除判定値TH8以下である場合には、制御回路36は、S1150にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、駆動時間Tdrに格納されている値が保護解除判定値TH8を超えている場合には、制御回路36は、温度保護判定処理を一旦終了する。
またS1110にて、モータ10が駆動中である場合には、制御回路36は、S1160にて、駆動時間Tdrに格納された値と、前回の温度保護判定処理が終了してから経過した時間に相当する値とを加算した加算値を、駆動時間Tdrに格納する。
そして制御回路36は、S1170にて、駆動時間Tdrに格納されている値が、予め設定された温度保護判定値TH6以上であるか否かを判断する。ここで、駆動時間Tdrに格納されている値が温度保護判定値TH6以上である場合には、制御回路36は、S1180にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、駆動時間Tdrに格納されている値が温度保護判定値TH6未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、モータ10が駆動している駆動時間Tdrを計測する。そして保護条件は、計測された駆動時間Tdrが予め設定された温度保護判定値TH6以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S1140,S1150,S1170,S1180は制御回路としての処理に相当し、S1110〜S1130,S1160は時間計測部としての処理に相当し、駆動時間Tdrは操作時間に相当し、温度保護判定値TH6は操作用保護時間に相当する。
(第7実施形態)
以下に本開示の第7実施形態を図面とともに説明する。なお第7実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第7実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第7実施形態の温度保護判定処理の手順を説明する。
第7実施形態の温度保護判定処理が実行されると、制御回路36は、図12に示すように、まずS1210にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中でない場合には、制御回路36は、S1270にて、駆動スイッチ18がオフ状態であるか否かを判断する。ここで、駆動スイッチ18がオフ状態でない場合には、制御回路36は、温度保護判定処理を一旦終了する。一方、駆動スイッチ18がオフ状態である場合には、S1250に移行する。
またS1210にて、モータ10が駆動中である場合には、制御回路36は、S1220にて、温度センサ52から入力される検出信号が示す外殻温度を、RAMに設けられた外殻温度Toutに格納する。
そして制御回路36は、S1230にて、外殻温度Toutに格納されている値が、予め設定された温度保護判定値TH9以上であるか否かを判断する。ここで、外殻温度Toutに格納されている値が温度保護判定値TH9以上である場合には、制御回路36は、S1240にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、外殻温度Toutに格納されている値が温度保護判定値TH9未満である場合には、制御回路36は、S1250に移行する。
そしてS1250に移行すると、制御回路36は、外殻温度Toutに格納されている値が、予め設定された保護解除判定値TH10以下であるか否かを判断する。ここで、外殻温度Toutに格納されている値が保護解除判定値TH10以下である場合には、制御回路36は、S1260にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、外殻温度Toutに格納されている値が保護解除判定値TH10を超えている場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1は、外殻温度Toutを検出する温度センサ52を備え、保護条件は、外殻温度Toutが温度保護判定値TH9より高いことである。このようにチェーンソー1は、ナット7の温度を直接的に検出する温度センサ52を備えるため、保護条件が成立したか否かを精度良く判断することができる。
以上説明した実施形態において、S10〜S60,S1210〜S1260は制御回路としての処理に相当し、温度センサ52は温度検出部に相当し、外殻温度Toutは部材温度に相当し、温度保護判定値TH9は保護温度に相当する。
(第8実施形態)
以下に本開示の第8実施形態を図面とともに説明する。なお第8実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第8実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第8実施形態の温度保護判定処理の手順を説明する。
第8実施形態の温度保護判定処理が実行されると、制御回路36は、図13に示すように、まずS1310にて、初期温度計算完了フラグF2がセットされているか否かを判断する。ここで、初期温度計算完了フラグF2がセットされている場合には、制御回路36は、S1320にて、張りレベル検出処理を実行して、張りレベルを検出する。張りレベルは、ガイドバー4に取り付けられたソーチェーン3の張りの度合いを示す。張りレベルを示す値は、RAMに設けられた張りレベルLchに格納される。
そして制御回路36は、S1330にて、S120と同様にして、モータ回転数Rnowに格納されている値を取得する。
また制御回路36は、S1340にて、S130と同様にして、現在推定温度Tnowに格納されている値を取得する。
また制御回路36は、S1350にて、S130で取得したモータ回転数と、S1320で検出した張りレベルとに基づいて終局温度を算出し、算出した終局温度を、RAMに設けられた終局温度Tfinに格納する。なお、制御回路36は、例えば、モータ回転数および張りレベルと終局温度との対応関係を示すマップまたは演算式などを用いて、終局温度を推定する。
また制御回路36は、S1360にて、S1320で検出した張りレベルに基づいて温度上昇係数を算出し、算出した温度上昇係数を、RAMに設けられた温度上昇係数Tparに格納する。なお、制御回路36は、例えば、張りレベルと温度上昇係数との対応関係を示すマップまたは演算式などを用いて、温度上昇係数を算出する。温度上昇係数は、張りレベルとの間で負の相関を有するように設定されている。
また制御回路36は、S1370にて、終局温度Tfinに格納された終局温度から、現在推定温度Tnowに格納されている温度を減算した減算値を、差分Tdifに格納する。
また制御回路36は、S1380にて、差分Tdifに格納された値を、温度上昇係数Tparに格納された値で除算した除算値を、温度変化量Taに格納する。
また制御回路36は、S1390にて、S170と同様にして、現在推定温度Tnowに格納されている値と、温度変化量Taに格納されている値とを加算した加算値を、現在推定温度Tnowに格納する。
そして制御回路36は、S1400にて、S180と同様にして、現在推定温度Tnowに格納されている値が温度保護判定値TH1以上であるか否かを判断する。ここで、現在推定温度Tnowに格納されている値が温度保護判定値TH1以上である場合には、制御回路36は、S1410にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。
一方、現在推定温度Tnowに格納されている値が温度保護判定値TH1未満である場合には、制御回路36は、S1420にて、S200と同様にして、現在推定温度Tnowに格納されている値が保護解除判定値TH2以下であるか否かを判断する。ここで、現在推定温度Tnowに格納されている値が保護解除判定値TH2以下である場合には、制御回路36は、S1430にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、現在推定温度Tnowに格納されている値が保護解除判定値TH2を超えている場合には、温度保護判定処理を一旦終了する。
またS1310にて、初期温度計算完了フラグF2がクリアされている場合には、制御回路36は、S1440にて、S220と同様にして、初期温度算出処理を実行し、温度保護判定処理を一旦終了する。
次に、S1320で実行される張りレベル検出処理の手順を説明する。
張りレベル検出処理が実行されると、制御回路36は、図14に示すように、まずS1510にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中でない場合には、制御回路36は、S1520にて、RAMに設けられた張りレベル検出完了フラグF3をクリアして、張りレベル検出処理を終了する。
一方、モータ10が駆動中である場合には、制御回路36は、S1530にて、張りレベル検出完了フラグF3がセットされているか否かを判断する。ここで、張りレベル検出完了フラグF3がセットされている場合には、制御回路36は、張りレベル検出処理を終了する。
一方、張りレベル検出完了フラグF3がクリアされている場合には、制御回路36は、S1540にて、S120と同様にして、モータ回転数Rnowに格納されている値を取得する。
さらに制御回路36は、S1550にて、直近の変動量算出時間(例えば、5秒間)内におけるモータ回転数の最大値と最小値との差をモータ回転数変動として算出し、算出したモータ回転数変動を、RAMに設けられたモータ回転数変動ΔRに格納する。
そして制御回路36は、S1560にて、モータ回転数変動ΔRに格納された値が、予め設定されたレベル判定値TH11以下であるか否かを判断する。ここで、モータ回転数変動ΔRに格納された値がレベル判定値TH11以下である場合には、制御回路36は、S1570にて、RAMに設けられたモータ電流Imtに格納されている値を取得する。モータ電流Imtには、電流検出回路44から入力される検出信号が示すモータ電流の値が格納される。
また制御回路36は、S1580にて、S1570で取得したモータ電流に基づいて張りレベルを算出し、算出した張りレベルを、RAMに設けられた張りレベルLchに格納する。なお、制御回路36は、例えば、モータ電流と張りレベルとの対応関係を示すマップまたは演算式などを用いて、張りレベルを算出する。
そして制御回路36は、S1590にて、張りレベル検出完了フラグF3をセットして、張りレベル検出処理を終了する。
またS1560にて、モータ回転数変動ΔRに格納された値がレベル判定値TH11を超えている場合には、S1600にて、予め設定された初期値を張りレベルLchに格納して、張りレベル検出処理を終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、ガイドバー4に対するソーチェーン3の張り具合を示す張りレベルを検出する。そしてモータ駆動部30は、張りレベルに応じて、ソーチェーン3の張り具合が強いほど現在推定温度Tnowが高くなるように現在推定温度Tnowを推定する。これにより、チェーンソー1は、張りレベルを用いて現在推定温度Tnowを推定することができるため、保護条件が成立したか否かを精度良く判断することができる。
以上説明した実施形態において、S10〜S60,S1400〜S1430は制御回路としての処理に相当し、S1510〜S1600はレベル検出部としての処理に相当し、S1310〜S1390,S1440は温度推定部としての処理に相当する。
(第9実施形態)
以下に本開示の第9実施形態を図面とともに説明する。なお第9実施形態では、第8実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第9実施形態のチェーンソー1は、張りレベル検出処理が変更された点が第8実施形態と異なる。
ここで、第9実施形態の張りレベル検出処理の手順を説明する。
第9実施形態の張りレベル検出処理が実行されると、制御回路36は、図15に示すように、まずS1710にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中でない場合には、制御回路36は、S1720にて、張りレベル検出完了フラグF3をクリアして、張りレベル検出処理を終了する。
一方、モータ10が駆動中である場合には、制御回路36は、S1730にて、張りレベル検出完了フラグF3がセットされているか否かを判断する。ここで、張りレベル検出完了フラグF3がセットされている場合には、制御回路36は、張りレベル検出処理を終了する。
一方、張りレベル検出完了フラグF3がクリアされている場合には、制御回路36は、S1740にて、モータ10が駆動を開始してから経過した駆動時間を算出し、算出した駆動時間を、RAMに設けられた駆動時間Tdrに格納する。
そして制御回路36は、S1750にて、駆動時間Tdrに格納されている値が、予め設定されたレベル検出判定値TH12以上であるか否かを判断する。ここで、駆動時間Tdrに格納されている値がレベル検出判定値TH12未満である場合には、制御回路36は、S1760にて、RAMに設けられたモータ電流Imtに格納されている値を取得する。
さらに制御回路36は、S1770にて、S1760で取得した値と、RAMに設けられたモータ最大電流Imaxに格納された値とを比較し、大きい方の値を、モータ最大電流Imaxに格納する。
そして制御回路36は、S1780にて、予め設定された初期値を張りレベルLchに格納し、張りレベル検出処理を終了する。
またS1750にて、駆動時間Tdrに格納されている値が温度保護判定値TH12以上である場合には、制御回路36は、S1790にて、モータ最大電流Imaxに格納された値に基づいて張りレベルを算出し、算出した張りレベルを張りレベルLchに格納する。なお、制御回路36は、例えば、モータ最大電流と張りレベルとの対応関係を示すマップまたは演算式などを用いて、張りレベルを算出する。
そして制御回路36は、S1800にて、張りレベル検出完了フラグF3をセットして、張りレベル検出処理を終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、ガイドバー4に対するソーチェーン3の張り具合を示す張りレベルを検出する。そしてモータ駆動部30は、張りレベルに応じて、ソーチェーン3の張り具合が強いほど現在推定温度Tnowが高くなるように現在推定温度Tnowを推定する。これにより、チェーンソー1は、張りレベルを用いて現在推定温度Tnowを推定することができるため、保護条件が成立したか否かを精度良く判断することができる。
以上説明した実施形態において、S1710〜S1790はレベル検出部としての処理に相当する。
(第10実施形態)
以下に本開示の第10実施形態を図面とともに説明する。なお第10実施形態では、第8実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第10実施形態のチェーンソー1は、温度保護判定処理が変更された点が第8実施形態と異なる。
ここで、第10実施形態の温度保護判定処理の手順を説明する。
第10実施形態の温度保護判定処理が実行されると、制御回路36は、図16に示すように、まずS1910にて、S1320と同様にして、張りレベル検出処理を実行して、張りレベルを検出する。
また制御回路36は、S1920にて、S1910で検出した張りレベルに基づいてカウンタ増加率を算出し、算出したカウンタ増加率を、RAMに設けられカウンタ増加率Cparに格納する。なお、制御回路36は、例えば、張りレベルとカウンタ増加率との対応関係を示すマップまたは演算式などを用いて、カウンタ増加率を算出する。カウンタ増加率は、張りレベルとの間で正の相関を有するように設定されている。
また制御回路36は、S1930にて、S120と同様にして、モータ回転数Rnowに格納されている値を取得する。
そして制御回路36は、S1940にて、モータ回転数Rnowに格納されている値が10000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が10000rpmを超えている場合には、制御回路36は、S1950にて、カウンタ変更量ΔCに20を格納して、S2050に移行する。
一方、モータ回転数Rnowに格納されている値が10000rpm以下である場合には、制御回路36は、S1960にて、モータ回転数Rnowに格納されている値が8000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が8000rpmを超えている場合には、制御回路36は、S1970にて、カウンタ変更量ΔCに10を格納して、S2050に移行する。
一方、モータ回転数Rnowに格納されている値が8000rpm以下である場合には、制御回路36は、S1980にて、モータ回転数Rnowに格納されている値が6000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が6000rpmを超えている場合には、制御回路36は、S1990にて、カウンタ変更量ΔCに5を格納して、S2050に移行する。
一方、モータ回転数Rnowに格納されている値が6000rpm以下である場合には、制御回路36は、S2000にて、モータ回転数Rnowに格納されている値が4000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が4000rpmを超えている場合には、制御回路36は、S2010にて、カウンタ変更量ΔCに−5を格納して、S2050に移行する。
一方、モータ回転数Rnowに格納されている値が4000rpm以下である場合には、制御回路36は、S2020にて、モータ回転数Rnowに格納されている値が2000rpmを超えているか否かを判断する。ここで、モータ回転数Rnowに格納されている値が2000rpmを超えている場合には、制御回路36は、S2030にて、カウンタ変更量ΔCに−10を格納して、S2050に移行する。
一方、モータ回転数Rnowに格納されている値が2000rpm以下である場合には、制御回路36は、S2040にて、カウンタ変更量ΔCに−20を格納して、S2050に移行する。
そしてS2050に移行すると、制御回路36は、カウンタ変更量ΔCに格納されている値に、カウンタ増加率Cparに格納されている値を乗じた乗算値を、カウンタ変更量ΔCに格納する。
また制御回路36は、S2060にて、RAMに設けられている発熱カウンタCtに格納されている値と、カウンタ変更量ΔCに格納されている値との加算値を、発熱カウンタCtに格納する。なお、加算値がオーバーフローしている場合には、発熱カウンタCtに上限値が格納される。
さらに制御回路36は、S2070にて、発熱カウンタCtがアンダーフローしているか否かを判断する。ここで、発熱カウンタCtがアンダーフローしている場合には、制御回路36は、S2080にて、発熱カウンタCtに0を格納し、S2090に移行する。一方、発熱カウンタCtがアンダーフローしていない場合には、制御回路36は、S2090に移行する。
そしてS2090に移行すると、制御回路36は、温度保護フラグF1がクリアされているか否かを判断する。ここで、温度保護フラグF1がクリアされている場合には、制御回路36は、S2100にて、発熱カウンタCtに格納されている値が温度保護判定値TH3以上であるか否かを判断する。ここで、発熱カウンタCtに格納されている値が温度保護判定値TH3以上である場合には、制御回路36は、S2110にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、発熱カウンタCtに格納されている値が温度保護判定値TH3未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
またS2090にて、温度保護フラグF1がセットされている場合には、制御回路36は、S2120にて、発熱カウンタCtに格納されている値が保護解除判定値TH4以下であるか否かを判断する。ここで、発熱カウンタCtに格納されている値が保護解除判定値TH4以下である場合には、制御回路36は、S2130にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、発熱カウンタCtに格納されている値が保護解除判定値TH4を超えている場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、ガイドバー4に対するソーチェーン3の張り具合を示す張りレベルを検出する。そしてモータ駆動部30は、張りレベルに応じて、ソーチェーン3の張り具合が強いほど発熱カウンタCtが高くなるように発熱カウンタCtを推定する。これにより、チェーンソー1は、張りレベルを用いて発熱カウンタCtを推定することができるため、保護条件が成立したか否かを精度良く判断することができる。
以上説明した実施形態において、S10〜S60,S2090〜S2130は制御回路としての処理に相当し、S1910〜S2080は発熱量推定部としての処理に相当する。
(第11実施形態)
以下に本開示の第11実施形態を図面とともに説明する。なお第11実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第11実施形態のチェーンソー1は、電源保持処理が追加された点が第1実施形態と異なる。
ここで、制御回路36が実行する電源保持処理の手順を説明する。電源保持処理は、制御回路36の動作中に繰り返し実行される処理である。
電源保持処理が実行されると、制御回路36は、図17に示すように、まずS2210にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中である場合には、制御回路36は、S2220にて、RAMに設けられた電源保持時間Tvonに0を格納し、S2290に移行する。
一方、モータ10が駆動中でない場合には、制御回路36は、S2230にて、電源保持時間Tvonに格納された値と、前回の電源保持処理が終了してから経過した時間に相当する値とを加算した加算値を、電源保持時間Tvonに格納する。
そして制御回路36は、S2240にて、電源保持時間Tvonに格納されている値が、予め設定された電源保持判定値TH13以上であるか否かを判断する。ここで、電源保持時間Tvonに格納されている値が電源保持判定値TH13未満である場合には、制御回路36は、S2290に移行する。
一方、電源保持時間Tvonに格納されている値が電源保持判定値TH13以上である場合には、制御回路36は、S2250にて、RAMに設けられた初期温度Tiniに格納されている値を取得する。初期温度Tiniには、制御回路36の起動時において、温度センサ46から入力される検出信号が示すコントローラ温度に基づいて制御回路36が推定したナット7の温度が格納される。
また制御回路36は、S2260にて、現在推定温度Tnowに格納されている値を取得する。
そして制御回路36は、S2270にて、現在推定温度Tnowに格納されている値が、初期温度Tiniに格納されている値に一致しているか否かを判断する。ここで、一致している場合には、制御回路36は、S2280にて、制御回路36のマイクロコンピュータをシャットダウンする処理を行い、電源保持処理を終了する。
またS2290に移行すると、制御回路36は、S2290にて、レギュレータ40から制御回路36への電源供給を保持する処理を行い、電源保持処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、現在推定温度Tnowが予め設定された初期温度Tiniを超えている場合には、制御回路36への電源供給を保持する。これにより、チェーンソー1は、現在推定温度Tnowが初期温度Tini以下となるまでは、現在推定温度Tnowを記憶しておくことができる。このため、チェーンソー1は、ナット7の温度が初期温度Tiniを超えている状態で作業者がチェーンソー1の駆動を停止して、その直後にチェーンソー1の駆動を再開した場合であっても、現在推定温度Tnowが初期値に設定されないようにすることができる。これにより、チェーンソー1は、記憶されている現在推定温度Tnowに基づいて、ナット7の温度の推定を再開することができる。
以上説明した実施形態において、S2210〜S2290は温度依存保持部としての処理に相当し、現在推定温度Tnowは部材温度に相当し、初期温度Tiniは温度用保持判定値に相当する。
(第12実施形態)
以下に本開示の第12実施形態を図面とともに説明する。なお第12実施形態では、第11実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第12実施形態のチェーンソー1は、電源保持処理が変更された点が第11実施形態と異なる。
第12実施形態の電源保持処理は、S2250〜S2270の代わりに、S2255,S2275の処理を行う点が第11実施形態と異なる。
すなわち、図18に示すように、S2240にて、電源保持時間Tvonに格納されている値が電源保持判定値TH13以上である場合には、制御回路36は、S2255にて、発熱カウンタCtに格納されている値を取得する。
そして制御回路36は、S2275にて、発熱カウンタCtから取得した値が0であるか否かを判断する。ここで、発熱カウンタCtから取得した値が0である場合には、制御回路36は、S2280に移行する。一方、発熱カウンタCtから取得した値が0でない場合には、制御回路36は、S2290に移行する。
このように構成されたチェーンソー1では、モータ駆動部30は、発熱カウンタCtが0を超えている場合には、制御回路36への電源供給を保持する。これにより、チェーンソー1は、推定された発熱カウンタCtが0以下となるまでは、発熱カウンタCtを記憶しておくことができる。このため、チェーンソー1は、発熱カウンタCtが0を超えている状態で作業者がチェーンソー1の駆動を停止して、その直後にチェーンソー1の駆動を再開した場合であっても、発熱カウンタCtが初期値に設定されないようにすることができる。これにより、チェーンソー1は、記憶されている発熱カウンタCtに基づいて、発熱カウンタCtの推定を再開することができる。
以上説明した実施形態において、S2210〜S2290は発熱量依存保持部に相当し、発熱カウンタCtは部材発熱量に相当し、0は発熱量用保持判定値に相当する。
(第13実施形態)
以下に本開示の第13実施形態を図面とともに説明する。なお第13実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第13実施形態のチェーンソー1は、温度保護判定処理が変更された点が第1実施形態と異なる。
ここで、第13実施形態の温度保護判定処理の手順を説明する。
第13実施形態の温度保護判定処理が実行されると、制御回路36は、図19に示すように、まずS2410にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態でない場合には、制御回路36は、S2420にて、温度保護フラグF1をクリアし、S2480に移行する。
一方、駆動スイッチ18がオン状態である場合には、制御回路36は、S2430にて、RAMに設けられたモータ電流Imtに格納されている値を取得する。そして制御回路36は、S2440にて、モータ電流Imtに格納されている値が予め設定された電流判定値TH14以上であるか否かを判断する。本実施形態では、電流判定値TH14は、40Aに相当する値である。
ここで、モータ電流Imtに格納されている値が電流判定値TH14以下である場合には、制御回路36は、S2450にて、RAMに設けられた無負荷時間Tnlに格納された値と、前回の温度保護判定処理が終了してから経過した時間に相当する値とを加算した加算値を、無負荷時間Tnlに格納する。
そして制御回路36は、S2460にて、無負荷時間Tnlに格納されている値が予め設定され温度保護判定値TH15以上であるか否かを判断する。本実施形態では、温度保護判定値TH15は、2分に相当する値である。
ここで、無負荷時間Tnlに格納されている値が温度保護判定値TH15以上である場合には、制御回路36は、S2470にて、温度保護フラグF1をセットし、温度保護判定処理を一旦終了する。一方、無負荷時間Tnlに格納されている値が温度保護判定値TH15未満である場合には、制御回路36は、温度保護判定処理を一旦終了する。
またS2440にて、モータ電流Imtに格納されている値が電流判定値TH14を超えている場合には、制御回路36は、S2480に移行する。
そしてS2480に移行すると、制御回路36は、無負荷時間Tnlに0を格納し、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、作業者が作業を開始した負荷状態であるか、作業者が作業をしていない無負荷状態であるかを判断する。そして保護条件は、無負荷状態でモータ10が駆動している無負荷時間Tnlが予め設定された温度保護判定値TH15以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S2420,S2460,S2470は制御回路としての処理に相当し、S2410,S2430〜S2450,S2480は負荷判断部としての処理に相当する。
また、無負荷時間Tnlは無負荷駆動時間に相当し、温度保護判定値TH15は無負荷用保護時間に相当する。
(第14実施形態)
以下に本開示の第14実施形態を図面とともに説明する。なお第14実施形態では、第13実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第14実施形態のチェーンソー1は、温度保護判定処理が変更された点が第13実施形態と異なる。
そして、第14実施形態の温度保護判定処理は、S2420およびS2480の代わりにS2510〜S2540を実行する点が第13実施形態と異なる。
すなわち、図20に示すように、S2410にて、駆動スイッチ18がオン状態でない場合には、制御回路36は、S2510に移行する。またS2440にて、モータ電流Imtに格納されている値が電流判定値TH14を超えている場合には、制御回路36は、S2510に移行する。
そしてS2510に移行すると、制御回路36は、無負荷時間Tnlに格納されている値が0であるか否かを判断する。ここで、無負荷時間Tnlに格納されている値が0である場合には、制御回路36は、温度保護判定処理を一旦終了する。
一方、無負荷時間Tnlに格納されている値が0でない場合には、制御回路36は、S2520にて、無負荷時間Tnlに格納された値から、前回の温度保護判定処理が終了してから経過した時間に相当する値を減算した減算値を、無負荷時間Tnlに格納する。
そして制御回路36は、S2530にて、無負荷時間Tnlに格納されている値が、予め設定された保護解除判定値TH16以下であるか否かを判断する。本実施形態では、保護解除判定値TH16は30秒に相当する値である。
ここで、無負荷時間Tnlに格納されている値が保護解除判定値TH16以下である場合には、制御回路36は、S2520にて、温度保護フラグF1をクリアし、温度保護判定処理を一旦終了する。一方、無負荷時間Tnlに格納されている値が保護解除判定値TH16を超えている場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、作業者が作業を開始した負荷状態であるか、作業者が作業をしていない無負荷状態であるかを判断する。そして保護条件は、無負荷状態でモータ10が駆動している無負荷時間Tnlが予め設定された温度保護判定値TH15以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S2460,S2470,S2530,S2540は制御回路としての処理に相当し、S2410,S2430〜S2450,S2510,S2520は負荷判断部としての処理に相当する。
(第15実施形態)
以下に本開示の第15実施形態を図面とともに説明する。なお第15実施形態では、第13実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第15実施形態のチェーンソー1は、温度保護判定処理が変更された点が第13実施形態と異なる。
そして、第15実施形態の温度保護判定処理は、S2410の代わりにS2610,S2620を実行する点が第13実施形態と異なる。
すなわち、図21に示すように、第15実施形態の温度保護判定処理が実行されると、制御回路36は、まずS2610にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中である場合には、制御回路36は、S2430に移行する。
一方、モータ10が駆動中でない場合には、制御回路36は、S2620にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオフ状態でない場合には、制御回路36は、S2480に移行する。一方、駆動スイッチ18がオフ状態である場合には、制御回路36は、S2420に移行する。
このように構成されたチェーンソー1では、モータ駆動部30は、作業者が作業を開始した負荷状態であるか、作業者が作業をしていない無負荷状態であるかを判断する。そして保護条件は、無負荷状態でモータ10が駆動している無負荷時間Tnlが予め設定された温度保護判定値TH15以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S2420,S2460,S2470は制御回路としての処理に相当し、S2610,S2430〜S2450,S2480は負荷判断部としての処理に相当する。
(第16実施形態)
以下に本開示の第16実施形態を図面とともに説明する。なお第15実施形態では、第14実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第16実施形態のチェーンソー1は、温度保護判定処理が変更された点が第14実施形態と異なる。
そして、第16実施形態の温度保護判定処理は、S2410の代わりにS2710,S2720を実行する点が第14実施形態と異なる。
すなわち、図22に示すように、第15実施形態の温度保護判定処理が実行されると、制御回路36は、まずS2710にて、モータ10が駆動中であるか否かを判断する。ここで、モータ10が駆動中である場合には、制御回路36は、S2430に移行する。
一方、モータ10が駆動中でない場合には、制御回路36は、S2510に移行する。
また、S2520の処理が終了すると、制御回路36は、S2720にて、駆動スイッチ18がオン状態であるか否かを判断する。ここで、駆動スイッチ18がオン状態でない場合には、制御回路36は、S2530に移行する。一方、駆動スイッチ18がオン状態である場合には、制御回路36は、温度保護判定処理を一旦終了する。
このように構成されたチェーンソー1では、モータ駆動部30は、作業者が作業を開始した負荷状態であるか、作業者が作業をしていない無負荷状態であるかを判断する。そして保護条件は、無負荷状態でモータ10が駆動している無負荷時間Tnlが予め設定された温度保護判定値TH15以上であることである。このようにチェーンソー1は、ナット温度を直接的に検出する温度センサを備えることなく、ナット7の温度が上昇するのを抑制することができるため、チェーンソー1の構成を簡略化することができる。
以上説明した実施形態において、S10〜S60,S2460,S2470,S2530,S2540,S2720は制御回路としての処理に相当し、S2710,S2430〜S2450,S2510,S2520は負荷判断部としての処理に相当する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
例えば上記実施形態では、初期温度算出処理のS320にて、現在推定温度Tnowをコントローラ温度Tcntで初期化する形態を示したが、現在推定温度Tnowを予め設定された固定値で初期化するようにしてもよい。
上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
上述したチェーンソー1の他、当該チェーンソー1を構成要素とするシステム、当該チェーンソー1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、保護制御方法など、種々の形態で本開示を実現することもできる。