迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

秋月ロータリーエンコーダを再度試す

秋月のロータリーエンコーダを再度試してみました。
だいぶ前に試したもののあまりうまくいかなかったもので・・・。
参考にしたサイトはこちらです。
How to use a quadrature encoder

PSoCに移植してみたら、あれこれあったものの、うまく動きました。

回路図です、74HC14によるチャタリング除去回路が入ってますが、最初は入れてませんでした。
入れなくても動作しますが、理由があって入れました。

ロータリーエンコーダテスト回路図


ポートの設定、P1[6]とP1[5]の割り込みをChangeFromReadにしています。
こうすることでロータリーエンコーダのクリック安定点から次のクリック安定点までチャタリングがなければ4回割り込みが発生します。チャタリングがあればそれ以上に割り込みが発生するのですが、内部コードで処理します。

ロータリーエンコーダテストピンレイアウト



クリック安定点から次のクリック安定点までカウンタ値は4増減します。増減値を1にしたければ4で割ります。
下の写真はロータリーエンコーダを一回転させたときのものです、上の数字はカウント値、下の数字は割り込み回数です。
チャタリング除去用のコンデンサは外してあります。

一回転で24クリック移動があるので24×4=96なので計算通りなんですが、割り込み回数が多くなっています。チャタリングのためです。

ロータリーエンコーダテスト動作写真2

割り込み回数が多くなっても問題はないと思うのですが、精神衛生上よろしくない(笑)
コンデンサを入れたところ、カウント値と割り込み回数が一致します。抵抗とコンデンサの値は適当です、手持ちの部品を使ったのでこの値がいいかどうかはわかりません。大きくすると速く動かしたときに追いつかなくなります。

ロータリーエンコーダテスト動作写真1jpg



一回転させて、逆に一回転させると値が元に戻ります。当たり前なんですが、気持ちいいものです。

数年前に試したときはうまくいかなかったなぁ、多少は進歩したんでしょうか。
スポンサーサイト

MPL115A2を使った気圧計の実験3

MPL115A2気圧計6


実験基盤です。PSoCと気圧センサ(秋月の気圧センサ)、気圧センサ用の電源フィルタだけです。
読み出しが結構ばたつくのでフィルタを入れてみましたが、多少の効果はあるものの、ばたつきは収まりません。
当初は移動平均していましたが、メモリ不足のため回数を多く出来ませんでした。
今は1/8秒ごとに測定し、240回足し合わせて平均を取っています。そのため更新は30秒ごとになります。
ここら辺はもう少し検討したいです。

このセンサ、精度は±10ヘクトパスカルです。
予備実験では直線性はいいようなので、実際の気圧と比べて補正を試みました。
気象庁の気圧データ標高で補正します。
現在位置の標高はGoogle Mapsで調べます、うちの家は約7メートルでした。気圧計は二階の机の上に置いているので先のサイトで標高10メートルとして補正します。
データを集めた結果、6ヘクトパスカルほど低く表示が出ることがわかったので、ソフトで補正しました。
気圧観測データ2


補正後の観測データをグラフにしてみました、赤い線は観測データによる近似直線です。
誤差は±1ヘクトパスカル内に収まっています。

手間がかかりました。その分だけあれこれ勉強にはなりましたけど。

秋月に高精度の気圧センサモジュールがあるので、そちらも試してみたいです。
その前に電源を何とかしてケースに収めないと・・・。

MPL115A2を使った気圧計の実験2

MPL115A2気圧計5


内部データを使って温度表示してみたが、気圧と同じく補正が必要だった。
自作のサーミスタ温度と比較しながら補正データを決めた。

MPL115A2を使った気圧計の実験

MPL115A2気圧計3
以前デジットで買った16文字×1行のLCDを使った。
見かけは16文字×1行だけど、内部は8文字×2行扱い、そうと気づくまで悩まされた。
気象庁の気圧データと比較すると7ヘクトパスカルほど低く出るので、内部で補正した。
ちなみに気圧データは標高で補正したうえで比較した。
0.1ヘクトパスカル刻みにしたが、2,3カウントばたつく、64回の移動平均をしているにもかかわらずだ。
移動平均はメモリを食う、メモリの少ないPSoCでは回数を多く出来ない。
他の方法を検討しよう。


PSoC気圧計のための覚書

だいぶ前にPSoCと気圧センサMPL115A2をつなぐ記事を書いた。
もう一度やり直そうと参考にした小林一行研究室のリンクを見たら外れていたので、再度のせておく。
PSoCとI2C通信 MPL115A2を用いた場合(2010.12.18)
若干の問題点を解消した(はず)のソースコードが手元に残っていたので、コンパイルしたらあっさり通ってしまった。

問題は気圧センサMPL115A2がどこにあるかわからないこと(汗
ジャンクボックスのどこかにあるはずだが・・・。

久しぶりにやる気が出てきた。

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

百均のUSB LED電球(2) Aug 13, 2017
百均のUSB LED電球 Aug 11, 2017
状態変数型バンドパスフィルタ(2) Aug 05, 2017
状態変数型バンドパスフィルタの解析、発振回路に応用するため。 Jul 30, 2017
CJMCU Beetleを試す Jul 29, 2017
Arduino 互換ボード SS MICROを試す Jul 22, 2017
店の電飾(3)無限鏡(infinity mirror) Jun 25, 2017
店の電飾(2)回路の変更とスケッチ Jun 25, 2017
店の電飾 Jun 18, 2017
Arduino Pro Microを試す。(3)HIDとして使う(2) Jun 15, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (409)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (32)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん