電子工作

2022年2月26日 (土)

オペアンプの出力につなぐ大容量コンデンサ ほんとにいいの?

発振してないからOKで良いのかどうか・・・
先日の記事、修理案件 オペアンプ ICL7611  の回路を追いかけたら、
およそこんなことになっていました。

Aa31_20220226094401
マイコンのA/D入力にオペアンプの出力や基準電圧、サーミスタでの
温度測定回路がつながっていました。

そのA/D入力それぞれに10uFというけっこう大きなコンデンサ
入っています。
外乱ノイズ防止とサンプリングによる電圧変動防止いうこと
なんでしょう。

気になるのはオペアンプの出力に直接つながっている10uF
オシロで見ても発振はしていません。
入力に方形波を加えてもへんなリンギングは出ません。

出力とコンデンサの間に抵抗を入れておきたいところですが、
発振してなかったらOKということで良いのかなぁ。
位相回転で位相余裕とかゲイン余裕はどうなるんでしょうか。


過去記事を探すと・・・

2017年9月11日:1/2Vcc生成回路のコンデンサ
2017年9月16日:枯れた技術の伝承が・・・
2017年9月17日:枯れた技術… んっ! 枯れ過ぎた?

ということで。

 

| | コメント (0)

2022年2月24日 (木)

オペアンプ ICL7611

修理案件で オペアンプICL7611 が必要に。

パーツボックを探しても見当たらず。
 「昔、何かで使ったよな~」っと、記憶の海(深海だ~)
からすくい上げると・・・
2008年01月14日:OPアンプ1石でできる簡易型静電気検出器
  (トラ技1999年7月号に掲載してもらってます)

ユニバーサル基板にハンダしてあるんで、ここから外すわけにも
いかないし・・・
ということでネットを探したら 秋月電子通商 で発見!
とりあえず手配をを完了。

古いアンプですが、入力に保護ダイオードが付いているのが良。
Ii1
   (ルネサスのデータシートから)

V-側だけでなくV+に向けてのダイオードが入っているんで、
外乱に対して、ちょっと安心。

※追記
製作した簡易型静電気検出器の回路
  たまたま手持ちにあったICL7611を使ったという
  記憶です・・・
Img20080114142644440
MOS FET入力OP-AMPを使ってバッファしているだけ。
増幅はしていません。
乾電池2本の±電源で、センターゼロメータを振らします。
メータに表示されるのは静電気があるかないかだけ。
「何kVで帯電している」は分かりません。

「非常用ツール」としていつでも使えるようにしてあります。
  ・簡易型静電気検出器の解説

ポンプが回ると制御回路が暴走!』の現象確認に使いました。

| | コメント (1)

2022年2月18日 (金)

「シャカシャカ・ホイップ」衝撃検出回路

圧電発音体(ピエゾ・スピーカー)を衝撃(振動)センサーに
した時の検出回路、トランジシタ1つだと回路は簡単ですが
振動波形のうねりによりチャタリングでミスカウントする
ことがあります。

パルス検出プログラムが、V-sync(60Hz)のタイミングで
動いているので、ソフト的なチャタリング除去がもうひとつ
うまくいきません。
きちんと波形を捉えて、1発パルスにしておきたいという
ことで、LM393を使ってヒステリシスを持ったコンパレータ
回路を使うことにしました。

この時のヒステリシスの考え方を図示しておきます。
検出回路の全体図

Ss2

比較電圧はコンパレータ部の(+)端子、非反転入力です。
この電圧を抵抗値から計算します。
H11_20220218113501
このように抵抗がつながって、+端子の電圧が出力のHとLで
変化してヒステリシスが生まれるのです。

さて、トランジシタを使ったシュミット回路、あれこれ
ありますがどうしても入力インピーダンスが低くなって
しまいます。
比較電圧の基となるのがTrのベース・エミッタ間電圧です。
温度変化もあるし・・・

代表例を示しておきます。

H12

そんな中、0~5Vや0~12Vを検出するのに役立つのが、
RS-232C用レシーバーIC。
代表品番が75189と75189A。
14ピンにこんな回路が4つ入っています。

