OceanBlue


リーフタンクでクイーンエンゼルのペアリング
by masaX
最新のコメント
◆musashiさん ..
by masaX at 12:43
大変ご無沙汰です おめ..
by musashi at 11:31
◆ミニミニさん あ..
by masaX at 22:13
おめでとうございました。..
by ミニミニ at 20:52
◆王英さん こんにちは..
by masaX at 13:44
ほほえみの裏はギラギラだ..
by 王英 at 23:38
◆はわいさん だは..
by masaX at 15:27
最新の記事
カテゴリ
外部リンク
フォロー中のブログ
検索
以前の記事
2017年 11月
2017年 10月
2017年 09月
2017年 08月
2017年 07月
2017年 06月
2017年 05月
2017年 04月
2017年 03月
2017年 02月
2017年 01月
2016年 12月
2016年 11月
2016年 10月
2016年 09月
2016年 08月
2016年 07月
2016年 06月
2016年 05月
2016年 04月
2016年 03月
2016年 02月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 04月
2015年 03月
2015年 02月
2015年 01月
2014年 12月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 07月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 06月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2012年 01月
2011年 12月
2011年 11月
2011年 10月
2011年 09月
2011年 08月
2011年 07月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2011年 01月
2010年 12月
2010年 11月
2010年 10月
2010年 09月
2010年 08月
2010年 07月
2010年 06月
2010年 05月
2010年 04月
2010年 03月
2010年 02月
2010年 01月
2009年 12月
2009年 11月
2009年 10月
2009年 09月
2009年 08月
2009年 07月
2009年 06月
2009年 05月
2009年 04月
2009年 03月
2009年 02月
2009年 01月
2008年 12月
2008年 11月
2008年 10月
2008年 09月
2008年 08月
2008年 07月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2000年 01月

カテゴリ:AVRマイコン関連( 39 )


とりあえず勉強

サイン波インバーターの再作成で、扱う電力が大きいだけに、知識が無いまま、これ以上続けるのは危険と感じたので、勉強のために一冊本を取り寄せた。
e0359523_10420817.jpg
これに私が欲しい情報が載ってるのかどうかはまだ分からないけど、とりあえず最後まで読んでみる事にする。

一昔前だったら、こんな本を読んでも、外国語の本を読んでるようなもので、まるでチンプンカンプンでしたが、今は書いてある事が少しは理解できるようになってきました(笑)





[PR]

by masax7790 | 2017-03-31 10:48 | AVRマイコン関連 | Comments(0)

正弦波インバーター再作製 その3

前回、チョークコイルの定格電流の不足を感じたので、別のチョークコイルを選びなおして再発注しておいた。
e0359523_11405957.jpg
↑左が前回使ったコイルで右側が今回取り寄せたコイル

前回取り寄せたコイルの最大直流電流が1.14Aだったのに対して、今回取り寄せたコイルは10A。大きさも随分大きくて、見るからにパワフル!!
ただ、インダクタンスはどちらも1mHなのに、今回取り寄せたコイルは巻き数が非常に少ないのは、コイルが大きいから巻き数をここまで減らしても同じインダクタンスにできるという事なんだろうか?。
ま、そのあたりはよく分からないけど、とりあえず組み付けてテストしてみる。

e0359523_11434442.jpg

スイッチを入れると、テスト用のランプは点灯し、今回は「ジ~」という音は出ない。
そのまま数秒間スイッチを入れたままでコイルを触ってみるけど、熱くはなっていない。
一瞬、うまくいってる様に見えたが・・・

「パキッ」とショートしたような音と同時に「ピカッ」と小さな光が・・・

回路に組み込んでおいたヒューズが飛んだ!!

回路を点検してみると、ハイサイドのMOSFETが一つ飛んでしまったようだ。MOSFETがショートしてフューズが飛んだらしい。
飛んだMOSFETとヒューズを取り替えてもう一度テストしてみると、これもまた数秒間は大丈夫だけど、やはりMOSFETが飛んでしまう。決して熱くはなっていないけど飛んでいる。

さて、どうしようか?

とりあえず、原因追求のために電源電圧を12Vに下げてオシロスコープで波形を確認してみると
e0359523_11504584.jpg
12Vなのにまだまだフィルターできていない事は置いといて、非常に大きなサージが発生している。
たった12Vでこれだから、141Vだとすごい事になってたのかも知れない?
きっと、これが原因でMOSFETが飛んでしまうんだろう?(なんとなく正弦波に近付いてるので方向性は間違っていないのか?)
MOSFETを保護する「スナパ回路」ってものが必要なのかな?

このまま続けても、FETやハーフブリッジドライバーなんかの素子を飛ばすばかりになるだろうし、だからと言って自分の知識で何時まで考えたところで正解は出ないだろうから、「スナパ回路」ってものを少し勉強してから出直す事にしよう。


[PR]

by masax7790 | 2017-03-29 18:59 | AVRマイコン関連 | Comments(0)

正弦波インバーター再作製 その2

正弦波の元となるPWMの出力はできた。
でも、私にとってはここからが本番!

「正弦波インバーター」というものは既にいくらでも市販されているので、この最後の均す部分の回路など、WEBで探せば簡単に見付かるだろう?、と思ってましたが意外に見付からない!!
DC(直流)なら、「DCDCコンバーター」なんかで検索すればサンプル回路も見付かるんだけど、私の検索の仕方が下手なのか?、大きなAC(交流)のPWMを均す回路が見付からない(5V程度の小さな電圧のマイコン回路などでは見付かるし、過去に自分でもやっている)

