丸文株式会社 株式会社ケィティーエルは、
2018年10月1日に丸文株式会社に統合されました。

2ピンデジタル温度センサLMT01を新型ローンチパッドにつなごう! (Episode 1-3 試作基板編)

  • ホーム
  • 技術コラム
  • 2ピンデジタル温度センサLMT01を新型ローンチパッドにつなごう! (Episode 1-3 試作基板編)
技術コラム

2018年 4月17日

マイコンコラム

2ピンデジタル温度センサLMT01を新型ローンチパッドにつなごう!
Episode 1-3
 試作基板編


みなさん、こんにちは。
前回TI社ページから、新型MSP-EXP430FR2433ローンチパッドを動作させるための各種ソフトウェアを入手して、LED点滅プログラムを動かしました。
今回は、この新型ローンチパッドに、LMT01I2C LCDを接続するボードを作製して、LMT01I2C LCD制御プログラムを組み込んで、温度計として動作させる例を紹介します。 

まず、前回のサンプルコードの続きです。

 サンプルコードの一覧表

MSP430FR2433デバイスに対して、TI社より、どんなサンプルコードが用意されているかは、!Readme.txtを見ればわかりますが、このファイルはクラウド版では見られないようです。
この!Readme.txtファイルは、MSP430Wareをインストールされている方は下記フォルダにあります。
C:\ti\msp\MSP430Ware_3_80_02_10\examples\devices\MSP430FR2xx_4xx\MSP430FR243x_MSP430FR253x_MSP430FR263x_Code_Examples\C 

ダウンロード版の!Readme.txtファイルの内容を和訳して、下表にまとめてみました。


このローンチパッドを使用して、FR2433のどのペリフェラルを使用して、何を実現するか、いろいろ考えながら、上記の表をみて、使うペリフェラルや機能のサンプルコードを選択してください。
Episode1-2で紹介したリソース・エクスプローラを使用すれば、コードの内容を眺めて、必要あればダウンロードして、お試しで動かすことも容易に行えます。 

MSP-EXP430FR2433のハードウェア説明
続いて、このローンチパッドのハードウェアを紹介します。
このローンチパッドにはLEDや押しボタンスイッチ、拡張ヘッダなどが搭載されています。

LEDを使用する場合は、J10J11にジャンパプラグSH-J10SH-J11を差し込んでおく必要があります。

上記はローンチパッドヘッダの接続になりますが、MSP430FR2433デバイスの計24ピンの信号がどう接続されているのかを下記にまとめました。

ありゃ、P3.0がどこにも接続されていない。。。

P3.0端子のみ、MSP430FR2433デバイスのはんだパッドは存在するのですが、ローンチパッド上の他の回路には接続されていません。
下記のP3.0周辺 デバイス拡大写真をご覧ください。

念のため、下記サイトにあるハードウェアデザインファイルを確認します。
MSP-EXP430FR2433 Product downloads

そこにある情報をまとめると

確認完了です。
このP3.0のみ、ボード上に引き出されていませんので、本ローンチパッドでは使用できない端子となっています。ご注意ください。

ボードの改造
RTC(リアルタイムクロック・カウンタ)関連のソフトウェアは、本ローンチパッドのデフォルト接続が、水晶振動子ではなく、外部ヘッダピンに接続されているため、動作しません。
ボードの改造を行うと、ボードの保証がなくなります。詳しくは『評価用キットについての標準約款』をご覧ください。

特にこのローンチパッドの上部のエミュレータ部分には、込み入った部品が密集しております。
例えば、ここに溶けたはんだなどを落としてしまうと、そのはんだの除去が大変です。仮にこのボードが故障したとしても、メーカも弊社でも本ローンチパッドの修理は行っておりません。
従って、下記の改造はメーカの保証が失われ、自己責任となります。はんだ落下から保護するために、はんだ付け時には、このエミュレーション部分には必ず覆いをして、かつ慎重に行ってください。
改造時は、必ずローンチパッドのUSBケーブルを外して、電源が入っていない状態で行ってください。

はんだごてを使用して、下記のチップ抵抗の実装変更を行ってください。