H13
189と189AでR1の値が違っていてヒステリシス電圧が
異なります。
H14
  (TIのデータシートより)

今は、シュミットICといえばC-MOSの4584やHC14で、
入力インピーダンスが高いので、時間遅延などの用途
では時定数の抵抗を大きくできます。
ただ、ヒステリシス幅や検出電圧が自由に設計できません。

※「シャカシャカ・ホイップ」 最終(ほぼ)回路
6

これで、衝撃センサーを使った10秒ゲームが同じ
ソフト・ハードで動きます。
「ボコスカ」「シャカシャカ」「炎のターゲット」の3種
はこれでOK。

※バックアップがわりに現在のスケッチ
   ・ダウンロード - piko_boko1b.zip

※Arduino UNOでとりあえず動かしてみるつなぎ方
C001_20220211151001

スタートして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 |
   ----    ---- 


※ビデオ出力回路
Bb1_20220218163101
なぜトランジシタでバッファしているのかと
出力にコンデンサをいれている理由の説明。
Bb2_20220218163101
「大声」と「ボコスカ」でビデオ出力を2系統に
して作ったのがあります。
競技者が見るテレビと観客が見るテレビ(例えばプロジェクタ)
を別に置くとき回路の分岐が便利だから。

| | コメント (0)

2022年2月 9日 (水)

単安定マルチバイブレータ 「74123」と「4538」の挙動

2021年9月11日:単安定マルチバイブレータ 74123、74423、4538(TC4013を追記)

この記事の中で、「入力がシュミットになっているか否か」
の話をしました。

シュミットになっていれば、安心して「なまった波形」
(アナログ変化っぽい信号)を入れることができます。
そうでないと・・・ トリガーをミスちゃいます。

そんな様子を、手持ちの「123」と「4538」、計5つで
確かめてみました。
  ※肝心の423が見つからず。
   使ってしまったか、どこかに直し込んで
   あるのか・・・。

01_20220209092101

こんな回路で「↑↓」エッジのトリガー具合をチェック。

2

赤三角マークの入力、ちゃんとシュミットになっているか
どうかが問題。
4538b

4538a

入力信号はアナログの「三角波」。

・4538の代表 モトローラ製
Mc14538_1988
ブロック図のとおりの動きで、↓エッジにミスが発生。
シュミットになった↑エッジは大丈夫。

・東芝の4538 古いの
Tc4538_1993
↑↓ともアウト。 トリガーミスしちゃいます。

・東芝の4538 新しいの
Tc4538_2002
↑↓ともOK。
三角波をゆっくり(1秒周期)にしてもミスなしです。

・日立の 74HC4538  HS-CMOSです。
Hd74hc4538_2008
これもOK。 ゆっくり三角波でも大丈夫。

・東芝の 74HC123
T_74hc123_2000
↑↓エッジ、どれもアウト。
リトリガーされているのでしょう、パルス幅も長くなって
います。

・日立の HD74HC123
Hd74hc123_2008
立ち上がりエッジだけをとらえるはずが立ち下がりにも
反応しちゃっています。

同じ型番でも、反応が異なります。
入力が「デジタル」ならまったく問題ないのですが、
アナログ信号っぽいなまった波形を突っ込みたい時は
その挙動に要注意ということで。

  ※「423」をチェックできなかったなぁ。
   そのうちに。

| | コメント (0)

2022年2月 4日 (金)

「シャカシャカ・ホイップ」予備実験 #5

ざっと制御スケッチはできたんですが、
ボウルと泡立て器が接触したことを検知するセンサー
をどうしたものかと悩み中です。

センサーとして使うのは圧電発音体。
図の左側のように、1つだけ使い、ボウルの左右に衝突する
泡立て器による振動を捉えようと考えていたのです。

S1_20220204125701
しかし、角度で90度離れた所に置いたセンサーへ来る信号が
ちょいと弱いのです。

こんな回路を考えていました。

S2_20220204125801
「ボコスカ」のように衝撃が単純で強いとトランジスタ
1つで安定にピックアップできました。

S3

