2017年12月02日

ADC微小電圧読込

今回はSTM32F103のAD変換を使用した際に
ちょっとした問題に遭遇したため紹介します。


TI製電流検知センサINA181A1の出力を
STM32F103のADCで読み込む際に
意図した電圧が読み込めてないことが分かりました。


シャント抵抗に10mΩを接続し、
0.3Aの電流を流しているので
60mVの出力が出ます。
※INA181A1はゲイン20倍

60mVの出力が出ていることは確認できましたが、
ADCで読み込むと6mVしか読み込めていない状況でした。


調査するとTI製電流検知センサINA181A1は全く問題がなく、
STM32F103のADCの初期化に問題があることが分かりました。


HAL_ADCEx_Calibration_Start
というADCのキャリブレーションを初期化時に実行すると
意図した60mVの出力を読み取ることができました。



可変抵抗などでざっくりとした値をAD変換で読み込む場合は
ADCのキャリブレーションをしなくとも問題ありませんが、
電流検知センサなどの微小な電圧を読み込む際には
ADCのキャリブレーションが必須です。


//ADの初期化
MX_ADC1_Init(); 

//ADのキャリブレーション
if (HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK) 
  {
    /* Calibration Error */
    Error_Handler();
  }


思った以上に微小電圧の読み込む場合は誤差が出るので、
面倒でもADCのキャリブレーションは初期化時に行った方が良さそうです。





ラベル:部品 STM32 HAL
posted by Crescent at 00:00| Comment(0) | 組込ソフト | このブログの読者になる | 更新情報をチェックする

2017年11月16日

RFID機能付きEEPROM

今回はSTから販売されている面白い機能を持ったEEPROMを紹介します。
その名も「Dual Interface EEPROM」。


EEPROMは数kB〜数MBなどのちょっとしたデータ保持する際に使用するメモリです。
何かしらの設定データやパラメータ、管理番号などを保持するためによく使用します。


STから販売されている「Dual Interface EEPROM」は
一般的なEEPROMのI2Cインタフェースに加えて、
RFIDのアンテナ端子も付いています。


つまり、EEPROMにI2CとRFIDの2つの通信で内部のデータにアクセスできます。
更に面白いのはRFIDの通信の場合はEEPROMに電源を供給せずとも
RFIDの電波でそのままパッシブにEEPROMが動作する点です。

RFIDの電波でパッシブで動作するため、
マイコンの電源を入れなくともデータの読み書きができます。



rfid.png


評価用のボードが500円前後で販売されているため、
入手してみました。


ANT7-T-M24SR64 は NFC Forum Type 4 Tag、ISO/IEC 14443 Type Aに
対応しているM24SR64-Yを搭載しています。
大きさは親指サイズです。
そのまま自作機器に組込んでも邪魔にならないサイズ感です。


IMG_0007.JPG

姉妹品として
ANT7-T-M24LR04EはISO 15693 and ISO 18000-3 mode 1 compatibleに
対応しているM24LR04E-Rを搭載しているものもあります。



スマートフォン/タブレットとマイコンを連携させる場合は
一部、超音波(スピーカとマイク)、光(LED)を使用したものもありますが
無線LANやBluetoothなどの無線が多く、
開発規模が大きくなりがちです。

一方、今回のRFID機能付きEEPROMはマイコンからは単なるEEPROMで
スマートフォン/タブレット側からは単なるRFIDカードなので
相互に容易にスマートフォン/タブレットとマイコンを連携が可能です。


また、スマートフォンやタブレット側のRFIDの技適などの認可は当然必要ですが、
今回のRFID機能付きEEPROMはパッシブ動作なので
アンテナを基板上に自作しても技適やFCCの認可は不要です。


ちゃんとSTのサイトでアンテナ設計方法についても説明があるので、
各自で設計できるようになっています。



例えばスマートフォンからマイコン機器の設定を変更したり、
マイコン機器のデータの読み出しをしたりなどが簡単に実現できそうです。