この改造後の動作確認
改造を行なった32.768KHzの水晶振動子が正しく動作するかどうかを確認しましょう。

リソース・エクスプローラを使用して、サンプルコードmsp430fr243x_RTC_01.c をプロジェクトに追加して、 ボタンでビルド/実行させて、LED11秒ごとに点灯、消灯を繰り返すことを確認してください。
このプログラムは、32.768KHzのクロックを必要とします。このクロックがないとLEDの点滅動作が行えません。
このプログラムが動作しない場合は、上記のはんだづけに問題がある可能性があります。
上記の改造後のチップ抵抗の位置になっているかどうかを確認し、R3R2が正しくはんだ付けされているかどうか、またR5R4のはんだパッドのはんだが除去されていて、パッド間が短絡していないかどうかを確認してください。


サンプルコードの動きについて
このサンプルコードは、1秒点灯、そして1秒消灯を繰り返すので、点滅周期は2秒になっています。
一般の時計に見られるような0.5秒点灯、0.5秒消灯の点滅周期1秒にするにはソースコードの何を変更すればいいでしょうか?
RTCカウンタの構造に関しては、ユーザーズガイドのP409に記載されています。



ソースコードを変更し、ファイルをセーブして、デバッグボタンを押して、実行させて、点滅周期が1秒になるよう、デバッグしてください。
この様に、データシート、ユーザーズガイドなどから必要な情報を得て、プログラムの変更を行います。

回答ですが、ソースコードに下記記載があります。
******************************************************************
// RTC count re-load compare value at 32.
    // 1024/32768 * 32 = 1 sec.
    RTCMOD = 32-1;
                                                     // Initialize RTC
    // Source = 32kHz crystal, divided by 1024
    RTCCTL = RTCSS__XT1CLK | RTCSR | RTCPS__1024 | RTCIE;
******************************************************************

RTCレジスタのブロックダイアグラムと設定値の関係とを図示すると下記の設定になります。


RTCMOD=16-1;(そのまま RTCMOD=15;と書いても構いません)に設定すれば、タイマ周期0.5秒で、LEDの点滅周期は1秒になります。

ハードウェア編
ハードウェア編では、まずブレッドボードを使用して、動作確認を行い、その後、ユニバーサル基板を使用して、はんだ付けで組み立てます。

LMT01を使用した温度計の構成
Episode1-1でご紹介済みですが、MSP430FR2433は、アナログ・コンパレータを内蔵していないため、LMT01のロジックレベルを3.3Vロジックレベルに変換するトランジスタと抵抗2本が必要です。
LMT01データシートに記載されている回路図は下図になります。

出典:Texas InstrumentsLMT01データシート

MMBT3904が入手できなかったので、トランジスタは手持ちのNPN型の2SC1815で代用しました。
LMT01+TRの回路図が下図になります。

VPINにはMSP430FR2433GPIO端子を接続します。
MSP430FR2433にはコンパレータ入力がないので、上図のVNOUTは使用しません。
Q1(2SC1815)で3.3Vロジックレベルに変換されたVN3VOUTMSP430FR2433のタイマ入力に接続します。

MSP430FR2433側接続端子の検討
LMT01 VP側接続端子 VPIN
これは、単なるGPIO出力端子であればどこでも構いません。
あとで、空いているGPIOを探して、割り当てることにします。

LMT01 VN側接続端子
LMT01+トランジスタ+抵抗2本から得られる温度パルス信号VN3VOUTには、MSP430FR2433に内蔵されているタイマを使用して、カウントを行うことにします。
MSP430FR2433に内蔵されているタイマ(Timer0_A3, Timer1_A3, Timer2_A2 and Timer3_A2)のうち、カウンタ入力が使えるものは、Timer0_A3Timer1_A3の2つになります。


Timer0_A3は、GPIOP1.0にマルチプレックス(多重化)されており、この入力を使用すると、ローンチパッドのLED1が使用できなくなります。
ジャンパプラグSH-J10を外す方法もありますが、他のGPIOピンもあるので、そちらを使ったほうが無難です。
タイマ入力としては、他のピンと被っていないTimer1_A3のカウンタTA1CLKを使用するのがよさそうです。

LCD表示器の選定
I2Cインターフェイス、電源電圧3.3Vで動作して、低消費電流のものを選びます。
このI2C LCDの接続端子が2.54mmピッチになっているものが実験や実装する場合に使い勝手が良いので、今回はAQM1602Y-RN-GBWを使用しました。
AQM1602Yを動かすためには、外部にコンデンサ2個とプルアップ抵抗3個が必要になります。
このLCDは最低動作電圧が3.1Vになっているので、CR2032などのボタン電池で直接駆動することはできません。
新品ボタン電池でも最初の使い始めはなんとか表示できても、ボタン電池の電圧が低下するに従い、LCDの文字が薄くなって、見えなくなってしまいます。
I2CLCDの回路では、VCC-GND間にも、1uFのコンデンサを追加しました。

I2CLCDモジュールの回路図を下図に示します。


I2C端子の決定
MSP430FR2433で使用できるI2C端子は、eUSC_B0の下記P1.2SDA)、P1.3SCL)端子になります。

ローンチパッドとLMT01+TR、およびI2C_LCDモジュールとの接続
ここまでの接続で、下記の割り当てになりました。


ローンチパッドの拡張端子ですが、そのボード上ですでに用途が限定されているピンがあります。
黄:すでに予約されているピン 赤黒:電源ピン 青:今回使用するピン 灰:今回未使用のピン

SPIUCA1系端子)などは将来使用する可能性もあり、今回は、GPIO専用ピンであるP3.2VPINに割り振ります。

各モジュールとローンチパッドの接続を下図に示します。

各モジュールの配線を行って、ローンチパッドへの接続を行います。
個人的にははんだ付けを使用し、ユニバーサル基板で手配線で、このような試作を行うことが多かったのですが、
今回はブレッドボードでの配線をまず行い、各モジュールの動作確認を行なってから、ユニバーサル基板での試作を行いました。

ブレッドボードについて
DIPDual In-line Package)のICやディスクリートのトランジスタ、抵抗、コンデンサなどを使用して試作や動作確認を行う場合、このブレッドボードを使用します。
いろいろな回路を試作する場合、その回路変更によって、様々な配線変更が発生します。
はんだ付けによって、配線する方法もありますが、小規模な回路の動作確認であれば、このブレッドボードを使用した方が、はんだ付けによる煙も出ず、簡便です。
その使用にあたっては、配線を行うジャンパワイヤなどが必要になります。
欠点としては、SOP,TSSOPQFPQFNなどの表面実装デバイスの場合、そのままでは使用できず、2.54㎜のICピッチに変換するための変換基板などが必要になることです。
また、長期間使用するものや、持ち運んでの評価を行うものに向きません。あくまでも、とりあえず動作確認を行う場合での試作用途になります。
ブレッドボードは写真のものを使用しました。

ブレッドボード写真 

ローンチパッドを含めたLMT01+TRモジュールとI2CLCDモジュールの回路図


LMT01、抵抗2本、2SC1815AQM1602Y-RN-GBW、コンデンサ3個、10kΩ抵抗3個から構成されています。これらの部品はパーツショップ、通信販売などで入手してください。

LMT01TR部品表

I2CLCD部品表

ブレッドボードでの実験を行われる場合は、ブレッドボードやヘッダピン、ジャンパワイヤなどが必要になります。

ブレッドボード関連 部品表

配線
ジャンパワイヤは市販のものを使用するか、ヘッダピンのピンを抜いて、リード線にはんだ付けしたものでも使えます。
ブレッドボードの端子間をこれらのジャンパワイヤを使用して、配線を行なってください。

ローンチパッドの端子はヘッダピン形状で出されているので、下記のヘッダコネクタを持ったジャンパワイヤを使用すると、
ローンチパッドとブレッドボード間の接続に便利です。

実体配線写真
ブレッドボードでの実体配線写真を下記に示します。
即ユニバーサル基板にはんだ付けを行なって試作したい方は、こちらに進んでください。

