スポンサーサイト

.-- -- スポンサー広告 comment(-) trackback(-)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

久々の配線

.11 2012 回路図ノート comment(0) trackback(0)


先日母校の文化祭に行き、その後同期とこんな話をしていた。
「最近の作品って全部マイコンで昔みたいなロジックICだけの作品とかもうなくなっちゃったよね」
「5054とか4033とか言っても今の世代には通じないんだろうな」
「でも7414くらいは使うんじゃね?」
「マイコンはクロック内蔵だしチャタリングもポートをスキャンする間隔を調整するだけで無視できるから7414すら用なしかも」
「大基盤にICがずらーっと並んでる作品とか久々に見てみたい気はするけどね」
「じゃあ作るか」
というわけで作った。

スポンサーサイト

タッチセンサとLEDで線を共有する

.22 2011 回路図ノート comment(0) trackback(0)
3次元ダイナミック制御でタッチセンサとデータ線を共有するとタッチセンサの立ち上がりが異様に遅くなる現象が発生していましたが、一応解決しました。
図中の上から下に変更するとLEDの影響をほぼ完全にシャットアウトできます。


どうせLEDのキャパシタンスorリークが影響しているのでLEDの先にダイオード付けてLEDに流入する電荷を制限します。
ダイオードはリークがかなり少なく、静電容量もLEDに比べるとかなり小さいのでこれでかなり改善されます。
# まさかLEDにダイオードを直列に繋ぐ日が来るとは…

これだけだと電源によっては押しっぱなしにしているのになぜかゆっくり発振したりと意味不明な現象が起こったので、回路図にあるようにLEDのアノード側(トランジスタのコレクタに接続)をプルダウンしています。
今回のタッチセンサの抵抗値は1.5Mと6.2Mですが前と同じようにいい感じに反応してくれています。

折角安定してセンサのデータが取れるようになったので熱拡散シミュレーションでもやってみますかね。
3x3だとあんまりきれいに出ない気はしますけど。
# AVRの処理能力的に陽的Euler法一択ですね。

多次元ダイナミック制御

.16 2011 回路図ノート comment(0) trackback(0)
3x3x2色を制御するとき、普通なら次のような回路を考えます。


これだと3 + (3 * 2) = 9本のIOが必要になります。
これを一工夫して8本(3 + 3 + 2)で制御する方法を思いつきました。
さらに入出力共有制御と組み合わせてタッチセンサをつけてみました。

通常なら12本(3 for common, 3 for red, 3 for green, 3 for sens)のIOが必要ですが8本で済んでいます。


使っているのはPORTBの8本だけ。

LEDと同じ線を共有しているせいかタッチセンサの応答が鈍っています。
(触れられていないときHになるが、その立ち上がりが異様に遅い)
トランジスタの入出力容量なんて大したことないはずなのでLEDのキャパシタンスが邪魔してるのではないかと睨んでいます。

進展があったらまた追記します。

入出力共有制御

.08 2011 回路図ノート comment(0) trackback(0)
昔思いついて実践した技術のひとつに入出力共有制御というものがあります。
これはマイコンのあるピンにLEDとスイッチを両方ともくっつけて、スイッチの値も読みつつLEDも制御するというちょっと怪しい方法です。
で、これを使ってなんか面白い物が作れそうな気がしたのでメモします。

Tiny2313で74673相当のものを作る方法。
普通に考えたらPORTB 8本 + PORTD 7本 + PORTA 2本のうちPORTB, D全てとAの片方を出力として16bit確保。
残り1本でどーすんの?ってことになります。

そこで入出力共有制御の出番。
どうせ74673の出力ってLEDにつなぐわけで出力が多少ブレたっていいですよね。
だったら完全に入力として使うピンをクロックにしてこのピンの立ち上がりで割り込みをかけ、共有してるポートを入力にしてデータとかラッチクロック受け取ればよさげ。
割り込みがかかった後入力になる期間は数clkで1ns程度。この間一瞬LEDが光ったりするかもしれませんが1nsなのでまず人間は認識できないでしょう。
というか1nsだけLEDに電圧がかかったとしてそもそも光るのかという話はあります。LEDの応答時間は数10nsだった気がするのでこの期間ではLEDに影響はでないではずです。

# ただし8MHz以下限定、入力clkとしては20命令clkつまり400kHz程度が限界な気がします。仕様上多少の制限はありますがマイコンで使うならこの程度で十分ですね。
# というかマイコンで使うならこの74673もどきに送信する関数をアセンブリで設計して適切にnop挟むなりすれば全く問題ない。


この図でdata, latch clkは通常は入力モードにしておき、clkを入れるときだけデータを出力するようにすれば無駄な電力消費は抑えられます。

はい、100円で74673相当の物作れたw

USBのmegaへの移植はまだまだ変な罠にはまっている感じです。トホホ…


 HOME 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。