2018年11月09日

espzero -- Raspi zero サイズ基板3種

espzero_1.2a_top.png

久々の基板設計。前記事でぐだぐだ書いて来たのだが、自分でもよく分からないので、ここでまとめようと思う。

まずこれらは何か?右から Raspi zero 用のDAC+アンプ基板。Raspi zero サイズの ESP32 ボード ー espzero 。当然ながらアンプ基板と接続することが出来る。左は espzero 用ロジアナ+簡易オシロボード。もはや Raspi zero と接続しても意味がない。なお、ハードウェアだけでソフトはない。というより、ソフトを作るための開発ボード。

左上は、冶具。Raspi zero と espzero の接続を楽にするためのもの。右上はおまけ。Raspi や espzero に DC ジャックを付けるためのもの+ シリアル,I2C 信号線引き出し。続きを読む
posted by すz at 22:11| Comment(0) | TrackBack(0) | 日記

2018年10月29日

MC34119-LM4890-CKE8002 スピーカーアンプ

ちょっと思いついたのでメモ。

まずこれらの型番は何かというと、小出力の BTL アンプでピン互換のもの。
多分オリジナルは、MC34119 でいろんな派生チップが出た。有名メーカーだと LM4890 があり、XPT4890, LB4890, NS4890 など型番を同じにした中華チップが多種あるようである。割と最近見つけたのが CKE8002 で、これはやたらに格安である。

    正確に言うと LM4890 は、互換ではない -- SHUTDOWN の極性が逆。互換なのは LM4991。さらに言うと互換風?の D級アンプ TPA2005 というのもある。

amp-blk2.png

なんでこれに注目したかというと、オペアンプとして機能するようなのである。そうであれば、アクティブフィルタを組み込んだパワーアンプに仕立てることも可能。実際 MC34119 のデーターシートには、そういう例も載っている。

LPF 付きアンプにできるなら、PWM や DAC 用のアンプに都合が良いかなと思った次第。
では、どんな回路が良いのだろうか?続きを読む
posted by すz at 01:44| Comment(0) | TrackBack(0) | 日記

2018年04月28日

自作キーボード (ツール編)

先に Windows でテストプログラムを作る話を書いた。今回は、ライタとかデバッグ環境をどうするかについて。

長らく AVR の電子工作から離れていたが、いろいろ状況が変わっている。

ちょっと調査。

ATtiny45を使ったUSB-I2Cブリッジ

    ここを見ると、
    USB-TINY-I2Cプロジェクト
    というのがあり、USBtiny に I2C マスター機能をくっつけたもののようだ。

    USBtiny には、ISP ライタ の機能があり 、avrdude でサポートされている。... となると、ファームウェアを 書き込んで そのまま I2C キーボード のテストまでできる 可能性が。

    その上、水晶を使わない V-USB ...
    EasyLogger
    というプロジェクトがあり、 合わせることも出来るという話。

    水晶を使わない V-USB というのは、相当に不安があるが、全部出来たあとに試してみるのも良いかも知れない。水晶なしで安定して動くのであれば、ATtiny88 版などにはありがたい。それはともかく、USB-TINY-I2C をツールとして採用してみようかと。

FabISP

    usbtinyisp.jpg

    実は、aliexpress で 見つけて これを購入してある ($1.62:ATtiny44 で検索) 。なんかコンパクトで、良さそうな感じ。micro usb だし、設計が最近のようだ。良く調べないで買ったのだが、調べてみると... FabISP というものであった。

    ファームウェアのソースコードもある。まずはこれを USB-TINY-I2C と合わせることを検討したい。

    FabUSB-arduino.jpg
    A000092, Arduino ISP - Development Kit is a Tiny AVR-ISP based on David Mellis Project FabISP
    Reference Design using part ATtiny44A-MUR by Arduino Corporation

    aliexpress のものは、USB コネクタを変えた派生版だが、ほかの派生版には Arduino のリファレンスデザインと言うものがある。ちょっと驚いた。


続きを読む
posted by すz at 22:22| Comment(0) | TrackBack(0) | I2CKEYBOARD

tcc-win32

少しコードを書いてきたが、どうやってテストしよう?

AVR の USBasp かその手のライタに、I2C ブリッジ機能を持たせるという方向で検討しているのだが、今回は Windows 側 の アプリの話。

実をいうと Windows 10 になってから、開発環境を インストールしていない。一から構築である。普段使いのノーパソの Disk 容量が小さいので、入れるにしても容量が気になる。また、WindowsUpdate のために クリーンインストールを何度かしている。

今回 Windows でもちょっとしたものは、作りたいのだが、最小の環境でというのを考えている。

最小のコンパイル環境 tcc-win32
続きを読む
posted by すz at 21:35| Comment(0) | TrackBack(0) | I2CKEYBOARD

2018年04月26日

自作キーボード ソフト編(3)

ソフト編(1)(2) の実装編である。

今まで書いてきたことをコードにしたのが、これ
 ・i2ckbd-0.0.zip
コンパイルが通っただけで、動くはずもない状態だが、現状はサイズの見積もりが最重要。
念のためコンパイル環境を明記しておく
 ・ WINAVR-20100110
である。なんか古いのだが、使うチップも古いし。

    (追記) rm とかのコマンドがエラーになったり、使いにくいので変更
     ・ avr-toolchain-installer-3.4.1.1195-win32

make すると

    avr-gcc -I. -mmcu=attiny2313 -Wall -DF_CPU=8000000UL \
    -Os -fsigned-char -c i2ckbd.c
    avr-gcc -I. -mmcu=attiny2313 -Wall -DF_CPU=8000000UL \
    -Os -fsigned-char -c usi.c
    avr-gcc -mmcu=attiny2313 -Wl,-Map=i2ckbd.map i2ckbd.o usi.o -o i2ckbd.elf
    avr-objcopy -O ihex -R .eeprom i2ckbd.elf i2ckbd.hex

    text data bss dec hex filename
    1966 0 69 2035 7f3 i2ckbd.elf

こうなった。なんと! ATtiny2313 に入ってしまった。しかしかなり微妙。
また、RAM が厳しい。全部で 128 しかないが、69 バイトを消費している。割り込みを使うので、レジスタ全部退避みたいなところがあり、多分スタックオーバーフローを起こす。
続きを読む
posted by すz at 23:36| Comment(0) | TrackBack(0) | I2CKEYBOARD

2018年04月22日

自作キーボード ソフト編(2)

次は、I2C デバイスの処理である。当初 USI だけ対応する予定だったのだが、TWI にも対応することになった。これについても、だらだら書いてきたものがあるのだが、改めて検討する。

続きを読む
posted by すz at 16:41| Comment(0) | TrackBack(0) | I2CKEYBOARD

2018年04月21日

謎PC構想

今までいろいろやったことを、レトロなパソコン風に仕上げたい。考えがまとまってくるにつれ、なんだか、APPLE II みたいな感じのものを目指す雰囲気になって来た。

appleii-layout-s.jpg
ちょっと調べて、基板の写真を入手。 長辺を 1000 とすると 短辺は 567 。メインボードは、100mm x 56.7mm に決めた。実際の APPLE II は、大きなスイッチング電源が左側にある。正確なサイズはちょっと分からないのだが、幅 25mm の電源ボードもくっつけてしまって 100mm x 82.7mm にしようと思う。

appleii-like.png

イメージを固めようと描いたもの。本体の方は、まだあまり考えていない。(Nanopi-DUO か ESP32) + FPGA 程度で キーボードと NTSC 出力が付くということだけ決めた。 Nanopi-DUO とか載ることは載るのだが、コネクタが相対的にでかい。-- イーサは無理。USB も不格好になりそうな感じ。

そんなことよりも、重要なのは 拡張スロットである。これがあってのレトロ・パソコン。なにか載せたい。サイズ的には、7x1 のピンソケットを 8 列付けると それらしくなると思うのだが、間隔が狭すぎて、本当にかざりにしかならなさそう。というわけで、7x2 を 4 つである。

なにか載せたい。と言っても何も決まっていない。そこから考えていこう。

    自作キーボードは、これに使うのが本当の目的だったのである。
続きを読む
posted by すz at 12:48| Comment(0) | TrackBack(0) | NAZOPC

自作キーボード ソフト編(1)

どのようなコードを作るかについて書いてきたが、これも良くわからなくなっている。仕切り直しであらためて書こうと思う。

ソフト編(1)では、キースキャン側の処理について。I2C や V-USB のインターフェイスについては別途。



続きを読む
posted by すz at 10:56| Comment(0) | TrackBack(0) | I2CKEYBOARD

2018年04月17日

自作キーボード (HWまとめ)

Linux SBC に添える小さなキーボードを作ろうとしているのだが、だらだらと書いてきて自分でも分からなくなったので、まとめようと思う。

レイアウト (一応確定)

    i2c_keyboard_asign.png

    これでいこうと思う。太字の右はシフト。右上は FN キーを押したとき。
     -- ◇は カーソルの4キー。
     -- SysRQ は、"Print Scr" になるかも知れない。
     -- QWER に割り当てがあるが、 最初の版にない、ESC と \ の代替。
     -- FN+R は、SCANCODE1, HID では無理かも。FN+SHIFT+E

マトリックス (確定)

    ROW1 ROW2 ROW3 ROW4 ROW5 ROW6 ROW7 ROW8
    COL1 1 TAB CTRL ALT BS ] ENTER ESC
    COL2 2 Q A Z = [ ' SHIFT
    COL3 3 W S X - P : /
    COL4 4 E D C 0 O L .
    COL5 5 R F V 9 I K ,
    COL6 6 T G B 8 U J M
    COL7 7 Y H N \ FN SP2 SP3

    発注したキーボードが 2 種類あって、さらにもう一つ検討中であるが、同一である。
     -- COL に L レベルを出力し、ROW 側で読み取る。
     -- 特殊キーは、ダイオードを入れて 同時押しをサポート。
     -- version 1 には、ESC と \ がない。(ファイルを修正はした)

続きを読む
posted by すz at 06:01| Comment(0) | TrackBack(0) | I2CKEYBOARD

2018年04月14日

圧着ペンチ

ピンヘッダ用の ケーブルがいろいろ売っているが、コネクタは、"Dupont terminal" というものらしい。メス(female) 以外に オス (male) もある。

    dopont-terminal.jpg
    秋月だと ケーブル用コネクタTJC8コネクター として売っている。ちょっとお高いのだが、金フラッシュだかの処理がされている。aliexpress だと かなり安いものがある("dupont terminal female" で検索)。

このコネクタどうやってカシメるのか、恥ずかしながら詳しくは知らなかった。ラジオペンチで潰しておいてハンダ付けするとかしていたのだが、ケーブルを固定するのが面倒だったり、熱で皮膜が溶けてしまったり。これは、当然ながら 専用の工具がある。 英語では、"climping plier"。

climping-plier-die.jpg
aliexpress で検索したところ、"SN-28B" と "SN-48B" が 該当するらしい。"SN-28B" は、ダイの形状のことらしく、0.25 0.5 1.0 の 3つの大きさで AWG 28-18 に対応し、 "SN-48B" は、0.5 1.0 1.5 の 3つで AWG 26-16 に対応。横から見ると段差があり、皮膜の方も一気にカシメるもののようだ。

    0.25 AWG 24-26-28
    0.5 AWG 22-24-26
    1.0 AWG 18-20-22
    1.5 AWG 16-18-20

こういうことだろうか?

climping-plier-ali.jpg
"climping plier SN-48B" で検索すると、それに応じたプライヤーが見つかる。どれもこれも同じ形であり、ダイも交換可能のように思われる。

climping-plier-daiso.jpg
ちなみに、普通の電工ペンチは、1.5 2.5 5.5 の3つが多いようだ。

線材だが、ファーストン端子(小)やキボシには、AWG 18 〜 20 を使うらしい。"Dupont terminal" には、AWG 24 が普通。せいぜい 22 まで。ということは、0.5 があれば良い。

    直径 断面積 最大電流
    AWG 16 1.291 mm 1.309 mm2 22A
    AWG 18 1.024 mm 0.8226 mm2 16A
    AWG 20 0.8118 mm 0.5174 mm2 11A
    AWG 22 0.6438 mm 0.3256 mm2 7A
    AWG 24 0.5106 mm 0.2047 mm2 3.5A

こういうことなので、SN-48B あたりが良さそうである。

さて、"Dupont terminal" だが、 両端あるいは、片側にコネクタだけ圧着したケーブルも売っている("dupont wire" で検索)。ただ、両端 1P のケーブルの方が安いかも知れない。あるいは、10cm などにカットしハンダ処理をしたブレッドボード用ワイヤ("jumper wire 130pcs" で検索)。これらは、いろいろな色がセットになっていて、少量買うのに都合が良い。

    1P のケーブルは、外してハウジングに付けなおすことが出来そうだ。めんどくさいなら、テープで巻いて使う手もある。自分で気軽に作れるのであれば、ブレッドボード用ワイヤが一番良いかも。
    wire-stripper-daiso.jpg
    ワイヤーストリッパーは、ダイソーの 200円のものが使いやすいらしい ーというのを見て買ってみた。確かに便利そうである。

ハウジングは、最近秋月で扱いだした。安いものであるが、ハウジングのみのセットも aliexpress で安価で買える。


付録 aliexpress 価格調査
1pin メス-メス ケーブル 10cm 40本 $0.59
Dupont Housing sets 115pcs set $2.12
Dupont Female Terminal 100本 $0.59
Breadboard Jumper Cable set (24AWG) 130本 $1.40

10cm で間に合うならば、1pin ケーブルを買うのがコスパが良い。決まった型のハウジングに収めたいならば +ハウジングだけのセットで十分。
posted by すz at 19:16| Comment(0) | TrackBack(0) | 日記