リアルタイムクロック装備,イーサネット,DES (いまさら)対応 NFC RFID (Mifare/FeliCa 同時対応)リーダ認証機能およびログ機能つきのプロトタイプをつくっていたらArduino Duemillnove/UNO のプログラムメモリが足りなくなった.主に Ethernet のせい.とても FAT の読み書き用コード,DESの暗号化と復号化ルーチンのスペースはない.RAMもバッファでいっぱいいっぱいだろう.
それで Arduino Mega にうつそうかと思ったらボードが大きすぎるしSPIとI2Cのピン位置が違うのでISPコネクタでSPIを使うタイプのシールドしか使えない.当然「互換ボード」の類はバスのライブラリがないとかプログラミングをウェブのフォームでさせられるとか,Windows でやらんといかんとか,イーサネットの専用シールドがいるとかで,もっと無理.
フラッシュRAMとかI/Oの規模は 644 でいいのだが Sanguino はピン配置の互換性を無視しているし新 IDE の対応など更新もとまっているのでやっぱり使えない.それでむかし 644p を mega 用ユニバーサルシールドにくっつけた自家製ピン互換ボードを使用することにする.しかたがないので自家製 hardware variation ファイルを作った.
github.com/una1veritas/Arduino/tree/master/hardware
Ethernet もSD Card も WIZ812 モジュール,Adafruit モジュールで外付けすることにする.Arduino 標準ライブラリはいろんな人の作ったライブラリをまとめていて古い部分もあるので,CS でデバイス選択をするしくみなどで手直しが必要になる. RTC も SRAM もつないで,まったく SPI バス祭り.
2012年8月26日日曜日
2012年7月3日火曜日
Mifare と Felica 同時対応
NXP の NFC チップ PN532 をつかった Adafruit の RFID reader shield と Arduino をつかって,Felica の IDm ? カード ID 8 バイトを読み出すことに成功した!ような気がする.
Mifare の UID とデータセクタの読み書きは,これまでサンプルコードもライブラリも拾ってこれるし,StrongLink 社ほかの安価なリーダでできていた.Felica もスイッチサイエンスなどがリーダモジュールなど販売していて SONY のサンプルコードなどがあるようだった.しかし,欧米では Felica はほぼ使われておらず,日本では Mifare がマイナーであるため,両対応のNFCの情報はとぼしかったのだ.
今回はPN532のユーザーマニュアル?とアプリケーションノート AN10609_3, PN532 C106 をもとにして,というかよく見たら Felica reader としてのコマンドサンプルが載っていたので,Adafruit の I2C PN532 ライブラリを参考にしながら自家製ライブラリを作った.GitHub の Arduino-sketches の libraries の RFID_PN532_I2C がそれだ.
これで両方に切り替えながらカードを検知すれば,両方式対応のカードリーダーができるであろう,きっと.
Mifare の UID とデータセクタの読み書きは,これまでサンプルコードもライブラリも拾ってこれるし,StrongLink 社ほかの安価なリーダでできていた.Felica もスイッチサイエンスなどがリーダモジュールなど販売していて SONY のサンプルコードなどがあるようだった.しかし,欧米では Felica はほぼ使われておらず,日本では Mifare がマイナーであるため,両対応のNFCの情報はとぼしかったのだ.
今回はPN532のユーザーマニュアル?とアプリケーションノート AN10609_3, PN532 C106 をもとにして,というかよく見たら Felica reader としてのコマンドサンプルが載っていたので,Adafruit の I2C PN532 ライブラリを参考にしながら自家製ライブラリを作った.GitHub の Arduino-sketches の libraries の RFID_PN532_I2C がそれだ.
これで両方に切り替えながらカードを検知すれば,両方式対応のカードリーダーができるであろう,きっと.
2011年6月28日火曜日
pH 電極用アンプ回路のメモ
オペアンプは,入力インピーダンスの高いもの.10^12 Ohm 程度以上.
バイアス電流はミニマムが数十pAぐらいまで,特に電源電圧が低い(±2.5V)と入力電圧がさがってダイナミックレンジがせまくなる.
± 5V で TL072, TLE2072 が, 5V 単電源では TLE2072 も可, LTC6741 が良好.LMC662 でよいようだ.
電極からの入力は,直接 Vin+ と基準電位で受ける,フィルタはいれない.
フィルタを入れるなら一段目の出力以降.
一段目をユニティゲイン,二段目で増幅10倍なら,一段目から二段目の間に 60Hz カットのCRフィルタ,また二段目のNFBにコンデンサ 0.1uF を入れる程度で交流電源ノイズは数パーセントになる.
反転増幅なら基準電圧は電源の分圧で可.非反転増幅ならNFBのベースになるので変動しないよう汎用オペアンプで定電圧出力を作って使う.
電圧基準IC LM336-2.5 を使うと基準電圧のノイズが小さくできる.
+5V 単電源の場合,基準電圧 2.5V,二段目ゲイン10倍で 200/1024 前後から 800/1024 前後の振れ.
デカップリングコンデンサは,上記フィルタとオペアンプ Vdd-Vss 間,電源ラインの4〜5個で可.
ソフトウェアで 667usec 間隔,331 サンプル程度から平均で最確値を得る.
ふれは ± 20/1024 程度.ボードのシールドや発振回路との隔離,電極の線のとりまわしに注意する.ブレッドボードはウラに銅箔をはった.手を近づけたり体を動かすだけで値が変動する.
バイアス電流はミニマムが数十pAぐらいまで,特に電源電圧が低い(±2.5V)と入力電圧がさがってダイナミックレンジがせまくなる.
± 5V で TL072, TLE2072 が, 5V 単電源では TLE2072 も可, LTC6741 が良好.LMC662 でよいようだ.
電極からの入力は,直接 Vin+ と基準電位で受ける,フィルタはいれない.
フィルタを入れるなら一段目の出力以降.
一段目をユニティゲイン,二段目で増幅10倍なら,一段目から二段目の間に 60Hz カットのCRフィルタ,また二段目のNFBにコンデンサ 0.1uF を入れる程度で交流電源ノイズは数パーセントになる.
反転増幅なら基準電圧は電源の分圧で可.非反転増幅ならNFBのベースになるので変動しないよう汎用オペアンプで定電圧出力を作って使う.
電圧基準IC LM336-2.5 を使うと基準電圧のノイズが小さくできる.
+5V 単電源の場合,基準電圧 2.5V,二段目ゲイン10倍で 200/1024 前後から 800/1024 前後の振れ.
デカップリングコンデンサは,上記フィルタとオペアンプ Vdd-Vss 間,電源ラインの4〜5個で可.
ソフトウェアで 667usec 間隔,331 サンプル程度から平均で最確値を得る.
ふれは ± 20/1024 程度.ボードのシールドや発振回路との隔離,電極の線のとりまわしに注意する.ブレッドボードはウラに銅箔をはった.手を近づけたり体を動かすだけで値が変動する.
登録:
投稿 (Atom)