現用中のBSch3V部品ライブラリのバックアップ
バックアップがわりにアップロードしときました。
※http://act-ele.c.ooco.jp/jisaku/jisaku1.htm#BSCH3V_LIB
前回が2020年3月でしたんで、2年ぶり。
水魚堂・岡田さんに大感謝!
バックアップがわりにアップロードしときました。
※http://act-ele.c.ooco.jp/jisaku/jisaku1.htm#BSCH3V_LIB
前回が2020年3月でしたんで、2年ぶり。
水魚堂・岡田さんに大感謝!
発振してないからOKで良いのかどうか・・・
先日の記事、修理案件 オペアンプ ICL7611 の回路を追いかけたら、
およそこんなことになっていました。
マイコンのA/D入力にオペアンプの出力や基準電圧、サーミスタでの
温度測定回路がつながっていました。
そのA/D入力それぞれに10uFというけっこう大きなコンデンサが
入っています。
外乱ノイズ防止とサンプリングによる電圧変動防止いうこと
なんでしょう。
気になるのはオペアンプの出力に直接つながっている10uF。
オシロで見ても発振はしていません。
入力に方形波を加えてもへんなリンギングは出ません。
出力とコンデンサの間に抵抗を入れておきたいところですが、
発振してなかったらOKということで良いのかなぁ。
位相回転で位相余裕とかゲイン余裕はどうなるんでしょうか。
過去記事を探すと・・・
・2017年9月11日:1/2Vcc生成回路のコンデンサ
・2017年9月16日:枯れた技術の伝承が・・・
・2017年9月17日:枯れた技術… んっ! 枯れ過ぎた?
ということで。
修理案件で オペアンプICL7611 が必要に。
パーツボックを探しても見当たらず。
「昔、何かで使ったよな~」っと、記憶の海(深海だ~)
からすくい上げると・・・
2008年01月14日:OPアンプ1石でできる簡易型静電気検出器
(トラ技1999年7月号に掲載してもらってます)
ユニバーサル基板にハンダしてあるんで、ここから外すわけにも
いかないし・・・
ということでネットを探したら 秋月電子通商 で発見!
とりあえず手配をを完了。
古いアンプですが、入力に保護ダイオードが付いているのが良。
(ルネサスのデータシートから)
V-側だけでなくV+に向けてのダイオードが入っているんで、
外乱に対して、ちょっと安心。
※追記
製作した簡易型静電気検出器の回路
たまたま手持ちにあったICL7611を使ったという
記憶です・・・
MOS FET入力OP-AMPを使ってバッファしているだけ。
増幅はしていません。
乾電池2本の±電源で、センターゼロメータを振らします。
メータに表示されるのは静電気があるかないかだけ。
「何kVで帯電している」は分かりません。
「非常用ツール」としていつでも使えるようにしてあります。
・簡易型静電気検出器の解説
『ポンプが回ると制御回路が暴走!』の現象確認に使いました。
Behzad Razavi 著「アナログCMOS集積回路の設計」 ・・・続き
表紙の回路↓、決着をつけたいので、ブレッドボードに乗せてみました。
オペアンプはLMC6482。
上側のP-ch MOS FETは2SJ527。
下側のN-ch MOS FETはGNDへの負荷として10KΩで。
非反転入力のスイッチは、直接続のと10KΩを通して
の接続の2つに。
コンデンサは0.1uFで。
電源電圧は5V。
SW1をオンして非反転入力を直接続すると・・・
細いパルスが不安定に出ます。
(机上で誘導を受ける感じ)
SW2をオンした時。
パルス幅が広がりますが、それでも不安定。
拡大すると↓
意味のある回路に思えませんが、どうなんでしょか?
※追試
負荷に発振止めのコンデンサ(☆)を入れ、
反転入力にボリュームをつなぐと、「0~Vdd間」を
可変できる「可変電圧出力電源」になりました。
これを狙ってたん?
でも、元回路だと出力0Vなんだけれど・・・。
非反転入力のスイッチは何の役目を・・・。
ランプ波が出るわけじゃなし。
※追記
本の中に「オペアンプ + P ch MOS FET」を使った回路がないかと
探してみました。
こんな時は紙の本。 電子データ(PDF)ではパラパラめくり
で目的物を発掘するなんてできません。
応用編のほうで2つ発見。
VCOの解説で、定電圧回路を構成。
もう一つ。
赤字で記しましたが、(b)は「+/-」を合成(加算)する部分が
逆です。
PMOSでアンプの出力位相が逆転するので、+/-を入れ替えないと
フィードバックが正しく動きません。
NMOSを使った(c)はそのままでOK。
「アナログCMOS集積回路の設計」 ・・・なにやら有名な本とのこと。
ちょっと気になったんで、図書館から借りてきました。
図書館の本は、左下部分に「大阪市立図書館」のタグシールが
貼ってあって、回路の一部が隠されていました。
ネットを探すと全体が判明。
基礎編も応用編も同じものでした。
隠れていた左下の絵は、どうやらウエハーの断面のようです。
で、「オペアンプとMOS FETを使ったこの回路はなに?」
というのが疑問点。
1.オペアンプ、入出力間にコンデンサがつながっている
んで、積分回路のように思うが、つないであるのは
非反転入力。
ふつう、積分回路だと非反転をGNDにして、
出力・反転入力間に積分コンデンサを入れる。
2.このつなぎかたなら、ゼロクロスを検出するコンパレータ?
コンパレータで出力・非反転入力間にコンデンサを入れるのは、
ヒステリシスをかけたときの(抵抗を入れるんで)
スピードアップのためなんだけど・・・
3.ウエハーの絵が描いてあって、そこに一番上からプラス電源
を落とし込むような雰囲気なんで、「ラッチアップ」の
試験回路なの?
4.残念ですが、よくわかりません。 はい。
どなたがご教示を! ぜひ!
※追記 こんな表紙もあった・・・なんだこれは!?
「●」は無いけど、反転入力と非反転入力を「つないで」
GNDに落としてます。
※参
・「十字接続は避ける」
※追記
「MOS-FETの矢印」についてはこの本の表記方法に大賛成です。
・パワーMOSFETの回路記号:MOSFETの矢印
バイポーラトランジスタの場合は、そのエミッタに
電流の向きを示す矢印。
MOSFETでも、「ソース」に電流の向きを示す矢印で
良いんじゃないかと。
回路を考えるときは、「寄生ダイオードの向き」なんて
特種な場合(逆流のおそれあり)しか気にしないでしょう。
ソースにある矢印のほうが直感的かと。
この本の基礎編・概論p15では、
「本書では、ソースとドレインを区別したほうが理解
しやすいので図2.5(b)の記号を使うことにする。」っと
この記号↓
※追記
「ウエハーの断面」を描いた解説、関係しそうなのは
P16の図2.6くらいかなぁ。
表紙の回路、それにしても目的が不明です。
圧電発音体(ピエゾ・スピーカー)を衝撃(振動)センサーに
した時の検出回路、トランジシタ1つだと回路は簡単ですが
振動波形のうねりによりチャタリングでミスカウントする
ことがあります。
パルス検出プログラムが、V-sync(60Hz)のタイミングで
動いているので、ソフト的なチャタリング除去がもうひとつ
うまくいきません。
きちんと波形を捉えて、1発パルスにしておきたいという
ことで、LM393を使ってヒステリシスを持ったコンパレータ
回路を使うことにしました。
この時のヒステリシスの考え方を図示しておきます。
検出回路の全体図
比較電圧はコンパレータ部の(+)端子、非反転入力です。
この電圧を抵抗値から計算します。
このように抵抗がつながって、+端子の電圧が出力のHとLで
変化してヒステリシスが生まれるのです。
さて、トランジシタを使ったシュミット回路、あれこれ
ありますがどうしても入力インピーダンスが低くなって
しまいます。
比較電圧の基となるのがTrのベース・エミッタ間電圧です。
温度変化もあるし・・・
代表例を示しておきます。
そんな中、0~5Vや0~12Vを検出するのに役立つのが、
RS-232C用レシーバーIC。
代表品番が75189と75189A。
14ピンにこんな回路が4つ入っています。
189と189AでR1の値が違っていてヒステリシス電圧が
異なります。
(TIのデータシートより)
今は、シュミットICといえばC-MOSの4584やHC14で、
入力インピーダンスが高いので、時間遅延などの用途
では時定数の抵抗を大きくできます。
ただ、ヒステリシス幅や検出電圧が自由に設計できません。
※「シャカシャカ・ホイップ」 最終(ほぼ)回路
これで、衝撃センサーを使った10秒ゲームが同じ
ソフト・ハードで動きます。
「ボコスカ」「シャカシャカ」「炎のターゲット」の3種
はこれでOK。
※バックアップがわりに現在のスケッチ
・ダウンロード - piko_boko1b.zip
スタートしてINT0にパルスを入れると得点が上がります。
「ピコピコ」の場合はINT0とINT1交互に入力。
A4、A5にテスト用のパルスを出力してますので、これを
INT0(ピコピコならINT1にも)につなげば得点パルスに
なります。
※計測中にSTART SWを押すと、このパルス周期が
変わりますので、得点が進む速さが変わります。
■画面の様子 横32dot × 24line
・ゲームのタイトル表示
---- ----
| シャカシャカ | |ピコピコ|
|ホイップ| |スイッチ|
---- ----
---- ---- ----
|ボコスカ| | 炎の | |ぱたぱた|
|ハンマー| | ターゲット | |プロペラ|
---- ---- ----
・合格点とゲーム時間表示(起動時)
----
|100合|
| 10秒|
----
・開始、秒読み、カウント
---- ---- ----
| よ~い | | それ~ | | 23 |
|321 | |■■■■| |■■ |
---- ---- ----
10秒の残時間バーが減少
最初のパルス入力が来るまで計時しない。
パルス無し2秒が続いたら計時開始。
・結果表示
---- ---- ----
| 89×| |123Hi| |102ok|
|ざんねん| | ハイスコア | | 合格 |
---- ---- ----
合格点=0の時は合格表示はしない。
・スタンバイ、スタート待ち
----
|123Hi| ←新ハイスコア Hi点滅
|119Hi| ←旧ハイスコア 次ゲーム開始で新に更新
----
・モードスイッチ操作
---- ---- ----
| Select | | Select | | Select |
| ゲーム | | 合格点 | | チャタリング| 設定項目を選ぶ
---- ---- ----
・ゲーム種別設定
----
| ゲーム |
|ピコピコ| ←5種から選択
----
・合格点設定
----
| 合格点 |
| 10点| ←0~150まで10点ピッチで設定
----
・チャタリング除去処理の有無を設定
---- ----
| チャタリング| | チャタリング|
| なし | |あり:1c |
---- ----
※ビデオ出力回路
なぜトランジシタでバッファしているのかと
出力にコンデンサをいれている理由の説明。
「大声」と「ボコスカ」でビデオ出力を2系統に
して作ったのがあります。
競技者が見るテレビと観客が見るテレビ(例えばプロジェクタ)
を別に置くとき回路の分岐が便利だから。
いつものように図書館で。
『インフルエンザは征圧できるのか』
著者:青野由利 2009年11月発行
2009年に起こった「新型インフルエンザ・パンデミック」を
まとめたものです。
著者は毎日新聞の科学担当論説委員さん。
私の旧ブログでもこんな記事を書いていました。
・2009年08月02日:新型インフルエンザでイベント中止
※我が地域では中止にはならなかった。
この本の第1章「豚から人へ」にこんな一文があります。
~~~~~~~~~~~~~~~~~~~~~~~
保健所に設けられた発熱相談センターにも
電話が殺到し、発熱外来にも感染を疑う人
が押し掛けた。
「限界だ」という声に拍車をかけたのが、
経済的打撃を憂慮する大阪府の橋下徹知事
らの発言だった。
「このままでは都市機能が麻痺する」。
橋下知事は桝添要一労働大臣に訴え、対策の
緩和を訴えた。
「弱毒なのだから、季節性のインフルエンザ
と同じ対応に移すべきだ」というのが主張の
内容だった。
:
「季節性と同じ」という言い方は、「いわば
政治的判断」である。
~~~~~~~~~~~~~~~~~~~~~~~
これ、2009年の話です。
今の話じゃありません。
橋下氏、知事だったんですなぁ。
また、今のCOVID-19でも、中心になっておられる方の
発言も。
~~~~~~~~~~~~~~~~~~~~~~~
政府の新型インフルエンザ対策本部専門家
諮問員会委員長を務める尾見茂も、6月24日
に日本プレスクラブで講演した際に、こう
ぼやいた。
「今回は、季節性と明らかに似ているところ
と、明らかに違うところがある。
病原性が弱いから安心、強いから心配とい
う構図にならない。
でも、何回説明しても、マスコミはそう書い
てくれない」。
~~~~~~~~~~~~~~~~~~~~~~~
今へそのまま持ってきてもおかしくない発言です。
第7章「21世紀の闘い」、その締め括りです。
~~~~~~~~~~~~~~~~~~~~~~~
インフルエンザはこれからもパンデミックを
起こすだろう。
次のパンデミックを、人類はどのように迎え
撃つことになるのか。
その時に、今回の経験がどう生かされるのか。
今はまだ、インフルエンザそのものの振る舞い
と同じように、まったく予測がつかない。
~~~~~~~~~~~~~~~~~~~~~~~
ピエゾスピーカー(圧電発音体)を衝撃(振動)センサーとして使った
「10秒ゲーム」の一つ、『炎のターゲット』は2003年のイベントに
登場していました。
その写真を発掘しました。
ターゲットには「あててみな!!」のメッセージ。
寝てる人は気にしないように。
テントや盆踊りやぐらの設置などで疲れて・・・
・・・故 愛宕先輩・・・合掌。
撃ったBB弾を回収して銃に装填しなくちゃなりません。
これに人手が必要。
この作業がネックになり、これ1回かぎりでおしまいに。
ゲーム中の様子。
子供たちには大人気。
「10秒間」という時間制限でどれだけ命中させられるのか、
手に取った「銃」の性能(弾道はけっこうエエかげん)を
時間内でどれだけ補正できるのか、大人がやっても面白い。
今回の「シャカシャカ・ホイップ」のArduino UNO化で
復活もありかなぁ。
センサーをどうするかだけの問題ですんで、「シャカシャカ」も
「炎のターゲット」に変身できます。
圧電発音体(ピエゾ・スピーカー)を振動(衝撃)センサーとして使った
「10秒ゲーム」、過去あれこれ作ってきました。
今回のタイトルは「シャカシャカ・ホイップ」。
その制御プログラムをArduino UNOのATmega328Pにまとめよう
ということで、あれこれ試行錯誤しております。
過去に作った10秒ゲームのタイトル。
※写真はそのうち発掘します。
・「ボコスカ・ハンマー」
・「ピコピコ・スイッチ」
現役で大人気品。 学校でのイベントゲームの主役。
・「炎のターゲット」
銀玉鉄砲でBB弾を撃ち、マトに当てるというゲーム。
マトの裏にセンサーを貼り付けてアタリを検知。
子供達に大人気だったが、BB弾の回収がうまくいかず。
(回りにビニールシート張り、傾斜させて丸いBB弾が
勝手に集まるようにしてみたが・・・手間がかかる)
1回限りの出動でおしまい。
・「ぱたぱた・プロペラ」
ウチワでプロペラをあおいで、10秒間で何回転できるかを競う。
子供達、むちゃはまる。
残念ながら屋内用。
屋外だと、風が出てきたらプロペラが勝手に回ってゲームにならない。
・「やかまし・チューブ」
透明の筒の底にセンサーを貼り付けてある。
筒を上下に振り、中に入れた小ゴムボールの衝突回数を競う。
ムキになる。
センサーからリード線が出ているのでブラブラしてじゃま。
無線化できればと。
・「びんぼう・ゆすっち」
両端にスイッチを取り付けた筒を、膝ではさみこみスイッチを
びんぼうゆすりでon/off。
派手さが無いのであんまし。
今回のArduino スケッチ、これらのゲームに対応できるように
してみました。
(ハードはそれぞれ合ったインターフェースが必要)
表示と音出しはテレビに。
使わなくなった地デジ未対応のブラウン管テレビ、
これらのゲームのために学校倉庫に置いてあります。
「シャカシャカ・ホイップ」の回路、こんな感じでまとめました。
ピエゾスピーカーからの信号をトランジスタで受けて
モノマルチで一定幅のパルスに。
それをINT0入力(↓エッジ検出)で数えます。
オペアンプやコンパレータは使わず、こうするほうが
シンプルに。
衝撃センサー1つだけの「ボコスカ」や「炎の」「やかまし」、
今回の「シャカシャカ」がこれで対応できるでしょう。
「ピコピコ」はスイッチ2つの入力になります。
「ぱたぱた」はプロペラの回転を検知するのに光電センサーを
使っています。
「ぱたぱた」の場合、速度が速いので(他のゲームは60Hzで入力を
サンプリング)、H-syncのタイミングで入力パルスをカウントする
処理にしています。
「mode SW」でゲームの種類(タイトル表示)と「合格点」を
設定できるようにしました。 (設定をEEPROMに保存)
バックアップがわりにスケッチを。
・ダウンロード - piko_boko1.zip
ユニバーサル基板の様子。
ケースは百均屋さんで買った密閉容器。
フタを下にしてるんで、基板の固定はペッタンを貼り付けて
ラッピング線を基板端の穴に通して仮止め。
動き回らなかったらOKということで。
「いんじゃんマシン」 も裏を開放しているんで、制御回路が見えます。
そうすると興味を持ってくれる子供が出てくるんで、面白いです。
・2019年7月18日 :いんじゃんマシンの電源がアウトに!
※電源電圧と消費電流
3.0V 39.5mA
2.8V 42.4mA
2.6V 45.9mA
2.4V 50.1mA
2.2V 54.4mA
2.0V 59.8mA
1.8V 65.6mA
1.6V 74.5mA
※またまた入力部の回路変更
衝撃センサー波形(圧電発音体)を、ダイオードでリミットせず、
そのままショットキダイオードで整流して直流にして、
それをTrのベースに入れるとどうなるかを試してみました。
※モノマルチICを省けないかと
うまいこと行きそうです。
モノマルチも残したまま回路を変更。
※新しい入力回路で取り込んだ信号波形
力強く泡立て器をボウルの壁面に当ててもらえれば
ミスカウントはほとんどありません。
「シャカシャカ」(ン? カシャカシャか?)
して、摺るような操作が入った時の信号検出が
微妙です。
得点してしまうのもちょっとなぁだし。
チャタリング除去、↓パルスが来てから1V-sync間のは
「無視」という処理です。
2パルス連続したときはもう1sync伸ばすという処理です
かなぁ。
※テスト回路
簡単には、この接続でスケッチを動かしてもらえます。
A4とA5にテストパルスを出してますんで、それを
INT0あるいはINT1につなげれば、外からの信号が
無くても動作を見ることができます。
※さらに追記 : 衝撃検出回路、コンパレータで
NPNトランジスタ1つで検知する回路、簡単で良いのですが
信号のオフ・スロープに不安が残ります。
整流後の電圧がTrのベース電圧を越えるとオン。
(これは一瞬)
そして徐々に電圧が下がってオフ。
このオフする時にヒステリシスが無いので、場合に
よっては振動波形(チャタリングですな)が生じます。
それを避けたいな~っと、コンパレレータ LM393を使って
描いてみたのがこんな回路です。
まず、整流回路にダイオード1コの電圧リミッタを挿入。
最大が0.6Vくらい。
そして、前段のコンパレータがオンする電圧が0.5V。
Vfより低くしておきます。
オンしてからオフする電圧が0.25V。
この差がヒステリシス。
整流波に「脈」があっても、それが出力に出るのをこの
電圧差で回避するわけです。
8ピンの安価なICです。
抵抗が数が増えますが、安定動作を目指すなら、これかなぁ。
こんな波形が得られます。
2つの山、後ろ側のレベルの小さなほうは出力に
現れません。
2021年9月11日:単安定マルチバイブレータ 74123、74423、4538(TC4013を追記)
この記事の中で、「入力がシュミットになっているか否か」
の話をしました。
シュミットになっていれば、安心して「なまった波形」
(アナログ変化っぽい信号)を入れることができます。
そうでないと・・・ トリガーをミスちゃいます。
そんな様子を、手持ちの「123」と「4538」、計5つで
確かめてみました。
※肝心の423が見つからず。
使ってしまったか、どこかに直し込んで
あるのか・・・。
こんな回路で「↑↓」エッジのトリガー具合をチェック。
赤三角マークの入力、ちゃんとシュミットになっているか
どうかが問題。
入力信号はアナログの「三角波」。
・4538の代表 モトローラ製
ブロック図のとおりの動きで、↓エッジにミスが発生。
シュミットになった↑エッジは大丈夫。
・東芝の4538 古いの
↑↓ともアウト。 トリガーミスしちゃいます。
・東芝の4538 新しいの
↑↓ともOK。
三角波をゆっくり(1秒周期)にしてもミスなしです。
・日立の 74HC4538 HS-CMOSです。
これもOK。 ゆっくり三角波でも大丈夫。
・東芝の 74HC123
↑↓エッジ、どれもアウト。
リトリガーされているのでしょう、パルス幅も長くなって
います。
・日立の HD74HC123
立ち上がりエッジだけをとらえるはずが立ち下がりにも
反応しちゃっています。
同じ型番でも、反応が異なります。
入力が「デジタル」ならまったく問題ないのですが、
アナログ信号っぽいなまった波形を突っ込みたい時は
その挙動に要注意ということで。
※「423」をチェックできなかったなぁ。
そのうちに。
ニッケル水素電池のJIS C8708:2019充放電実験、
・「電池あれこれ」まとめ
の中から、2020年2月あたりからのブログ記事をピックアップ
してもらえれば、新しい手順での充放電実験の様子が見えるか
と思います。
まず、JISの新しい手順「JIS C8708:2019」に気付いたのが
・2019年6月24日:ニッ水電池のJIS規格「JIS C8708:2019(7.5.1.4)」が読める
これに対応した実験回路を作り始めたのが
・2020年2月16日:JIS C8708:2019充放電試験回路製作中
そして、1分ごとの充放電データを全部取り込むために作ったのが
・2020年4月24日:Arduino-UNO + SDカードでシリアルデータロガー 完成形
これを作るまでは、50サイクルごとの0.2C放電のデータや、
各サイクルごとの充放電が完了した時間や電圧は記録して
いましたが、「1分ごとの全充放電データ」の記録はして
いませんでした。
大量のテキストデータ。
400サイクルで2.5メガバイトほど。
記録するのにPCを通電しておくのも、
電気代がもったいないしということで。
ですので、初期に行った充放電実験では、「初回の放電グラフ」
は残っていません。
0.2C放電で、何分かかって「1.0V」に達したのかは調べられ
ますが、その放電電圧の変化は残してなかったのです。
初期に充放電実験を行った
エネループ・スタンダード、ReVOLTES
富士通1900mAh、富士通2450mAh
このあたりの初回放電データが抜けています。
それ以降のは、「SDカード・シリアル・データロガー」が
順調に動き始めて、全充放電データを残すようにできました。
今回、初回の放電データと、初回数サイクルまでの充放電の様子が
残っている電池のデータを拾い出して、グラフにしてみました。
初回の放電ということは、「電池を買ってきてすぐに使えるかどうか」
ということにつながります。
初回放電の「0-D」の赤線が右へ延びていて、
なおかつ電圧を高く維持しているのが
「充電する前でも長く使える」
電池を意味します。
※初回放電の詳細データを残さなかった4つの電池、
その放電、充電時間の様子です。
1分ごとの電圧変化は残っていませんが、充放電が
終わった直後の経過時間は記録されています。
0.5C放電での時間が、2時間=120分からどれだけ
離れているかで、電池容量が推測できるかと。
・ReVLTESは120分越えなんで、実容量はもっと大。
・EBLやenevoltは盛り過ぎなんじゃあ。
・タミヤ・NEO CHAMPの充電、-ΔVで止まらずに
132分のリミットで止まってる。初回放電時間が
短いぞ。
ダイソーの新型ニッ水電池「LOOPER」(1000mAh)
年末に入手していたのですが、実験機材(3台作ってある)が
空かなかったので、実験スタートが延び延びになってました。
enevolt が終わったので、やっとスタートです。
「エネループ・ライト」の代替品になってくれればと・・・
「充電式エボルタお手軽モデル」は、ちょっとなぁ~だったんで。
「NEO CHAMP」も頑張って欲しい。
・電池あれこれ
「LOOPER」のロゴ、よく見ると「P」が小文字なの?
「LOOpER」なのか、「LoopER」なのか?
※初回放電から4回目の充電完了までの様子
初回の放電時間(未充電状態での)、0.2C=200mAで
264分でした。
定格だと5時間=300分で、264分だと残容量88%と
計算できます。
2021年12月14日:enevolt単3(2150mAh) 新JISでの充放電実験開始
今朝、仕事場にやってきたら充電時の「-ΔV」検出をミスって
目一杯の132分充電になっていたので、試験を中断しました。
368サイクル目でした。
まず、50サイクルごとの0.2C放電。
定格が5時間=300分。
JISではこれが180分(6割の時間)になったら寿命と判断します。
途中で中断したので、得られたのは350サイクル目まで。
そして、充放電時間と充電終止電圧の推移グラフ。
これのほうが、電池の状態変化がよく分かるでしょう。
放電終止電圧(-ΔV検出)の上昇が、内部抵抗に増大に
つながっています。
※50サイクルごとのゆっくり放電で
ストレスがリセットされるという状態
も見えます。
この電池のテスト、季節が真冬だったということで
周囲温度の影響が大きかったかと。
暖房が入った時と切れた時とで、充放電の状況が
変わっていました。
最終的な内部抵抗は242mΩでした。
電池を持った掌で温めると、徐々の内部抵抗が
減少していました。
さて、これで実験装置が空きました。
ダイソーの新型ニッ水電池:LEXEL社製 LOOPER
をイジメてみたいと思います。
ざっと制御スケッチはできたんですが、
ボウルと泡立て器が接触したことを検知するセンサー
をどうしたものかと悩み中です。
センサーとして使うのは圧電発音体。
図の左側のように、1つだけ使い、ボウルの左右に衝突する
泡立て器による振動を捉えようと考えていたのです。
しかし、角度で90度離れた所に置いたセンサーへ来る信号が
ちょいと弱いのです。
こんな回路を考えていました。
「ボコスカ」のように衝撃が単純で強いとトランジスタ
1つで安定にピックアップできました。
こんな回路にしてもちょい不安定。
ボウルの左右、衝突点にセンサーを2つ設ければ
ボコスカと同じ簡易型の回路で大丈夫そうなんですが、
強く打ち付けたとき、反対側の衝突も拾ってしまうと
いうことになり、感度合わせがなかなかやっかい。
センサーが2つだとケーブルの引き回しも面倒だし。
そこで、センサーは1つにして、前段アンプを設ける
ことにしました。
増幅とコンパレートに8ピンのオペアンプ1つという
ことで回路をまとめてみます。
調整カ所は2つ。
増幅ゲインとコンパレート・レベルを半固定ボリュームで。
タミヤ★★のミニ四駆用充電池「NEO CHAMP」950mAh の
JIS C8708:2019での充放電実験、始めたのが去年の11月15日。
1日あたりの充放電サイクル数が4~5回ですんで、400サイクルを
終えるのに2ヶ月半~3ヶ月くらいかかります。
それに・・・元気な電池ほど・・・しっかり充放電してくれるので
よけいに時間がかかります。
(劣化しだすと充放電時間が短くなり
サイクルが早く進むということで)
NEO CAMP、初回の0.2C放電(50cyc目)の時間が297分。
そして、400サイクル目のが282分。
定格で300分ですので、282分だと94%。
内部抵抗の変化、開始時が17mΩ。
400サイクル放電後は25mΩでした。
※温度でけっこう変わりますんで
似たような容量の単3ニッ水がこれ↓
パナソニック 充電式エボルタお手軽モデル BK-3LLB 1000mAh 2000サイクル目で終了
これの残してあったデータを見ますと、
50サイクル目の0.2C放電が301分。
400サイクル目が290分(96.7%)でした。
「お手軽モデル」の試験を始めたのが2020年11月25日 。
そして2000サイクルを終えたのが2021年10月18日。
このグラフを得るのに1年近くかかっています。
NEO CHAMP、まだまだこれからです。
・toneパルスの異常 もうちょっと掘り下げて
・Arduino-UNOでtone()の挙動を調べる
もうちょっとお付き合いを・・・
「digitalWrite」にはお節介な機能があるぞっと
記しましたが、そのお節介を外したらどれだけ
速くなるかをArduino UNOで試してみました。
お節介その1:ポート番号のチェック
ちゃんとした番号以外は除外
お節介その2:PWMに割り当てられたポートは
PWM出力を止めてからポートの操作
この順番でH/Lのパルスを2回づつ出力します。
ch1 2:PD2 SBI、CBI命令を使って最高速で
ch2 8:PB0 digitalWriteで非PWMポート
ch3 3:PD3 digitalWriteでPWMポート
ch4 9:PB1 お節介削除ルーチンで
使ったスケッチ↓です。
/***** 簡易デジタル出力 *****/
// ポート番号のチェックなしに
// PWMの停止処理なしに
void digWr(uint8_t pin, uint8_t val) {
uint8_t bit = digitalPinToBitMask(pin); // ビット位置
uint8_t port = digitalPinToPort(pin); // ポート番号
volatile uint8_t *out;
out = portOutputRegister(port); // 出力レジスタアドレス
uint8_t oldSREG = SREG; // SREG(割り込みの状態)をセーブ
cli(); // いったん割り込み禁止に
if (val == LOW) *out &= ~bit; // 出力ピンをLに
else *out |= bit; // Hに
SREG = oldSREG; // SREG復帰
}
/***** SETUP *****/
void setup() {
pinMode(8, OUTPUT); // 8:PB0
pinMode(9, OUTPUT); // 9:PB1 OC1A PWMポート
pinMode(3, OUTPUT); // 3:PD3 OC2B PWMポート
pinMode(2, OUTPUT); // 2:PD2
}
/***** LOOP *****/
void loop() {
while(1){
PORTD |= (1 << PD2); // PD2 H SBI
PORTD &= ~(1 << PD2); // L CBI
PORTD |= (1 << PD2);
PORTD &= ~(1 << PD2);
digitalWrite(8, HIGH); // PB0 非PWM
digitalWrite(8, LOW);
digitalWrite(8, HIGH);
digitalWrite(8, LOW);
digitalWrite(3, HIGH); // PD3 PWM OC2B
digitalWrite(3, LOW);
digitalWrite(3, HIGH);
digitalWrite(3, LOW);
digWr(9, HIGH); // PB1 簡易出力で
digWr(9, LOW);
digWr(9, HIGH);
digWr(9, LOW);
}
};
波形、2パルスのよりこっち↓のほうが見やすいかな。
パルス幅はオシロのリードアウト機能を使っていますんで、
多少の誤差は生じます。
ch1に出ているパルスが、「SBI」「CBI」命令による
最高速のビット操作です。 2クロックで実行。
しかし、I/Oアドレス0x00~0x1Fの範囲にしか使えません。
・enevolt単3(2150mAh) 新JISでの充放電実験開始
12月14日に始めたenevolt単3(2150mAh)のJIS C8708:2019
での充放電実験、そろそろおわりのようです。
昨日、電池電圧の変化を記録できるようにと
「チャートレコーダー」を接続しておきました。
362サイクル目の放電時間が「7分」だけ。
電流0.5C=1.075Aでの放電です。
定格だと2時間。
チャートを見ると、急速に劣化が進んでいる様子が
出ていました。
暖房の無い夜~朝方ですんで、条件は悪いと思います。
400サイクルまで、ちょっと無理な感じかな。
これ↑が終わったら、ダイソーのLOOPER の充放電実験を
始めます。
toneパルスの異常は、「ポートの直叩き」で出現しました。
ArduinoのI/O処理で一般的に使われる「digitalWrite」では
これが回避されて、異常パルスは出現しません。
まずは、digitalWriteの中を見てみます。
(ソースはwiring_digital.cの中にあります)
void digitalWrite(uint8_t pin, uint8_t val) {
uint8_t timer = digitalPinToTimer(pin); // PWM出力で使ってる?
uint8_t bit = digitalPinToBitMask(pin); // ビット位置
uint8_t port = digitalPinToPort(pin); // ポート番号
volatile uint8_t *out;
if (port == NOT_A_PIN) return; // ポート間違っている
if (timer != NOT_ON_TIMER) turnOffPWM(timer); // PWM出力オフ
out = portOutputRegister(port); // 出力レジスタアドレス
uint8_t oldSREG = SREG; // SREG(割り込みの状態)をセーブ
cli(); // いったん割り込み禁止に
if (val == LOW) *out &= ~bit; // 出力ピンをLに
else *out |= bit; // Hに
SREG = oldSREG; // SREG復帰
}
出力ポートを操作する「*out &= ~bit」「*out |= bit」の
直前、「cli()」で割り込み禁止状態にしています。
この手順があるから、割り込みで操作されるtone()のポートと
重なっても、異常パルスが出てこないわけです。
digitalWriteを使うと「時間がかかる」「遅くなる」のは、
その中でこんな処理がされているからです。
ポートへのH/L出力だけでもこんな「ポカよけ」機能が入っ
てるわけです。
また。PWM出力と重なっているポートは、ポート出力の前に
PWMをオフにしてからという処理が入っています。
ということは、PWMに使われるポートとPWMとは無関係な
ポートでは出力時間に差が出てきそうです。
ポート D8とポート D9(PWMで使われる)を確かめてみました。
// digitalWriteはPWMポートだと遅くなるのか?
/***** SETUP *****/
void setup() {
pinMode(8, OUTPUT); // 8:PB0
pinMode(9, OUTPUT); // 9:PB1 OC1A PWMポート
}
/***** LOOP *****/
void loop() {
bool x = LOW;
while(1){
digitalWrite(8, x);
digitalWrite(8, !x);
digitalWrite(8, x);
digitalWrite(9, x); // PWMポート
digitalWrite(9, !x);
digitalWrite(9, x);
x = !x;
}
};
ch1がD8で非PWMポート。 ch2がD9でPWMポートです。
PWMポートであるD9のほうが0.5usほど遅く処理されている
のが見えています。
ポートをH/Lしたいだけなのにこんなお節介。
ほんとに必要でしょうか?
こんなのに慣れてしまうと「裸のマイコン」が使えなく
なってしまいますぜ。
※参
・Arduinoのタイマー処理
※追記
PWM出力をオフする『turnOffPWM(timer)』を調べてみたら、
switch文でタイマー番号を区分して、それぞれの出力をオフする
処理を切り替えています。
ということは、ポート番号で微妙に処理時間が変わるかもしれない
ということで、「ポートD3」も入れてみました。
こんな結果です。
D8が非PWMポート、D9とD3がPWMポートで、
D3のほうがswitch文の後に位置しています。
digitalWrite にこんな秘密があったとは・・・
最近のコメント