受信機および動力用リポの低電圧アラーム 仕様変更版追加 Ver.3.66 【追記有】

 受信機および動力用リポの低電圧アラームの仕様を以下の様に変更したものをVer.3.66として追加で作成の予定です。(Ver.3.65も存続します。)

【Ver.3.65】
①受信機用リポ低電圧アラーム
本回路が動作中に瞬時的に<5.3VになるとON。

②動力用リポ低電圧アラーム
モーターON時に瞬時的に<3.0V/セルになるとON。

       ↓

【Ver.3.66】
①受信機用リポ低電圧アラーム
本回路が動作中に5秒間連続して<5.3VになるとON。

②動力用リポ低電圧アラーム
モーターON時に5秒間連続して<3.0V/セルになるとON。

★Ver.3.66追加理由
主として3D用途にて急激なピッチアップ等の操作でモーター、サーボに大きな負荷が掛かった際の瞬時的な電圧降下による低電圧アラームの発生を防止します。また、BECにて5.8V程度の比較的低い電圧を本回路に印加した場合に、ピッチアップ等の操作での低電圧アラームの発生を防止します。なお、2セルのリポ(7.4~8.4V)を使用した場合、F3C用途では現行のVer.3.65で問題無いと考えられます。ちなみに当方は、低電圧アラームがONとなる条件が より厳しいVer.3.65を今後も使用していく予定です。

【追記】
 Ver.3.68にて低電圧アラーム発生までの時間 0秒 or 5秒 を設定出来るようにしました。従ってVer.3.66および3.65は不要です。
 PIC18F14K50のメモリーの残容量が少ないため、LCD表示文字数を減らしメモリーの空きを増やす事で何とか上記機能を収める事が出来ました。現状、上記機能追加後で残容量は130Byte程度です。
 放電容量の計測を1msec周期で行っておりますが、Ver.3.66以前では計測周期(ループ周期)1msecの調整をDelayコマンドで行っていたため、ループ内のプログラムを変更する度にDelayの調整が必要でした。このため、Ver.3.68ではPICのタイマー機能timer0を活用しています。timer0で正確な1msecを作り、これをトリガーとして1msec周期のループで計測処理を行っています。この場合、ループ内のプログラムを変更した場合でもループ内の処理時間が1msec以内で有れば、ループ周期1msecに影響を与えません。その結果、時間の無調整化を実現出来ます。
 本回路のプログラムでは、モーターがONの時のループ内の処理時間は300μsec程度でループ周期1msecより小さいため問題有りません。しかし、モーターがOFFの時は0.5秒毎にLCDの表示更新を行っているためLCD更新時のみLCDの処理時間がトータル50msec程度掛かり、ループ周期1msecをオーバーしてしまいます。その結果、処理時間50msecの間は放電容量の計測が不可能となります。ただし、モーターOFFの場合は電流が ほぼ0のため放電容量の計測誤差は ほとんど無く問題は無いと考えています。(仮に時間に対して一定の電流が流れている場合には、10%(=(50msec/500msec)×100)程度小さい放電容量を計測する事にになりますが、モーターOFF時については電流値が小さいため長時間モーターをOFFにしない限り計測誤差(全体の放電容量に対する割合い)は非常に小さく問題は無いと考えられます。)また、モーターをONにしてからの経過時間の計測についてはLCD処理部分での処理時間50msecを経過時間に加算して経過時間の誤差の発生を防止しています。従って、LCD表示部分のプログラムを変更する場合(LCDの処理時間が変わる場合)は、処理時間50mecを変更後のLCD処理時間に変更し、経過時間のズレが発生しないようにする必要が有ります。

PIC18F14K50の残メモリーが300Byteしか無い!

 現在は、PIC18F14K50(メモリー:16KB、EEPROM:256Byte)を使用しておりますが、Ver3.65で残メモリーが300Byte程度しか有りません。今後、機能を追加した時点でメモリー不足が生じた場合は、PICを変更の予定です。次候補として、PIC18F26K22(メモリー:64KB、EEPROM:1024Byte)を予定しています。
 PIC14K50用Ver3.65のプログラムをPIC18F26K22用として移植してみましたが特に問題無いようです。各レジスタの設定とポートの変更をするだけで動作しました。プログラム自体は変更無しでOKでした。PIC18F26K22の場合、メモリー使用量が16KB、残容量が49KBですので、小数点の計算等を多用しない限り当分は大丈夫だと思います。

デバッグ用評価基板とLCD
 

64KBのメモリーを搭載するPIC18F26K22