(57)【要約】【課題】適切な補助力を発生させることを可能にする電動補助車両を提供する。【解決手段】電動補助車両は、電動モータと、電動モータの回転を制御するために利用されるモータ制御関連データを送信するデバイスと、当該データに基づいて電動モータを制御する制御回路とを有する。制御回路およびデバイスの各々は共通のデータ生成規則を保持している。制御回路がデバイスに第１データを送信すると、デバイスは、受信した第１受信データの一部を少なくとも含む第２データを生成し、データ生成規則を利用して第２データから第３データを生成し、第３データを制御回路に送信する。制御回路は、データ生成規則を利用して、少なくとも第１データから第４データを生成し、デバイスから受信した第２受信データの一部と第４データとを比較する。比較結果が一致する場合、制御回路はモータ制御関連データに基づく電動モータの制御を許可する。【選択図】図５
2018144780.tif 000002
【特許請求の範囲】
【請求項１】
電動モータと、
前記電動モータの回転を制御するために利用されるモータ制御関連データを送信するデバイスと、
前記モータ制御関連データに基づいて前記電動モータを制御する制御回路と
を有する電動補助車両であって、
前記制御回路と前記デバイスとは相互に通信することが可能であり、かつ、前記制御回路および前記デバイスの各々は共通のデータ生成規則を保持しており、
前記制御回路は前記デバイスに第１データを送信し、
前記デバイスは、
前記制御回路から第１受信データを受信し、
前記第１受信データの一部を少なくとも含む第２データを生成し、
前記データ生成規則を利用して、前記第２データから第３データを生成し、
前記第３データを前記制御回路に送信し、
前記制御回路は、
前記デバイスから第２受信データを受信し、
前記データ生成規則を利用して、少なくとも前記第１データから第４データを生成し、
前記第２受信データの一部と前記第４データとを比較し、
比較結果が一致していることを示す場合には、前記モータ制御関連データに基づく前記電動モータの制御を許可する、
電動補助車両。
【請求項２】
前記制御回路は、比較結果が不一致であることを示す場合には、前記デバイスからの前記モータ制御関連データに基づく前記電動モータの制御を禁止する、請求項１に記載の電動補助車両。
【請求項３】
前記デバイスが受信した前記第１受信データは前記第１データを含み、
前記デバイスは、前記データ生成規則を利用して、前記第１データを含む前記第２データから前記第３データを生成し、
前記制御回路が受信した前記第２受信データは前記第３データを含み、
前記制御回路は、前記データ生成規則を利用して、前記第１データから前記第４データを生成し、前記第３データと前記第４データとを比較する、請求項１または２に記載の電動補助車両。
【請求項４】
前記第３データは前記モータ制御関連データを含む、請求項３に記載の電動補助車両。
【請求項５】
前記制御回路は、前記デバイスに前記第１データを送信する度に、前記第１データの内容を変更する、請求項３または４に記載の電動補助車両。
【請求項６】
前記デバイスは、前記制御回路からの前記第１受信データの受信に応答して、前記第３データを前記制御回路に送信する、請求項１または２に記載の電動補助車両。
【請求項７】
前記第３データは、前記モータ制御関連データ以外のデータを含む、請求項６に記載の電動補助車両。
【請求項８】
前記制御回路が前記デバイスに送信した最新世代の第１データと、前記最新世代の１世代前の第１データとを記憶する記憶装置を有しており、
前記制御回路は、
前記記憶装置から前記最新世代の第１データ、および、前記最新世代の１世代前の第１データを読み出し、
前記データ生成規則を利用して、前記最新世代の第１データおよび前記１世代前の第１データから、それぞれ前記第４データを生成し、
前記第２受信データの一部と、いずれかの前記第４データとが一致していることを示す場合には、前記モータ制御関連データに基づく前記電動モータの制御を許可する、請求項５に記載の電動補助車両。
【請求項９】
前記制御回路が最新世代の第４データと、前記最新世代の１世代前の第４データとを記憶する記憶装置を有しており、
前記制御回路は、
前記記憶装置から前記最新世代の第４データ、および、前記最新世代の１世代前の第４データを読み出し、
前記第２受信データの一部と、いずれかの前記第４データとが一致していることを示す場合には、前記モータ制御関連データに基づく前記電動モータの制御を許可する、請求項５に記載の電動補助車両。
【請求項１０】
前記デバイスが受信した前記第１受信データは前記第１データを含み、
前記第２データは、前記第１データおよび前記モータ制御関連データを含み、
前記デバイスは、
前記データ生成規則を利用して、前記第２データに含まれる前記第１データから前記第３データを生成し、
前記第３データおよび前記モータ制御関連データを前記制御回路に送信し、
前記制御回路が受信した前記第２受信データは前記第３データおよび前記モータ制御関連データを含み、
前記制御回路は、
前記データ生成規則を利用して、前記第１データおよび前記モータ制御関連データから前記第４データを生成し、
前記第２受信データに含まれる前記第３データと前記第４データとを比較する、請求項１または２に記載の電動補助車両。
【請求項１１】
前記制御回路が、前記デバイスからの前記モータ制御関連データに基づいて前記電動モータを制御しているときにおいて、
前記制御回路は、
間欠的に前記デバイスに第１データを送信し、
所定の時間以上、前記比較結果が一致していることを示すと判定されない場合には、前記モータ制御関連データに基づく前記電動モータの制御を禁止する、請求項１０に記載の電動補助車両。
【請求項１２】
前記モータ制御関連データは、乗員が電動補助車両に乗車しているか否かにかかわらず前記電動モータを動作させる運転モードである、押し歩きモードを示すデータである、請求項１から１１のいずれかに記載の電動補助車両。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動補助車両に関する。
【背景技術】
【０００２】
乗員がペダルを漕ぐ力を電動モータにより補助する電動補助自転車が知られている。電動補助自転車では、乗員がペダルに加えた人力に応じた補助力を電動モータに発生させ、人力と補助力とを足し合わせた駆動力を駆動輪に伝達する。電動モータによって人力を補助することにより、乗員がペダルを漕ぐ力を軽減させることができる（例えば特許文献１）。
【０００３】
一般的な電動補助車両では、ハンドルグリップの近傍に操作盤が設けられている。乗員は、操作盤を操作して複数のアシストモードの一つを選択する。電動モータの回転を制御する制御回路は、選択されたアシストモードを示す操作盤からの信号、ペダルに加えられた人力の大きさを示すトルクセンサからのトルク信号等を利用して、電動モータに発生させる補助力の大きさを決定する。これにより、選択されたアシストモード、および、ペダルを漕ぐ力の大きさに応じた補助力が電動モータによって生み出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−２２６６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
多くの国々は、補助力を発生させてもよい条件および大きさについて規制を設けている。そのような規制を遵守するためには、制御回路に信号を出力するデバイス、たとえば操作盤およびトルクセンサ、が適正であること、および、当該デバイスが正しく動作していることを制御回路が確認できる仕組みを設けることが好ましい。
【０００６】
本発明は、適切な補助力を発生させることを可能にする電動補助車両を提供する。
【課題を解決するための手段】
【０００７】
本発明の例示的な実施形態に係る電動補助車両は、電動モータと、前記電動モータの回転を制御するために利用されるモータ制御関連データを送信するデバイスと、前記モータ制御関連データに基づいて前記電動モータを制御する制御回路とを有し、前記制御回路と前記デバイスとは相互に通信することが可能であり、かつ、前記制御回路および前記デバイスの各々は共通のデータ生成規則を保持しており、前記制御回路は前記デバイスに第１データを送信し、前記デバイスは、前記制御回路から第１受信データを受信し、前記第１受信データの一部を少なくとも含む第２データを生成し、前記データ生成規則を利用して、前記第２データから第３データを生成し、前記第３データを前記制御回路に送信し、前記制御回路は、前記デバイスから第２受信データを受信し、前記データ生成規則を利用して、少なくとも前記第１データから第４データを生成し、前記第２受信データの一部と前記第４データとを比較し、比較結果が一致していることを示す場合には、前記モータ制御関連データに基づく前記電動モータの制御を許可する。
【０００８】
ある実施形態において、前記制御回路は、比較結果が不一致であることを示す場合には、前記デバイスからの前記モータ制御関連データに基づく前記電動モータの制御を禁止する。
【０００９】
ある実施形態において、前記デバイスが受信した前記第１受信データは前記第１データを含み、前記デバイスは、前記データ生成規則を利用して、前記第１データを含む前記第２データから前記第３データを生成し、前記制御回路が受信した前記第２受信データは前記第３データを含み、前記制御回路は、前記データ生成規則を利用して、前記第１データから前記第４データを生成し、前記第３データと前記第４データとを比較する。
【００１０】
ある実施形態において、前記第３データは前記モータ制御関連データを含む。
【００１１】
ある実施形態において、前記制御回路は、前記デバイスに前記第１データを送信する度に、前記第１データの内容を変更する。
【００１２】
ある実施形態において、前記デバイスは、前記制御回路からの前記第１受信データの受信に応答して、前記第３データを前記制御回路に送信する。
【００１３】
ある実施形態において、前記第３データは、前記モータ制御関連データ以外のデータを含む。
【００１４】
ある実施形態において、前記制御回路が前記デバイスに送信した最新世代の第１データと、前記最新世代の１世代前の第１データとを記憶する記憶装置を有しており、前記制御回路は、  前記記憶装置から前記最新世代の第１データ、および、前記最新世代の１世代前の第１データを読み出し、前記データ生成規則を利用して、前記最新世代の第１データおよび前記１世代前の第１データから、それぞれ前記第４データを生成し、前記第２受信データの一部と、いずれかの前記第４データとが一致していることを示す場合には、前記モータ制御関連データに基づく前記電動モータの制御を許可する。
【００１５】
ある実施形態において、前記制御回路が最新世代の第４データと、前記最新世代の１世代前の第４データとを記憶する記憶装置を有しており、前記制御回路は、前記記憶装置から前記最新世代の第４データ、および、前記最新世代の１世代前の第４データを読み出し、前記第２受信データの一部と、いずれかの前記第４データとが一致していることを示す場合には、前記モータ制御関連データに基づく前記電動モータの制御を許可する。
【００１６】
前記デバイスが受信した前記第１受信データは前記第１データを含み、前記第２データは、前記第１データおよび前記モータ制御関連データを含み、前記デバイスは、前記データ生成規則を利用して、前記第２データに含まれる前記第１データから前記第３データを生成し、前記第３データおよび前記モータ制御関連データを前記制御回路に送信し、前記制御回路が受信した前記第２受信データは前記第３データおよび前記モータ制御関連データを含み、前記制御回路は、前記データ生成規則を利用して、前記第１データおよび前記モータ制御関連データから前記第４データを生成し、前記第２受信データに含まれる前記第３データと前記第４データとを比較する。
【００１７】
ある実施形態において、前記制御回路が、前記デバイスからの前記モータ制御関連データに基づいて前記電動モータを制御しているときにおいて、前記制御回路は、間欠的に前記デバイスに第１データを送信し、所定の時間以上、前記比較結果が一致していることを示すと判定されない場合には、前記モータ制御関連データに基づく前記電動モータの制御を禁止する
ある実施形態において、前記モータ制御関連データは、乗員が電動補助車両に乗車しているか否かにかかわらず前記電動モータを動作させる運転モードである、押し歩きモードを示すデータである。
【発明の効果】
【００１８】
本発明の例示的な実施形態によれば、電動補助車両の制御回路は、制御回路と通信するデバイスが適正であること、および、当該デバイスが正しく動作していることを確認することができる。これにより、制御回路は、電動モータを制御して適切な補助力を発生させることができる。
【図面の簡単な説明】
【００１９】
【図１】電動補助自転車１を示す側面図である。
【図２】電動補助自転車１の機械的構成の一例を示すブロック図である。
【図３】例示的な操作盤６０の外観図である。
【図４Ａ】通信路８０によってトルクセンサ４１と接続され、通信路８１によって操作盤６０と接続されている制御回路７１を示す図である。
【図４Ｂ】通信路８２によってデバイス１００と接続される制御回路７１を示す図である。
【図５】制御回路７１およびデバイス１００のマイコン１００ａによってそれぞれ行われる処理の手順を示すフローチャートである。
【図６】制御回路７１からデバイス１００に送信されるデータフレーム１１０を示す図である。
【図７】デバイス１００から制御回路７１に送信されるデータフレーム１２０を示す図である。
【図８】デバイス１００において、制御回路７１からのデータフレーム１１０の受信と、制御回路７１へのデータフレーム１２０の送信とが同期していないことを示す図である。
【図９】デバイス１００が、制御回路７１からのデータフレーム１１０の受信に応答して、データフレーム１２１を送信していることを示す図である。
【図１０】制御回路７１とデバイス１００とが照合元値を変えながら頻繁にデータフレームを送受信する場合の課題を説明する図である。
【図１１】制御回路７１が、照合元値Ａ１および期待値Ｃ１と、照合元値Ａ２および期待値Ｃ２とを重複して利用する処理を示す図である。
【図１２】制御回路７１およびデバイス１００のマイコン１００ａによってそれぞれ行われる処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、添付の図面を参照しながら、本発明による電動補助車両の実施形態を説明する。実施形態の説明においては、同様の構成要素には同様の参照符号を付し、重複する場合にはその説明を省略する。本発明の実施形態における前後、左右、上下とは、電動補助車両のサドル（シート）に乗員がハンドルに向かって着座した状態を基準とした前後、左右、上下を意味する。なお、以下の実施形態は例示であり、本発明は以下の実施形態に限定されるものではない。
【００２１】
（実施形態１）
図１は、本実施形態に係る電動補助自転車１を示す側面図である。電動補助自転車１は後に詳述する駆動ユニット５１を有している。電動補助自転車１は本発明にかかる電動補助車両の一例である。駆動ユニット５１は、本発明にかかる電動補助システムの一例である。
【００２２】
電動補助自転車１は、前後方向に延びる車体フレーム１１を有する。車体フレーム１１は、ヘッドパイプ１２、ダウンチューブ５、ブラケット６、チェーンステイ７、シートチューブ１６、シートステイ１９を含む。ヘッドパイプ１２は車体フレーム１１の前端に配置される。ハンドルステム１３は、ヘッドパイプ１２に回転可能に挿入される。ハンドル１４は、ハンドルステム１３の上端部に固定される。ハンドルステム１３の下端部にはフロントフォーク１５が固定される。フロントフォーク１５の下端部には、操舵輪である前輪２５が回転可能に支持される。フロントフォーク１５には、前輪２５を制動するブレーキ８が設けられる。ヘッドパイプ１２の前方の位置には前かご２１が設けられる。フロントフォーク１５にはヘッドランプ２２が設けられる。
【００２３】
ダウンチューブ５は、ヘッドパイプ１２から後方斜め下方に向かって延びている。シートチューブ１６は、ダウンチューブ５の後端部から上方に向かって延びている。チェーンステイ７は、シートチューブ１６の下端部から後方に向かって延びている。ブラケット６は、ダウンチューブ５の後端部、シートチューブ１６の下端部、チェーンステイ７の前端部を接続する。
【００２４】
シートチューブ１６にはシートポスト１７が挿入され、シートポスト１７の上端部には乗員が座るサドル２７が設けられる。チェーンステイ７の後方部は、駆動輪である後輪２６を回転可能に支持する。チェーンステイ７の後方部には、後輪２６を制動するブレーキ９が設けられる。また、チェーンステイ７の後方部には、駐輪時に車両を立てたまま保持するスタンド２９が設けられる。シートステイ１９は、シートチューブ１６の上部から後方斜め下方に向かって延びている。シートステイ１９の下端部は、チェーンステイ７の後方部に接続される。シートステイ１９は、サドル２７の後方に設けられた荷台２４を支持するとともに、後輪２６の上部を覆うフェンダー１８を支持する。フェンダー１８の後方部にはテールランプ２３が設けられる。
【００２５】
車体フレーム１１の車両中央部付近に配置されたブラケット６には駆動ユニット５１が設けられる。駆動ユニット５１は、電動モータ５３、クランク軸５７、制御装置７０を含む。ブラケット６には、電動モータ５３等に電力を供給するバッテリ５６が搭載される。バッテリ５６はシートチューブ１６に支持されてもよい。
【００２６】
クランク軸５７は駆動ユニット５１に左右方向に貫通して支持されている。クランク軸５７の両端部にはクランクアーム５４が設けられる。クランクアーム５４の先端には、ペダル５５が回転可能に設けられる。
【００２７】
制御装置７０は、電動補助自転車１の動作を制御する。典型的には、制御装置７０はデジタル信号処理を行うことが可能なマイクロコントローラ、信号処理プロセッサ等の制御回路を有する。制御回路は、典型的には半導体集積回路である。
【００２８】
乗員がペダル５５を足で踏んで回転させたときに発生するクランク軸５７の回転出力は、チェーン２８を介して、後輪２６に伝達される。制御装置７０の制御回路は、ユーザのペダル踏力による、クランク軸５７の軸トルクに応じた駆動補助出力を発生するように電動モータ５３を制御する。電動モータ５３が発生した補助力は、チェーン２８を介して、後輪２６に伝達される。なお、チェーン２８の代わりにベルト、シャフト等が用いられてもよい。
【００２９】
次に、制御装置７０の具体的な構成、制御装置７０の動作に利用される信号を生成するセンサ群を詳細に説明する。
【００３０】
図２は、電動補助自転車１の機械的構成の一例を示すブロック図である。
【００３１】
図２には、制御装置７０およびその周辺環境が示されている。周辺環境として、例えば制御装置７０に信号を出力する各種センサ、および、制御装置７０による動作の結果を受けて駆動される電動モータ５３が示されている。
【００３２】
まず、制御装置７０の周辺環境から説明する。
【００３３】
上述のように、制御装置７０は駆動ユニット５１に包含される。図２には、同様に駆動ユニット５１に含まれる加速度センサ３８、トルクセンサ４１、クランク回転センサ４２および電動モータ５３が示されている。制御装置７０は、制御回路７１とモータ駆動回路７９とを有する。
【００３４】
トルクセンサ４１は、乗員がペダル５５に加えた人力（踏力）を、クランク軸５７に発生するトルクとして検出する。トルクセンサ４１は、例えば磁歪式トルクセンサである。トルクセンサ４１は、検出したトルクの大きさに応じた振幅の電圧信号を生成する。トルクセンサ４１は、電圧信号をトルクデータに換算する演算回路またはマイクロコントローラ（マイコン）４１ａを有している。マイコン４１ａは、例えば生成されたアナログ電圧信号をデジタル電圧信号に変換するＡ／Ｄコンバータ、および、デジタル電圧信号の大きさからトルクを算出する演算コアを有する。なお、Ａ／Ｄコンバータはマイコン４１ａの外部に設けられていてもよい。マイコン４１ａは、不図示の通信インタフェース、たとえば通信端子、を介してトルクデータを制御回路７１に送信する。
【００３５】
クランク回転センサ４２は、クランク軸５７の回転角を検出する。例えばクランク回転センサ４２は、クランク軸５７の回転を所定の角度毎に検出し、矩形波信号または正弦波信号を出力する。出力された信号を用いてクランク軸５７の回転角および回転速度が算出され得る。例えば、クランク軸５７の周りに磁極（Ｎ極、Ｓ極）を有する磁性体を複数個配置する。位置が固定されたホールセンサで、クランク軸５７の回転に伴う磁界の極性の変化を電圧信号に変換する。制御回路７１は、ホールセンサからの出力信号を用いて、磁界の極性の変化をカウントし、クランク軸５７の回転角および回転速度を算出する。クランク回転センサ４２は、出力された信号からクランク軸５７の回転角および回転速度を算出する演算回路またはマイクロコントローラを有していてもよい。
【００３６】
モータ駆動回路７９は、例えばインバータである。モータ駆動回路７９は、制御回路７１からのモータ電流指令値に応じた振幅、周波数、流れる向き等を有する電流を、バッテリ５６から電動モータ５３に供給する。当該電流を供給された電動モータ５３は回転し、決定された大きさの補助力を発生させる。図示されない電流センサは、電動モータ５３を流れる電流の値を検出し、制御装置７０に出力する。制御装置７０は、電流センサの出力信号を用いてフィードバック制御を行う。
【００３７】
図２に例示する電動モータ５３は、三相（Ｕ相、Ｖ相、Ｗ相）の巻線を有する三相モータである。電動モータ５３は、例えばブラシレスＤＣモータである。なお、電流センサは、三相のそれぞれを流れる電流を検出することを想定しているが、二相を流れる電流のみを検出してもよい。三相通電制御において各相を流れる電流の値の合計は、理論上ゼロになる。この関係を用いて、２つの電流値から残りの１つの電流値を演算により求めることができる。これにより、三相のそれぞれを流れる電流の値を取得することができる。
【００３８】
電動モータ５３の回転は、モータ回転センサ４６によって検出される。モータ回転センサ４６は例えばホールセンサであり、電動モータ５３の回転するロータ（図示せず）が生み出す磁界を検出して磁界の強さや極性に応じた電圧信号を出力する。電動モータ５３がブラシレスＤＣモータの場合、ロータには複数の永久磁石が配置されている。モータ回転センサ４６は、ロータの回転に伴う磁界の極性の変化を電圧信号に変換する。制御回路７１は、モータ回転センサ４６からの出力信号を用いて、磁界の極性の変化をカウントし、ロータの回転角および回転速度を算出する。
【００３９】
電動モータ５３が発生した補助力は動力伝達機構を介して後輪２６に伝達される。動力伝達機構は、図２を用いて後述するチェーン２８、従動スプロケット３２、駆動軸３３、変速機構３６、一方向クラッチ３７等の総称である。以上の構成により、電動補助自転車１の乗員の人力を補助することができる。
【００４０】
制御回路７１は、各種のセンサから出力される検出値、および、操作盤６０から出力される操作データを受け取って、当該検出値および／または操作データに基づいて電動モータ５３を制御する。「制御する」ことには、電動モータ５３の回転を開始すること、回転を維持すること、回転を停止すること、回転を弱め、または強めて当該回転状態を維持すること、および、回転を漸次弱めて、最終的には回転を停止すること、が含まれる。各種のセンサから出力される検出値は、例えばトルクセンサ４１およびクランク回転センサ４２からそれぞれ出力される、トルク値および回転角度値である。制御回路７１は、必要とされる大きさの補助力を発生させるためのモータ電流指令値を、モータ駆動回路７９に送信する。その結果、電動モータ５３が回転し、電動モータ５３の駆動力が後輪２６に伝達される。これにより、電動モータ５３の駆動力が乗員の人力に加重される。
【００４１】
または、制御回路７１は、当該検出値および／または操作データに基づく電動モータ５３の回転の制御を禁止することもある。このときは、制御回路７１は、予め定められた動作、たとえば電動モータ５３の回転を停止させる動作を行う。
【００４２】
なお、各種のセンサから出力される検出信号はアナログ信号である。検出信号が制御装置７０に入力される前に、一般にはアナログ信号をデジタル信号に変換するＡ／Ｄ変換回路（図示せず）が設けられ得る。Ａ／Ｄ変換回路は、各センサ内に設けられていてもよいし、駆動ユニット５１内の、各センサと制御装置７０との間の信号経路上に設けられてもよい。または、Ａ／Ｄ変換回路は制御装置７０内に設けられていてもよい。なお、各種のセンサの全部または一部が、本実施形態にかかるトルクセンサ４１のように検出信号をデータに換算する演算回路またはマイクロコントローラ（マイコン）を有していてもよい。
【００４３】
電動モータ５３が発生させる補助力の大きさは、現在選択されているアシストモードによって変動し得る。アシストモードは、乗員が操作盤６０を操作して選択され得る。
【００４４】
操作盤６０は、電動補助自転車１のハンドル１４（図１）に取り付けられて、例えば有線ケーブルによって制御装置７０と接続される。操作盤６０は、マイコン６０ａを有する。マイコン６０ａは、乗員が行った操作を示す操作データを、不図示の通信インタフェース、たとえば通信端子、を介して制御装置７０に送信し、また、制御装置７０から乗員に提示するための各種データを受信する。
【００４５】
本実施形態では、制御回路７１がモータ電流指令値をモータ駆動回路７９に出力することにより、電動モータ５３が回転し、または停止する。つまり、制御回路７１は電動モータ５３の回転を制御する。
【００４６】
制御回路７１は、操作盤６０からは、選択されたアシストモードまたは後述の押し歩きモードを示す操作データを受け取り、またトルクセンサ４１からは、ペダルに加えられた人力の大きさを示すトルクデータを受け取る。制御回路７１は、受け取ったそれらのデータを利用して、電動モータに発生させる補助力の大きさを決定する。制御回路７１は、操作盤６０およびトルクセンサ４１以外の種々の電子部品（デバイス）から信号を受け取り、それらも利用して電動モータ５３に発生させるべきトルク、回転速度等を決定することができる。操作盤６０およびトルクセンサ４１は、制御回路７１が電動モータ５３の回転を制御するための信号を出力するデバイスの一例である。
【００４７】
なお、制御回路７１は、操作盤６０およびトルクセンサ４１の片方のみからデータを受け取って動作してもよい。たとえば、制御回路７１は、操作盤６０から操作データを受信していない場合であっても、トルクセンサ４１からのトルクデータのみから電動モータ５３を駆動するための電流指令値を算出してもよい。逆に、制御回路７１は、操作盤６０から操作データを受信しているがトルクデータを受け取っていない場合であっても、操作データに基づいて電流指令値を算出してもよい。後者の例は、乗員が上り坂等において電動補助自転車１に乗車せず、押し歩きモードボタンを押下して電動補助自転車１を押して歩いている場合が想定される。押し歩きモードボタンについては図３を参照しながら後述する。
【００４８】
次に、電動補助自転車１の動力伝達経路を説明する。
【００４９】
乗員がペダル５５を踏み込んでクランク軸５７を回転させると、そのクランク軸５７の回転は、一方向クラッチ４３を介して合成機構５８に伝達される。電動モータ５３の回転は、減速機４５、一方向クラッチ４４を介して合成機構５８に伝達される。
【００５０】
合成機構５８は、例えば筒状部材を有し、その筒状部材の内部にクランク軸５７が配置される。合成機構５８には、駆動スプロケット５９が取り付けられている。合成機構５８は、クランク軸５７および駆動スプロケット５９と同じ回転軸を中心にして回転する。
【００５１】
一方向クラッチ４３は、クランク軸５７の順回転を合成機構５８に伝達し、クランク軸５７の逆回転は合成機構５８に伝達させない。一方向クラッチ４４は、電動モータ５３が発生した、合成機構５８を順回転させる方向の回転を合成機構５８に伝達し、合成機構５８を逆回転させる方向の回転は合成機構５８に伝達させない。また、電動モータ５３が停止している状態で、乗員がペダル５５を漕いで合成機構５８が回転した場合、一方向クラッチ４４は、その回転を電動モータ５３に伝達しない。乗員がペダル５５に加えた踏力と電動モータ５３が発生した補助力は、合成機構５８に伝達されて合成される。合成機構５８で合成された合力は、駆動スプロケット５９を介してチェーン２８へ伝達される。
【００５２】
チェーン２８の回転は、従動スプロケット３２を介して駆動軸３３に伝達される。駆動軸３３の回転は、変速機構３６および一方向クラッチ３７を介して後輪２６に伝達される。
【００５３】
変速機構３６は、乗員による変速操作器６７の操作に応じて変速比を変更する機構である。変速操作器６７は例えばハンドル１４（図１）に取り付けられる。一方向クラッチ３７は、駆動軸３３の回転速度が後輪２６の回転速度よりも速い場合に、駆動軸３３の回転を後輪２６に伝達する。駆動軸３３の回転速度が後輪２６の回転速度よりも遅い場合には、一方向クラッチ３７は駆動軸３３の回転を後輪２６に伝達しない。
【００５４】
このような動力伝達経路により、乗員がペダル５５に加えた踏力および電動モータ５３が発生する補助力は、後輪２６に伝達される。
【００５５】
図３は、例示的な操作盤６０の外観図である。操作盤６０は、例えばハンドル１４の左グリップの近傍に取り付けられる。
【００５６】
操作盤６０は、表示パネル６１と、アシストモード操作スイッチ６２と、電源スイッチ６３と、押し歩きモードボタン６４を備える。
【００５７】
表示パネル６１は例えば液晶パネルである。表示パネル６１には、制御装置７０から提供された、電動補助自転車１の速度、バッテリ５６の残容量、アシスト比率を変動させる範囲に関する情報、アシストモードおよびその他の走行情報を含む情報が表示される。
【００５８】
表示パネル６１は、速度表示エリア６１ａ、バッテリ残容量表示エリア６１ｂ、アシスト比率変動範囲表示エリア６１ｃおよびアシストモード表示エリア６１ｄを有する。表示パネル６１は、それらの情報等を乗員に報知する報知装置として機能し、この例では情報を表示する。
【００５９】
速度表示エリア６１ａには、電動補助自転車１の車速が数字で表示される。本実施形態の場合、電動補助自転車１の車速は、前輪２５に設けられたスピードセンサ３５を用いて検出される。
【００６０】
バッテリ残容量表示エリア６１ｂには、バッテリ５６から制御装置７０に出力される電池残容量の情報に基づいて、バッテリ５６の残容量がセグメントによって表示される。これにより、乗員はバッテリ５６の残容量を直感的に把握することができる。
【００６１】
アシスト比率変動範囲表示エリア６１ｃには、制御装置７０が設定したアシスト比率を変動させる範囲がセグメントによって表示される。また、その変動範囲において現在実行中のアシスト比率をさらに表示してもよい。
【００６２】
アシストモード表示エリア６１ｄには、乗員がアシストモード操作スイッチ６２を操作して選択したアシストモードが表示される。アシストモードは、例えば「強」、「標準」、「オートエコ」である。乗員がアシストモード操作スイッチ６２を操作してアシストモードオフを選択した場合は、アシストモード表示エリア６１ｄには「アシストなし」と表示される。
【００６３】
アシストモード操作スイッチ６２は、上述した複数のアシストモード（アシストモードオフを含む。）のうちの一つを乗員が選択するためのスイッチである。複数のアシストモードのうちの一つが選択されたとき、操作盤６０の内部に設けられたマイコン６０ａ（図２）は、選択されたアシストモードを特定する操作データを制御装置７０に送信する。
【００６４】
電源スイッチ６３は、電動補助自転車１の電源のオン／オフを切り替えるスイッチである。乗員は電源スイッチ６３を押して、電動補助自転車１の電源のオン／オフを切り替える。
【００６５】
押し歩きモードボタン６４は、乗員が電動補助自転車１に乗車していない場合であっても電動補助自転車１の電動モータ５３を動作させるためのボタンである。トルクセンサ４１がトルクを検出しない場合でも、押し歩きモードボタン６４が押下されている間は、電動補助自転車１は押し歩きモードで動作する。押し歩きモードとは、乗員が電動補助自転車１に乗車しているか否かにかかわらず、電動補助自転車１が規定された速度、たとえば時速１ｋｍ以下、の速度で自走する運転モードである。押し歩きモードボタン６４が許容されるか否か、および、許容される時速は、国によって異なり得る。
【００６６】
電動モータ５３の補助力は、クランク回転出力に対して、「強」、「標準」、「オートエコ」の順に小さくなる。
【００６７】
アシストモードが「標準」の場合、電動モータ５３は、例えば電動補助自転車１が発進、平坦路走行または上り坂走行の際に補助力を発生させる。アシストモードが「強」の場合、電動モータ５３は、「標準」の場合と同様、例えば電動補助自転車１が発進、平坦路走行または上り坂走行の際に補助力を発生させる。電動モータ５３は、アシストモードが「強」の場合には、同じクランク回転出力に対して「標準」の場合よりも大きな補助力を発生させる。アシストモードが「オートエコ」の場合、平坦路や下り坂の走行などでペダル踏力が小さいときは、電動モータ５３は「標準」の場合よりも補助力を小さくしたり補助力の発生を停止したりして、電力消費量を抑える。アシストモードが「アシストなし」の場合、電動モータ５３は、補助力を発生しない。
【００６８】
このように、上述のアシストモードに応じて、クランク回転出力に対する補助力が変わる。この例では、アシストモードを４段階に切り替えている。しかしながら、アシストモードの切り替えは３段階以下であってもよいし、５段階以上であってもよい。
【００６９】
図４Ａは、通信路８０によってトルクセンサ４１と接続され、通信路８１によって操作盤６０と接続されている制御回路７１を示す。本実施形態では、通信路８０は、制御回路７１とトルクセンサ４１とを１対１で接続する専用の有線ケーブルであり、通信路８１は、制御回路７１と操作盤６０とを１対１で接続する専用の有線ケーブルである。しかしながら通信路８０および８１は、電動補助自転車１内に敷設されたネットワーク回線であってもよい。
【００７０】
トルクセンサ４１のマイコン４１ａは、検出したトルクの大きさを示すトルクデータを制御回路７１に送信する。また、操作盤６０のマイコン６０ａもまた、選択されたアシストモードを特定する操作データを制御回路７１に送信する。選択されたアシストモードを特定する操作データ以外にも、操作盤６０のマイコン６０ａは、たとえば電動補助自転車１の押し歩きを行う際の押し歩きモードボタン６４が押下されていることを示す操作データを送信し得る。
【００７１】
本実施形態では、制御回路７１、トルクセンサ４１のマイコン４１ａおよび操作盤６０のマイコン６０ａは、それぞれが後述する演算を行う。制御回路７１は、トルクセンサ４１および操作盤６０から演算の結果を受け取り、自身が行った演算の結果と比較する。トルクセンサ４１による演算結果と自身の演算結果とが一致し、かつ、操作盤６０による演算結果と自身の演算結果とが一致した場合、つまり両方の比較結果が一致した場合には、制御回路７１は、トルクセンサ４１からのトルクデータ、および操作盤６０からの操作データに基づく電動モータ５３の制御を許可する。一方、制御回路７１は、両方の比較結果が一致しなかった場合、つまり、いずれか一方または両方の比較結果が不一致である場合には、トルクセンサ４１からのトルクデータ、および操作盤６０からの操作データに基づく電動モータ５３の制御を禁止する。これにより、制御回路７１に信号を出力するトルクセンサ４１および操作盤６０が、正しく動作していることを制御回路７１が確認することができる。
【００７２】
本明細書では、トルクセンサ４１からのトルクデータ、操作盤６０からの操作データなどの、制御回路７１が電動モータ５３を制御するために利用され得るデータを、「モータ制御関連データ」と呼ぶ。「モータ制御関連データ」は、たとえば、乗員がペダル５５を漕いでいる状況下でトルクセンサ４１のマイコン４１ａによって生成され、制御回路７１に送信されるモータトルクデータである。他の例は、ペダル５５を漕いでいないが、操作盤６０の押し歩きモードボタン６４が押下されている状況下で、操作盤６０のマイコン６０ａによって生成され、制御回路７１に送信される、押し歩きモードによる駆動要求、または、押し歩きモードを示すデータ、である。トルクセンサ４１以外の各種のセンサから出力される検出データであっても、制御回路７１が電動モータ５３を制御するために利用され得るデータであれば、「モータ制御関連データ」の範疇である。
【００７３】
さらに、操作盤６０が、たとえば乗員の操作に応じて、電動補助自転車１の走行および／または停止を駆動ユニット５１に指示するような、高度な機能を有する場合もあり得る。そのような場合、操作盤６０からの電動モータ５３の駆動要求および停止要求は、制御回路７１が電動モータ５３を制御するために利用され得るデータである。よってそれらの要求もまた、「モータ制御関連データ」の範疇である。
【００７４】
図４Ｂは、通信路８２によってデバイス１００と接続される制御回路７１を示す。デバイス１００は、トルクセンサ４１および操作盤６０を一般化した電子部品である。デバイス１００はマイコン１００ａを有する。
【００７５】
以下では、図４Ｂの構成に従って、制御回路７１およびデバイス１００の動作と、制御回路７１およびデバイス１００の間で行われる通信とを説明する。
【００７６】
図５は、制御回路７１およびデバイス１００のマイコン１００ａによって行われる、本実施形態にかかる処理の手順を示すフローチャートである。制御回路７１は左側に示すフローチャートに記載された手順で処理を行い、デバイス１００のマイコン１００ａは右側に示すフローチャートに記載された手順で処理を行う。制御回路７１は、図示されない記憶装置（たとえばランダムアクセスメモリ（ＲＡＭ））上に展開された、当該フローチャートに従った命令が記述されたコンピュータプログラムを実行する。デバイス１００のマイコン１００ａもまた、図示されない記憶装置（たとえばＲＡＭ）上に展開された、当該フローチャートに従った命令が記述されたコンピュータプログラムを実行する。さらに、制御回路７１およびデバイス１００は、図示されない記憶装置に、予め用意されたデータ生成規則を記憶している。データ生成規則は、制御回路７１およびデバイス１００で共通である。データ生成規則の詳細は後述する。
【００７７】
以下、適宜、図６および７も参照しながら、図５の処理を説明する。
【００７８】
まず、ステップＳ１１において、制御回路７１は、デバイス１００に照合元値を送信する。「照合元値」とは、制御回路７１からデバイス１００に送信される、デバイス１００の動作が正しいか否かを検証するために利用されるデータである。照合元値は、たとえば任意の数値列であり得る。
【００７９】
図６は、制御回路７１からデバイス１００に送信されるデータフレーム１１０を示す。データフレーム１１０は、送信元ＩＤフィールド１１０ａと、データフィールド１１０ｂと、照合元値フィールド１１０ｃとを有する。送信元ＩＤフィールド１１０ａには、制御回路７１を一意に識別可能な識別子が記述される。データフィールド１１０ｂには、制御回路７１からデバイス１００に送信すべきデータ、たとえば照合値の生成要求が格納される。デバイス１００が操作盤６０の場合には、制御回路７１から操作盤６０に送信すべきデータとして、データフィールド１１０ｂには、速度表示エリア６１ａに表示するための速度情報が格納される。照合元値フィールド１１０ｃには、照合元値が格納される。制御回路７１は、上述のフォーマットに従ってデータフレーム１１０を構築する。
【００８０】
デバイス１００に照合元値を送信した後、制御回路７１は、図５のステップＳ１２の処理を実行する。ステップＳ１２において、制御回路７１は、データ生成規則を利用して、照合元値から期待値を生成する。本実施形態において「データ生成規則」とは、照合元値を入力データＸとして演算結果Ｙを返す関数である。たとえば下記数１は、データ生成規則の一例を示す。
（数１）
Ｙ  ＝  （３・Ｘ）／２
【００８１】
なお、取り得る照合元値が予め決まっている場合には、データ生成規則は、照合元値である入力データＸの値と、入力データＸに対応するデータＹが対応付けられたテーブルであってもよい。
【００８２】
マイコン１００ａは、演算によって得られた期待値を不図示のＲＡＭに格納する。
【００８３】
次に、デバイス１００のマイコン１００ａの処理を説明する。デバイス１００は、制御回路７１から送信されたデータフレーム１１０を受信する。
【００８４】
ステップＳ２１において、デバイス１００は、受信したデータフレーム１１０を解析し、照合元値フィールド１１０ｃに記述された照合元値を抽出する。なお本明細書では、あるデータＡから、その一部であるデータＢを抽出することを、データＡからデータＢを生成する、と言うことがある。
【００８５】
ステップＳ２２において、マイコン１００ａは、上述したデータ生成規則（数１）を利用して照合元値から照合値を生成する。
【００８６】
ステップＳ２３においてマイコン１００ａは、送信すべきデータとともに、求めた照合値のデータを制御回路７１に送信する。送信されたデータは制御回路７１に受信される。
【００８７】
図７は、デバイス１００から制御回路７１に送信されるデータフレーム１２０を示す。データフレーム１２０は、送信元ＩＤフィールド１２０ａと、データフィールド１２０ｂと、照合値フィールド１２０ｃとを有する。送信元ＩＤフィールド１２０ａには、デバイス１００を一意に識別可能な識別子が記述される。データフィールド１２０ｂには、デバイス１００から制御回路７１に送信すべきデータ、たとえばモータ制御関連データ、が格納される。照合値フィールド１２０ｃには、照合値が格納される。デバイス１００のマイコン１００ａは、上述のフォーマットに従ってデータフレーム１２０を構築する。
【００８８】
制御回路７１は、デバイス１００から、モータ制御関連データと照合値とを含むデータフレーム１２０を受信する。
【００８９】
ステップＳ１３において、制御回路７１は、デバイス１００から受信したデータから照合値を抽出する。
【００９０】
制御回路７１は、ステップＳ１４において、自ら生成した期待値と、抽出した照合値とを比較し、ステップＳ１５において、期待値と照合値とが一致するか否かを判定する。一致した場合には処理はステップＳ１６に進み、不一致の場合には処理はステップＳ１７に進む。
【００９１】
ステップＳ１６において、制御回路７１は、デバイス１００から受信したモータ制御関連データに基づく電動モータの制御を許可する。すなわち、制御回路７１は電流指令値を生成してモータ駆動回路７９に送信し、電動モータ５３を駆動させる。
【００９２】
一方、ステップＳ１７では、制御回路７１はデバイス１００から受信したモータ制御関連データに基づく電動モータ５３の制御を禁止する。たとえば制御回路７１は電流指令値を生成しない場合には、電動モータ５３が回転しない。なお、デバイス１００からのモータ制御関連データに基づかなければ、制御回路７１は電動モータ５３を回転させてもよい。例えば、制御回路７１は、モータ制御関連データを利用せずに、「現状を維持する」という動作、「電動モータ５３の出力を弱めて出力を維持する」という動作、または「電動モータ５３の出力を漸次弱めて、最終的には駆動を停止する」という動作を行ってもよい。「現状を維持する」という動作の例は、電動補助自転車１が走行中であれば走行状態を維持する、電動補助自転車１が停止中であれば、停止状態を維持する、である。
【００９３】
本実施形態にかかる制御回路７１は、ステップＳ１６を実行しない限り、モータ制御関連データに基づく電動モータ５３の駆動を許可しない。したがって、デバイス１００が故障しているためデータフレーム１２０が制御回路７１に届かない場合、通信路８２の不具合に起因して、制御回路７１とデバイス１００との間の通信ができない、またはデータフレーム１１０、１２０が壊れた場合には、ステップＳ１５までの処理が実行されない。よって、電動モータ５３が駆動されることはない。または、上述した他の例、「現状を維持する」という動作等が行われてもよい。また、データフレーム１１０、１２０が壊れていることが検出できず、ステップＳ１５までの処理が実行されたとしても、ステップＳ１５において期待値が合致することがない。よって、制御回路７１はその場合も同様に動作を制御すればよい。
【００９４】
また、データ生成規則が秘密管理下に置かれている限り、不正な利用者によって、正規の機能を有するデバイス１００が改造されたデバイスに差し替えられたとしても、改造されたデバイスから正しい照合値が送信されることもない。また、他のデバイスが送信元ＩＤフィールド１２０ａを詐称してデバイス１００としてモータ制御関連データを送信したとしても、正しい照合値が含まれない限り、当該データに基づいて電動モータ５３が駆動されることもない。
【００９５】
本実施形態によれば、制御回路７１は、データ生成規則から算出される期待値と、他のデバイスから受信した照合値とを利用して通信の正当性を確認することができる。正当性が確認できる場合にのみ電動モータ５３の駆動を許可し、確認できない場合にはモータ制御関連データに基づく電動モータ５３の駆動を禁止する。これにより、特別なハードウェアを用いることなく通信の信頼性を確保して、正当なデバイスからのモータ制御関連データを利用して電動モータ５３の駆動を許可することができる。
【００９６】
制御回路７１は、図５の処理を一定の時間毎に行ってもよい。その場合、制御回路７１は、デバイス１００に常に同じ照合元値を送信してもよいし、毎回異なる照合元値を送信してもよい。後者の場合には、制御回路７１はたとえば下記数２に示す方法で新たな照合元値を生成すればよい。
（数２）
Ｘ（ｎ＋１）＝Ｘ（ｎ）＋ｒ（ｎ）
【００９７】
ここで、Ｘ（ｎ＋１）はｎ＋１回目に送信する照合元値、Ｘ（ｎ）はｎ回目に送信する照合元値、ｒ（ｎ）はｎの関数であり、一次関数等、任意に決定し得る。または、ｒ（ｎ）は定数、たとえば７であってもよい。
【００９８】
図５では、制御回路７１からのデータフレーム１１０が送信され、デバイス１００に受信されると、デバイス１００はモータ制御関連データを含むデータフレーム１２０を制御回路７１に送信していた。時間的に連続して行われているように説明したが、モータ制御関連データを送信する必要が生じた場合になって初めて、ステップＳ２３に示すデータフレーム１２０の送信が行われればよい。たとえば図８は、デバイス１００において、制御回路７１からのデータフレーム１１０の受信と、制御回路７１へのデータフレーム１２０の送信とが同期していないことを示す。制御回路７１は事前に照合元値をデバイス１００に送信しておく。デバイス１００は、図８に示すように、事前に照合値を生成して保存していてもよいし、モータ制御関連データを送信するタイミングで照合値を生成し、モータ制御関連データとともにデータフレーム１２０を構築してもよい。
【００９９】
ただし、通信の正当性を制御回路７１が必要とするタイミングで確認できることは好ましい。たとえば図９は、デバイス１００が、制御回路７１からのデータフレーム１１０の受信に応答して、データフレーム１２１を送信していることを示す。デバイス１００のマイコン１００ａは、制御回路７１からデータフレーム１１０を受信すると、図５のステップＳ２１およびＳ２２を実行し、ステップＳ２３において、モータ制御関連データを含まず、照合値を含むデータフレーム１２１を制御回路７１に送信してもよい。モータ制御関連データを送信する必要が生じたときは、デバイス１００のマイコン１００ａは、その時点で、同じ照合値を含むデータフレーム１２０をさらに構築し、制御回路７１に送信すればよい。
【０１００】
（実施形態２）
本実施形態では、制御回路７１とデバイス１００とが、照合元値を変えながら頻繁にデータフレームを送受信する場合に、通信の正当性を確保するための処理を説明する。実施形態１において説明した、図１から図７までの構成および基本的な動作の説明は、本実施形態の説明にも援用し、再度の説明は省略する。
【０１０１】
図１０は、制御回路７１とデバイス１００とが照合元値を変えながら頻繁にデータフレームを送受信する場合の課題を示す。
【０１０２】
制御回路７１が、たとえば数２を利用して、定期的に照合元値を変更する場合を考える。
【０１０３】
初めに、制御回路７１は、照合元値Ａ１を含むデータフレーム１１０をデバイス１００に送信する。デバイス１００のマイコン１００ａは、照合元値Ａ１から生成した照合値Ｂ１をデータフレーム１２０に含めて制御回路７１に送信する。マイコン１００ａは、制御回路７１から次の照合元値を受信するまでは、最も新しい照合元値Ａ１を用いて照合値Ｂ１を生成する。制御回路７１は、照合元値Ａ１から生成した期待値Ｃ１と、照合値Ｂ１とを比較する。
【０１０４】
制御回路７１が、次の照合元値Ａ２を含むデータフレーム１１１をデバイス１００に送信した直後に、デバイス１００からデータフレーム１２０を受信したとする。デバイス１００はデータフレーム１１１をまだ受信していない。よって、データフレーム１２０には、照合元値Ａ１を用いて生成された照合値Ｂ１が格納されている。制御回路７１は、照合元値Ａ２を利用して生成した期待値Ｃ２と、照合値Ｂ１とを比較する。これでは、両者が一致せず、データフレーム１２０に含まれているモータ制御関連データに基づく電動モータ５３の制御が禁止されることになる（図５のステップＳ１７）。
【０１０５】
そこで、本実施形態では、照合元値Ａ２が利用され始めた後も、照合元値Ａ１および／または期待値Ｃ１を有効であるとして取り扱う。
【０１０６】
図１１は、本実施形態にかかる制御回路７１が、照合元値Ａ１および期待値Ｃ１と、照合元値Ａ２および期待値Ｃ２とを重複して利用する処理を示す。制御回路７１は、照合元値Ａ２が利用され始めた後も、期待値Ｃ１を保持する。期待値Ｃ２と照合値Ｂ１とを比較し、不一致の場合には、さらに期待値Ｃ１と照合値Ｂ１とを比較する。期待値Ｃ１と照合値Ｂ１とは一致するため、図１０の処理では不一致とされる状況が生じても、モータ制御関連データに基づく電動モータ５３の制御が適切に実行され得る。
【０１０７】
上述の処理は、制御回路７１が、デバイス１００に送信した最新世代の照合元値Ａ２と、１世代前の照合元値Ａ１とを記憶装置（たとえばＲＡＭ）に記憶しておけばよい。または、制御回路７１は、デバイス１００に送信した最新世代の期待値Ｃ２と、１世代前の期待値Ｃ１とを記憶装置（たとえばＲＡＭ）に記憶しておけばよい。
【０１０８】
図１２は、制御回路７１およびデバイス１００のマイコン１００ａによって行われる、本実施形態にかかる処理の手順を示すフローチャートである。図５との相違点は、図５のステップＳ１２、Ｓ１４およびＳ１５がそれぞれステップＳ１２ａ、Ｓ１４ａおよびＳ１５ａに変更され、ステップＳ１４ｂおよびＳ１５ｂが追加された点である。以下、相違点のみを説明する。
【０１０９】
ステップＳ１２ａでは、制御回路７１は、新たに期待値を生成した場合、それまでの期待値を前の世代の期待値を記憶装置（たとえばＲＡＭ）に保存する。新たに生成した期待値は「最新世代」の期待値であり、ＲＡＭに保存された期待値は「１世代前」の期待値である。
【０１１０】
ステップＳ１４ａでは、制御回路７１は最新世代の期待値と、データフレーム１２０に含まれていた照合値とを比較する。ステップＳ１５ａは、比較結果が一致したか否かの判断である。比較結果が一致しなかった場合、処理はステップＳ１４ｂに進む。制御回路７１は、ステップＳ１４ｂにおいて、制御回路７１は、保存しておいた１世代前の期待値をＲＡＭから読み出して当該期待値と照合値とを比較し、ステップＳ１５ｂにおいて、当該期待値と照合値とが一致するか否かを判定する。両者が一致すれば処理はステップＳ１６に進み、一致しなかった場合には処理はステップＳ１７に進む。
【０１１１】
（実施形態３）
本実施形態では、制御回路７１とデバイス１００との間で、通信の正当性をさらに高く確保するための処理を説明する。実施形態１において説明した、図１から図７までの構成および基本的な動作の説明は、本実施形態の説明にも援用し、再度の説明は省略する。
【０１１２】
本実施形態では、デバイス１００のマイコン１００ａが照合値を生成するために利用するデータの範囲を広げ、制御回路７１が期待値を生成するために利用するデータの範囲を広げる。たとえば図６および図７に示すデータフィールド１１０ｂおよび／またはデータフィールド１２０ｂを利用して、制御回路７１およびマイコン１００ａは、期待値および照合値を生成する。
【０１１３】
図６の例で説明する。デバイス１００のマイコン１００ａは、データフレーム１１０を受信すると、データフィールド１１０ｂに記述されたデータ（たとえば照合値生成要求）の全部または一部と、照合元値フィールド１１０ｃに記述された照合元値とを抽出し、それらの論理積を演算する。つまり下記数３の演算を行う。
（数３）
Ｙ  ＝  （データフィールド１１０ｂから抽出されたデータ）  ＡＮＤ  （照合元値フィールド１１０ｃから抽出された照合元値）
【０１１４】
制御回路７１は、数３を利用して同様の演算を行い、期待値を生成する。照合元値が流出した場合でも、データフィールド１１０ｂから抽出されたデータが変わると照合値および期待値も変わるため、通信の正当性をさらに高く確保することができる。
【０１１５】
次に、図７の例を説明する。これまでは、デバイス１００のマイコン１００ａは、データフレーム１１０のデータのみから照合値を生成していた。しかしながらマイコン１００ａは、データフレーム１１０のデータに加え、データフレーム１２０のデータフィールド１２０ｂに含めたモータ制御関連データを利用して照合値を生成する。
【０１１６】
マイコン１００ａは、データフレーム１１０を受信すると、照合元値フィールド１１０ｃに記述された照合元値と、制御回路７１に送信しようとするデータフレーム１２０の、データフィールド１２０ｂに記述しようとするモータ制御関連データとの論理積を計算する。つまり下記数４の演算を行う。
（数４）
Ｙ  ＝  （照合元値フィールド１１０ｃに記述された照合元値）  ＡＮＤ  （データフィールド１２０ｂに記述しようとするモータ制御関連データ）
【０１１７】
制御回路７１は、データフィールド１２０ｂに記述しようとするモータ制御関連データを予め知ることはできない。従って、実施形態１および２の例と異なり、本実施形態では制御回路７１は予め期待値を生成することはできない。
【０１１８】
制御回路７１は、データフレーム１２０を受信すると、データフレーム１２０のデータフィールド１２０ｂに記述されたモータ制御関連データ、および、照合値フィールド１２０ｃに記述された照合値を抽出する。制御回路７１は、デバイス１００に送信した照合元値と、データフィールド１２０ｂから抽出したモータ制御関連データとの論理積を計算し、期待値を生成する。そして制御回路７１は、当該期待値と、照合値フィールド１２０ｃに記述された照合値とを比較する。このように、本実施形態によれば、通信相手が固有に保持するデータを受信して初めて、照合値および期待値を生成できる。よって、実施形態１および２の例よりもさらに通信の正当性を確実に担保できる。
【０１１９】
以下、実施形態２および３に適用可能な変形例を説明する。
【０１２０】
制御回路７１が、デバイス１００からのモータ制御関連データに基づく電動モータの制御を許可し、電動モータ５３の回転が始まっているとする。電動モータ５３の回転を制御している間も、制御回路７１は、デバイス１００にデータフレーム１１０を送信し、デバイス１００からデータフレーム１２０を受信する。制御回路７１は、データフレーム１２０に記述されたモータ制御関連データに従って回転速度の変更等を行う。制御回路７１がデバイス１００にデータフレーム１１０を送信する頻度は、たとえば１００ミリ秒である。一方、デバイス１００のマイコン１００ａがデータフレーム１２０を送信する頻度は、たとえば５０ミリ秒である。
【０１２１】
デバイス１００から５０ミリ秒間隔でデータフレーム１２０を受信できており、かつ、照合値と期待値とが一致する限り、制御回路７１はモータ制御関連データに基づく電動モータ５３の制御を許可し、電動モータ５３を回転させ続ける。
【０１２２】
しかしながら、デバイス１００からのデータフレーム１２０の受信が一定間隔以上空いた場合には、デバイス１００に異状が生じたと考えられる。制御回路７１は、データフレーム１２０の受信が、たとえば５００ミリ秒以上空いた場合には、モータ制御関連データに基づく電動モータ５３の制御を禁止する。これにより、たとえば電動補助自転車１の電動モータ５３を停止させ、異状のあるデバイスを含む電動補助システムの使用を中止させることができる。
【０１２３】
または、制御回路７１は、データフレーム１２０内の照合値と期待値とが連続して規定回数以上不一致になった場合には、強制的に電動モータ５３の駆動を停止させてもよい。
【産業上の利用可能性】
【０１２４】
本発明は、電動モータを制御する制御回路と、当該電動モータの回転を制御するために利用されるモータ制御関連データを当該制御回路に送信するデバイスとの間の通信に好適に利用可能である。
【符号の説明】
【０１２５】
４１  トルクセンサ
４１ａ  マイコン
５３  電動モータ
６０  操作盤
６０ａ  マイコン
７０  制御装置
７１  制御回路
７９  モータ駆動回路
【図１】
2018144780.tif 000003
【図２】
2018144780.tif 000004
【図３】
2018144780.tif 000005
【図４Ａ】
2018144780.tif 000006
【図４Ｂ】
2018144780.tif 000007
【図５】
2018144780.tif 000008
【図６】
2018144780.tif 000009
【図７】
2018144780.tif 000010
【図８】
2018144780.tif 000011
【図９】
2018144780.tif 000012
【図１０】
2018144780.tif 000013
【図１１】
2018144780.tif 000014
【図１２】
2018144780.tif 000015