仕方がないので、自分で回路を考えてみる・・・

とりあえず試しに、下図のように100μFのコンデンサーを繋いで100Vのランプを負荷にしてテストしてみた。
e0359523_14522765.jpg
これでスイッチを入れたところ、ランプは点灯したけれどもコンデンサを入れる前の回路と比べてランプが非常に暗い。嫌な予感がした。「やっぱり上手くいかないなぁ・・・」と思った直後に、回路から焦げ臭い臭いが・・・
「やばい」と思ってすぐにコンセントを抜いたけど、遅かった!!、回路が壊れた。
オシロスコープなど使う以前の失敗作(笑)
考えてみれば、大きなコンデンサだとPWMは簡単にすり抜けていくのかも知れない。そうだとすれば負荷をショートさせた様なものだったのかも?
後で、回路シミュレーターを使って確認したところコンデンサーが瞬間とは言えkワット単位の電力を消費する事になってたようだ!!

ダメになったのは、MOSFETとハーフブリッジドライバーIC。わかっちゃいるけど、AC100を生半可な知識で触るのは、やはり危険な事なので、もっとじっくりと検討してからテストする事にしよう。

そして、いろいろ回路を考えた。
DCDCコンバーターの回路を工夫すれば、ACでも使えないだろうか?
e0359523_14583785.jpg
↑DCDCコンバーターの平滑部分の基本回路
これを逆方向にでも流せるように改良できないか・・・?

回路シミュレーターを酷使して考えてみた回路がこれ↓

e0359523_15004711.jpg
右方向に流す時は、パルスが入った時(Hのとき)にMOSFETの②と③を閉じて、①と④を開けると左から右へ電流が流れ、パルスが止まった時(Lのとき)はMOSFETの②と③を閉じたままで、①は閉じるけれども④だけを開けたままにする。
e0359523_13142684.jpg

左方向に流すときは左右反転で

e0359523_13144373.jpg
さて、こんな回路で思った動作になるのか・・・?

チョークコイルとコンデンサはいつも利用する秋月に思う物が無かったので、RSに注文した。
チョークコイルが海外の在庫だったので4日ほど掛かったけど、届いたので早速回路を組んでみる。
e0359523_13032924.jpg
これで出力スイッチを入れてみると、負荷のランプは点灯したけど「ジ~~」と音が出る。
インダクタが唸ってるようだ。
ヤバい気がしたので、スイッチを少し入れては切って様子を見ていると、すぐさまインダクタが火傷するくらいの高温になっている。

ダメだ!!
波形を見る場合ではないので、これで波形がどうなるのか?、はまだ分からないけど、とりあえず、このインダクタでは無理がある様だ!!

インダクタを高周波に対して抵抗として働かせてるようなものなので、高温になるのは当たり前だと考えれば良いのか?、許容電流の大きなのを選べば良かったのか?
とりあえず、今回選んだインダクタはダメなので、別のインダクタを取り寄せてみよう。

[PR]

by masax7790 | 2017-03-18 13:22 | AVRマイコン関連 | Comments(0)

正弦波インバーター再作製

以前、コラリアマグナムをウェーブポンプとして働かせるために、ACポンプインバーター(正弦波インバーター)を作ったのが2011年。

今現在はコラリアを使っていないので、その時に作ったACポンプインバーターも使っていないけれども、ふとした事から、その当時作っていたACポンプインバーターが、もっとシンプルな回路で作る事ができたんじゃないか?と考え直していた。

このコラリアというポンプは、回転数が電圧ではなくて電源の周波数によって決まる性質のポンプだったので、AC100Vの周波数を変化させる回路を作った訳だけど、周波数だけを変えてもスムーズに回転してくれず、その周波数に応じて電圧も変化させる必要があったので、このコントローラーを作るのには結構な時間と労力を費やした。また当事は過去にこんなコントローラーを作った人が見つからなかったので、ほぼ全てを自分で考えて一から作る事になり、余計に時間も掛かった。

当時、作ったこの回路の原理としては、まずマイコンでピークがAC5Vの小さな正弦波を作り、それをまずオペアンプでおよそAC12V程度まで増幅し、それを今度は小さなトランスでAC100V(ピークで141V)まで増幅してそれを信号として、ブリッジダイオードで商用電源のAC100Vから整流したDC141VをパワーMOSFETを使ったプッシュプルタイプのアンプ回路で出力する、という非常に段階が多くてややっこしい回路でした。はっきり言って無理やり組み立てた回路だとも思う。
これを作ってた当事から、マイコンから直接DC141Vをスイッチングして正弦波の元となるPWMを作って、それをコンデンサなどで均してやる事ができれば、わりと簡単に作れるはずなんだけどなぁ・・・、なんて考えながら作ってたんですが、当事はDC141Vをマイコンの5Vで上手くスイッチングする方法が理解できず、それをするICなんかが有る事は分かっていたものの、それをどうして使えば良いのかが解らず。また実際にスイッチングできたとしても、スイッチングでできた141VのPWMを本物の正弦波に均す手法も解らずで、その時にもっと勉強すれば良かったのかも知れないけれども、その当事は、まず早く完成させたかったので、その当事自分が理解し得る方法だけを使って完成させたというのが正直なところ。
でも、そんな無理やりに作った装置ですが、無事に思う様にコラリアマグナムをコントロールする事ができたのは自分自身で驚いていたのも正直なところです(笑)

