どうにもうまく行きません。
切ったのが「Out!線」が「Safe!線」か、失敗終了か成功かそれとも継続かを判定するのに、1本の信号線を2つの判定回路に渡すには、一方はプルアップでもう一方はプルダウンで入力できればよかったのですが、アップダウン両方に引っ張ることになって分圧される結果になってしまいます。
2回路をどちらもプルアップ(あるいはプルダウン)にして入力できればと考えたのですが、AND,OR,さらにNOTを取ってもあちら立てればこちらが立たずになってしまいます。
XORで「HとLが混在」か「Lだけ」かを見ることを考えたのですが、ANDやORのようにゲートを重ねて多入力とすることがXORではできない、偶数個か奇数個かでH,Lが変わるのですね。「排他的」というより「不一致」の意味で、多入力XORができればよいのですが。
・1本の入力をプルダウンで受ける回路とプルアップで受ける回路とに二股で入れることはできないでしょうか。それぞれ他方のプルxxxを無視する都合のよいことはできないでしょうか。逆流防止ダイオードのようなイメージを浮かべたのですがうまくいきません。
・「多入力XOR」を作ることはできないでしょうか。
・あるいは、まったく別な発想で判定するアプローチがあるでしょうか。的外れな作戦でしょうか。
inara1さん、ご教示いただけると助かります。
解決はしていないのですが、小さな問題が解消しました。
> 一方のチェック基板へ行く電源を断ってもそこのLEDが点く
基板間のショートでした。前掲の写真に写っていますが、2枚のチェック基板の間のスペーサは奥側には入っているものの手前側には入っていません。これは、基板の隅ギリギリのところにICがあってスペーサが立てられないのです。サンハヤト基板は秋月のより縦横一列ずつ多いのですが、そのためビス穴まわりが狭いのですね。スペーサー代わりに長ビスでも立てようととりあえず浮いたままにしていたのが原因でした。実験時に手を乗せたりして下がりICソケットの足が真下のICに接触していました。横着してはいけませんね。
基板配線をやりくりして、ICを1穴ぶん内側に寄せてこの問題は解消しました。(→図)
本題ですが、横着に起因する怪しい動作が無くなって様子が見えてきました。
チェック基板2枚を付けると、プルアップAND基板の切断したピンが3.3Vにならず半分の1.7V程度になります。
これはやはり、プルアップとプルダウンが二股部分でいっしょになっているからだと思います。
プルアップかプルダウンかを設定するジャンパピンのところにダイオードを入れたらどうだろうと漠然と考えていますが、わかりません。
2021/02/21 Sun 18:33の
> 何度目かの今度こそですが、チェック回路を2枚に分けて、一方はこれまでどおりプルダウンで入力を受け10本のORを取ってOUT!(=H)の有無を見ます。それとは別に、プルアップで入力を受け10本のANDを取ってsafe!(=L)の有無を見ます。
から、現在取り組んでいる構想は図のようなことです。
チェック回路が2枚になったので10本の信号線を二股にして両方に入れることがはたしてどうなのかで行き詰っています。
外出しワイヤーを付ける基板ができました。いちばん上がそれです。2枚めの抽選基板から来た10本を手前側ターミナルから外へ出し、切断部を通って向かい側ターミナルにつながります。実験用にDIPスイッチを付けました。ワイヤーを付けない状態で、ここをONすると接続、OFFすると切断になります。基板奥側のピンヘッダは2段になっていて、10本が2分岐で出ます。3枚めがプルアップAND基板で「Safe!線が無くなった」判定、4枚めがプルダウンOR基板で「OUT!線が無くなった」判定をします。それぞれの判定出力にはとりあえずLEDを付けてあります。
実験をしました。2枚のチェック基板を個々に取り付けるとうまく行くのですが、2枚とも付けるとうまく行きません。点かないはずが点く場合があります。一方のチェック基板へ行く電源を断ってもそこのLEDが点くことで理由がわかりました。
> ただ2枚をパラで付けるのではまずいこと
がやはりあるんでしょうか。分岐部を通って2枚の回路の入力が相互に流れ込んでしまうのかと。出力ではなく入力だから逆流は起こらないと思ったのですが・・・・。
あるいは、入力がプルアップされる基板とプルダウンされる基板とに入って行くのは、ひとつの信号線が両方に引っ張られることになるのでまずいですか。
さて、解消するにはどうしたらよいでしょう。ワイヤードОRのときにダイオードを入れたように、逆流防止のダイオードを入れればいいでしょうか。
わかりません。困りました。
プルアップ・プルダウン基板を作りました。結局ジャンパピンでどちらにでも切り替えて使える基板を2枚作りました。左上に見える白いジャンパピンがプルダウン設定、これを隣のピンにずらすとプルアップ設定になります。
チェック基板出力をSafe!無し検出のためのプルアップAND基板とOut!無し検出のためのプルダウンOR基板に2分岐します。
ブレッドボードでH/Lの電圧を入れて実験し、その後、抽選回路と繋いでみました。AND基板もOR基板もそれぞれ意図どおりに動作します。OUT!が無い判定はORで「無いとL」になります。後でフォトリレーをONするには「無いとH」のほうが都合よいのではと思うので、ORをNORに取り換えればと考えたのがあさはかでした。ANDやORは積み重ねれば多入力にできますが、NORはゲートを通るたびに反転するので同様にはいかないですね。最後のゲートのみNORを使うか、OR基板を出た後でNOTを取るかですが、どちらにしてもICをもう1個使うことになるので、この後の通知回路でNOTを取ることにしようと思います。通知回路はこれから考えますが、「Safe!が無い=H」「Out!が無い=L」で行ければそのままです。
写真はOR基板1枚だけ繋いで実験しているところです。
さて、2枚のチェック基板を両方繋ぐ実験がなかなかうまくいきません。抽選基板からの10本を2組、ブレッドボードに引いてきて抜き差しできるようにして2枚のチェック基板に入れるのですが、撚り線のジャンパワイヤが接続不安定です。ワイヤの先のピンがボードの穴の中で泳いで接続がフラフラするのです。指先で押さえながらしてもたいへんやりにくいです。
2枚付ける実験がうまく行かないのはこの不安定さのせいと思う(思いたい)のですが、ただ2枚をパラで付けるのではまずいことがあるでしょうか。
実際に使う切断部分の基板を作ってそれで実験することにして、材料を買いに梅澤無線に行ってきました。3月だというのに大雪が降って、北海道内は鉄道も道路もズタズタです。明日にかけもっとあれるそうです。雪国はこれが困ります。
> 添付図のように、OR回路に抵抗を追加してみてはどうでしょうか。
ありがとうございます。ダイオードОR特有の問題があるのですね。心します。
上にも書いたように、プルダウンとプルアップでAND,OR,NAND,NORをとっかえひっかえできる基板を図のように製作中です。
昨夜、プルアップ基板ができて、ANDを積んで動かしてみました。「safe!」が残っている判定がうまくできると思います。
同様にプルダウン基板を作るので、ORもダイオードではなく4071を使ったものにしようと思います。どうでしょうか。
プルアップANDでSafe!が無くなったときHになります。プルダウンORではOut!が無くなったときLになります。こちらはNORを使ったほうが都合いいかなと実験してみる予定です。
これまでに教えていただいた作品で、4000シリーズはほとんどパーツ箱にそろっています。
いい思い付きだと思ったんですが、だめでした。
> A チェック回路
> 10本のORと10本を反転したORとを別個にとります。前者はOut!線の有
> 無、後者はSafe!線の有無を見ます。
反転しても、LもHに切断もHになるのですから区別がつかないのは同じことです。実験で喜んだのは早飲み込みでした。だめですねえ。
何度目かの今度こそですが、チェック回路を2枚に分けて、一方はこれまでどおりプルダウンで入力を受け10本のORを取ってOUT!(=H)の有無を見ます。それとは別に、プルアップで入力を受け10本のANDを取ってsafe!(=L)の有無を見ます。
AND,OR,NAND,NORどれもピンアサインが同じで挿し換えればいいのを知ってうれしくなったので、この機会にNANDやNORの実験もしてみようと、プルダウン基板とプルアップ基板を作って実験してみることにしました。
例によってのdarumaで、「それじゃだめなのになあ」とinara1さんあきれて眺めてるでしょうね。
ところで、いま書き込んでいるときにどんなミスタッチをしたのか掲示板がしゃべりだしました。前からだったんでしょうか。新しく実装したんでしょうか。びっくりしました。
考え直しました。ANDではうまくいきません。図のような構成を考えました。
@ 抽選回路
既に実作した部分です。10本中1本の「Out!」を決めます。
10本の線が、判定回路(チェック回路を経て)に行きます。
A チェック回路
10本のORと10本を反転したORとを別個にとります。前者はOut!線の有無、後者はSafe!線の有無を見ます。
前者はすでに実験済み、後者は4071を使って実験しました。先日ブレボに組んだAND実験の4081を4071に置き換えればいいのですね。意図したとおりに動きました。
ORならばワイヤードで作るほうが省スペースにできるので1枚の基板に「OR」と「NOTのOR」を同居させられそうです。両者を組み合わせての実験はブレボではごちゃごちゃになるので基板に組んでみます。
B判定回路
Out!の線が無くなれば終了です。このとき、Safe!が残っていれば「失敗」、「Safe!」が無くなっていれば成功です。実際には最後に1本だけ残ったらそれがOut!の線ですから、その時点で成功確定です。その時点かそれも切ったらか成功を宣言するタイミングはこの先の回路しだいで検討します。
結果、成功か失敗かが次の通知回路に行きます。
この判定を具体的にどうやってするかはまだ考えつきません。
C通知回路
ここはまだ描いていません。イメージは先述のとおりフォトリレーで光や音です。判定と通知は1枚の基板におさまるかもしれません。