3.5.3 データログ温湿度計の作成2
1.作成時期
2013/6/下旬〜2013/7/中旬(マイコンプログラム,パソコン連携ツール作成) 2.作成日数 3週間(マイコンプログラム,パソコン連携ツール作成) 3.実験,作成 1.部品,回路について 部品,マイコン回路は、"3.5.2.データログ温湿度計の作成"から変更はありません。今回はPICマイコンプログラムと パソコン連携ツールを作成しました。 ○参考書籍 ・C言語で作るPIC電子工作(CQ出版社) ・PICによるホーム・コントロール工作入門(CQ出版社) ・Windowsで制御するPICマイコン機器(CQ出版社) ![]() 2.マイコンプログラムについて PICマイコンプログラミングは"3.4.13.データログ温湿度計の実験5"のWIZ-Cプログラムを参考にして、サンプリング件数を2倍に 増やし(EEPROMの容量を2倍に増やした為)、データの差分読み出し処理を削除(使いにくい為)しました。 尚、コンパイルについて、割り込みタイプの変更(クイック割り込み→通常割り込み:アプリケーションデザイナーを使用しない設定 ("Use Application Designer"のチェックを外す)で、"xxx.main.c"内の"QuickInt = 1"を"NormalInt = 1"に変更して再コンパイル)と、 スタックオプションの変更(スタックサイズを増やす:"Current Project Options"のOptimisations"の"Use PIC Call Stack"のチェックを 外して再コンパイル)を行いました。変更方法の詳細は、"PICによるホーム・コントロール工作入門(CQ出版社)"のColumn1-3, Column1-5を参照してください。 ○アプリケーションデザイナ設定 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ○マイコンプログラム ・プログラムリスト(THERMOHYGROLOGGER_User.c) ・プログラムリスト(SHTFunc.c) ・プログラムリスト(SHTFunc.h) ・プログラムリスト(I2C.c) ・プログラムリスト(I2C.h) ・WIZ-C(Ver.17)プロジェクト(THERMOHYGROLOGGER:03050301P.LZH) 3.パソコン連携ツールについて パソコン連携ツールの作成は"8.2.1. 5_自作データログ温湿度計用データ収集ツールの作成"のVisualBasicプログラムを 参考にして、ツール全体の名称変更、データの差分読み込み処理の削除、その他バグ修正等を行ないました。尚、動作テスト中に 発生した不具合(CSVファイルのデータ件数が受信データの件数と合わない等)がまだ残っている為、次回に検討しようと思います。 又、パソコン連携ツールでサンプリングデータ受信開始時に通信エラーが発生した場合(たまに発生)、その後から1つ前に選択した 読み込みが実行される現象が発生しました。この不具合が発生してもデータのサンプリングには問題はなく、データログ温湿度計の 電源ON/OFFで復旧する為、サンプリングデータ書き込み時間(00, 10, 20, 30, 40, 50分)以外に電源をON/OFFすれば、特に問題なく 使用できます。しかし、シリアルポートの通信エラーについても今後、検討しようと思います。 尚、"データログ温湿度計用連携ツール"の詳細は、"8.2.1. 6_データログ温湿度計用連携ツールの作成"を参照してください。 以下はマイコンプログラム,パソコン連携ツールの動作テスト中のパソコン画面と写真です。 ※参考ホームページ 8.2.1 Windows アプリケーションの作成(8.2.1.6 データログ温湿度計用連携ツールの作成参照) ![]() ![]() ![]() 4.感想 今回は、データログ温湿度計のマイコンプログラムとパソコン連携ツールを作成しました。快適に動作しているのですが、 一部不具合がまだ残っています。次回は不具合修正を行なおうと思います。 5.データログ温湿度計 不具合修正(2013/8/4 追加) 上記のデータログ温湿度計の不具合について、パソコン連携ツールに不具合があった為修正しました。(マイコンプログラムの不具合修正はありません。) 不具合修正後、現在発生している2件の不具合(CSVファイルのデータ件数が受信データの件数と合わない不具合, 通信エラー)が解決しました。 パソコン連携ツールのVisual Basicプログラムの不具合修正箇所について、通信イベント内のデリゲート処理をなくして、受信データをCSVファイルに編集する 処理を全データの受信後に行なうように修正しました。尚、不具合修正のプログラムリストは、"8.2.1.6 データログ温湿度計用連携ツールの作成"の "THERMOHYGROLOGGER Ver1.1"のVB2012プロジェクトを参照してください。その他、データログ温湿度計のマイコンプログラムのデータサンプリング時間を 仮に10分から1秒に変更して全件分のデータの書き込み,読み込み確認(新品のEEPROM(24C1024B)に交換して実施)を行ないました。特に問題なく動作します。 以下のパソコン画面は、データサンプリング時間を仮に1秒に変更したデータログ温湿度計と,パソコン連携ツールの動作テスト中の状態です。 データログ温湿度計の年の箇所は秒+2000の値が表示されています。特に問題なく動作します。 ※参考ホームページ 8.2.1 Windows アプリケーションの作成(8.2.1.6 データログ温湿度計用連携ツールの作成参照) ○マイコンプログラム変更箇所(動作テスト用) データサンプリング時間を10分から1秒に変更し、EEPROMの年の書き込み箇所に秒を書き込むように修正 ・プログラムリスト(動作テスト用)(THERMOHYGROLOGGER_User.c) ・THERMOHYGROLOGGER用サンプルログファイル(1SEC_TEST.csv(全件:16383件))(03050311S.LZH) ※サンプルログファイルについて サンプルログファイルの年の箇所は秒+2000の値が入っていますが、データログ温湿度計の1秒サンプリングは、マイコン内部の1000mSecタイマー (クロック部はセラロックの為、正確な1000mSecではない)でサンプリングしている為、僅かにサンプリング時間がずれて、秒の箇所に同じ秒の値が2つ入り、 秒の値が1つない箇所があります。 ![]() トップページヘもどる |