工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino Powered Service Elevator

コンポーネントと消耗品

>
Arduino Mega 2560
× 1
OpenBuildsマイクロリミットスイッチ
× 4

このプロジェクトについて

4つのフロアで動作するサービスリフトの制御システムを設計およびテストします。マイクロコントローラ(ATMega2560)は、リフトが現在あるフロアをチェックすることにより、リフトモーターをアクティブにしてリフトを上下に動かすために、電力を供給するコンタクタを決定するために使用されます。制御システムは、リフトが必要なフロアに達したときに、リフトへの電力を停止できる必要があります。上下に移動する前に常にリフトドアを閉じるために、統合安全率を実装する必要があります。制御システムは、リフトを目的のフロアに移動するために、どのコンタクタに電力を供給する必要があるかを正常に判断できます。システムは、リフトが移動する必要があるときにドアを閉じ、必要なフロアに達したときにドアを自動的に開くために、安全リフトドアモーターを制御できます。

デモビデオ:

1.13相モーターの配線

このアプリケーションでは、高負荷を処理できる強力なモーターが必要なため、3相モーターが使用されます。三相モーターは、主な三相電源を介して電力が供給されます。メインの電源は2つのメインコンタクタを通ります。最初のコンタクタがオンになり、2番目のコンタクタがオフになると、電力が最初のコンタクタを通ってモーターの巻線に流れ、モーターが順方向に移動します。

2番目のコンタクタがオンになり、1番目のコンタクタがオフになると、電力が2番目のコンタクタを通ってモーターの巻線に流れ、モーターが逆方向に移動します。逆方向では配線が異なりますのでご注意ください。

1.2フロア検出

リフトが現在ある床を検出するために、リミットスイッチが使用されます。リフトが上下に動くと、各フロアのリミットスイッチが閉じて開きます。リフトが特定のフロアにある場合、その特定のフロアの限界フロアが閉じられ、マイクロコントローラーにリフトが置かれているフロアが示されます。リフトが動くと、リミットスイッチが開き、リフトが動いていることをマイクロコントローラーに示します。

揚力が床を移動するときにリミットスイッチによって生成される低信号から高信号への遷移は、ほんの一瞬で発生し、マイクロコントローラーで検出するには速すぎることがよくあります。リミットスイッチは5VDC電源に接続され、NO(ノーマルオープン)端子からの出力はマイクロコントローラのIOピンに接続されます。 4つのフロアにある4つのリミットスイッチがマイクロコントローラーにデータを送信します。これにより、マイクロコントローラーは、どのピンが低から高に変化したかをチェックすることにより、リフトが床にあるかどうかを判断できます。リミットスイッチの状態の遷移を次の図に示します。

トリッキーなタスクは、マイクロコントローラーがローからハイへの遷移を検出できるようにすることです。この問題に取り組むには2つの方法があります。最初の方法は、if条件を使用して、ループ関数内でリミットスイッチピンがHIGHになるかどうかを判断することです。プログラムは基本的に他のコードを実行している間、ピンがHIGHになるかどうかを常にチェックします。プログラムはリミットスイッチピンからのHIGH信号を常に探しているため、これは多くのメモリを消費します。もう1つの問題は、遷移が発生しているときにループ関数が他のコードを実行していたために、プログラムがこの遷移を見逃す場合があることです。これらの問題を回避するために、割り込みが使用されます。割り込みは基本的にコードの実行を一時停止し、特定の割り込み条件が満たされたときに別の関数を実行します。これは、リフト操作に最​​適です。リミットスイッチピンがローからハイになると、割り込み機能が実行され、この機能はリフトが現在のフロアにあるかどうかをチェックし、リフトを停止するか、さらに移動できるようにします。リミットスイッチを切り替えると、プログラムは強制的に割り込み機能を実行するため、システムはプログラムが意図的にフロアの検出をスキップしないようにすることができます。このアプリケーションに使用されるマイクロコントローラーはArduinoMega 2560で、4つのフロアで使用するのに理想的な割り込みに使用できる6つのデジタルピンがあります。 attachInterruptの最初のパラメーターは、割り込み番号です。通常、digitalPinToInterrupt(pin)を使用して、実際のデジタルピンを特定の割り込み番号に変換する必要があります。たとえば、ピン3に接続する場合は、attachInterruptの最初のパラメーターとしてdigitalPinToInterrupt(3)を使用します。また、delay()関数は、Interrupt Service Routine(ISR)によって実行される関数内では機能しないことに注意することも重要です。

上の図は、リミットスイッチがMCUにどのように接続されているかを示しています。 MCUのピンは、プルダウン抵抗を介して接続されています。この抵抗は、MCUのピンをグランドに引き下げ、リミットスイッチが開いたままのときにMCUがLOW電圧の読み取り値を確実に読み取るようにします。抵抗器の構成を下の図に示します。

1.3モーターの上下制御

2つの12VDCリレーを使用して、AC電源をモーターの方向(上または下)を制御するモーターの接触器に切り替えます。 Multisimを​​使用して設計された回路を次の図に示します。

