2021年08月14日

外付けRTC比較

今回は外付けのRTC(リアルタイムクロック)について調査を行なったのでその結果を踏まえて紹介したいと思います。リアルタイムクロックはマイコンやPC等で日付、時刻を機能として使用する場合に利用します。マイコンやPC等のメイン電源が切れている場合にも電池等から電源をRTCに気供給することで日付や時刻を進めて正しい日付や時刻を保持することができます。また、アラーム機能を利用することで予め設定した時刻で信号を出してマイコンの外部割込みイベントを発生させるといった使い方もできます。

STM32マイコンの多くは電池接続用のVBAT端子とRTC機能を備えているため、外付けでRTCを接続しなくとも時刻を保持することができますが、時刻の保持精度を考慮すると外付けの方が有利です。時刻の保持精度が高いと時刻合わせした数か月後や数年後にも時刻の大きな遅れや進みなく利用できることになります。

一般的な水晶発振子の精度は30ppm程度のため、1か月で80秒前後、1年で15分前後のずれが生じる可能性があります。3ppmの場合は1か月で8秒前後、1年で1分半前後のずれが生じる可能性があります。詳細についてはこちらでは述べませんが実際は水晶発振子の仕様が30ppmであっても負荷容量にの影響で更に精度が悪い場合もあります。仕様通りの精度を出すためには水晶発振子内蔵のRTCがお勧めです。水晶発振子内蔵の場合、多くは工場出荷時に調整されており、外付けの水晶発振子に比べて精度が高くなります。環境温度が25℃付近で常に使用する場合は温度補正機能がない場合でもある程度の精度が出ますが、通常、環境温度は昼夜、季節や設置場所で大きく変化します。そのため、精度の高い温度補正機能付きのRTCがお勧めです。環境温度が変化する場合でも精度を高く維持することができます。

入手しやすい外付けRTCを調査、比較してみました。

rtc_list.jpg

広く使用され有名なRTCとしてDS1307があります。シングルボードコンピュータ等でもドライバが配布されており、非常に便利ですが静電気に弱く、電池を外している状態では特に破損しやすいRTCです。気づくと時刻が読めない、I2Cデバイスとして動作しないということが多々あります。そのため、DS1307を使用するのであれば、アドレスと主要なレジスタの互換のあるDS3231やM41T00がお勧めです。同じドライバやソフトでそのまま使用することができます。特に実用を考えると温度補正があるDS3231がお勧めです。

ただ、DS3231はコストが高く、ICパッケージが大きいため、小型なデバイスに組み込む場合やコスト削減をする場合はRV-8803-C7がお勧めです。温度補正付で超小型パッケージで350円前後と低コストです。RV-8803-C7の1つ欠点というならば、電源端子が1つのみで電池電源ピンがないため、ダイオードで外部電源と電池の切り替え回路が別途必要となる点です。RTCでは長時間電池を駆動させるため、漏れ電流が無視できません。漏れ電流が数10nA以下の非常に小さなBAS70-05やBAV170Q等の低漏洩ダイオードを使用する必要があります。


rv-8803-c7.jpg

実際にRV-8803-C7の評価基板を購入して使ってみました。USBシリアルI2C変換基板を使ってNode-RedからRTCの時刻の読み書きをするフローを実装してみました。アドレスは異なるものの、DS1307や他のRTC同様に簡単に使用することができました。今後、RV-8803-C7を使ったデバイスを開発したいと思います。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年08月07日

実効値変換アナログIC

今回は痒い所に手が届くアナログICを紹介します。

交流の電流や電力を計算する場合、一般的には実効値が用いられます。平均値はコンデンサ等で安定化させることで容易に得ることができますが、実効値は容易に得ることができません。波形が正弦波の場合であれば平均値から換算することも可能ですが、実際の電流波形は綺麗な正弦波であることは少なく、歪みがあるため、換算は容易ではありません。

そのため、一般的には高速でサンプリングしてから定義に従って離散値から実効値を求めます。この場合、サンプリング速度が測定したい信号に対して十分に速い必要があります。このような場合に便利なのが今回紹介するRMS-DCコンバータです。

RMS-DCコンバータの代表的なものとしてAnalogDevicesのLTC1966があります。入力信号に対してRMSに応じたDC出力を得ることができます。ワンチップでRMS値を得られるため、ADコンバータのサンプリング周波数や換算等を考慮する必要がないため、非常に便利です。

LTC1966.jpg

写真はAliexpressで購入したLTC1966の変換基板です。

LTC1966の場合、50Hz~1kHzで0.25%の誤差、2.7~5.5Vの単電源、もしくは±5.5Vまでの両電源で使用できます。ただし、注意点として入力できる信号は最大1Vppの電圧となるため、超えないように注意が必要です。

今後はRMS-DCコンバータを使った応用回路について紹介したいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年07月31日

PS2/USB逆変換アダプタ V2

プログラミング専用こどもパソコンichigojamやサーバマシン等のPS2接続キーボード用として、2018年からPS2/USB逆変換アダプタを提供してきました。

現状のPS2/USB逆変換アダプタはUSB Host(Vinculum)とSTM32マイコンのダブル構成となっていましたが、昨今の半導体不足でSTM32マイコンが入手困難、在庫があった場合でも非常に高価な状況が続いています。STM32マイコンの在庫が戻るまで販売を一旦中止する予定でしたが、一定の強いニーズが多く、継続的な供給を求められている状況でSTM32マイコンを置き換えたV2を検討することになりました。STM32マイコンの代替としてどのマイコンも正直、同じ状況ではありますが、STM32マイコンに比べてPICマイコンの方が入手性が良い状況です。そのため、少しずつPICマイコンに実装し直していました。空き時間を見つけつつ、3か月程度で実装と従来と同様の機能が確認できたため、現状の在庫がなくなり次第、PICマイコン版のPS2/USB逆変換アダプタ V2に移行する予定です。

基本的な機能、使い方は同じですが、USBホスト処理の実装が異なるため、キーレスポンス等が若干異なる場合があります。

ps2usb_v2.jpg

PICマイコン版のPS2/USB逆変換アダプタ V2はPIC32マイコンでUSBホスト機能とPS2の処理を実装しました。また、300mAのリセッタブルヒューズを追加しています。現状の在庫がなくなる秋以降にV2に移行する予定です。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年07月24日

光センサ基板

今回はBroadcom製 光センサAPDS-9008を用いた光センサ基板を紹介します。APDS-9008はアナログ出力の光センサで人の目に近いスペクトル応答性を持っています。また、外付けの抵抗によって感度の調整が可能です。一般的な光センサとして使用されるCdSセンサのカドミウムを使用していません。

APDS-9008は広い照明範囲の出力線形性を備えており、使いやすい光センサですが、非常に小さいため、光センサ基板として基板に実装してみました。アナログ出力に加えて、コンパレータ出力を実装することで様々な用途に使用できるようにしました。光センサの感度とコンパレータ閾値は2つの可変抵抗でそれぞれ調整できます。100lux前後から数1000luxまでの光量を測定することが可能です。


lightsensor_0.jpg

lightsensor_1.jpg

コネクタはGroveコネクタを使用することでM5Stack等にも簡単に接続できます。試作基板では問題なく動作を確認することができたため、量産版の製造を開始をしたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2021年07月17日

Eport E10

今回はシリアルイーサネットモジュールEport E10について紹介します。Eport E10はAliexpressで1個2000円前後で購入可能です。Eportシリーズは中国版Xportという感じでシリアル(UART)通信のコマンドで簡単にイーサネットのサーバやクライアントとして動作して他の機器と通信することが可能です。Eport E10はFreeRTOSベースですが、他にLinuxベースのEport Pro-EP10、Pro-EP20等があります。


E10-1.jpg

E10-3.jpg

Eport E10そのままでは扱いにくいため、Grove互換コネクタをつけた基板を設計して取り付けみました。


3.3Vの電源を供給してLANコネクタをLANケーブルでPCに接続するとDHCPで自動的にIPアドレスが割り当てられます。デフォルトではブラウザから169.254.173.207にアクセスすると詳細の設定をすることが可能です。ID admin PW adminでログインできます。


E10-2.jpg


また、UARTから文字を受けたり、コマンドを送ることもできます。デフォルトのボーレートは115200bpsです。なお、UARTからコマンド(Cliコマンド)に入るためにはデフォルトでは「+++」を入力する必要があります。ただ、teraterm等から入力する場合、キーボードからの文字入力ではなかなかCli環境に入れませんでした。teraterm等から入力する場合は事前に「+++」の文字列をメモ帳等からコピーしてteraterm上で右クリックで貼り付けして送信すると一括で+が連続送信されるため、Cli環境に入ることができることが分かりました。

Eport E10を使用して簡単かつ安価にイーサネット通信ができそうなことが分かったため、いろいろ試してみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする