今回は自作ラジコンの制御に使用する、基板を設計していきます。
回路の設計をする
前回の記事で、トイラジコンで実現したい機能を大まかにまとめました。
今回は回路を作成できるレベルでやりたいことを書き出し & 設計していきます。
今回は制御ブロックをざっくり決め、ハードウェアの要件を決めてみます。
ブロック図の作成
やりたいことをいい感じに落としつつ、全体のシステム図を作成しました。
今回はピンアサイン等を柔軟に変更できる割と高級な?マイコンを使用予定なので、ポート配置等まではあまり考えずに決めています。
後で修正する気がしますが。いったん暫定の仕様として固めます。
詳細はソフトウェアの設計部分でブラッシュアップしていきたいと思います。



機能面の整理
作成した上記のブロック図について、各部の役割は下記になります。
①ラジコンの受信機からの信号整理
②GPIOデジタル信号でのライト点灯など
③スロットル操作用のモータ制御
④シフトチェンジ用のサーボモータ&インバータの連携制御
⑤インジケータ関連の制御
そこそこリアルでシフトチェンジができるようなロマンあるラジコンを作りたい・・・というのが今回の目的です。
制御内容的には上記の⑥点が実施できれば、悪くない完成度になるのでは・・・・と思います。
それぞれについて、制御ブロックごとに設計を行っていきます。
ラジコン受信機からの信号処理
概要
今回使用するのは下記のプロポです。
それぞれのPMW入力について、下記のような機能を割り当てます。

CH1(横):なし
CH2(縦):スロットルの操作 (速度の制御)
CH3(横):ステアリング操作
CH4(縦):なし
CH5:マニュアル / アートマ / セミ・オートマ選択
CH6:加減速 度合い調節
CH7:シフトダウン / シフトアップ
CH8:レブリミット調整
マニュアルシフトに多数の機能を割り当てなければらないため、8chでも足りないぐらいです。
ライト類の操作はステアリング操作類に連動させ、特にリモコンから指令は送らない形にしようとと思います。
PWM仕様については下記の記事にて調査した通り、一般的なラジコン用のPWM仕様なので、これに合わせてマイコン側の処理を作っていきます。
-
-
【ラジコン】RC用リモコン RadioLink T8FB & R8FB のPWM仕様を調査してみる
今回はラジコン用に販売されている汎用の送信機、受信機セットを購入したので、仕様を調査してみます。 基本的にラジコンの送信機、受信機の信号はすべてECUが吸収してくれるのであえて調べようと思ったことはな ...
続きを見る
今回は各チャネルのPWM入力をすべてパルス幅取得で正確に受けることを考えているため、マイコンはタイマ機能が豊富なものが必要そうです。
あとからピン変更等も行えるよう、各種入出力をソフトウェアで変更可能なものを使います。
回路構成
回路構成についてですが、パルス幅測定はマイコンの機能だけでほぼ完結してしまうため、外付けの回路はほぼ不要です。
もともとパルス幅を電解コンデンサのチャージ&ディスチャージに割り当てて、アナログ電圧の変化を確認してレベルを読み取る・・・
とかいうクソ面倒なことを考えていたのですが、タイマ機能と割り込みの制御でうまく多チャンネルのパルス幅測定ができそうなロジックを思いついてしまったので、没・・・・。
基板発注後に変更することになってしまったので謎の部品が実装された状態になってしまってますが、うまい具合にジャンパーさせていくしかなさそうです。。。

ステアリング操作のPWM信号だけは、サーボモータで直接受けることができるため、じかに繋ぐことにします。
②GPIOデジタル信号でのライト点灯など
概要
今回はそこそこリアル感を出したいので、照明、ウィンカー、バックライト、ブレーキランプ等、複数のライトを搭載します。
回路構成
エミッタ接地回路をスイッチ代わりに使用します。

そこそこ電流流せるので、1灯くらいなら高輝度LEDでも耐えれるんじゃ・・・・なかろうか。
基本的な制御はすべてソフトウェアで実装します。
③スロットル操作用のモータ制御
概要
続いてスロットル用の大きめのモータの制御について。
今回割と一番苦労しそうなところかな~と思います。
モータの回転数制御はフルブリッジインバータを使用します。

幸いPICにはハーフブリッジ、フルブリッジ回路制御用のユニットが組まれており、タイマ1つで4つのFETを制御することができます。
今回はブラシモータを使用するため、ギヤに磁石を取り付け、ホールセンサを使用して回転数情報を外部から取得します。
今回はざっくりスピード調節ができればよいだけなので、基本的にduty比を調節するだけですが、シフトアップとシフトダウンのために、「ある程度の回転域にあるか」という情報が必要です。
エンジン側に相当するモータの回転数、負荷軸に直接影響を受けるギヤボックス側の1番ギヤの回転数をともに比較し、うまい具合に回転数を合わせられないか検討してみます。
キャリア周波数はいったん5kHz程度に設定してみます。
この辺りは知見がないので、やってみて電流のハネがでかすぎる、発熱が厳しすぎる等、具合を見て調節していく予定です。
回路構成
回路構成は過剰スペックのFET & フォトカプラと個別電源を4つ使用した贅沢な回路で行きます。
(基本的に過剰スペックを選んでおけば、何にも考えなくて済むのではないか・・・と、思います。)

コストはこの回路ブロックだけで10000円ほどしますが、何度も作るものではないのでよいでしょう。
ゲート駆動回路の動作は、上下アームともフォトカプラと絶縁電源ユニットを使用してシンプルに仕上げます。
今回使用しているフォトカプラTLP250ですが、入力側のLEDのON/OFFに対し、下記のように動作が切り替わります。

今回はこれと正負電源ユニットをうまく組み合わせて動作させます。
回路構成としては下記のようになります。

マイコンが0Vを出力しており、フォトカプラ内のLEDが消灯している場合、下記のような状態になります。
この時、電源ICからの電圧がフォトカプラの下側のトランジスタを介してNch-FETのゲートに伝わり、FETが確実なレベルでオフします。

逆にマイコンが5Vを出力し、フォトカプラ内のLEDが点灯した場合、上側のトランジスタを介してゲートに正の電圧が加わり、確実なレベルでオンします。

割と動作としてはシンプルかな~と思います。
下記3点はデメリットですが、自作においてはコストはどーでもいいいので、この回路仕様で行きます。
・入力側と出力側のGNDが絶縁されているDCDCコンバータしか使用できない
・絶縁、正負電源、そこそこの出力電力を併せ持つDCDCコンバータは価格が高い
・FETが短絡故障すると電源とフォトカプラがすべて壊れる可能性が高い
④シフトチェンジ用のサーボモータ&インバータの連携制御
今回はラジコンに本物の車のようなシフトアップ/シフトダウン操作をさせます。
このため、スロットル用のモータの電圧の調整は若干複雑です。
普段使いの車がMTなので、運転中どのような操作を行うかを思い出しながら、下記のような操作をピックアップしてみました。
●シフトアップ動作
①スロットルレバーが倒されたらモータの回転数を徐々に上げる
②モータの回転数が一定値(レブリミット)に到達したら、クラッチを切る
③変速を行う
④2次側ギヤの回転数に合わせてモータの回転数を下げる
⑤クラッチをつなぐ
⑥モータの回転数を上げる
⑦②に戻って8速になるまで繰り返す
⑧モータの回転数が一定値(レブリミット)に到達したら、それ以降は状態を維持する
●シフトダウン動作
①スロットルレバーが倒されたら、モータの回転数を徐々に下げる
②モータの回転数が一定値(変速閾値)に到達したら、クラッチを切る
③変速を行う
④2次側ギヤの回転数に合わせてモータの回転数を上げる(ブリッピング動作)
⑤クラッチをつなぐ
⑥モータの回転数を下げる
⑦②戻って1速になるまで繰り返す
⑧スロットルレバーが中立に戻ったらモータの回転を停止する
ソフトウェアでいい感じに間を取り持ちつつ、インバータの出力制御、回転数の監視、複数サーボの制御を行っていきます。
(下記のブロック部分)

