Darkside(リンクエラー修正しました)

2018年11月の記事

<< 前のページ

2018年11月30日(金) 21:15

受信機基板

 メイン基板の表側はスッキリしているが、裏側はどんどん配線が溜まる。

 いっぽう受信機に相当する基板は、面積だけは充分に取れるので良い感じ。
 TWE LITE とレベル変換基板と、三端子レギュレーター。

 レベル変換基板はギリギリまで近接配置し、配線を短くする。まあそこまでこだわらなくても大丈夫だとは思うが。

 受信機基板は、裏側にコネクターを立てる。いや、こっちが表かもしれないが、背中合わせになる
DC-DC コンバーターとの短絡を防止するため、パターン面を逆側に使用した。パーツを、表面実装的に処理している。

 三端子レギュレーターへの5Vは、ラジコン受信機仕様で供給される。
 メイン基板とは、緑と白のUSARTで通信。

 受信機基板は、広くて薄い。使える空間に合わせて製作したので、市販のラジコン受信機よりも余裕がある。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年11月29日(木) 21:21

メイン信号処理

 旧バトルタンクでは市販品のラジコン受信機を使用していたので、受信機と信号処理PICは別だった。今回は自前の受信機なので、両者を1つの基板にまとめることができる。

 しかし、実装空間に余裕が無いと判断。今回も信号処理PICは別基板とすることにした。

 大きな理由は、信号処理PICの外付け配線が非常に多いこと。基板が小さくても、配線は嵩張る。これを TWE LITE や信号レベル変換基板と同居させるのは、良策ではない。
 写真で裏返っているのがモーター制御PIC基板だが、表側同様にシンプルだ。だが、メインPIC(信号処理PIC)は、とてもそれじゃ収まらない。

 大きく目立つ4ピンは、デバッグ用に外付け液晶ディスプレイを接続できるようにしたもの。通常の走行時には、何も接続しない。その奥の2ピンは、尾灯LEDを接続する。
 右に伸びる白い配線は、バッテリー電源モニター用。基板左に2つ乗っているのが、その分圧抵抗。脇を走る紫の配線は、ちょっと特殊。電動エアガンに内蔵させたマイクロスイッチの状態をモニターするもので、主砲の発射タイミングを認識できる。

 白と緑の2ピンコネクターは、TWE LITE とのUSART接続用。
 左に伸びる赤橙黒の3本線は、砲身上下の受信値をサーボパルスに変換して出力する。ここは、主砲を上下させるサーボに直結だ。その信号は、PWM1で生成。

 しかも、それで終わりではない。
 メイン基板は余りにも配線が面倒なので、1日では製作できない。

 コネクター化は手間を著しく増大させる。何しろ、必ず「相手方」が存在するのだ。こっちのコネクターを実装したら、対になるコネクターも実装せねばならない。写真に写っているものだけが、必要な作業ではない。

 走行用モーター制御PICは、相手方を作る必要がなかった。Hブリッジからのコネクターは旧バージョンをそのまま使うし、SPI受信コネクターは・・・そうメインPIC側の基板にこれから追加実装するのだ。だから、製作が楽だった。
 なぜメインPICでは旧バージョンのコネクターが流用できないかと言うと、受信データーをデジタルのまま処理するため、インターフェイス仕様が別物になった。

 追加機能も実装するし。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年11月28日(水) 21:05

走行用モーター制御

 走行用モーター制御PICは、最も構造が単純である。シリアル通信で左右キャタピラの動きを受信したら、それをPWM変換して出力する。外付けパーツは事実上コネクターだけしかない。

 左が PIC16F88 を搭載した、旧基板。右が、新造で PIC16F1575 搭載。

 旧基板はPWM波形をソフトで作成していたため、受信に時間を使いたくなかった。そのため、左右のキャタピラ値を受信するために信号線も2本使用していた。
 これに対し新基板はPWMを内蔵ペリフェラルで作成するため、受信時間に余裕がある。だから、信号線も1本だけだ。

 かくして、ソフトSPIのための信号線が旧基板の4本から3本へと減っている。
 また、PIC16F88 は内蔵クロックが8MHzまでしか出せず精度も悪かったので、外付けで20MHzのセラロックを実装している。しかし PIC16F1575 は内蔵で32MHzまで出せる上に精度もセラロック並なので、外付けはパスコンだけだ。

 下の紙にはピンアサイン原案がメモしてあるが、PWMの割り当て自由度を誤解していたので最終的なものとは異なる。

 最終的には、できるだけ配線が楽になる配置に修正済みだ。

 ここまで便利になって来ると、PICの盲腸とも言うべきMCLRが本当にウザい。単純な入力ピンとして使用することは可能だが、出力に使えればなぁ・・・というケースも良くある。

 走行用モーター制御のHブリッジ2つは、合計8個のスイッチング素子がある。それを個別に制御するために8本の信号線があり、4本ずつ2つのコネクターが出ている。
 それを、単純に差し替えるだけで良いようにピンアサインした。つまり、ハード的には本当に簡単。後は、根本から変化したソフトが機能するかどうかの問題。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年11月27日(火) 21:38