両方のリレーのコイルコンタクタの一端は、PNPトランジスタを介して12VDC電源に接続されています。これを行う主な理由は、リフトドアが閉じるまでモーターに電力が供給されないようにするためです。リフトドアが閉じられると、PNPトランジスタのゲートへのDoorSwitch出力ピンがグランドに引き下げられ、PNPがオンになり、両方のリレーにVCC電力が供給されるようになります。したがって、MotorUpまたはMotorDown信号がHIGHであっても、リレーはオンになりません。リレーコイルのもう一方の端は、NPNトランジスタを介してグランドに引き込まれます。 MotorUp信号はMCUから生成されます。 MotorUp信号がHIGHの場合、最初のNPNトランジスタがアクティブになり、もう一方のコイル接点をグランドに引っ張って回路を完成させ、アップリレーのコイルに電力を供給してモーターに電力を供給します。同じ方法を使用して、ダウンリレーをアクティブにします。トランジスタを使用してリレーを切り替える理由は次のとおりです。

  • 両方のリレーには12VDCコイルがあります。したがって、MCUはリレーコイルをオンにするのに十分ではない5Vしか生成できないため、コイルのハイサイド(12V)部分を切り替えるにはPNPトランジスタを使用する必要があります。
  • トランジスタを使用すると、MCUからの最小限の電流を使用してリレーをオンにすることができます。これは、トランジスタのベースを流れる電流がほとんどないため、リレーがアクティブになるためです。これにより、リレーを切り替える必要があるときにMCUの電力を節約できます。
  • また、MCUを損傷する可能性のあるMCUのピンに逆流する可能性のある逆電流からMCUを分離します。

1.3.1追加の保護のためのフライバックダイオード

フライバックダイオードがリレーのコイル接点の両端に取り付けられており、コイルのオンとオフを切り替えたときに逆電流が流れる経路を確保します。リレーのコイルなどの誘導性負荷は、供給電流が突然遮断されると、突然の電圧スパイクを生成します。これにより、MCUの保護が強化されます。次の図は、リレーのコイルコンタクタ間にフライバックダイオードを接続する方法を示しています。

1.3.2ユーザー入力制御

ユーザーは、フロアボタンを介してリフトの操作を制御します。 4つのフロアプッシュボタンがあり、押すと、リフトを目的のフロアに移動する必要があることをマイクロコントローラーに示します。

押しボタンを瞬間的に押すと、HIGH信号が生成され、ユーザーがボタンを離すとLOW信号が生成されます。マイクロコントローラーのタスクは、ユーザーが押したフロアボタンからのHIGH信号を識別することです。この特定のタスクは、割り込みを介して処理する必要はありません。ユーザーがボタンを十分な時間押す限り、MCUはボタンからの信号を登録することができます。マイクロコントローラーの次のタスクは、ユーザー入力とリフトの現在のフロアに応じて、アップモーターとダウンモーターのどちらを回すかを評価することです。

マイクロコントローラーを介したスマートプログラミングにより、システムが純粋にロジックとアナログで設計されている場合に必要となる追加のハードウェアを排除できます。リフト用の以前のシステムでは、下の図に示すように、追加の方向スイッチが必要でした。これにより、システムはリフトの進行方向(上または下)を識別できるようになりました。

しかし、リフトの現在の床を変数に保持するアルゴリズムを設計し、それをユーザーからの入力と比較することで、システムは方向スイッチを完全に取り除き、目的の場所に到達するためにリフトが移動する方向を決定することができました。床。例:上記のMCUダイアグラムへの入力およびフロアセンス接続では、リフトはピン3を介して2階にあることをMCUに示しています。次に、ユーザーは4階ボタンを押して入力します。 MCUはこのコマンドを受信し、2つの入力を比較します。ユーザーからの入力「4」はリミットスイッチからの入力よりも大きいため、「2」MCUはMotorUpピンを介して信号を送信し、トランジスタをアクティブにしてアップリレーに電力を供給します。

リフトが上がると、プログラムの現在のフロア変数が3階に到達したときに更新されます。リミットスイッチがトリガーされるとすぐに、ユーザーからの入力値(この場合は「4」)と比較され、この値が更新された現在のフロアと再度比較されて、リフトが目的のフロアに近づいたかどうかが判断されます。 4階のリミットスイッチがトリガーされると、MCUはリフトが4階に近づいたことを識別し、モーターアップ信号ピンを介してLOW信号を送信して、モーターへの電力を停止し、モーターがそれ以上移動しないようにします。

1.3.3入力からの制御の分離

もう1つの重要な要素は、システムの入力を介してMCUに影響を与える可能性のあるAC干渉からマイクロコントローラーのDC制御側を分離することです。最初は絶縁ハードウェアを取り付けていなかったために直面​​した問題で、リフトの金属ボディから発生したAC干渉がリミットスイッチを介してMCUに伝達されました。リミットスイッチは別のDC電源で動作しますが、リミットスイッチからの入力はマイクロコントローラーに直接供給されます。リフトが動き始めると干渉が発生し、このAC干渉により、MCUはリフトの床を正しく識別できません。にあります。この問題に対処するために、各入力にオプトカプラーを使用して、MCUを外部干渉から分離しました。

オプトカプラーの目的は、フロアリミットスイッチから生成された入力信号をLEDとフォトトランジスターを介してMCUに転送することです。リミットスイッチが閉じると、LEDの電源がオンになり、LEDからの入射光によってフォトトランジスタのゲートがアクティブになり、MCUにHIGH信号が転送され、外部とMCUからの入力が正常に分離されます。

1.4プロトタイプ


製造プロセス

  1. エレベーター
  2. Arduino Spybot
  3. FlickMote
  4. 自家製テレビB-Gone
  5. マスタークロック
  6. Find Me
  7. Arduino Power
  8. Tech-TicTacToe
  9. Arduino Quadruped
  10. Arduino Powered Weather Balloon Datalogger
  11. Arduinoジョイスティック