e0359523_21112399.jpg

見るからに、ややっこしい回路で、今となっては自分で見ても、何がなんだか理解するのに時間が掛かってしまう回路です(爆)

そしてつい最近、全くの別件で、今まで自分が作ってきたマイコン回路のマイコンに書き込んでたプログラムに間違いが有った事を発見し、今まで作ってきた回路の中で、その間違ったプログラムを書き込んでた可能性のある回路を順番に見直しながら、その回路が担っていた仕事を再度振り返ってたんですが、その回路の中に有った「電気ショッカー」を眺めながら、ふと・・・
「ひょっとすると、この簡単な回路で、AC正弦波インバーターが作れるんじゃなかろうか?」なんて閃いた!
e0359523_21232984.jpg
この電気ショッカーを完成させたのが2013年なので、「ACポンプインバーター」を作ってから2年ほど後の事になるけど、この電気ショッカーを作ってた時には電気ショッカーを作る事に精一杯で、過去に作った「ACポンプインバーター」の事など考え直すことも全くと言ってよいほど無かったので、その当事は気付かなかったけど、この電気ショッカーの回路では「ACポンプインバーター」を作ってた時には自分が理解できなくて使えなかった「DC141Vをマイコンの5Vでスイッチングする」という仕事をメインの仕事として組み込んでた事に気付いた。この電気ショッカーの回路では、「ハーフブリッジドライバー」というマイコンなどからの小さな電圧の信号でDC100V以上の大きな電流をスイッチングするMOSFETをON/OFFできるICを使って駆動していたので、この仕組みを使えば、この電気ショッカーの回路そのままで、マイコンのプログラムだけ書き換えれば「AC正弦波インバーター」を作れるんじゃない??

思い立ったら、やってみる!!
ちょうど、オシロスコープを使う練習にもなる。

プログラムは「ACポンプインバーター」のプログラムを簡単に書き換えればできるので、書き換えてマイコンに打ち込んでみた。
そして、負荷として100Vのランプを繋いでオシロスコープで見てみると・・・
e0359523_21134598.jpg
正弦波の元になる141VのPWMができている!!
ここまではできるだろう?と思っていたので予定通りと言えば予定通りだけど、ハーフブリッジドライバーICを使えば、マイコンの5Vの信号で141Vを高速でスイッチングするのも難しい事ではなかった。

問題はここからで、この141VのPWMを、どうやって均して本物の正弦波に加工するか、というところ!


さて、どうしようか・・・?



[PR]

by masax7790 | 2017-03-14 21:30 | AVRマイコン関連 | Comments(0)

オシロスコープ 買い替え

私が電気工作をするのに「猫に小判」と言われながらも使い続けてきたオシロスコープが、もう私が使い始めてからでも7年ほどになって、ヨボヨボになってきて波形が綺麗に見えなくて、そろそろ寿命かな?って感じになってきた。

ま、でもまだ完全に壊れて波形が見えない訳ではなく、見えるけれども波形がふらふらしたり、崩れたり。この症状も突然出てきた訳ではなく徐々に出てきてだんだん悪化してきた感じなので、ひょっとすると回路のコンデンサが劣化してきてるんだろうか?
とりあえず、オシロで点検する回路の信号が異常でブレるのか?、オシロが悪くてブレるのか?、そのあたりがややっこしくなってきたので、ここまできたらダメ元でオシロをバラしてみる事に。
そして、電源部であろう基板に付いてるコンデンサを見てみると、特に膨れてたり、破裂してたり、液漏れしてたりって感じのコンデンサは無いけど、とりあえずバラしたんだから、目立つコンデンサを取り替えてみる事に。

目で見て大きめのコンデンサを合計8個取り外して、値を確かめて秋月に発注し、それが届いたので取り替えてみた。
e0359523_10110721.jpg
そして、再度電源を入れてみたけど、世の中、そんなに甘くなかった(笑)
特に改善される事もなっかった・・・

そもそも、オシロスコープなんて私の電気工作に必要なんだろうか・・・?
なんて振り返って考え直してみると、確か一番最初にオシロスコープを使ったのが、コラリアのパワーヘッド(AC100V)のパワーをコントロールできる正弦波インバーターを作るときに使ったのが最初で、その後、ふと思い付くだけでも、サーモスタットの「変温くん」、ウェーブボックス用のDCポンプをコントロールできる「DCポンプドライバー」、魚を捕獲するための「電気ショッカー」、鉄釘を電気分解する「電気分解機」、フォルスのパワーヘッドをドライブする「フォルス用ポンプドライバー」、つい最近作った「マグネットポンプドライバー」、他にも有ったかな?
このあたり、どれもオシロスコープが無ければ作れなかった物がほとんどで、今から考えると私の電気工作には、オシロスコープは「必需品」だったとも言える。

この先、私が作るものにオシロスコープが必要かどうか?、それはなんとも言えないけど、少なくとも現役で24時間仕事を続けている「激波」や「変温くん」が故障したりしたときには修理のために、まず間違いなくオシロスコープが必要になってくるので、やっぱり買っておかないと困る事になるんだろうなぁ・・・

そして