自作機器の威力

 受信機の試験は順調で、大きなトラブルもなく進行。ただし、小さな誤算があった。

 それは、受信データーの更新がスムーズではないこと。毎秒50回以上の頻度で送信しているのに、受信データーはそれほど高速更新されない。しかも、更新頻度が変化する。バージョン1で使用していた古いテストプログラムで確認しても、状況は変わらない。
 発覚したのは、バージョン2が5V電源となり、液晶ディスプレイがマトモな濃さで表示できるようになったからである。

 受信データーを取得するまでに何ミリ秒を要するか確認すると、50ミリ秒前後を要している。100ミリ秒も待たされることはほぼ無いが、所要時間は激しく変動している。そこで試しに、データーを受信したときに内蔵ブザーを鳴らしてみた。
 これには少し説明が必要だろう。

 自作ラジコン送受信機には、TWE LITE のシリアル通信アプリを使用している。書式モードのバイナリ送信で拡張形式を使うと、受信側データーとして受信感度を取得できる。
 受信機では、送信機から送られてきたキー入力情報と共に、「送信機→受信機の受信感度」が取得できる。すると受信機はテレメトリーデーターとして、送信機に送信し返す。これには「ラジコン戦車内のバッテリー電圧」「送信機→受信機の受信感度」が含まれる。
 一往復して送信機に戻って来た情報は、「ラジコン戦車内のバッテリー電圧」「送信機→受信機の受信感度」に加えて「受信機→送信機の受信感度」がくっついている。

 これらの情報に送信機内で完結する「送信機内のバッテリー電圧」を加えた4つの情報を、送信機の液晶ディスプレイに表示する仕様だ。
 そしてこの一往復して来たデーターを受信できたときに、送信機内のブザーを鳴らす。

 やってみると、ガイガーカウンターみたいな鳴り方になった。明らかに、一定ではない。
 動画にしてみた。

 更新頻度は、最悪でも0.1秒未満。受信機は0.3秒以内に新データーが届かない場合、セイフティーとして戦車を停止させるようにしてある。もちろん、受信側だけ電源を入れても暴走しない。

 この更新頻度はラジコン戦車なら実用上の問題は無いと考えられる。しかしレーシングカーやドローンではマズいのではなかろうか?
 果たして市販の2.4GHzラジコンプロポは、もっと高速な更新頻度を実現できているのだろうか?

 更新頻度がランダムっぽく変動するのは、WiFi の仕様を考えると理解できる。つまりこれは TWE LITE とシリアル通信アプリの問題ではなく、WiFi 通信の汎用問題である可能性もある。
 受信状態がかなり悪くなると、更新頻度が下がる傾向がある。ただし、必ずしもそうであるとは断定できない。受信感度の数値情報と、ブザーによる受信頻度の確認。それらは両方あった方が安心できる。

 常時ブザー音がするのは煩いかもしれないと思ったが、やってみると意外に気にならない。いざとなれば、鳴らすかどうか切り替え式にするのは容易である。すべてを自由にできる自作装置なのだ。
 そしてこの当初から予定していたテレメトリー機能を実装してみると、安心感は圧倒的なものがある。

・燃料計とも言えるバッテリー電圧を、送信機もラジコン戦車側も確認できる。
・電波の受信状態を両方向で確認できる。しかも良くある3段階4段階ではなく、255段階だ。
・電波状態は音声だけでも確認できて、顕著に状況が悪化して来たとかノーコン発生とか、即座に把握できる。

 いずれも強力。市販品で、ここまでサポートしてくれるものは皆無に近いだろう。
 受信状況を255段階で把握できると、アンテナの向きを調整することさえ容易だ。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年11月26日(月) 21:24

全交換

 現在のバトルタンクは、モーター制御に難題を抱えている。それは、PWMの生成をPICがソフトで行っていることだ。当然それだけ無駄にCPUが消費されるだけではない。PWM生成以外の作業も必要である以上、PWMのDUTYを余り大きくできないのだ。
 なぜ素直に内蔵ペリフェラルのPWMを使わなかったかと言うと、PICのPWMは低周波を設定できなかったから。周期2.048ミリ秒、すなわち約500Hzよりも低くできない。これはモータードライブだけの問題ではない。ラジコンのサーボパルスもPWMだが、周期50〜60Hzなので生成できない。

 しかし16ビットPWMを有する PIC16F1575 であれば、遥かに低周波のPWMを生成できる。生成をハードに任せ、CPUは他の仕事が可能。しかも、16ビットなのでソフト生成より遥かに高い分解能になる。キャタピラの動きにしろ砲塔旋回にしろ、超低速から高速までスムーズに操作できるようにすべく、PWMのDUTYは対数曲線で変化させている。
 だが、現行のバトルタンクではDUTYの分解能を上げられず、充分な諧調が得られない。これを16ビットPWMに置き換えると、圧倒的にスムーズな制御が実現できるはずだ。

 もちろんDUTY100が可能だから、これまでより戦車の最高速も上げられる。

 以上の理由により、PIC16F1575 への乗り換えはマストだ。
 ただしそうなると、既存のPIC基板は流用できない。車載している3つのPICすべてが交換だ。

 正直これは誤算で、既存の基板すべてアラルダイトにより固定済みだった。破壊しないと取り外せない。全交換となる。
 ラジコンにおいては振動対策の観点から、車載精密機器をネジではなく両面テープで固定するのが一般的である。振動とは関係なくメンテナンス性の理由により、両面テープを検討すべきかもしれない。

 ただしそうなると、回路パターンの保護を別途考えねばならない。アラルダイトで塗り込める手法は、交換を困難にする一方で回路の保護に威力を発揮する。
 気になるのは、回路保護に良く使われるシリコンコーキング剤が最近売っていないのだ。なぜか秋月にも千石にも置いていない。以前は置いてあったのに。何か問題があったのだろうか?

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4