単相交流モーターは、通常、ファンなどの家庭用品に見られ、設定速度に複数の個別巻線を使用すると、その速度を簡単に制御できます。この記事では、ユーザーがモーター速度や動作時間などの機能を制御できるようにするデジタルコントローラーを構築します。この記事には、NECプロトコルをサポートする赤外線受信機回路も含まれています。この回路では、プッシュボタンまたは赤外線送信機で受信した信号からモーターを制御できます。
これを実行するために、GreenPAK™SLG46620 ICは、これらの多様な機能を担当する基本的なコントローラーとして使用されます。1つの速度(3つの速度のうち)をアクティブにする多重回路、3周期のカウントダウンタイマー、および受信する赤外線デコーダー目的のコマンドを抽出して実行する外部赤外線信号。
回路の機能を見ると、MUX、タイミング、IRデコードなどのいくつかの個別の機能が同時に使用されていることがわかります。単一のIC内に利用可能な独自のソリューションがないため、メーカーは電子回路の構築に多くのICを使用することがよくあります。GreenPAK ICを使用することで、メーカーは単一のチップを使用して必要な機能の多くを組み込むことができ、その結果、システムコストと製造の監視を削減できます。
すべての機能を備えたシステムは、適切な動作を保証するためにテストされています。最終回路には、選択したモーターに合わせた特別な変更または追加の要素が必要になる場合があります。
システムが正常に動作していることを確認するために、入力のテストケースがGreenPAKデザイナーエミュレーターを使用して生成されています。エミュレーションは出力のさまざまなテストケースを検証し、IRデコーダーの機能が確認されます。最終的な設計も、確認のために実際のモーターでテストされます。
3速ACファンモーター
3速ACモーターは、交流で作動する単相モーターです。さまざまなタイプのファン(壁ファン、テーブルファン、ボックスファン)など、さまざまな家庭用機械でよく使用されます。 DCモーターと比較すると、交流モーターの速度制御は、モーター速度を変更するために供給電流の周波数を変更する必要があるため、比較的複雑です。ファンや冷凍機などの電化製品は、通常、速度を細かくする必要はありませんが、低速、中速、高速などの個別のステップが必要です。これらのアプリケーションでは、ACファンモーターにはいくつかの速度用に設計されたいくつかのコイルが組み込まれており、ある速度から別の速度への変更は、目的の速度のコイルに通電することによって行われます。
このプロジェクトで使用するモーターは、下の図2に示すように、5本のワイヤー(速度制御用に3本、電源用に2本、および始動コンデンサー)を備えた3速ACモーターです。一部のメーカーは、機能の識別に標準の色分けされたワイヤーを使用しています。モーターのデータシートには、ワイヤーを識別するための特定のモーターの情報が表示されます。
プロジェクト分析
この記事では、GreenPAK ICは、IR送信機や外部ボタンなどのソースから受信した特定のコマンドを実行して、次の3つのコマンドのいずれかを示すように構成されています。
オン/オフ:このコマンドを解釈するたびに、システムがオンまたはオフになります。オン/オフの状態は、オン/オフコマンドの立ち上がりエッジごとに反転します。
タイマー:タイマーは30、60、120分間作動します。4番目のパルスでタイマーがオフになり、タイマー周期が元のタイミング状態に戻ります。
速度:モーターの速度を制御し、モーターの速度選択ワイヤー(1、2、3)からのアクティブ化された出力を連続して繰り返します。
IRデコーダー
IRデコーダ回路は、外部IR送信機からの信号を受信し、目的のコマンドをアクティブにするように構築されています。メーカーの間で人気があるため、NECプロトコルを採用しました。 NECプロトコルは、「パルス距離」を使用してすべてのビットをエンコードします。各パルスは、38kHzの周波数キャリアの信号を使用して送信されるのに562.5usかかります。ロジック1信号の送信には2.25ミリ秒かかりますが、ロジック0信号の送信には1.125ミリ秒かかります。図3は、NECプロトコルに従ったパルス列伝送を示しています。これは、9ミリ秒のAGCバースト、4.5ミリ秒のスペース、8ビットのアドレス、最後に8ビットのコマンドで構成されます。アドレスとコマンドは2回送信されることに注意してください。 2回目は、受信したメッセージが正しいことを確認するためのパリティとしての1の補数(すべてのビットが反転)です。LSBはメッセージの最初に送信されます。
GreenPAKデザイン
IC設計は、無料のGUIベースのGreenPAKDesignerソフトウェアに組み込まれています。完全な設計ファイルはここにあります。
受信したメッセージの関連ビットは、いくつかの段階で抽出されます。まず、メッセージの開始は、CNT2と2ビットLUT1を使用した9msAGCバーストから指定されます。これが検出された場合、4.5msのスペースがCNT6および2L2を介して指定されます。ヘッダーが正しい場合、DFF0出力はHighに設定され、アドレスの受信を許可します。ブロックCNT9、3L0、3L3、およびPDLY0は、受信されたメッセージからクロックパルスを抽出するために使用される。ビット値は、IR_CLK信号の立ち上がりエッジで取得されます。IR_INからの立ち上がりエッジから0.845msです。
次に、解釈されたアドレスは、2LUT0を使用してPGEN内に格納されているアドレスと比較されます。 2LUT0はXORゲートであり、PGENは反転アドレスを格納します。 PGENの各ビットは、入力信号と順次比較され、各比較の結果は、IR-CLKの立ち上がりエッジとともにDFF2に格納されます。
アドレスでエラーが検出された場合、メッセージの残りの部分(コマンド)が比較されないように、3ビットのLUT5SRラッチ出力がHighに変更されます。受信したアドレスがPGENに保存されているアドレスと一致する場合、メッセージの後半(コマンドと反転コマンド)はSPIに送信され、目的のコマンドを読み取って実行できるようになります。CNT5とDFF5は、アドレスの終わりとコマンドの開始を指定するために使用されます。ここで、CNT5の「カウンタデータ」は、最初の2つのパルス(9ms、4.5ms)に加えて、アドレスの18:16パルスに等しくなります。
ヘッダーを含む完全なアドレスが正しく受信され、IC(PGEN内)に格納されている場合、3L3ORゲート出力はSPIのnCSBピンに信号Lowを与えてアクティブにします。その結果、SPIはコマンドの受信を開始します。
SLG46620 ICには8ビット長の4つの内部レジスタがあるため、4つの異なるコマンドを格納できます。 DCMP1は、受信したコマンドを内部レジスタと比較するために使用され、A1A0出力がDCMP1のMTRX SEL#0および#1に接続され、受信したコマンドをすべてのレジスタと連続的かつ継続的に比較する2ビットのバイナリカウンタが設計されています。
ラッチ付きデコーダーは、DFF6、DFF7、DFF8、および2L5、2L6、2L7を使用して構築されました。デザインは次のように動作します。場合 A1A0 = 00の 両方の値が等しい場合、SPI出力が3を登録するために比較され、DCMP1はEQ出力でハイ信号を与えます。 A1A0 = 00 であるため、これにより2L5がアクティブになり、DFF6は信号On / Offが受信されたことを示すHigh信号を出力します。同様に、残りの制御信号では、CNT7とCNT8は「両方のエッジ遅延」として構成され、時間遅延を生成し、出力の値がDFFによって保持される前にDCMP1が出力の状態を変更できるようにします。
オン/オフコマンドの値はレジスタ3に、タイマーコマンドはレジスタ2に、速度コマンドはレジスタ1に格納されます。
スピードMUX
速度を切り替えるために、2ビットのバイナリカウンタが構築されました。このカウンタの入力パルスは、ピン4に接続された外部ボタン、またはコマンドコンパレータからのP10を介したIR速度信号から受信されます。初期状態 Q1Q0 = 11で 、3ビットLUT6からカウンタの入力にパルスを印加することにより、Q1Q0は連続して10、01、00状態になります。選択したモーターで使用できる速度が3つしかないため、3ビットLUT7を使用して00状態をスキップしました。制御プロセスをアクティブにするには、オン/オフ信号をHighにする必要があります。したがって、オン/オフ信号がLowの場合、図6に示すように、アクティブ化された出力が無効になり、モーターがオフになります。
タイマー
3周期タイマー(30分、60分、120分)が実装されています。制御構造を作成するために、2ビットのバイナリカウンタは、ピン13に接続された外部タイマーボタンとIRタイマー信号からパルスを受信します。カウンターはパイプ遅延1を使用します。ここで、Out1の極性を反転することにより、Out0 PD numは1に等しく、Out1 PDnumは2に等しくなります。初期状態Out1、 Out0 = 10 では、タイマーは無効になっています。その後、Pipe Delay1の入力CKにパルスを印加することにより、出力状態が連続して11,01,00に変化し、CNT / DLYがすべてのアクティブ状態に反転します。CNT0、CNT3、CNT4は、「立ち上がりエッジ遅延」として動作するように構成され、その入力は、10秒ごとにパルスを与えるように構成されたCNT1の出力から生じる。
30分の時間遅延を設定するには:
30 x 60 = 1800秒÷10秒間隔= 180ビット
したがって、CNT4のカウンタデータは180、CNT3は360、CNT0は720です。時間遅延が終了すると、Highパルスが3L14から3L11に送信され、システムがオフになります。ピン12に接続された外部ボタンまたはIR_ON / OFF信号によってシステムがオフになると、タイマーはリセットされます。
*電子スイッチを使用する場合は、電気機械式リレーの代わりにトライアックまたはソリッドステートリレーを使用できます。
※押しボタンにはハードウェアデバウンサー(コンデンサ、抵抗)を使用しました。
結果
設計評価の最初のステップとして、GreenPAKソフトウェアシミュレータを使用しました。入力に仮想ボタンが作成され、開発ボードの出力の反対側にある外部LEDが監視されました。シグナルウィザードツールを使用して、デバッグのためにNECフォーマットと同様のシグナルを生成しました。
パターン0x00FF5FA0の信号が生成されました。ここで、0x00FFはPGENに格納されている反転アドレスに対応するアドレスであり、0x5FA0はオン/オフ機能を制御するためのDCMPレジスタ3の反転コマンドに対応するコマンドです。初期状態のシステムはOFF状態ですが、信号が印加された後、システムがONになっていることに注意してください。アドレスの1ビットが変更され、信号が再適用された場合、何も起こらないことに注意してください(互換性のないアドレス)。
シグナルウィザードを1回起動した後(有効なオン/オフコマンドを使用):
結論
この記事では、3速ACモーターを制御するように設計されたGreenPAKICの構成に焦点を当てます。サイクリング速度、3周期タイマーの生成、NECプロトコルと互換性のあるIRデコーダーの構築などのいくつかの機能が組み込まれています。GreenPAKは、いくつかの機能をすべて低コストで小面積のICソリューションに統合する効果を実証しています。