(57)【要約】【課題】部品数を増やすことなくソレノイドが過熱状態になるのを防ぐ。【解決手段】コントローラ１００は、ソレノイド５に供給する信号の電流値から、この電流値の信号を供給した時のソレノイド５の上昇温度を算出し、この算出結果を電源が入れられてから上昇したソレノイド５の温度上昇幅と加算する。またコントローラ１００は、ソレノイド５の放熱後の温度上昇幅を算出し、この算出結果と温度センサ１１０で測定したソレノイド５周辺の温度とを加算する。そしてコントローラ１００は、この加算結果をもとにソレノイド５が過熱状態にあるか否か判定し、過熱状態にあると判定した時はソレノイド５の駆動を停止する。【選択図】図３
2010107651.tif 000002
【特許請求の範囲】
【請求項１】
ソレノイドを制御するための信号を出力する信号出力手段と、
前記信号において前記ソレノイドのプランジャの変位を決定する値を取得し、取得した値から前記ソレノイドの温度上昇幅を求める演算手段と、
複数の前記ソレノイドを備える装置の温度を取得する温度取得手段と、
前記温度取得手段で取得した温度と前記演算手段で求めた温度とに基づいて複数の前記ソレノイドのうち過熱状態にあるソレノイドを特定し、特定したソレノイドを非駆動状態にする信号を前記信号出力手段から出力させる制御手段と
を有するソレノイド制御装置。
【請求項２】
前記演算手段は周期的に温度上昇幅を求め、
前記温度取得手段は周期的に温度を取得し、
前記制御手段は、過熱状態にあるソレノイドの特定を周期的に行うこと
を特徴とする請求項１に記載のソレノイド制御装置。
【請求項３】
前記温度取得手段は、ソレノイドの放熱を含めて温度上昇幅を求めることを特徴とする請求項１または請求項２に記載のソレノイド制御装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載のソレノイド制御装置と、
前記信号出力手段から出力された信号に基づいてソレノイドを駆動する駆動手段と、
前記ソレノイドにより駆動される鍵と
を備える自動演奏装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソレノイドの過熱を防ぐ技術に関する。
【背景技術】
【０００２】
自動演奏を行う鍵盤楽器においては、鍵を駆動する駆動手段としてソレノイドを用いたものがある。ソレノイドにおいては、プランジャを駆動するコイルに電流が流れるとコイルが発熱するが、ソレノイドの駆動頻度が高いとコイルの温度が上昇して駆動力が低下する。そして、温度が上昇した状態でさらに駆動されるとコイルは過熱状態となる。
そこでコイルが過熱状態となるのを防ぐしくみが必要となるが、電流を制御する技術として、例えば特許文献１に開示された負荷保護装置がある。この負荷保護装置では、回路を流れる電流値が検出され、電流値をｎ乗した結果がローパスフィルタに供給される。そして、ローパスフィルタの出力が比較器において所定値と比較され、ローパスフィルタの出力が所定値未満である場合には負荷に電流が流れ、ローパスフィルタの出力が所定値以上となると負荷に流れる電流が遮断される。この負荷保護装置における負荷をソレノイドとすれば、負荷へ流れる電流は途中で遮断されるためコイルが過熱状態となるのを防ぐことができる。
【０００３】
【特許文献１】特開平６−２８９９４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、自動演奏を行う鍵盤楽器においては、複数の鍵毎にソレノイドが設けられる。この場合、上述した負荷保護回路を各ソレノイドについて設けると部品点数が多くなるという問題が生じてしまう。
また、ソレノイドにおいては、ソレノイドの駆動頻度や放熱、ソレノイド周辺の温度によって温度の上昇スピードが異なるが、上述した負荷保護回路を適用すると、このような駆動頻度や放熱、周辺温度に関する影響を考慮できないため、過熱状態ではなく通常使用が可能な状態であっても電流値の演算結果によって電流が遮断される虞がある。
【０００５】
本発明は、上述した背景の下になされたものであり、部品数を増やすことなくソレノイドが過熱状態になるのを防ぐ技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために本発明は、ソレノイドを制御するための信号を出力する信号出力手段と、前記信号において前記ソレノイドのプランジャの変位を決定する値を取得し、取得した値から前記ソレノイドの温度上昇幅を求める演算手段と、複数の前記ソレノイドを備える装置の温度を取得する温度取得手段と、前記温度取得手段で取得した温度と前記演算手段で求めた温度とに基づいて複数の前記ソレノイドのうち過熱状態にあるソレノイドを特定し、特定したソレノイドを非駆動状態にする信号を前記信号出力手段から出力させる制御手段とを有するソレノイド制御装置を提供する。
【０００７】
本発明においては、前記演算手段は周期的に温度上昇幅を求め、前記温度取得手段は周期的に温度を取得し、前記制御手段は、過熱状態にあるソレノイドの特定を周期的に行う構成であってもよい。
また、本発明においては、前記温度取得手段は、ソレノイドの放熱を含めて温度上昇幅を求める構成であってもよい。
また、本発明においては、上記構成のいずれかのソレノイド制御装置と、前記信号出力手段から出力された信号に基づいてソレノイドを駆動する駆動手段と、前記ソレノイドにより駆動される鍵とを備える自動演奏装置を提供する。
【発明の効果】
【０００８】
本発明によれば、部品数を増やすことなくソレノイドが過熱状態になるのを防ぐことができる。
【発明を実施するための最良の形態】
【０００９】
［実施形態］
（実施形態の構成）
図１は、本発明に係る制御装置を有する自動演奏ピアノ１０の外観を示した図であり、図２は、自動演奏ピアノ１０の鍵１に対応して設けられたハンマーアクション機構３と鍵１を駆動するソレノイド５を側面から見た図である。なお、図２において鍵１はハンマーアクション機構３に近い部分のみを図示し、演奏者により操作される部分の図示を省略している。また、図２においては、右側が演奏者側、左側が演奏者から見て奥側となる。また、鍵１は図２において紙面の表裏方向にわたって８８個並設されており、ハンマーアクション機構３も鍵１に対応して８８個並設されている。
【００１０】
まず、弦を打撃する機構について見ると、図２に示したように、鍵１はピンＰにより揺動自在に支持されており、演奏者によって押下される。ダンパ６は、ダンパペダルが踏まれると上に移動して弦４から離れ、ダンパペダルを踏んでいた足がダンパペダルから離れると下に移動して弦４を抑える。ハンマ２を備えたハンマーアクション機構３は、鍵に対応して張られている弦４を打撃する機構であり、鍵１が演奏者により押下されるとハンマ２が鍵１の動きに対応して弦４を打撃する。ソレノイド５は、鍵１を駆動する駆動手段であり、ソレノイド５を駆動する信号が供給されるとプランジャ５Ａが変位する。プランジャ５Ａが変位して鍵１を押し上げると、ハンマ２が鍵１の動きに対応して弦４を打撃する。
【００１１】
次に図３は、ソレノイド５と、ソレノイド５を制御するためのハードウェアの構成を示したブロック図である。記憶部１４０は、データを記憶する不揮発性メモリを備えており、楽曲を表すＭＩＤＩ（Musical Instrument Digital Interface）形式の演奏データを記憶する。温度センサ１１０は、温度を測定するセンサであり、コントローラ１００に接続されている。温度センサ１１０は、演奏者から見て左右に並んだ鍵１のうち右端から４４番目の鍵１を駆動するソレノイド５の近傍に配置されており、測定した温度を示す信号をコントローラ１００へ出力する。
【００１２】
コントローラ１００は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、入出力ポートなどを備えた所謂マイクロコンピュータである。コントローラ１００は、ＲＯＭに記憶されたプログラムに従って動作し、ソレノイド５を駆動するための制御データ（信号）を記憶部１４０から読み出した演奏データに応じて出力する。すなわち、ＲＯＭに記録されたプログラムが実行されると、演奏データに応じてソレノイド５を駆動して弦４を打撃して演奏を行う自動演奏機能が実現される。ここで制御データは、駆動するソレノイド５を識別する識別データと、ソレノイド５を駆動する信号の電流値を表す電流値データを含んでいる。なお、本実施形態においては、演奏者から見て左端のソレノイドから右端のソレノイドへ順番に１，２，３，・・・，８８という番号が付されており、このソレノイド毎に付された番号が識別データとなる。
また、コントローラ１００は、ＲＯＭに記憶されたプログラムに従って図４に示した処理を自動演奏の処理とは別で周期的に行い、ＲＡＭに記憶される温度テーブルＴＢを用いて複数のソレノイド５毎の温度を推定し、推定したソレノイド５の温度が予め定められた閾値を超えたと判断すると、閾値を超えたと判断したソレノイド５の駆動を停止する。
【００１３】
ここで温度テーブルＴＢは、図５に示したフォーマットとなっており、「番号」の列に格納されている数字は上述した各ソレノイドに付された番号を表している。また、「電流値」の列にはソレノイド５を駆動する信号の電流値が格納され、「上昇温度」の列には、電流値の列に格納されている電流値の信号をソレノイド５に流した時にソレノイド５がどれだけ温度上昇したかを示す値が格納され、「温度上昇幅」の列には、自動演奏ピアノ１０の電源が入れられてから上昇したソレノイド５の温度の上昇幅を示す値が格納される。なお、温度テーブルＴＢは、自動演奏ピアノ１０の電源が入れられた時には初期化され、電流値、上昇温度および温度上昇幅の列の全てに「０」が格納される。
【００１４】
駆動部１２０は、コントローラ１００に接続されており、コントローラ１００から出力された制御データを受け取る。そして、駆動部１２０は、この制御データに従ってソレノイド５を駆動する駆動信号を生成し、生成した駆動信号をソレノイド５へ出力する。具体的には、コントローラ１００から制御データを受け取ると、制御データに含まれている電流値データが示す電流値の駆動信号を生成し、生成した駆動信号を制御データに含まれている識別データで特定されるソレノイド５へ出力する。例えば、識別データの内容が「２」である場合、生成された駆動信号は「２」の番号が付されているソレノイド５、即ち、演奏者側から見て左端のソレノイド５から右側へ数えて２番目のソレノイド５へ出力される。
【００１５】
操作部１３０は、自動演奏ピアノ１０を操作するための各種メニュー画面などの表示手段である液晶ディスプレイと、操作者により操作され、操作者からの指示を受け付ける受付手段として機能するタッチパネルとを備えており、譜面台の横に配置されている。
【００１６】
（自動演奏時の動作）
次に、本実施形態の動作について説明する。まず自動演奏ピアノ１０の利用者が操作部１３０を操作し、記憶部１４０に記憶された演奏データの一覧の表示を指示する操作を行うと、記憶部１４０に記憶された楽曲データの一覧が操作部１３０の液晶ディスプレイに表示される。そして、表示された演奏データの一つを選択する操作を利用者が行うと、コントローラ１００は記憶部１４０から演奏データを読み出す。
【００１７】
コントローラ１００は、演奏データを読み出すと、読み出した演奏データに従って鍵１を駆動する動作を開始するとともに、図４に示した処理を周期的に行う。具体的には、コントローラ１００は、楽曲データ中のノートオンメッセージのノートナンバから駆動する鍵１を特定し、特定した鍵１を駆動した時に発音される音の強さを楽曲データ中のベロシティから特定する。
【００１８】
そして、コントローラ１００は、ノートナンバから特定した鍵１に対応するソレノイド５の番号を識別データとし、また、ベロシティから特定した強さの音を発音するためにソレノイド５に流す駆動信号の電流値をベロシティで示された音の強さから設定し、設定した電流値を電流値データとする。なお、電流値の設定は、ベロシティの値と電流値とを対応付けたテーブルを予めコントローラ１００が記憶しておき、このテーブルを用いて電流値を設定してもよく、また、ベロシティの値から電流値を得る計算式をコントローラ１００が記憶しておき、この計算式を用いて電流値を設定してもよい。
【００１９】
次にコントローラ１００は、温度テーブルＴＢの「番号」の列において識別データの番号と同じ番号が格納されている行へ、設定した電流値データが示す値を格納する。例えば、識別データの番号が「２」であり、電流値データの値が「ａ２１」場合、図５（ａ
）に示したように温度テーブルＴＢの「番号」の列において「２」が格納されている行の「電流値」の列に電流値データが示す値「ａ２１」を格納する。そして、コントローラ１００は、識別データと電流値データとを含む制御データを駆動部１２０へ出力する。
【００２０】
この制御データを受け取った駆動部１２０は、制御データに含まれている電流値データが示す電流値の駆動信号を、制御データに含まれている識別データで特定されるソレノイド５へ出力する。この駆動信号をソレノイド５が受け取ると、ソレノイド５は駆動信号の電流に応じてプランジャ５Ａを上昇させる。そして、プランジャ５Ａが上昇させられると鍵１においてプランジャ５Ａに接している部分が押し上げられ、鍵１の動きに対応してハンマーアクション機構３が動作し、ハンマ２によって弦４が打撃されて発音がされる。
【００２１】
一方、ここで自動演奏の処理とは別な処理としてコントローラ１００においてたとえばタイマ割り込みによって図４に示した処理を実行するタイミングとなると、まずコントローラ１００は、変数ｋの値を初期化しｋ＝１とする（ステップＳ１）。次にコントローラ１００は、温度テーブルＴＢの「番号」の列において変数ｋの値と同じ番号が格納されている行の電流値を読み出し、読み出した電流値を２乗した値に定数Ｃ１を乗じる。ここで、本実施形態においては、この演算により得られる値をソレノイド５に電流を流した時のソレノイド５の上昇温度とし、この値を温度テーブルＴＢの「上昇温度」の列に格納する（ステップＳ２）。例えば、変数ｋの値が２であり、上述した動作により、図５（ａ）に示したように温度テーブルＴＢの「番号」が「２」の行においてノートオンメッセージのベロシティの値に対応して電流値「ａ２１」が格納されている場合、この「ａ２１」を２乗した値に定数Ｃ１を乗じた値である「ｂ２１」が「上昇温度」の列に格納される。なお、定数Ｃ１は上昇温度を求めるために実験またはシミュレーションなどにより求められた値であり、予め設定されている。
【００２２】
次に、コントローラ１００は、自動演奏ピアノ１０の電源が入れられてから上昇したソレノイド５の温度上昇幅の値を温度テーブルＴＢの「温度上昇幅」の列から読み出し、読み出した値を「上昇温度」の列に格納されている値に加算する（ステップＳ３）。そして、ソレノイド５においては、電流が流れると温度が上昇するものの、一方で放熱もある。このため、ステップＳ３で得られる値に定数Ｃ２を乗じて放熱を考慮したソレノイド５における温度上昇幅を算出し、得られた値を「温度上昇幅」の列に格納する（ステップＳ４）。なお、定数Ｃ２は放熱による温度の下降を考慮するために実験またはシミュレーションなどにより求められた値であり、予め設定されている。
【００２３】
ここで、電源が入れられた直後においては、ソレノイド５は駆動されてなく、温度が上昇していないため「温度上昇幅」の列には図５（ａ）に示したように値として「０」が格納されている。このため、温度テーブルＴＢの「番号」が「２」の行においては、上昇温度「ｂ２１」に温度上昇幅「０」が加算され、加算結果の値「ｂ２１」に定数Ｃ２が乗じられる。ここで、定数Ｃ２を乗じて得た値が「ｃ２１」であると、この値「ｃ２１」が「温度上昇幅」の列に格納される。
【００２４】
次にコントローラ１００は、温度センサ１１０からコントローラ１００へ供給されている信号を解析してソレノイド５近傍の温度を取得し（ステップＳ５）、取得した温度とステップＳ４で得られた温度上昇幅とを加算し、加算結果をソレノイド５の温度と推定する（ステップＳ６）。そして、コントローラ１００は、ステップＳ６で得られたソレノイド５の推定温度と、予め定められた閾値（過熱状態と判定される温度）とを比較する（ステップＳ７）。ここで、ステップＳ６で得られたソレノイド５の温度が閾値を超えていない場合には（ステップＳ７；ＮＯ）、コントローラ１００は変数ｋの値に「１」を加算し（ステップＳ９）、変数ｋの値がｋ＞８８となっていない場合にはステップＳ２へ処理の流れを戻し（ステップＳ１０；ＮＯ）、変数ｋの値がｋ＞８８となっている場合には（ステップＳ１０；ＹＥＳ）図４の処理を終了する。
【００２５】
次に、コントローラ１００が楽曲データ中のノートオフメッセージを読み取ると、コントローラ１００は、非駆動時の状態に戻す鍵１を楽曲データ中のノートオフメッセージのノートナンバから特定する。そして、コントローラ１００は、ノートナンバから特定した鍵１に対応するソレノイド５の番号を識別データとし、また、ソレノイド５に流す駆動信号の電流値を「０」に設定し、設定した電流値を電流値データとする。
【００２６】
ここでコントローラ１００は、温度テーブルＴＢの「番号」の列において識別データの番号と同じ番号が格納されている行へ、電流値データが示す値を格納する。例えば、識別データの番号が「２」である場合、コントローラ１００は、図５（ｂ）に示したように、温度テーブルＴＢの「番号」の列において「２」が格納されている行を特定し、特定した行の「電流値」の列に電流値データが示す値「０」を格納する。そしてコントローラ１００は、識別データと電流値データとを含む制御データを駆動部１２０へ出力する。
【００２７】
この制御データを受け取った駆動部１２０は、電流値データの値が「０」であるため、制御データに含まれている識別データで特定されるソレノイド５へ出力していた駆動信号の出力を停止する。駆動信号の出力が停止すると、ソレノイド５においてはプランジャ５Ａが下降し、鍵１においてプランジャ５Ａに接している部分が下がる。すると、鍵１の動きに対応してハンマーアクション機構３が動作してハンマ２が下がることとなる。
【００２８】
一方、ここで先の図４の処理が終了してから一定時間が経過し、再度図４の処理を実行するタイミングとなると、コントローラ１００は、まずステップＳ１の処理を行った後にステップＳ２の処理を行う。ここで、変数ｋ＝２であり、上述した動作によって温度テーブルＴＢの「番号」が「２」の行において電流値「０」が格納されている場合、ステップＳ２の処理を実行すると、図５（ｂ）に示したように「番号」が「２」の行において値「０」が「上昇温度」の列に格納される。
【００２９】
次に、コントローラ１００は、ステップＳ３とステップＳ４の処理を行う。ここで、図５（ｂ）に示したように上述した動作によって「温度上昇幅」の列に値として「Ｃ２１」が格納されていると、温度テーブルＴＢの「番号」が「２」の行においては、上昇温度「０」に温度上昇幅「Ｃ２１」が加算され、加算結果の値「Ｃ２１」に定数Ｃ２が乗じられる。ここで、定数Ｃ２を乗じて得た値が「Ｃ２２」であると、この値「Ｃ２２」が「Ｃ２１」に替えて「温度上昇幅」の列に格納される。なお、ここでは、定数Ｃ２が乗じられるため、値「Ｃ２２」は値「Ｃ２１」より小さい値となる。
【００３０】
次にコントローラ１００は、温度センサ１１０からの信号を解析してソレノイド５近傍の温度を取得し（ステップＳ５）、取得した温度とステップＳ４で得られた温度上昇幅とを加算し、加算結果をソレノイド５の温度と推定する（ステップＳ６）。そして、コントローラ１００は、ステップＳ６で得られたソレノイド５の推定温度と、予め定められた閾値とを比較する（ステップＳ７）。ここで、ステップＳ６で得られたソレノイド５の温度が閾値を超えていない場合には、コントローラ１００はステップＳ９、ステップＳ１０の処理を行い、ステップＳ１０において変数ｋ＞８８となっていると、図４の処理を終了する。
【００３１】
このようにコントローラ１００は、演奏データに複数含まれるノートオンメッセージとノートオフメッセージを読み出し、上述した動作を繰り返して楽曲の楽音を発音しつつ、図４に示した処理を一定の周期で実行する。
【００３２】
（ソレノイド５の駆動を停止する時の動作）
次に、ソレノイド５の駆動を停止する時の動作について説明する。
ソレノイド５の駆動が続けて行われると、温度テーブルＴＢの「温度上昇幅」の値は時間の経過と共に上昇していく。また、温度センサ１１０で測定される温度についても、ソレノイド５の発熱に伴い時間の経過と共に上昇していく。
【００３３】
ここで、図４の処理を実行するタイミングとなった時に、例えば図５（ｃ）に示したように、温度テーブルＴＢの「番号」が「２」の行において「電流値」として「ａ２３」が格納されており、「温度上昇幅」として「ｃ２３」が格納されていた場合を想定する。
ここで、まず変数ｋ＝２となったときステップＳ２においては、この「ａ２３」を２乗した値に定数Ｃ１を乗じた値である「ｂ２３」が「上昇温度」の列に格納される。次に、ステップＳ３で上昇温度「ｂ２３」と温度上昇幅「ｃ２３」とが加算された後、この加算結果に対してステップＳ４で定数Ｃ２が乗じられて温度上昇幅「ｃ２４」が算出され、この値「ｃ２４」が「温度上昇幅」の列に格納される。
【００３４】
次にコントローラ１００は、ステップＳ５で温度センサ１１０から取得した温度と温度上昇幅「ｃ２４」を加算する。ここで温度センサ１１０近傍の温度が高くなっているか又はソレノイド５の温度上昇幅が大きくなっていて加算結果が閾値を超えると（ステップＳ７；ＹＥＳ）、コントローラ１００は識別データを「２」とし、電流値データを「０」とする制御データを生成して駆動部１２０へ出力する（ステップＳ８）。すると、この制御データを受け取った駆動部１２０は、電流値データの値が「０」であるため、制御データに含まれている識別データで特定されるソレノイド５へ出力していた駆動信号の出力を停止する。
【００３５】
このように、本実施形態においては、ソレノイド５が過熱状態であると判断されると、ソレノイド５の駆動が停止されるためソレノイド５が過熱状態となることがない。また、本実施形態においては、ソレノイド毎に温度センサを配置してソレノイド毎の温度を監視したり、ソレノイド毎に特許文献１のような負荷保護装置を設けなくとも個々のソレノイドの駆動を停止することができるため、部品点数が多くなるという問題が生じない。
【００３６】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
【００３７】
上述した実施形態においては、ソレノイド５は自動電子ピアノの鍵を駆動しているが、ソレノイド５が駆動するのはピアノの鍵以外であってもよい。即ち、ソレノイドを備えた装置に温度センサ１１０を設け、図４に示した処理を実行すれば、ソレノイドを備えた各種装置においてもソレノイドが過熱状態となるのを防ぐことができる。
【００３８】
上述した実施形態においては、温度センサ１１０の配置位置は、演奏者から見て左右方向の中央部分に配置されているが、温度センサの位置は上述した実施形態の位置に限定されるものではなく、例えば、演奏者から見て左右方向の中央部分から左方向または右方向のいずれか側に配置されていてもよい。
【００３９】
自動演奏ピアノ１０においては、フレキシブルディスク、光ディスク（ＣＤ（Compact Disc）、ＤＶＤ（Dgital Versatile Disc））、光磁気ディスク、ＵＳＢメモリなどの記録媒体にアクセスするインターフェースを設け、コントローラ１００は、記録媒体に記憶された演奏データを読み出すようにしてもよい。
【００４０】
上述した実施形態においては、制御データを駆動部１２０へ出力する前に、温度センサ１１０から取得した温度と、温度テーブルＴＢにおいて識別データの番号と同じ番号が格納されている行の「温度上昇幅」の列に格納されている値を加算し、加算結果が過熱状態と判定される温度を超えている場合には、電流値データの値を「０」に変更してから制御データを駆動部１２０へ出力するようにしてもよい。また、ここで温度テーブルＴＢの「電流値」の列に格納されている値を「０」に変更してもよい。
【００４１】
上述した実施形態においては、駆動部１２０は制御データに含まれる電流値データに基づいて駆動信号の電流値を設定しているが、コントローラ１００は、電流値データに替えてプランジャ５Ａの変位量を示すデータを含む制御データを出力し、駆動部１２０はこの変位量に従って駆動信号の電流値を設定するようにしてもよい。この構成の場合、コントローラ１００は、予め定められたテーブルや計算式などを用いてプランジャの変位量から上昇温度を算出するようにしてもよい。
【００４２】
上述した実施形態においては、図４の処理はコントローラ１００において行われるが、温度センサ１１０が接続され図４の処理を実行するＣＰＵ（Central Processing Unit）をコントローラ１００と別に設け、温度テーブルＴＢを記憶部１４０に記憶するようにし、記憶部１４０に記憶された温度テーブルＴＢに対してコントローラ１００と図４の処理を行うＣＰＵがアクセスするようにしてもよい。また、この構成の場合、ＣＰＵはステップＳ６でＹＥＳと判断すると、推定温度が閾値を超えたソレノイド５について電流値を「０」とした制御データを出力するようにコントローラ１００へ指示し、推定温度が閾値を超えたソレノイド５についてコントローラ１００が電流値を「０」とした制御データを出力するようにしてもよい。
【００４３】
ソレノイド５においては、同じ電流を流しても温度が変化するとプランジャを動かす力が変わるものがあり、プランジャを一定量動かす場合には、温度変化に応じて電流値の制御を要するものがある。このようなソレノイド５を使用する場合、図４の処理で推定した温度を用いてプランジャを一定量動かすのに必要な電流値を求め、求めた電流値を使用してソレノイド５を駆動するようにしてもよい。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態に係る自動演奏ピアノ１０の外観図である。
【図２】自動演奏ピアノ１０が備えるハンマーアクション機構３の側面図である。
【図３】ソレノイド５を制御するハードウェアの構成を示したブロック図である。
【図４】コントローラ１００が実行する処理の流れを示したフローチャートである。
【図５】温度テーブルＴＢのフォーマットを例示した図である。
【符号の説明】
【００４５】
１・・・鍵、２・・・ハンマ、３・・・ハンマーアクション機構、４・・・弦、５・・・ソレノイド、５Ａプランジャ、１０・・・自動演奏ピアノ、１００・・・コントローラ、１１０・・・温度センサ、１２０・・・駆動部、１３０・・・操作部、１４０・・・記憶部
【図１】
2010107651.tif 000003
【図２】
2010107651.tif 000004
【図３】
2010107651.tif 000005
【図４】
2010107651.tif 000006
【図５】
2010107651.tif 000007