2021年08月28日

RTC RV-3028-C7とRV-8803-C7の注意点

先日、外付けRTCの比較について紹介しました。実際にRV-3028-C7とRV-8803-C7の評価ボードを実際に使ってみた際に思った注意点について紹介したいと思います。

■ RV-3028-C7の注意点
RV-3028-C7は電源切替機能付きのRTCです。出荷時に25℃環境で1ppmに入るように調整されています。なお、温度補正機能はついていません。電源切替機能付きのため、電池端子とメイン電源端子の2つの端子を備えています。

電池端子とメイン電源端子の2つの端子を備えているものの、デフォルトでは電源切替が無効となっているため、メイン電源をOFFにすると時刻を喪失します。電源切替を有効にするためにはEEPROM Backupレジスタ0x37のBSMビットを01に設定して電源切替を有効化する必要があります。それを知らずに時刻が喪失されるため、電池が切れているのか評価ボードが破損しているのかと色々考えてしまいました。

■RV-8803-C7の注意点
RV-8803-C7は温度補正機能付きのRTCです。電源切替機能はないものの、環境温度の影響を受けずに高精度な時刻を保持することができます。

DS1307やDS3231、RV-3028-C7では、曜日情報は下位3ビットを使用します。具体的には0:日曜、1:月曜、2:火曜、3:水曜、4:木曜、5:金曜、6:土曜のように1つずつインクリメントされます。一方、RV-8803-C7は下位6ビットを使用します。1つずつ値がインクリメントされずに曜日ごとに各ビットがONします。具体的には1:日曜、2:月曜、4:火曜、8:水曜、16:木曜、32:金曜、64:土曜となります。他のRTCに慣れていると曜日設定の考え方が異なるため、実装に際しては注意が必要です。

他にも注意点等が見つかった際には紹介したいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

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) | 電子部品 | このブログの読者になる | 更新情報をチェックする