緑の中に
国立天文台
3/24/2020
3/15/2020
Stage A-1 完了
■■■■■■■■■■■■■■■■
Stage A-1 完了
■■■■■■■■■■■■■■■■■■■■
Stage A-1 をマイコン形式とその周辺プログラムと位置づけました。
Stage A-2 を製作・工作1と位置づけます。
Stage A-3 を検証・理論づけと位置づけます。
Stage A-4 をプログラム改善・改良・言語変更と位置づけます。
AはData Logger (観測記録)方式とし、-(ハイフン)番号は開発工程レベルとします。
Stage A-2 を製作・工作1と位置づけます。
Stage A-3 を検証・理論づけと位置づけます。
Stage A-4 をプログラム改善・改良・言語変更と位置づけます。
AはData Logger (観測記録)方式とし、-(ハイフン)番号は開発工程レベルとします。
では、B、C、--- は何を意味するか? 例えば同じようなData Logger (観測記録)でも、AD変換ICを使用したハード部の形式などに使用したいです。
あるいは別装置に位置づけて区分使用したいと考えます。
■■■■■■■■■■■ Stage A-1 までの所感 ■■■■■■■■■■■
8ピンの小型PICマイコンは研究しやすく配線がとにかく少なく済むことに魅力を感じました。8ピンのPICマイコンの幾種類ある中からPIC12F675についてこのマイコンの機能のすべてを知りたくなりました。
PIC12F675はA-D変換機能を内蔵しています。この事より、A-D変換後のデジタルデータをとにかくどこかに送る必要があります。手っ取り早くパソコンに送り、パソコンで受信して確認したくなります。また、そのような書籍もあります。
------------- 主な参考書籍 ------------------------------ 下記書籍が参考になりました
・C言語ではじめる PICマイコン フリーのCコンパイラではじめよう
中尾真治 著 オーム社
・たのしくできる PIC12F 実用回路 鈴木美朗志 著
東京電機大学出版局
・特集 PICマイコンを使おう ECB No.4
CQ出版
------------------------------------------------------------------
そのために、「伝送」「通信」「COMポート(コミュニケションポート)」「RS232C規格」 ----
次はパソコン側をどうするのか? どのようなソフトを起動すると送られてくるデータを受信して見れるのか?
ターミナル受信ソフトについて知る必要となりました。
ターミナル受信ソフトで受信したデータをファイルにする。この為のプログラム。
定刻に記録していく方法。などなどです。
--------------------- 主な材料 ---------------------
パソコン
PICkit3 --->PIC12F675にプログラムを書き込む装置です
半田こて、はんだ
ワイヤーストリッパー
プラスドライバー
小型マイナスドライバー ---> PICを抜くとき使用
USB-RS232C変換ケーブル(FTDIチップ) 1本
DC5Vアダプタ 1台 ---> 容量1Aぐらい
DCジャック 1個 --->DC5Vをブレッドボードにつなぐため
ブレッドボード 1台 ---> E-CALL EIC-1204-1B
配線用より線 赤黒 各1m
ミノムシクリップ 赤黒 各1個
配線用単線 1m
PIC12F675 1個
MAX232C 1個
照度センサ(NJL7502L) 1個
RS232Cコネクタ(メス) 1個
0.01μFコンデンサ 5個
抵抗器 100KΩ 1本
抵抗器 20KΩ 1本
抵抗器 510Ω 1本
シングルヘッダーピン 6列 ---> PICkit3を接続用に
----------------------------------------------------------------------------
----------------------- スキル -----------------------------
MPLAB-x-IDEのインストール [無料]
XC-8 でCプログラム Build
PICkit3の扱い
TeraTerm(テラターム)のインストール [無料]
TeraTermの扱い
RS232Cの簡単な知識
DecimalBASICのインストール [無料]
DecimalBASICの扱い COMの扱い ファイルの扱い 文字と文字列の扱い
MINGW Cのインストール [無料]
Cの扱い ファイルの扱い 文字と文字列の扱い
Lcpad Editorのインストール
Lcpadの扱い
サクラ Editorのインストール[無料]
windows 10 OS のタスクスケジューラの設定扱い
-------------------------------------------------------------------------
* ソフトはすべて無料で入手できます。
一つの言語環境を構築するだけでも少し忍耐が必要です。
-----------------------------------------------------------------------------
MINGWのインストールは頑張ってください。インストール後は快適に使えます。Lcpadも優れものです。
これらのインストールによって初めてC言語の文法の学習ができる状態になります。
必要に迫られ、ポインタ、ファイルや文字や文字列の操作を本格的に調べました。
その結果やっとここまで来た感じがします。
以前は文字や文字列の文法を見ても空言でした。しかし、ここで何とか思っていることを実現するために文字や文字列処理を避けるわけには行きませんでした。また、C言語開発環境の整備の問題もありました。もちろん自身のパソコンの環境整備です。無料で構築できます。以前は購入してインストールしたときもありました。
やっと腰を据えてC言語を調べる環境が整った感じです。そのうち、言語も進化して++だの#だのVisualだの進化して、追いかけることをためらってしまいます。
技術の進展は停滞しません。「追いかけることをやめる」は置いて行かれることを意味します。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
照度センサ(フォトトランジスタ)の個体差を確認する方法
照度センサ(フォトトランジスタ)の個体差を観測
上写真 2個の照度センサ
同一商品の2個のセンサに違いは?
Push-ON :オレンジ色のスイッチを押している間、緑色のリード線に接続してあるセンサの回路が出来上がります。
Push-OFF:スイッチ操作なにもしない時、黄色のリード線に接続してあるセンサの回路が出来上がります。
上写真
スイッチ回路構成図です。手動操作自動復帰のスイッチです。
このスイッチは俊敏に操作できます。プログラム走行中、操作します。
上写真
おおよそ同一時刻・同一場所の明るさを感知していますが、値に違いがあります。
センサAのリード部は黒く変色してきています。今回以前から、実験で使用してきています。
センサBはセンサAに比べて400mv程大きな値を返します。
要するに個体差があることです。特に両者を比較して使用するものではありません。
観測上の成り行きで計測したまでです。
この時使用したプログラムがFMVreceive-append_Bmode.bas です。
観測データのフォーマット(形式)が上写真の様になります。
ハード等のメンテナンスで必要なときもあると思いプログラムは作っておきました。
このプログラムは都度、タイムスタンプと一連のデータ(7個)の記録を残すように作りました。必要に応じて手動でRUN実行させます。
通常観測にこのプログラムは実行させません。すなわち、バッチファイルにこのプログラム実行の記述はしません。
*機器メンテナンス専用のプログラムが必要になります。
3/13/2020
2号ブレッドボード
2号ブレッドボード
上図 2号ブレッドボード
1号ブレッドボードにおいて、受信が不安定であったり文字化けが発生したので
敢えてハード部をもう一台作り、原因を追究しました。
これにより結論として次のことが判明しました。
●「1号ブレッドボードに使用したPIC-12F675のプログラムの不具合」が判明しました。
◎ そこで、PIC-12F675のソースファイルを修正しました。
そしたら、全く文字化けの発生もなく「美しく見事な受信」をしました。
プログラムの仕様は2400bpsの速さになっています。
あまりにも速すぎて、受信画面は一瞬にしてスクロールしてしまいます。そこで、Cプログラム中にdelay(--)を25msec~50msecを入れました。
・MPLAB-X IDE v4.05 でXC8 にてソースプログラム(AD-sender-2040.c)を作
りました。これをBuildし、AD-sender-2040.hex を作りました。
・PICkit3の端子を上写真の6Pinへ接続します。2040.hex をPIC-12F675へ書き込みま
す。(解説省略)
・受信確認はTeraTermを起動して行います。
Deimal Basic側でも良いのですが、TeraTermが簡単に起動操作できるからです。
上図 2号ブレッドボードと照度センサ
上図 照度センサ(フォトトランジスタ)
照度センサ(フォトトランジスタ)をケースに収めました。
工作途中ですが、屋外に設置可能となります。
現在私の机上に置いて、プログラムメンテナンスを行っています。
机上ではセンサに対して意図的に照度の変化を与えやすく、プログラム・ハードのメンテナンスに都合が良いからです。
センサ部は将来的に温度センサ・湿度センサ・気圧センサ・風速センサなど発展イメージが浮かびました。センサによては別回路の付加の必要もあると考えます。
将来センサを全体で3個にしたとき、切り換えが必要になると考えます。どのようにするか検討する必要があります。今現在は考えていません。
チャネルCH3のような概念が入り込むと想定しています。
センサ部は将来的に温度センサ・湿度センサ・気圧センサ・風速センサなど発展イメージが浮かびました。センサによては別回路の付加の必要もあると考えます。
将来センサを全体で3個にしたとき、切り換えが必要になると考えます。どのようにするか検討する必要があります。今現在は考えていません。
チャネルCH3のような概念が入り込むと想定しています。
3/09/2020
マイコンのプログラム再度メンテナンス
PIC12F675-マイコンプログラムのメンテナンスしました
プログラムを調整しました。AD変換後はRS232Cでパソコン側で受信です。そのとき、ターミナルソフトとしてTeraTermを起動して様子を確認します。
受信の文字化け、受信スピードを確認します。
静止画です。動画であれば受信スピードのスピード感を紹介できますが。
プログラム中にdelayを入れて、最適と思える値にしました。
delayを入れないと速すぎて、下記画面が一瞬にして一杯となりスクロールしてしまいます。その時が、2400bpsの伝送速度と思われます。
私のプログラムのある個所のdelayを50msecあたり、パソコンMR4400Eにおいて
目で追える程度にスピードを落とすことが出来ました。
この時のソースファイル名をAD-sender-2000.c 2000-20240番としました。
ソースファイルは大切にしようと思います。
USB-RS232Cケーブルを買いました
USB-RS232C変換ケーブルをもう1本買いました
Amazon でUSB-RS232C変換ケーブルを買いました。 総額 1700円ぐらいでした。
FTDIチップをあえて求めました。 前回、UGREENのFTDIで良好動作でしたので。
今度は金メッキです。
Cプログラムを思案中です
https://edu.clipper.co.jp/pg-2-42.html
プログラミング講座 cClip シークリップ
上図
このプログラムを理解する必要が発生しました。このプログラムはNetで入手しました。
私の手持書籍を調べましたが、良い解説がありませんでした、
どのような技が必要になったかと言いますと、「ある文字列の先頭よりm番目からn番目の文字を抜き出す」技です。
ファイルへの書き込みのタイムスタンップの表示方法を変更するためです。
[20200305 17:36:03] ----> [2020/03/05 17:36:03] なる表示としたい。
理由は見やすいからです。
年、月、日、時刻 を個別に抜き出し、各変数へ格納します。
変数は
Stamp_year
Stamp_month
Stamp_day
Stamp_time
を予定します。
登録:
投稿 (Atom)