オシロスコープなんて、新品を買う気になるような値段の代物ではないし、ヤフオクで探してみた。
そして、ある程度、価格を決めて探してみたところ、いくつか候補が出てきた。
私も電気工作を始めるまでは、オシロスコープのメーカーなど全く知らなかったけど、いろいろ見てると「テクトロニクス」というメーカーが一流のようで、アクアメーカーで言うなら「エーハイム」みたいなものかな?
そして見つけた候補の中にも、いくつかテクトロニクスの商品があったので、同じ買うなら一流品にしようか?と、候補の中から「テクトロニクス」の商品に絞っていこうかと心に決めたのは良かったけど、その候補に挙がったオシロをよく見て考えると、今まで使ってた安物のオシロでも使い方の解らないスイッチがまだまだ有ったのに、その候補に挙げたオシロなどは、もっともっとたくさんのスイッチが付いていて使い方などさっぱり解らない(笑)。取扱説明書でもあれば解るのかも知れないけど、何分オークションなもので取説の有る商品などほとんど見当たらない。それに、テクトロニクスって外国製なのか?、インターネットで検索して取説が見つかればとも思ったけど、さっぱり見付からず、有っても英語版。
こんなんじゃ使える機能はごく一部になるだろうし、せっかく機能の良い商品を買っても使えないならお金の無駄遣いになる・・・

どうしようか?と、思いながら候補に挙げた商品をもう一度見てみると、中にテクトニクス以外の商品で取説が付いてる訳ではないけど、インターネットでダウンロードできる商品があった。アジレントっていうメーカーのデジタル。
私にデジタルが必要かどうかは知らないけど、今の時代なんだしデジタルオシロの使い方も覚えておいた方が良いだろうし、これを落としてみようと。

そんなところで落札したのが、これ

e0359523_22114257.jpg
スクリーンの大きさが前のオシロの2倍くらいあって非常に見易い。
デジタルだからか、ボタンの数は前のオシロより少ないけど、ボタンを押すと、それに関係したメニューがスクリーンに出て、その中からメニューを選択していくような使い方の様で、こんなの取説が無ければホントさっぱり解らないだろうけど、取説は手に入ったのでゆっくり見ながら覚えていく事にしよう。

特に、今作る予定の工作物がある訳じゃないけど、作りたい物ができるまでに、基本的な使い方だけでもマスターしておこう。





More
[PR]

by masax7790 | 2017-03-03 10:06 | AVRマイコン関連 | Comments(2)

タッチセンサーに再挑戦

このタッチセンサーは以前(5年ほど前)に挑戦して、使い物にできなかった案件で、もう作る事は諦めてましたが、まったくの別件で電気関係の調べものでネットサーフィンしてるときに、ふと静電容量を利用した水位センサーの原理を説明した情報に目が留まり、なんとなくもう一度兆戦したくなってきたのでやってみる事に。

このタッチセンサー(水位センサーも同じく)の原理を素人である私が説明するのは難しい事ですが、私なりに説明すると、「静電容量」というものがあって、これはどれだけ電気(電荷)を溜め込む事ができるか?、という電気の器の大きさのようなもので
https://ja.wikipedia.org/wiki/%E9%9D%99%E9%9B%BB%E5%AE%B9%E9%87%8F
これは「人間の体」にも「水」にも存在するし、センサーに使う「銅板」や「電線」にも存在する。
要するに「人間の体」も「水」も「銅板」も「電線」もコンデンサ(電気の器)だと思えばよいとの事で、例えばタッチセンサーの場合で考えると、指を触れていないタッチセンサーにも静電容量があるけれども、このタッチセンサに指が触れる(近付くだけでも)と「人の体」の静電容量がプラスされてタッチセンサーの静電容量が大きくなるので、この静電容量が大きくなった事を検知できればタッチスイッチとして機能する事ができる。
この静電容量の変化をどうやって正確に検知するかが、このタッチセンサーの作製を成功させるカギとなる。

5年前にうまくできなかった時の手法は、下記のような回路で

e0359523_15434419.jpg












まず、①のようにセンサーを繋いだポート(PB1)を開放してセンサーに溜まった電荷を放電させる(器を空にする)。
そして次に②のようにポート(PB1)を閉鎖すると5Vの電源からセンサーに電荷が溜まりはじめるので、ポート(PB1)でセンサーの電圧をループで監視し何度目のループでポート(PB1)がHになるかを数えて検知していた。例えば、指で触れていないときにループ100回点目でHになっていたものが、指で触れると200回点目でHになるので、このループの回数の違いによって判断していた。
しかし、この静電容量というものは非常に小さいものなので普通に充電すれば「あっ」という暇もない時間(ナノ秒かピコ秒か知らないけど)で充電されてしまうので、センサーの手前に47MΩ(47000000Ω)の非常に大きな抵抗を入れて非常に小さな電流にして充電し、その充電される時間で検知してたけれども、それが原因なのかどうかは私には解らないけど、判定が安定せず、気持ち良く反応するときもあれば、まったく反応してくれない時もあるという感じで、最終的には使い物にできなかった。


しかし、つい先日見てた情報で、少し違う手法で検知する方法があって、それは「チャージ-トランスファ方式」と呼ばれる方法のようだ。因みに、上記の私が失敗した方法は「単純積分方式」と呼ぶらしい。
この「チャージ-トランスファ方式」という手法が有った事は以前にも知っていたけれども、当時はどうも原理が理解できなかったので手を出さなかった。
しかし、今、その方式が書いてある情報を見ると、なんとなく原理が理解できたので、現在、このタッチスイッチや水位センサーが必要な訳ではないけれども、電気回路の勉強のためにもう一度作ってみようかと・・・

今回、私が組んだのは下図のような回路で、マイコンの2つのポートを使用するのと、コンデンサを一つ追加している。


e0359523_15435283.jpge0359523_15435833.jpg


























仕事の流れとしては 
①PB1、PB2 ともに開放して10nFのコンデンサーとセンサーに溜まってる電荷を全て放電する
②その後、PB2を閉鎖した後にPB1から5Vを出力してセンサーを充電する(この時、PB2は閉鎖しているのでコンデンサーは充電されない)
③その後、PB1を閉鎖してからPB2を開放するとセンサーに溜まっていた電荷が逆流してきてコンデンサに溜まる(このとき、センサーの静電容量よりもずっと大きなコンデンサーなので、1回ではコンデンサーは満タンにならない)
④その後、PB1、PB2共に閉鎖して、PB1のポートがHになったかどうかを確認し、Hになっていなかったら②に戻って繰り返す。

この上記の②から④までの行程をループで回して、④でHになるまでの回数を数える。そして、指を触れていなかった時の回数と比較して、回数が少なくなっていればセンサーの静電容量が大きくなったと判断できる(この時、センサーに溜まった電荷を繰り返しコンデンサーに貯める事になるので、センサーの器が大きくなればコンデンサーには早く溜まる。「単純積分方式」のときとは逆になる)

この方式で試してみた。

まずは、プログラムを書いてから、テストボードに10nFのコンデンサと100Ωの抵抗を組み込んで、センサーとしては小さな銅板に電線をはんだ付けしたのをビニール袋に入れて絶縁しテストしてみた。
e0359523_11190440.jpg



以前の「単純積分方式」と違って、反応が非常に安定している!!
これなら使い物になるんじゃ・・・?
と思い、ビニール袋ではなく、実際に使用するときには使うであろう2ミリ厚のアクリル板でもテストしてみた。



おお、ええ感じに反応してるやないの!!
使い物になりそう。

過去に失敗した「単純積分方式」と今回トライした「チャージ-トランスファ方式」
方法としてはよく似てるけれども、いったいどこにこの安定性の違いがあるのかを私なりに考えてみた。
まず、指先(センサー)は電荷でいうと非常に小さな器なのでスプーンに例えて「スプーンA」と呼ぶ事にする。
どちらの手法も要するに、そのスプーンAに何cc入るのかを計ろうとしている事には違いがないけれども、計り方に大きな違いがあって、「単純積分方式」では、例えて言うと、水道の蛇口から水をポタリポタリと水滴状にして落としいき、その水滴の数を数えながらスプーンAで受けて、何滴落ちたときにスプーンが一杯になったかどうかを記録して

一滴の水量×水滴の数=スプーンの容積
という計算になる。

これに対して「チャージ-トランスファ方式」はどうか?と言うと、「チャージ-トランスファ方式」では、スプーンAに水を入れていくのではなく、スプーンAで水をすくってコップに入れていき、スプーンAで何回すくえばコップが一杯になったを数えて、

コップの容積÷すくった回数=スプーンの容積
となる。

ただでさえ非常に小さい値を扱う中で、どちらが正確に計れるかは深く考える必要もない。

なるほど!!
と自分なりに納得したところでした(笑)


これなら、きっと水位センサーにも使えるはずなので、後日それもテストしてみる事にしよう。





[PR]

by masax7790 | 2017-02-24 17:38 | AVRマイコン関連 | Comments(0)

重量計 完成したかも?

完成寸前でSDカードの書き込みにエラーが出る事が分かった重量計


エラーの原因はSDカードの電源だろう、という事だった。


改良の必要がある部分は大きく2つ


まず1つはSDカードへ送る電源をAVRのポートから直接送っていた事。


これを解決する為に、AVRのポートからの信号でMOSFETをスイッチングしてSDカードへ電源を送る事にした。本来ならそれだけで良かったけれども、実は元々使っていた秋月の「SDカードスロットDIP化モジュール」に装備されていた3端子レギュの無負荷時の大きな消費電流が気に入らなかったのと、このスロットのバネが硬くてカードを挿入する感触が好きになれなかったので、SDカードスロット基板を丸ごと組み直す事にした。


e0359523_13153361.jpg

今回はサンハヤトのSDカードスロット変換基板を使った。


カードスロットが載ってるだけの基板だけれども、3端子やプルアップ抵抗までフル装備の秋月のカードスロットと比べて価格は、ほぼ4倍!!


しかし、秋月のカードスロットはカードを押し込むのが硬いので入れる時の感触だけじゃなくて、基板への取り付けを頑丈にしておかないと基板が潰れそうになるし、またカードが最後まで入っていなくてもカード検出用の端子からは入ってる事になってる信号が出てプログラム上でも問題が出るし、そのあたりを考えると、価格もそれなりかな?、という感じ(笑)


このカードスロットを取り換えて、カードを挿入する感触もソフトになって良い感じ!!


そして、3端子レギュレターも低損失タイプにしておいた。


ただ、基本的な仕様としては、5Vから3.3Vの変換器ICを使う「高級仕様」ではなく、ダイオードを使う「お手軽仕様」をそのまま使う事にした。これで本当に上手く動くのかどうかを最終確認したかったので!!


そして、もう一つ


回路全体の大元の電源になるDCDC昇圧コンバーターで、これも最大電流が100mA程度だったので、もっと余裕の有る物を探してみて


ストロベリーリナックスで販売されていた


