「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



ラジオペンチさんのブログで、Arduinoオシロについて
触れられていて、興味深いので色々と会話させて頂いて
いるところ。

複数のスイッチ入力から、ArduinoのattachInterrupt()
を使って外部割り込みかけるのに、複数ピンをダイオード
でor合成して、intピンから割り込み→割り込み処理内で
全スイッチを読み出す…という流れになっているとのこと
なんだけど、スイッチ入力が5回に1回くらい読み込まれない
とのこと。

http://radiopench.blog96.fc2.com/blog-entry-890.html
http://radiopench.blog96.fc2.com/blog-entry-893.html


割り込みが掛かってないのか、もしくはなにか違う要因
なのかを探ってみるために、ちょっと仮説を立てて、実験
回路を動かしてみる。

Arduinoの入力ピン側は、内蔵プルアップ有効にしている
らしいので、20kΩと仮置きしておいて、簡単にするために
スイッチを1個だけにしてみた。こんな具合。




コンデンサC1と左側の20kΩプルアップ抵抗の間が割り込み
のための入力ピン。左側のスイッチとプルアップ抵抗の
間が改めてスイッチ入力を読み直しするデジタル入力ピン。

ブレッドボードに組んで、それぞれのところにオシロの
プローブ当てて、スイッチを入れてみたところ、こんな
波形が取れた。




上は、C1と100Ω抵抗のCRフィルタで、チャタリングで
割り込みが暴発しないようになっている波形。2.75V
付近にトリガを仕掛けてあって、fall edgeでトリガが
かかる。

下は、スイッチ入力端子に掛かる電圧。単純にタクト
スイッチで実験すると、ほとんどチャタリングが出な
かったので、もっと条件悪くするために、ジャンパー
線をブレッドボードの穴に抜き挿しすることで
スイッチの代わりにしてみたのがこの波形。

ちなみに横軸は40us/DIV。

スイッチが入ると、コンデンサにたまった電荷が、
100Ωを通してGNDに流れていくので、上の波形は
緩やかに落ちて行く。んで、Arduinoの入力端子は
シュミットトリガなので、このCRフィルタだけで
チャタリングによる複数割り込みで暴れることはない
という状態。

一方、下の波形は、20kΩとGNDの間の電圧なので、
チャタリングが発生すればバタバタと暴れるんでは
ないかなと。(で、わざと条件を悪化させて暴れさせ
てみたというわけ。何回かオン/オフしてみて、その
うちの暴れていた波形をキャプチャ)


トリガはちょうどグラフの真ん中で掛かっているので、
それより右側は割り込み発生後の波形。
もしここに、バタバタと波形が乱れている状態が
残っていれば、割り込み処理内でHIGHとLOWが入り
混じった状態となりうるので、割り込み処理内で
LOWを読み出すことを期待していつつ、実際はHIGH
が読み出されることがあるのでは?と。
(HIGHは押されていないスイッチの状態)

なんとなく、波形がバタバタしているところがあって、
それが悪さする可能性はありそう。
実際は、CRフィルタの時定数とか、タクトスイッチ
の性能とかによるので、本当にそういう状態が起き
うるのかがよくわからないんだけど。

時定数を長めにしてしまえば、もしかすると収まる
のかなぁ?もしくは、スイッチと並列にC成分入れる
とかかな。

なんにしても、Arduinoの標準機能だと、外部割込み
はattachInterrupt()使うことになって、Unoだと2本
しか使えないから、このあたりは色々悩ましいな。




https://twitter.com/TypeA_Airi/status/1095567075953655809

今日のポン子はお休みだった。ただ、ウェザロアートは
何枚か紹介されてたな。




https://twitter.com/SonmiChina/status/1094844582716534784

物理。




https://twitter.com/tigers_1964/status/1095325229058904064

ストラトスのレプリカ。




https://twitter.com/KenAkamatsu/status/1093835028201562112
https://twitter.com/tokoya/status/1095592591138029568

スクリーンショット取っただけで法律違反って、なにか
また思考の軸がズレまくってるとしか思えないな。なんで
こんな意味不明で、当初目的を無視した法律作るんだろう?
なにか裏があるのか?




https://twitter.com/konishihiroyuki/status/1095514192130408448

こんなポンコツが五輪担当大臣って、やっぱわからんな。




https://www.youtube.com/watch?v=cAciRjzH3dI

KP61に隼のエンジン載せてるのか。

http://www1.suzuki.co.jp/motor/product/gsx1300ral7/spec

197PSだって。最大出力出るのが9500rpmだもんな。
これはアタマおかしい(ほめ言葉)。

あぁ、こういう軽くておバカなクルマ乗りたい。



コメント ( 0 )