本来はできるだけ、最短で配線すべきですが、ユニバーサル基板での部材の再利用を考慮して、そのままの長さで、配線しました。
なお、回路図には存在しているVccGND間のパスコンC1は省略しており、実装しておりません。

LCDやコンデンサ、抵抗などを、実体配置写真に従って、ブレッドボードに差し込みます。

配線の確認
ブレットボードの同じ番号のピンの列は、相互に接続されていますので、その接続(青線)を入れた実体配線図を下記に用意しました。
配線確認でお使いください。(回路図には存在しているVccGND間のパスコンC1は省略しており、実装しておりません。)
くれぐれも配線に間違いがないことをご確認ください。

ブレッドボードとローンチパッドとの配線
上記確認が終わったら、いよいよ、ローンチパッドとの配線を行います。
3V3GNDSDASCLVPINVN3VOUTをローンチパッドに接続します。
注意点としては、ローンチパッドの電源が入っていない状態で、下記接続を行ってください
ローンチパッドの電源が入っていない状態では、ローンチパッドのマイクロUSB端子に、マイクロUSBケーブルが入っていない状態です。
PCとマイクロUSBケーブルがローンチパッドに接続されている状態で、このブレッドボードの配線を行うことは絶対に行わないでください。
配線が終わったら、下記の配線チェックリストでブレッドボードとローンチパッド間の配線を確認してください。

配線後のブレッドボードとローンチパッドの写真

ジャンパワイヤ配線チェックリスト

LMT01I2C LCD部の動作確認
通常はデバッグの過程があり、個別のハード接続を確認する単純なプログラムを作製動作確認動作したら次の動作確認へとステップ・バイ・ステップで進めていくものですが、
すでにこのプログラムの動作確認を終えていますので、LMT01I2CLCDの動作確認を行うプログラムを下記から入手して、ご確認ください。

入手したサンプルコードLMT01_AQM1602Y_test.txtを下記サイトからダウンロードして、お手持ちのPCのダウンロードフォルダへ保存しておいてください。

クラウド版UNIFLASHツールで、MSP430FR2433内蔵FRAMへサンプルコードのダウンロード
ここで、MSP430FR2433内部のFRAMにプログラムの書き込みを行いますが、その書き込みにTI社のUNIFLASHというツールを使用します。
下記のページに従って、UNIFLASHを操作して、実行コードの書き込みを行なってください。

UNIFLASHとは

プログラムの実行
実行コードの書き込みが終わったら、PCに接続しているマイクロUSBケーブルをいったん抜いて、再度差し込んで、ローンチパッドを再起動します。
下記写真のように、テストコードが実行されると、ブレッドボード上のLCDに表示が行われ、時刻データは1秒ごとに更新されていますでしょうか?

プログラムの実行
実行コードの書き込みが終わったら、PCに接続しているマイクロUSBケーブルをいったん抜いて、再度差し込んで、ローンチパッドを再起動します。
下記写真のように、テストコードが実行されると、ブレッドボード上のLCDに表示が行われ、時刻データは1秒ごとに更新されていますでしょうか?


トラブルシューティング
うまく動作しない場合、下記項目を確認してください。
LCDに表示が出ない
 I2Cの接続やLCD周辺の回路接続を確認してください。
時刻がカウントアップしない。
 →すでに、サンプルコードmsp430fr243x_RTC_01.c にて動作確認済みですが、ローンチパッドのQ1水晶振動子周辺(R3,R2実装、R5,R4非実装)の配線をご確認ください。
温度が-50℃になってしまう
 →LMT01からの温度パルスが来ていません、LMT01周辺の回路をご確認ください。
   LMT01の向きは正しいでしょうか。
   またトランジスタ2SC1815の向きはどうでしょうか。

これで、LMT01MSP-EXP430FR2433AQM1602Y+ブレッドボードによる動作確認が行えました。
この形態では、温度計として、持ち運びは行えないので、次回はユニバーサル基板を使用した基板の製作と、ソフトウェアの説明を行います。

(つづく)

 

一覧に戻る

ページトップへ