https://strawberry-linux.com/catalog/items?code=12055


このDCDC昇圧コンバーターを使ってみる事に


e0359523_13153352.jpg
 
左が今回購入したDCDCコンバーターで、右が元のコンバーター。


前回のコンバーターよりも小さいけれども、500mA程度くらいまで流せる感じ。


前回のコンバーターは0.25Vからでも5Vに昇圧できたので、乾電池1本の1.5Vで十分に使用する事ができ、出力電圧も自由に調整することができたけれども、悲しいかな最終的に出力電流が足りなかった。それに対して今回のコンバーターは最低2Vからしか5Vに昇圧できないので乾電池1.5Vが最低でも2本必要になるし、出力電圧は3.3Vか5Vの二者択一。しかし、その代わりに2Vから5Vへの昇圧で500mA程度まで流せるそうなので余裕がある。またパワーセーブという機能が付いていて低負荷時の消費電力を節約するんだとか?


上記の大きく2つの改良をしてみてどうか・・・?


結果としては、バッチリ!!


SDカードの読み込みも書き込みも全くエラーが出なくなった。


SPIの処理速度も遅くせずにデフォルトのままでも大丈夫!!


これで正常に機能するようになったけれども、こうして電源周りを変更する事で、消費電量が増えたのでは何をしてる事か分からないので、このあたりを確認してみる。


まずは、スイッチOFF時(AVRのスリープ時)には


e0359523_13153371.jpg

0.06mA


乾電池交換時にリセットが掛からないように、電気二重層コンデンサを入れると0.11mA


それから、スイッチON時には


e0359523_13153420.jpg
 
14.55mA


このデータから、改良前と同じ計算をしてみると


実際に測定するときには1回の測定で余裕を見て3分間程度で、全部で5個の巣箱を1週間に1回ずつ測定するとして測定時間は1週間で3分✕5回=15分で1日あたり2.14分。もっと余裕を見て計算し易いように1日あたり3分間の使用として365日で、3分✕365日=1095分 1095分÷60分=1年あたり18.25時間の使用時間として、


スイッチONの時が計算しやすいように15mAとして、


18.25時間✕15mA=273.75mAh の消費となる。 


スリープ中は0.06mAなので


0.06mA✕24時間✕365日=525.6mAh


もし電気2重層コンデンサを入れると0.11mAなので


0.11mA✕24時間✕365日=963.6mAh


そして、AVRがスリープから目覚める瞬間の消費電流が


15mA✕(5/10000000)=0.0000075mA 常に流れてるのと同じになると思うので 0.0000075mA✕24時間✕365日=0.0657mAh


すべて合わせて 273.75mAh + 525.6mAh + 0.0657mAh = 799.4mAh


すべて合わせて 273.75mAh + 963.6mAh + 0.0657mAh = 1237.4mAh


単3乾電池の容量を2000mAhとすると


2000mAh ÷ 799.4mAh= 約2.5年間


電気2重層コンデンサを入れるとしても


2000mAh ÷ 1237.4mAh= 約1.6年間


これに実際はSDカードの書込、読込時の消費電力があるけれども、これは計算しきれないのと、短時間なので若干という事にしておくとして


これなら、いけるかも知れない!!


もう少しテスト(バグ出し)を続けてみよう


 


 


[PR]

by masax7790 | 2015-04-27 12:45 | AVRマイコン関連 | Comments(0)

次はSDカードスロットか・・・?

スリープ時の時刻が正常に進むようになり、ケースも作成したので


e0359523_13153284.jpg

これで完成か!!


と思いきや・・・・・・・


何度も動作のテストをしてると、また不具合が発見された。


今回の不具合はSDカードの書き込みで、SDカードに書き込んだデータをパソコンで確認すると何度か「ファイルが壊れてる」との事で、まともに書き込めていないデータが時々出てくる。


つい先日までは正常に書き込めてると思ってたのですが、記録データの量を増やしたところ、この不具合が発生し始めたように思う。


また、スイッチON時にSDカードから読み込むデータがいくつか有るのですが、なんとなく読み込むのに時間が掛かり過ぎてるように思う。(遅いというか、マイコンが考え込んでるような感じ)


SDカードの書き込みは、サーモスタット回路で使っており、これは現在も問題なく正常に書き込みも読み込みもできているし、ソフトウェアSPIだけれども、もっと速く書き込みもできている。今回の重量計ではハードウェアSPIを使っているのに非常に遅く感じる。

毎回、同じ症状が出るなら、プログラムを疑うところですが、ファイルが壊れるのは毎回では無いので、なんとなく疑わしいのがSDカードスロットモジュール!!


今来ならそのままでは使えない物にダイオードを取り付けて無理やり使えるようにしてた訳だから、そこに原因があるんじゃなかろうか?、簡単な仕事ならこなせるけど仕事量が増えたりすると処理できなくなるとか・・・・・・?


これ以上自分で考えて答えが出せるとは思えないので、SDカードスロット周りの回路を現在どうしてるか簡単な図を書いてまたO-Familyさんに見て頂き、回路に問題は無いだろうとの事でしたが、電源に問題がある事が判明した。


ここで初めて知った事でしたが、SDカードの書き込みには200mAを余裕で流せる電源が必要だとの事。


今までのSDカードの電源は、少し前に書き込みをしていない時でも50mA消費している事が分かったのでSDカードには常時電源を送らずに、書き込みや読み込み時にだけ、AVRのポートから5Vを送り出すようにしていたけれども、この方法だと200mAの電流は送り込めない。


