初心者講座「CARTOS編」で連載した組み込みアプリ開発を実践しました。京都マイコンの開発プラットフォームSOLIDを使って、簡易データーロガーのアプリケーションを作りました。GPIO2本使用して、ロガーの開始とロガーの停止の操作をします。ロガーデータは、RZ/A1Hで内蔵しているADCを使用しています。
あわせて読みたい
データロガー制作方法
RZ/A1HのADCを動作させる
冒頭の動画の中でも解説していますが、SOLID購入時のままでは、ADCは動かせません。まずは、レジスタアクセスできるようします。
スタンバイコントロールレジスタのクロック供給を有効にする。
RZ/A1Hには、スタンバイコントロールレジスタがあります。その中のSTBCR6というレジスタのBit7がADCへのクロック供給になっています。デフォルトでは、供給禁止(1が設定されている)になっているので、0に設定することで、ADCへのクロックを供給しています。
アナログ入力設定
アナログ入力は、AN7を使用しています。GPIOではPort1_Bit15がAN7に該当するので、機能設定でアナログ入力の設定にします。
ADCのチャネル指定
アナログの入力設定ができたら、ADCにどのチャンネルなのかを指定する必要があります。今回は、マルチチャンネルスキャンではなく、1つのチャンネルのみスキャンする設定にします。ADCSRというレジスタがありますので、このレジスタにチャンネル7(=AN7)を指定します。チャンネル指定をする場合は、ADSTビットを0にしておく必要があります。
ADCの変換値を読み込む
ADCを起動させるには、ADCSRのADSTビットを1にする必要があります。ADSTビットを1にすると、変換が開始され、指定されたチャンネルに読み込み値を格納します。ADCは12ビット変換なので、レジスタの下位12ビットを読み込みます。今回は、チャンネル7なので、ADDRHというレジスタが該当するので、その値を読み込みます。
再度ADCを開始する
ADCの変換は、1回サンプリングすると1回で終了します。そのため、何度もサンプリングするには、その都度ADSTビットを1にセットする必要があります。本来は、割り込み内部やタイマなどを使用して、連続的に実装するのがいいと思いますので、ぜひチャレンジしてみてください。
ざっくりまとめると
- 初心者講座で学んだSOLIDを使いこなしてみた
- RZ/A1HのADCを使ってみた
- 応用例として、簡易的なロガーアプリを作ってみた
こちらも是非
“もっと見る” 実験室
組み込みアプリを止めるな!printfやブレークポイントも使わず内部状態をチェック!
産業機器、オーディオ製品、通信デバイスをはじめとする多くの組み込みアプリケーションは、わずかなタイミングの違いで動きが変化します。そのため、開発・検証のためにprintfなどを仕掛けることが難しく、開発効率が伸び悩むケースも増えています。そこで今回の実験室では、システムを止める事なく内部状態を取得できるデータ計測ツール「EVRICA」を紹介いたします。組み込みアプリケーションの開発や検証に欠かせない、新しい開発ツールです。
IoTエッジコンピューティングをSmartMeshで実践
今回の実験は、Moteに内蔵されている非力なマイコンを使って、振動計測ソリューションのFFTデータをSmartMeshで送信したIoTエッジコンピューティングを実践してみました。
非絶縁型中間バスコンバータ750Wで、48Vと12Vを自由自在
VicorのNBMシリーズの最新デバイスであるNBM2317シリーズは、23×17×7mmという超小型パッケージで最大750W出力、48V→12Vまたは、12V→48Vの双方向において98%のピーク効率を実現した非絶縁型中間バスコンバータ。今回の実験室は、実際に動かしつつ、その性能とメリットを解説している。その様子は、是非動画で見て欲しい。