こんな回路にしてもちょい不安定。
S4
ボウルの左右、衝突点にセンサーを2つ設ければ
ボコスカと同じ簡易型の回路で大丈夫そうなんですが、
強く打ち付けたとき、反対側の衝突も拾ってしまうと
いうことになり、感度合わせがなかなかやっかい。
センサーが2つだとケーブルの引き回しも面倒だし。

そこで、センサーは1つにして、前段アンプを設ける
ことにしました。
S5
増幅とコンパレートに8ピンのオペアンプ1つという
ことで回路をまとめてみます。

調整カ所は2つ。
増幅ゲインとコンパレート・レベルを半固定ボリュームで。

| | コメント (0)

2022年1月28日 (金)

「シャカシャカ・ホイップ」予備実験 #4

ピコピコ・スイッチ
ボコスカ・ハンマー
シャカシャカ・ホイップ(まだ未完成)
この3ゲームをArduino-UNOで制御という試み、ざっと
できたのですが、「画面表示の割り込み元」を変えました。

『ピコピコ・スイッチ』、Arduino-UNOで動くように
で紹介しましたスケッチでは、
ATmega328Pの「タイマー1」で映像信号のタイミングを
作っていました。
それを「タイマー0」に変えたのです。
タイマー1は16bitなんでで発生させる周波数(周期)をこまかく
設定できます。
それを「音」の発生に使いたかったのです。

Arduino-UNOでは、タイマー0をシステムで使っています。
  (delayやmillisなど)
それを取り上げて、映像信号の発生に使います。
このためdelay、millisは使えなくなります。

もう一つの8bitタイマーであるタイマー2、このOC2B出力が、
INT1入力(エッジパルス入力)と重なっているのです。
タイマー0やタイマー2のPWMで周期を設定したいときは
OCR-Aレジスタで繰り返し周期を設定します。
   通常のPWM出力(analogwrite)はTOP値=0xFFの
   PWM動作モードが使われます。
   このモードでは周期の微調はできません。
すると、PWM出力の制御はOCR-Bレジスタですることになり、
OC-B出力を使うことになります。
INT1入力を使いたい(ピコピコの二つのスイッチ入力)ので、
タイマー2のOC2B出力は利用できません。

ということで、タイマー0のOC0Bを、映像の同期信号出力と
して使うことにしたのです。
ピンが変わるので、回路図も変更です。

※参考
2020年1月28日:Arduinoから「タイマー0」を取り上げる(ユーザーが使う)

| | コメント (0)

2022年1月26日 (水)

「シャカシャカ・ホイップ」予備実験 #3

圧電素子の出力を見るのに、シャカシャカしてたら
泡立て器のループ(5ループある)が1本、外れてしまいました。
41_20220126120201
折れた根元の様子。
42_20220126120201
抜けただけのように見えますが・・・
43_20220126120401
これを見ると、「抜けた」んじゃなく内部で溶接かなにか
で固定していた部分が破断したのかと。

「ボウル」ですが、金属製のよりプラ製のほうが素直な
波形が出てきます。
金属製のボウルだと、泡立て器を衝突させる場所で、
取り込む波形に振動が出たりと、安定しません。

センサーはこれが良い感じ。
44_20220126120601
むき出しの圧電振動板。 直径20mm。

その信号を、こんな回路でとらえてみました。
46_20220126120701
二つのシリコンダイオードで波形振幅を制限。
その後、ショットキーダイオードで倍圧整流して
みました。

出てきた波形。
45_20220126120801
「0.3V」あたりでコンパレートすれば、きれいに
信号を拾えそうです。


| | コメント (0)

2022年1月24日 (月)

「シャカシャカ・ホイップ」予備実験 #2

ボウルの側面に「振動センサーがわりの圧電発音体」を
くっつけてシャカシャカしてみました。

21_20220124090601
負荷抵抗を10kΩにしてシャカシャカした波形です。
泡立て器を当てる位置により信号レベルが変わります。

E000
E001

波形をFFTしてみると、6kHzあたりにピークが見えました。
  (横軸1divが10kHz)
E002

さて、信号検出どうしたものか。
ボコスカはTrのBE間電圧を使って簡単にしました。
波形の余韻を見ると、コンパレータでスパッとレベルを
判断したいところかと。

| | コメント (0)

2022年1月22日 (土)

「シャカシャカ・ホイップ」予備実験

2022年1月20日:『ピコピコ・スイッチ』、Arduino-UNOで動くように
子供達と遊ぶ新しいゲームを作ってみようということで、
シャカシャカ・ホイップ」なるものを企画しています。

「泡立て器」で「金属製ボウルをシャカシャカ」した時の
「接触回数」を検出して得点に使用という案です。
  イベントでの子供達、カラダを動かしてするゲームが
  良いようです。
  男の子も女の子も、高得点を目指してムキになってくれます。
  ボコスカは2台有るんで、競争してくれます。

泡立て器とボウル、電気的な接触でどんな具合になるか、
信号を見てみました。
ボウルはガレージから持ってきた25cm径のもの。
泡立て器は百均屋さんで購入。

11_20220122161101

電源5Vで1kΩの抵抗でプルアップ。
ボウルを電源のマイナスに。
泡立て器の金属部を抵抗の先につないでオシロに。
それぞれ、クリップでつなぎます。
泡立て器を左右に「シャカシャカ」するとこんな感じ。
B000_20220122161101
ボウルの縁、左右への接触、毎秒10回以上は簡単に
クリアできます。

波形を拡大すると。 盛大にチャタリング。
B001_20220122161101

0.1uFのコンデンサをGND間に入れてチャタリング吸収。

B002_20220122161101

B003_20220122161101

コンデンサを1uFにするとこんな波形。

B004_20220122161101
B007_20220122161101

電気的な接触で「シャカシャカ」回数を拾う方が良いのか、
・・・泡立て器に電線をくっつける必要が
   あるんで、電線ごとカシャカシャ
   するんがジャマになるか・・・
それとも、「ボコスカ・ハンマー」のように
振動センサー」をボウルに貼り付けて、シャカシャカの
振動を拾って計数するほうが良いか(泡立て器がフリーになる)
もうちょい実験してます。

接触だと、ず~っとオンという状態が考えられますんで、
オンのエッジ検出後、いったんオフの区間が続かないと
次のオンを検出しないという入力処理になるかと。

泡立て器につなぐ電線はなくしたいところです。

| | コメント (0)

2022年1月21日 (金)

「ボコスカ・ハンマー」のセンサー信号

ピコピコ・スイッチの入力はスイッチ操作ですが、
ボコスカ・ハンマーはピエゾ・スピーカーを衝撃センサー
にして信号を拾っています。

チャタリング除去のこともあり、どんな信号か見ておきました。
センサー部の回路は
2022年1月20日:『ピコピコ・スイッチ』、Arduino-UNOで動くように
で図示しています。

まず「片手でボコスカ」したときの様子。
Cc000
毎秒8回くらい。
両手でボコスカすると、倍は行くかも。
ということは、毎秒20回はちゃんとカウントしたいところ。

センサー波形を拡大すると、こんな様子に。
Cc001
トランジスタのBE間電圧で比較しているんで、けっこう微妙。
信号の↓エッジを捉えているんで、スレッショルドの具合で、
1回の打ち下ろしで2~3発の↓エッジ信号が入るかも。
すると、次サイクルの処理でパルスを2度取りするかもしれません。
ハードで処理するなら、リトリガブル・ワンショットマルチで
後発のエッジをマスクしておきたいところです。

処理のサイクルが垂直周波数の60Hz=16.7msなんで
ソフト的に厳密にチャタリング除去するにはきびしいところ
なんです。
簡単には、パルス検出した次のサイクルでのパルスは無視する
という処置でしょう。
すると応答は30Hzになって、10秒計時での最高得点は300点。
こんな所でしょうか。

ちなみに、「ボコスカ・ハンマー」の初号機(2台ある)は
こんな回路に。
コンパレータを使って、信号の大小を判別できるように
していました。(強打だと得点を増やす)
Cc21

| | コメント (0)

より以前の記事一覧