それだけではなくて、大元の電源は乾電池の1.5VからDCDCコンバーターを使って5Vに昇圧しているけれども、このDCDCコンバーターも調べてみると、最大で100mA程度しか流せない事も分かった。


そんなところで、大元の電源回路を考え直すか、あるいはSDカードではなくEEPROMの増設など他の方法でデータを記録するのが良いのか??


完成寸前だったけれども・・・・・・


少しじっくりと考えてみる事にします。


[PR]

by masax7790 | 2015-04-24 08:25 | AVRマイコン関連 | Comments(0)

クリスタルの異常発振??

只今作成中のミツバチの巣箱の重量を測定して記録していく重量計ですが


乾電池の1.5Vからの昇圧もなんとなく上手くいけそうな感じになり


SDカードへの書き込みも無事にできるようになり


データ書き込みのプログラムもまとまり


完成を見据えて、ケースを作製する材料のアクリル板もオーダーしたところで思わぬ不具合が・・・・


この重量計には巣箱の重量を測定して表示するだけではなく、測定した値をその巣箱ごとに記録していく機能を付けているけれども、この重量のデータを残していく上で重要なのが日時のデータなので、回路の中には日時を刻む時計の機能もある。


しかし、この時計の機能に不具合が・・・・


どんな不具合かと言うと


この時計は、あくまでも時計なので、重量計のスイッチを切っていても時刻は止まらずに刻み続ける必要があるので、スイッチをOFFにしても内部の時計機能だけは動作させている。


この時計機能が、普段テストしている時は何の問題もなく正確に時刻を刻んでいるように見えたのですが、スイッチをOFFにしたまましばらく放置して再度スイッチを入れてみると、確かに時刻を刻み続けているけれども、なぜかものすごく早く時刻が進んでいる事に気付いた。


数パーセントの狂いではなく、2倍以上のスピードで進んでいる事になる狂いだった。(狂いと呼べる範囲ではない)

ひょっとして、クリスタル発振子のパルスにノイズが乗ってカウント数が大幅に増えたのか?


しかし、いつもお世話になっているO-Familyさんに相談したところ、スリープ時のノイズが影響するのは考え難いとの事だったので、プログラムをもう一度、ゆっくりと再確認してみたけれども、時刻を早く刻んでしまうような間違いは見当たらない・・・・・


いったい何が原因なのか、いろいろネットサーフィンしてみると、クリスタル発振子は「オーバートーン」という異常発振(周波数が高くなる)をする事があるらしいく、その状態になると周波数が奇数倍になるんだとか??


そう言えば・・・・・・


昨夜、異常を感じてからもう一度時刻を合わせてスイッチをOFFにしたのが夜の12時前だったけれども、今朝7時頃にスイッチONにして確認してみたところ装置が示す時刻は22時になっていた。そして帰宅してもう一度確認すると夜の8時の時点で、装置の時刻は17日の11時半。という事は20時間経過した時点で装置の時刻は55.5時間進んでる。


約3倍程度進んでる事になる・・・・・


奇数倍・・・・・
ひょっとして、オーバートーンという現象が起きてるのか??

これを確かめるのに、とりあえず、スイッチOFF時のパワーセーブからの1秒毎の復帰に合わせてLEDが点滅するようにしてみたところ、普通に1秒のピッチで点滅しているので、このオーバートーンは違う・・・・・・・・


クリスタルが正常に発振してるという事はクリスタル自体でも回路の問題でも無く、残っているのはプログラムの問題だけのはずなので、プログラムの中から、時計の機能以外の部分を全て削除し、時計機能だけを残してテストしてみると、スリープ時に時刻が異様に進んでしまう症状に変わりは無い。

ここで、スリープ時の割り込みのタイミングを確認するためにもう一度、パワーセーブのすぐ後に、LEDを10msecだけ点灯させる


Powersave
Test = 1 

Waitms 10
Test = 0


↑TESTというのは、LEDを点灯させるポート


こんなコードを入れてみて、再度確認したところ、前回と同じく、LEDは正確に1秒ピッチで点滅するけれども、スリープから再起動させたところ、なぜかスリープ時の時刻が正常に進むようになった??


この前記のコードの前後も書くと


P_down:
 Powersave   'パワーセーブモードに     
 Test = 1    ’LEDを点灯  
 Waitms 10  ’10msec間点灯
 Test = 0  ’LEDを消灯  
 If Sw_power = 1 Then Goto P_down  'スイッチがが押されていなければループさせる


上記のコードはパワーセーブの状態からTimer2の1秒毎の割り込みで復帰し、すぐにスイッチの状態を確認して、スイッチが押されていなければすぐに再度スリープさせていたコードの中に、LEDを点灯させるコードを挿入している。


少し前に、LEDの点滅で1秒の割り込みを確認したとき(スリープ時には異様に時刻が進んだとき)のLEDを点灯させるコードは


Toggle Test だけだった


このコードを


Test = 1 
Waitms 10
Test = 0


こう書くことで、時刻が正確に進むようになったので、ひょっとして待ち時間を入れてやる必要が有るのか?、と O-Familyさんに尋ねてみたところ、Timer2を32.768KHzで動かす場合、マイコンの動作クロックを8MHzになると処理時間が短くなり(速く処理できる)、Timer2が仕事を完了する前にスリープに入ってしまうとの事でした。


そんなところで、動作クロックを8MHzにするなら、スリープ復帰から再度スリープに入る間に10~30μsecの待ち時間を入れるべきだとアドバイスを頂きました。


そこで、上記のプログラムのLEDの点滅のコードの代わりに、Waitus などの待ち時間を入れれば解決するんですが、よくよく考えてみれば、いつもの癖で8MHzを使っていたけれども、この重量計のプログラムには8MHzで動かさないと処理できないようなスピードを要求する仕事は無いし、そもそも省電力を望むなら8MHzで作るよりも1MHzにするべきじゃないか??、と考えを改め、1MHzでプログラムを組み直した。


そして、スリープ時にも無事に時刻を刻んでくれるようになりました。


O-Familyさん、今回もありがとうございました。



電気には、まだまだ分からない事が多過ぎる・・・・・(笑)


[PR]

by masax7790 | 2015-04-17 11:22 | AVRマイコン関連 | Comments(0)

DCDCコンバーターのテスト

先日の重量計バージョン2の記事に、そらさん、中年会社員Aさんより、コメントでいろいろ情報やアドバイスを頂き、確認しておく必要があるところがいくつか見つかりました。今回もありがとうございます。


そして、その中から、まず使おうとしているDCDCコンバーターが使い物になるのかどうかを確かめておく必要がありそうなので、そこを確認してみる事にしました。


コンバーターは既に届いているので、早速テストボードでテストしてみる事に・・・


e0359523_13151786.jpg


まずは、コンバーターだけで乾電池1本でホントに昇圧できるのか?


できるのが当たり前でしょうけど、私は使い方自体に自信が無いので(笑)


e0359523_13151768.jpg


https://strawberry-linux.com/pub/ltc3105-manual.pdf


マニュアルにMPPCとGNDに22kΩの抵抗を入れるように書いてあるので、それだけ入れて、Vinから乾電池より1.5Vを放り込んでみる。そして電圧調整用のボリュームを回して出力電圧を確認してみると入力が1.59Vで確かに最高5.66Vまで昇圧できている。


e0359523_13151703.jpg


この状態で何も負荷は繋がずに乾電池からVinに入る電流(本当の消費電流)を測ってみると0.14mA。


単2の乾電池の容量が6000mAhだとして 6000mAh÷0.14mA=42857時間


42857時間÷24時間=1785日間


1785日÷365日=4.89年間



この出力を実際にAVRの電源としてテストボードでAVRに繋いでみる!!


使うAVRはATmega644P


e0359523_13151714.jpg


LCDの表示はできているし、SDカードの書き込みも無事にできた!!


この状態からパワーセーブ状態にしてみると


e0359523_13151789.jpg
コンバーターだけで0.14mAだったので、AVRが喰ってるのは0.01mAだけ


テスターのレンジがmAなので、コンバーターを使わずに乾電池3本の4.5Vを直接繋いで測ってみると


パワーセーブの状態で


e0359523_13151892.jpg


わずか1.3μA


これを見ると、殆どコンバーターが喰ってるのが分かる・・・・・


そして実際に重量を測定しながらLCDも表示させてSDカードも繋ぐと、どの程度の電流が流れ出るのかを測定してみたところ


e0359523_13151811.jpg
 
100mA前後の電流が流れてるので、SDカードの電源を外してみると


e0359523_13151874.jpg
 
50mA前後になる。


という事は、SDカードについては書き込み動作や読み込み動作に入る時だけ電源を送るプログラムにしよう。


というところで、ざっと計算してみると


実際に測定するときには1回の測定で余裕を見て3分間程度で、全部で5個の巣箱を1週間に1回ずつ測定するとして測定時間は1週間で3分✕5回=15分で1日あたり2.14分。もっと余裕を見て計算し易いように1日あたり3分間の使用として365日で、3分✕365日=1095分
1095分÷60分=1年あたり18.25時間の使用時間として、SDカードの電源も使用中はずっと入ってるとすると


18.25時間✕100mA=1825.mAh の消費となる。 


スリープ中は0.15mAなので 0.15mA✕24時間✕365日=1314mAh


それからもう一つ、AVRが1秒に一度、Timer2の割り込みで一瞬だけ目を覚ましますが、この瞬間にどれだけの電流を消費するのかが分からないので、仮にタイマー割り込みから目覚めてフラグを確認してからもう一度パワーセーブに入るまでの時間から計算するのに、これをBASCOMのシミュレーターで見てみると、0.0005msecとなってたので、仮にこの間スイッチONの時と同じだけ(15mA)電流を喰うと仮定すれば、 これを均すと15mA✕(5/10000000)=0.0000075mA 常に流れてるのと同じになると思うので 0.0000075mA✕24時間✕365日=0.0657mAh


全て合わせると 1825mAh+1314mAh + 0.065.7mAh=1年あたり3139.0657mAh


単2の乾電池だと容量が6000mAhとして 6000mAh÷3139.0657mAh=1.91年間


これが本当だとすると、なんとかいけるけど・・・・


ホンマかいな・・・・???


こんな計算で合ってるのかな?????



小さい電流で安物のスターなので、テスターの値を信じて良いのかも?ですが・・・・・


物凄く自信が無くなってきたけど・・・・笑


※スリープ状態から復帰する時の電流の計算が間違っていたので訂正4/3 ↑上記青字の文章を修正


[PR]

by masax7790 | 2015-04-03 00:19 | AVRマイコン関連 | Comments(0)