今回のRFID機能付きEEPROMは最大8kBで
データをガシガシ読み書きするとなると相互にハンドシェイクしながら
何度もデータを書き換えて分けて通信する必要があります。
1MB版が欲しいのが本音です笑

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

2017年11月02日

STMマイコン解説電子書籍

今回は先日からAmazonで販売している電子書籍について紹介します。

これまでSTMマイコンの各機能をこのブログでも紹介していましたが、
日本語のSTM32マイコンに入門するための入門書として本書をまとめました。


こちらで取り扱っています。

hyoushi222.jpg

内容抜粋としては開発環境構築、Lチカ、デバッグ、SPI通信、
I2C通信、タイマ、外部イベント割り込み、AD変換、UART通信、
DA変換、リアルタイムクロック、DSP活用、FreeRTOS、SDカード利用など
一通りの主要なペリフェラル機能を網羅して説明しています。

HALライブラリ、CubeMX、無償のSW4STM32開発環境を
使用して解説しています。
これからSTM32マイコンを始めたいという方にお勧めです。


ラベル:STM32 HAL お知らせ
posted by Crescent at 00:00| Comment(2) | TrackBack(0) | お知らせ | このブログの読者になる | 更新情報をチェックする

2017年10月20日

USBホストコントローラ

今回はUSBホストコントローラのチップを紹介します。

STM32マイコンのF4以上では
USBホストコントローラ機能があります。

USBホストコントローラ機能を使用するとマイコンをPCとして
USBデバイスから認識させ、USBデバイスを操作することが可能です。

たとえば、
・マイコンにUSBキーボードを接続してキー入力をする
・マイコンにUSBメモリを接続して、データを書き込んだり、読み込んだりする
などです。


STM32で用意されているCubeMXでは
キーボードやマウス、UBSメモリなどのホストコントローラの設定が可能です。

しかし、上記以外のデバイスや2つUSBを接続したい場合、
ホストコントローラ機能のないマイコンの場合などがあります。


その時に便利なコントローラがVinCulumです。

VinCulum.JPG

上が評価用のVinculum2DPI2です。

サンプルプログラムが多く用意されており、
簡単にホストデバイスを認識させることが可能です。
上記のVinculum2DPI2は2つのUSBデバイスを接続することが可能です。

例えば、マイコンからVinculumへUartなどで
データを送るとUSBメモリに書き込めるという感じです。

チップ自体は500円前後なので、
安いとは言えませんが、
ホストコントローラ付きのハイエンドマイコンを使わずに
簡単にホストコントローラを実現できるという意味では安いと思います。


また今度、試食してみたいと思います。
ラベル:部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2017年10月08日

イーサネットモジュール

今回は簡単にイーサネット通信できるモジュールを紹介します。

STM32マイコンでは内蔵のイーサネットも使用可能ですが、
メモリや割り込み処理など多くのリソースを要します。

今回紹介するW5500モジュール
SPIで外付けで簡単にイーサネットが実現できるモジュールです。

LANポートとW5500チップが一体になったモジュールです。

IMG_0001.JPG


W5500チップ自体に32kBバッファも内蔵されています。
最大8ソケットまで対応しています。

また、単にTCP、UDPだけでなく、
DHCP client、DNS client、FTP client、FTP server、SNMP agent/trap、
SNTP client、TFTP client、HTTP serverの他に
MQTT Clientまで対応しています。

MQTTまで対応しているとは驚きです。
ライブラリもこちらで公開されています。
Arduino版はこちら


イーサネットを使用する=raspberryPIを使う
という以外の有力な選択肢となりそうです。
簡単という意味ではraspberryPIに劣りますが、
SDカード耐久性やOS起動時間など考えると、
メリットは大きいと思います。



ただ、W5500の他にW5100、W5200など姉妹品があり、
W5500はちょっと癖があるようなので、
今後、STM32マイコンで実際に使用して評価してみたいと思います。

他の注意点としては
モジュールによってMACアドレスが付属していないものがあるようです。
その場合はMACアドレスEEPROM等を購入して、
MACアドレスを入手してから使用する必要があります。
ラベル:部品 IoT
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする