USBの代わりにBluetoothモジュールでスマホと接続するには、電源周りの大幅な変更が必要です。
元々はこんな感じで、AVRマイコンはスマホからUSBバスパワーで給電されていたのですが、USBがなくなるので別途電源が必要です。
それに、Bluetoothモジュールにも給電が必要になります。
必要な電源を並べるとこうなります。
Bluetoothモジュールは3.3V動作ですが、レギュレータを持ってるので6Vまで受けられます。
AVRマイコンはデータシートによると2.7V~6.0Vで動作するようですが、公式には5.0Vのみ受けられることになっています。
スマホはバッテリー電圧を調べたら3.7Vで残量18%ぐらいで、4.1Vで100%と表示されましたから、この範囲は受けられるようです。
IC間の信号電圧は、PICは5.0V動作なので5.0Vにそろえたいところですが、Bluetoothモジュールだけ3.3Vになっています。
AVRはレギュレータを持ってるので、内部3.3V動作も可能ですが、その場合クロックを8MHzの落とさないとオーバークロックになります。発売元では動作保障外ながら、3.3Vの16MHzでも動作するとうたっていますが。
以上から、Bluetoothモジュール⇔AVRか、AVR⇔PICで信号線の電圧を調整する事になります。
いろいろ考えてこんな感じにしてみようかと。
電圧の種類が増えると、ただでも窮屈なメイン基板のスペースを圧迫するので電源ユニット側で減圧することになりますが、それでは接続ケーブルがまた増えることになって厄介です。、接続ケーブルがなるべく少ない本数になるようにしてみました。
電源としてはACC連動の5.0Vと常時通電の4.1Vを供給します。
そうするとAVRは内部レギュレータによる3.3V動作しか選択肢がなくなるので、信号線の電圧調整はAVR⇔PICの間で行うことになります。ここは以前から抵抗分圧を入れているので、改造も少なくて済む部分です。
電源ユニットとメイン基板を結ぶケーブルは1本増えて5本になりますが、3線のシリアル通信ができるようにしてみました。
現在、エンジン回転数をELM327から受けていますが反応が悪いので、電源ユニット内にエンジン回転数を測定する機能を追加して、こちらから受けるように変更してみるつもりです。
なんだか作り直しに近い大改造になりそうです。
コメントする