2021/07/11
去年に引き続き、マークⅣの作成を行っていこうと思います!
前の記事でRaspberry Pi Zero(以下ラズパイ)を用いてサーボモーターを動かしましたが、肝心のマークⅣ走行用のDCモーターはまだ動かせていません。なので今回はマークⅣの走行用DCモーターの動作テストを行います!
モータードライバの用意
以前の記事で紹介したモータードライバ「TPC8407×2モジュール MP4212ピン互換 パワーMOSFETモジュール」を用意します。
このモータードライバを使用する理由は、MP4212と互換があるからです。MP4212と同じピン配置で使うには、説明書の通りJ1とJ2をショートさせれば良いみたいです。
↓↓↓↓↓↓↓↓
このようになればMP4212と互換のあるピン配置になったはずです!私は勢い余って両サイドのピンもハンダ付けしましたが、これは不要でした(汗)。
MP4212は「MP4212 モーター制御」などでネット検索を行うと、MP4212を使ってDCモーターを制御されている方の情報が大量に出てきます。私も先人の方々の知恵を借りてマークⅣを作成していこうと思います!
配線図
今回の配線図はこのようになります。
ラズパイやPWMドライバは以前書いた記事(タミヤ 1/35 マークIV カメラ付きラジコン化計画 (その13) ~サーボモータを制御する~)と同じで構成すが、DCモーターと、モータードライバを追加しました!
重要な点は、PWMドライバの6ch,7chから出ている緑と青のケーブルですね。
MP4212でDCモーターを制御する場合、2,4,6,8 PINをHIGHかLOWにすることで正回転、逆回転、停止、ブレーキなどを制御することができます。今回のマークⅣは出力軸のギア比が高いので、DCモーターへの電力供給を止めると「停止」と「ブレーキ」を使わなくてもDCモーターの回転は止まってしまいます。なので「正回転(緑のケーブル)」と「逆回転(青のケーブル)」だけを制御するようにしました。
あと、今回は入力電圧が2系統あります。これは以前ブログで考察した通り、DCモーターの定格電圧(3.0v)に近い電圧を得るためにモバイルバッテリーのセルから直接3.7vを使うことにしたためです。もちろん3.7vではなく3.0vを用意できるのであればそれに越したことはありませんが、走行用のDCモーターを動かすためだけに別電源を用意するのは微妙だと思ったので妥協案としてこのようにしています。
環境構築
今回もブレッドボード上に配線していきました。
電源には5vのACアダプタとDCジャックを使っています。こういうのがあると動作確認するときに結構便利です!私の環境ではDCジャックに赤黒のケーブルをハンダ付けして、逆側もハンダでコーティングするとそのままブレッドボードに差し込むことができるので便利です。
また、ブレッドボード上に配線する際以下のようなジャンパーケーブルを使っています。
ELEGOO 120pcs多色デュポンワイヤー
モーター用の電源は充電式の単三電池(エネループ)を使いました。本当はモバイルバッテリーのセルを使う予定だったのですが、テストのためだけにハンダ付けするのも面倒だったので今回は代替品を使います。モバイルバッテリーのセルは3.7vで充電式の単三電池は1.2v×3=3.6vです。おおよそ同じくらいなので大丈夫でしょう!
マークⅣのDCモーターにも配線を行います。
そして全体図を取り忘れるという痛恨のミスorz…一応下に動画を貼り付けたのでそちらで確認できると思います。
テストプログラムの作成
前回作成したサーボモーター制御プログラムを流用してDCモーターを動かすプログラムを作成します。今回のテストプログラムはDCモーターを毎秒おきに一定の速度に切り替え、その後、逆回転させるものです。
1 |
vi motor.py |
viエディタで”servo.py”というテストプログラムを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#! /usr/bin/env python3 import time import Adafruit_PCA9685 pwm = Adafruit_PCA9685.PCA9685() pwm.set_pwm_freq(60) while True: pwm.set_pwm(6, 0, 450) time.sleep(1) pwm.set_pwm(6, 0, 750) time.sleep(1) pwm.set_pwm(6, 0, 1050) time.sleep(1) pwm.set_pwm(6, 0, 0) time.sleep(1) pwm.set_pwm(7, 0, 800) time.sleep(1) pwm.set_pwm(7, 0, 1000) time.sleep(1) pwm.set_pwm(7, 0, 0) time.sleep(1) |
入力が完了したら、”:w”で保存し、”:q”でviコマンドを終了します。
走行試験
問題なく動作していますね!
あとがき
今回はこれで終わりです!走行用のDCモーターと砲塔用のサーボモーターは問題なく動作したので、後は結合するだけですね!
「2019年はブログいっぱい更新するぞ!」って思っていたのですが、気が付けばもう6日になってしまいました(汗)。単純に年明けダラダラ過ごしていたというのもありますが、記事をまとめるのに思いの他時間がかかったという点も大きいです。文章力上げたい…
ネタはいっぱいあるのですが、ブログ更新はおそらくこれからも遅いと思います!2019年も変わらずマイペースにやって行く所存です!では今回はこれくらいで!ではでは~
関連URL
関連記事
・続き↓
・前回↓
タミヤ 1/35 マークIV カメラ付きラジコン化計画 (その14) ~転輪と履帯を作成する~
・一覧↓
カメラ付きラジコン化計画シリーズ