前回のトランスミッションの動作確認で紹介しましたが、今回のラジコンは変速用のギヤを3つのサーボで動かします。
全ての機能を1つのマイコンだけで簡潔させる・・・ことができればよかったのですが、マイコン1つでは機能実現に限界があったため、今回は複数マイコンを連携して動作させます。

通信は(面倒なので)特に行わず、直接GPIO信号をマイコンどうしでやり取りして、サブマイコンにシフトチェンジ用の3つのサーボも位置指定を行います。
シフトの制御には、SG90より剛性とトルクがある上位機種のSG92Rを使用します。(価格は200円ほど高価)
定格電圧は4.8V程度と、制御に使用するマイコンと同じ電圧レベルであるため、制御用のPWMの電圧レベルは、マイコンのものをそのまま使用できそうです。
⑤インジケータ関連の制御
概要
これはおまけなのですが・・・
今回ラジコン本体に、コックピットを作ることを考えています。
動画撮影でラジコン本体にカメラを挿入して撮影を行い、ちょっと映えるように・・・という狙いです。
ちょっとやったことがある人ならわかるかもしれませんが、映像を確認するとき、めっちゃ楽しいです。
回路構成
レベルインジケータはアナログでの電圧入力と、それに対する出力回路が必要です。
手元にICがなかった & 基板の規模をでかくして悦に浸りたいので、無駄にディスクリートを大量消費して下記のような回路構成とします。

7セグメントLEDの表示回路はTC4511BPを使用してすっきりまとまってるので対照的・・・
回路構成まとめ
最終的には下記のような回路構成となりました。
9987616f5a8ea3783da835239cd64331マイコンはPIC18F25Q10と、PIC16F1827を選定、タイマ機能が豊富なものを選んでいます。
この辺りは回路ではなくソフト設計の際に話したほうが整理できそうなので、のちのソフトウェアの設計まとめ記事で書き出していきたいと思います。
基板設計と組み立て
回路図ができたので、次は基板設計を行っていきます。
基板はいつものごとく2層基板。おまけにベタGNDは敷かないユニバーサル基板スタイルで行きます。
ノイズ的な話は度外視。
ぶっちゃけあとからパターン削って経路変更とかできるので、この設計スタイルもあながち悪いことばかりではない気がします。
今回は慣れ親しんだKiCADを使用していきます。
基板設計

ディスクリートとスルーホールタイプだと、手でつかみやすくて組むのが楽~・・・・
なのは確かなんですが、正直穴が多すぎて逆に設計がしずらいです。
マジで頑張らないとまともなパターンが引けません。

何とか試行錯誤しながら、なるべく視覚的にわかりやすい形になるよう、パターン作成していきます。

最後に3Dデータに起こして全体の実装を確認します。
多分これ、全部SMDにしたらサイズ4分の1ぐらいになるよね・・・・という印象・・・・

基板組み立て
今回はPCBGOGOで基板発注しました。今のところ安くて日本語が使える、優良企業かなと思います。
発送は、住所記載ミスなどのトラブルがなければ、2週間程度です。
(海外便のDHLなどを使用しているので、住所トラブルなどがあると若干やり取りに難ありです。)
基板への部品実装は、基本的に背の低いものからはんだ付けしていったほうがよさそうです。
おおきい部品からつけていくと、背の低い部品に手が届かなくなるので・・・・

基板実装って楽しいッ!
と言いたいところですが、正直この量のスルーホール部品をきれいに実装していくのは苦行です。
そろそろ表面実装部品デビューしちゃおうかなと思った次第。

最後にマイコンやゲートドライバ用DC電源、MOSFETなどを載せたら完了です。

今回LEDやインジケータなどは、べったいにしますが、部品点数が少ないのでユニバーサル基板で行こうと思います。
まとめ
今回はこんなところでしょうか。
主に制御概要と、回路構成決め、基板作成を行ってみました。
実は基板作ったのが2024年の末なので、結構思い出しながら書いてます・・・・
ぼちぼち、再開してこうと思います。
次回はソフトウェアの作成を行っていきます。
それでは、また。


