- RaspberryPiモータードライバーHATに必要なコンポーネント
- L293DモータードライバーIC
- RaspberryPiモータードライバーHATの回路図
- RaspberryPiモータードライバーHAT用のPCBの製造
- PCBWayからPCBを注文する
- 組み立てる
- ラズベリーパイのセットアップ
- RaspberryPiモータードライバーコードの説明
- RaspberryPiモータードライバーHATのテスト
Raspberry Pi HATは、Piと同じ寸法のRaspberryPi用のアドオンボードです。Raspberry Piの上部に直接取り付けることができ、それ以上の接続は必要ありません。市場には多くのRaspberryPiHATがあります。このチュートリアルでは、DCモーターとステッピングモーターを駆動するためのRaspberryPiモータードライバーHATを作成します。このモータードライバーHATは、L293DモータードライバーIC、16 * 2 LCDディスプレイモジュール、4つの押しボタン、および3.3Vレギュレーターを備えたSIM800モジュール用の追加ピンで構成されています。このRaspberryPi HATは、ロボットプロジェクトを構築する際に役立ちます。
ここでは、PCBWayを使用してこのプロジェクトのPCBボードを提供しました。記事の次のセクションでは、Raspberry pi Motor Driver HATのPCBボードを設計、注文、および組み立てる完全な手順について説明しました。また、以前のプロジェクトでは、16x2LCD用のRaspberryPiHatとRaspberryPi LoRaHATを構築しました。
RaspberryPiモータードライバーHATに必要なコンポーネント
- ラズベリーパイ
- L293D IC
- 4×プッシュボタン
- SMD抵抗器(1×10K、12×1K)
- 1×10Kポテンショメータ
- 4×SMDLED
- LM317電圧レギュレータ
- 2×ネジ留め式端子
- 16 * 2LCDモジュール
L293DモータードライバーIC
L293Dは人気のある16ピンモータードライバーICです。名前が示すように、ユニポーラ、バイポーラステッピングモーター、DCモーター、さらにはサーボモーターを制御するために使用されます。1つのL293DICで、2つのDCモーターを同時に駆動できます。また、これら2つのモーターの速度と方向を個別に制御できます。このICには、「Vcc1」と「Vcc2」の2つの電源入力ピンが付属しています。Vcc1は5Vであるはずの内部ロジック回路に電力を供給するために使用され、Vcc2ピンは4.5Vから36Vであることができるモーターに電力を供給するために使用されます。
L293D仕様:
- モーター電圧Vcc2(Vs):4.5V〜36V
- 最大ピークモーター電流:1.2A
- 最大連続モーター電流:600mA
- Vcc1(VSS)への供給電圧:4.5V〜7V
- 遷移時間:300ns(5Vおよび24Vで)
- 自動サーマルシャットダウンが利用可能です
RaspberryPiモータードライバーHATの回路図
Raspberry Piを搭載したL293Dモータードライバーの完全な回路図を、以下の画像に示します。回路図はEasyEDAを使用して描かれました。
このHATは、L293DモータードライバーIC、16 * 2 LCDディスプレイモジュール、および4つの押しボタンで構成されています。また、将来のプロジェクトのために、LM317可変レギュレーターを使用して設計された3.3Vレギュレーターを備えたSIM800モジュール用のピンも提供しています。Raspberry PiモータードライバーHATは、Raspberry Piの上に直接配置されるため、RaspberryPiを使用してロボットを簡単に制御できます。
RaspberryPiモータードライバーHAT用のPCBの製造
回路図が完成したら、PCBのレイアウトに進むことができます。選択したPCBソフトウェアを使用してPCBを設計できます。このプロジェクトでは、EasyEDAを使用してPCBを製造しました。「レイヤー」ウィンドウからレイヤーを選択することにより、PCBの任意のレイヤー(トップ、ボトム、トップシルク、ボトムシルクなど)を表示できます。これとは別に、製造後のPCBの外観に関するPCBの3Dモデルビューも提供されます。以下は、Pi Motor Driver HATPCBの最上層と最下層の3Dモデルビューです。
上記の回路のPCBレイアウトは、以下のリンクからGerberとしてダウンロードすることもできます。
- RaspberryPiモータードライバーHATのガーバーファイル
PCBWayからPCBを注文する
設計が完成したら、PCBの注文に進むことができます。
ステップ1: https : //www.pcbway.com/にアクセスし、初めての場合はサインアップします。次に、[PCBプロトタイプ]タブで、PCBの寸法、層の数、および必要なPCBの数を入力します。
ステップ2: [今すぐ見積もる]ボタンをクリックして続行します。ボードタイプ、レイヤー、PCBの材料、厚さなど、いくつかの追加パラメーターを設定するページが表示されます。それらのほとんどはデフォルトで選択されていますが、特定のパラメーターを選択する場合は、ここでそれらを選択できます。
ステップ3: 最後のステップは、ガーバーファイルをアップロードして支払いを続行することです。プロセスがスムーズであることを確認するために、PCBWAYは、支払いを続行する前に、ガーバーファイルが有効かどうかを確認します。このようにして、PCBが製造に適していて、コミットされたとおりに到達することを確認できます。
組み立てる
数日後、PCBはきちんとしたパッケージで届き、PCBの品質はいつものように良好でした。ボードの最上層と最下層を以下に示します。
トラックとフットプリントが正しいことを確認した後。PCBの組み立てを進めました。この画像は、完全にはんだ付けされたボードがどのように見えるかを示しています。
ラズベリーパイのセットアップ
Raspberry Piをプログラミングする前に、必要なライブラリをインストールする必要があります。そのためには、まず、以下のコマンドを使用してRaspberry PiOSを更新します。
Sudo apt-get update Sudo apt-get upgrade
次に、LCDモジュール用のAdafruit_CharLCDライブラリをインストールします。このライブラリはAdafruitLCDボード用ですが、他のブランドのLCDボードでも機能します。
sudo pip3 install Adafruit-CharLCD
RaspberryPiモータードライバーコードの説明
このプロジェクトでは、2つのDCモーターを順方向、逆方向、左方向、および右方向に2秒間隔で同時に駆動するようにRaspberryPiをプログラミングしています。モーターの方向がLCDに表示されます。完全なコードは、ドキュメントの最後に記載されています。ここでは、コードのいくつかの重要な部分について説明します。
いつものように、必要なすべてのライブラリをインポートしてコードを開始します。RPi.GPIOモジュールは、Pythonを使用してGPIOピンにアクセスするために使用されます。モジュール時間は、事前定義された時間プログラムを一時停止するために使用されます。
RPi.GPIOをGPIOとしてインポートインポート時間インポートボードAdafruit_CharLCDをLCDとしてインポート
その後、L293DモータードライバーICとLCDディスプレイにGPIOピンを割り当てます。
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
ここで、6つのモーターピンを出力ピンとして設定します。次の4つは出力ピンで、最初の2つは右モーターを制御するために使用され、次の2つは左モーターを制御するために使用されます。次の2つのピンは、左右のモーターのイネーブルピンです。
GPIO.setup(Motor1A、GPIO.OUT)GPIO.setup(Motor1B、GPIO.OUT)GPIO.setup(Motor1E、GPIO.OUT)GPIO.setup(Motor2A、GPIO.OUT)GPIO.setup(Motor2B、GPIO.OUT) GPIO.setup(Motor2E、GPIO.OUT)
whileループ内で、2つのDCモーターを順方向、逆方向、左方向、および右方向に2秒間隔で同時に移動します。
GPIO.output(Motor1A、0)GPIO.output(Motor1B、0)GPIO.output(Motor2A、1)GPIO.output(Motor2B、0)lcd.message( 'Left')print( "Left")sleep(2) #Forward GPIO.output(Motor1A、1)GPIO.output(Motor1B、0)GPIO.output(Motor2A、1)GPIO.output(Motor2B、0)lcd.message( 'Forward')print( "Forward")…… ……………………………………
RaspberryPiモータードライバーHATのテスト
PCBの組み立てが完了したら、モータードライバーHATをRaspberry Piにマウントし、コードを起動します。すべてがうまくいくと、Raspberry Piに接続されているDCモーターが2秒ごとに同時に左、前進、右、逆方向に移動し、モーターの方向がLCDディスプレイに表示されます。
これが、独自のL293D RaspberryPiモータードライバーHATを構築する方法です。プロジェクトの完全なコードと作業ビデオを以下に示します。あなたがプロジェクトを楽しんで、あなた自身のものを作るのが面白いと思ったことを願っています。ご不明な点がございましたら、下のコメント欄にご記入ください。