2017/04/25

Zadig は AVRWRT USBasp の署名なしを解消するも書込み不能

Zadig なるソフトが Windows 10 のデジタル署名回避に使えるとのネット情報によりインストールした。ソフトを起動後,目的のデバイスを挿入すると下図に示すように認識する。

Zaidg.png 


ZaidgUSBasp.png
 
デバイスマネジャをみると AVRWRT は認識され,AVRWRT も起動した。やはりダメか。
AVRWRTfail1.png 

USBasp と延長コードを新たに購入して,AVRDUDE と USBasp の組み合わせによるトライもダメだった。
USBaspTrial.jpg 
avrdude.exe: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'
avrdude.exe done.  Thank you.

中華製 USBasp クローンの動作を諦め,さらに検索したら,「FT232Rモジュールを使ったAVRマイコンのライターと書き込みソフト」とあり,ヘルプ画面をみたら,ATmega8 にも対応している。トライしてみる価値がありそうだ。

参考
2017/04/21

ADC GND のループ配線

AVR ATmega8 に USBasp ライタを接続しょうとしたら,給電をどうしていたのか忘れている。回路図をみたら半年前だ。差動アンプからの給電ジャンパは Off になっているので USB シリアルコンバータから給電しているのだろう。AVRWRT のジャンパは5Vの給電 On/Off であるのに対し,USBasp は 5V/3V3 の切換えである。
AVRWRTjumper.jpg 

USBaspJumper.jpg 

通電しているかどうか不明だと,不安になるので AVR 基板に電源チェック端子を設けて,DSOで確認する事にした。

ついでに配線をチェックしたら差動アンプからの GND が何と AVR のデジタル GND に落ちている。基板のなかで GND が見事にループになっている。ADC の内部参照電圧の GND をどうしようかとばかり気になって,とりあえず書き込みOKのための配線がそのままになっていた。それと差動アンプからの給電も考えていたので+5V電源線に沿わせたのだろうと思う。

差動アンプの出力電圧を DSO からもモニタしているけど,差動アンプ基板と AVR 基板は 15cm のバラ線で接続されているので,ついでにADC 入力端子電圧のモニタに変えた方がいいだろう。そのためチェック端子2個を取り付けた。

最初は簡単に考えていた充電器回路は泥縄式に計測回路基板が増えてノイズに弱くなっている。検索したら,電源コネクタを介して GND がループになるとある。なるほどと思う。

昔の医用デジタル画像処理基板はA3サイズの大きさがあった。それも複数である。デジタル回路の設計のしたことのない上司がなんでこんな大きさのサイズになるのかと担当者に問いただしていた。基板サイズが大きくなると外注先の実装機に制限があったからかな。それはないか。当時は基板実装は手付けであった。ロットサイズが小さいけれど QFP の実装がどうしようもなくなって実装機に移行した。民生量産品とはあべこべであった。

今なら民生用の集積された画像処理チップが搭載されているのだろうか。その割には医用機器の価格が下がらないな。東芝の医用グループがキャノンに売却された。国内のX線CT(断層装置)は東芝の独壇場である。世界的にみてもGE,ジーメンスおよび東芝くらいの寡占状態になりつつある。フィリップ,日立および横河は生き残れないかもしれない。ハードなら民生用の CPU と GPU を使えばかなりの事ができるだろう。価格破壊の医用画像診断装置を中国とか台湾が出すかもしれない。

ひょんなことから ADC GND のループが発見できた。手元にあるブレッドボードは DIP IC が挿しづらく,つい小さな基板で半田付けして基板の追加を重ねてしまった。もしくは空白だらけの基板になってしまう可能性が大だけれども,余裕のあるサイズの基板に実装しようか。今は実験のための基板サイズを統一しているおかげで,ネジ止め位置が統一されているのでケースの使いまわしが出来ている。基板サイズを変えたら標準ケースも変更しなければならない。どうしょうか。

参考
2017/04/14

VB の構造体型宣言はいい加減?

VB2010 Express の構造体型宣言がいい加減だ。構造体メンバを Integer に宣言しておいて,

Dim X As Integer

xxxx.X = 222/10

と代入し Debugger で確認すると, xxxx.X の値は Integer の22ではなく Double の 22.2 である。購入したままになっていた VB3 と VB4 を数年前に使用し始めたので,今でも VB2010 を使い続けている。

これからプログラミングを始めるなら汎用性があって,型宣言が厳格な C でプログラミングした方がいいだろう。Microsoft が無料で提供している。実務優先ならPCのバッチ言語,データベース言語だろうか。

2017/04/08

Atmel Studio7 新プロジェクト作成できない

既存のライブラリとソースファイルを用いて,新しいプロジェクトを開こうとしたら,エラーになる。既存のプロジェクトの Build はできる。エラー表示を読むと,メモリ関係らしいので空きメモリを増やしたが,状況は変わらない。

ネット検索したら,Windows 10 にアップグレードした方にも同じような症状がでるらしい。半信半疑でアンインストールした後,念のため Atmel サイトからインストールすると,正常に戻った。

アンインストール直前の Studio7 のインストールした日は 2016-11-03 になっていたけれども,実際はどうも 2016-1-26 のようだから,Windows 10 にアップグレードにしたとき 2016-11-03,Windows が書き換えたのかもしれない。

ちなみに再インストールした Studio7 は build1188 September 2016 である。Studio7 の期日は古いままである。

Windows 10 -> Studio7 Ok 今回確認済み
Windows7 Studio7 -> Windows 10 NG

参考
2017/01/21

AVR USART と ADC 機能は mega だけ?

充電器の充電流測定記録に AVR ATmega8 を使用している。この ADC の内蔵参照電圧は 2.56V と大きく,400mV のピーク電圧測定にはレンジが過大である。レンジに合わせ差動アンプのゲインを変えるには抵抗部品がかなり増えてしまう。もしくは高精度2.5Vリファレンス電源 LT1009CZ を抵抗分圧して外部参照電圧として使用するか。しかし価格が¥377 とマイコンが買える値段だ。

ATmega8 を他用途に転用する目的ができたので,まず手元にある ATtiny2313 を使おうとしたが ADC がない。共立電子で入手が可能な AVR を調べてみた。

                     ADC            USART I2C
ATmega8        2.56V          yes     TWI 現在取扱なし
ATtiny48         1.1V            x        TWI
ATtiny45         1.1/2.56V    x        USI
ATmega168A   1.1V            yes    TWI

USART 機能があるのはどうも mega シリーズだけのようだ。V-USB の手法によれば AVR の I2C ポートを用いて USB デバイス機能を実現できるようだが,Teraterm のような古典的なターミナル通信ソフトは見当たらない。PCと異なりタブレットとかスマホは内部に USB シリアル変換デバイスを包含しているのだろうか。

AVR 特有の USI はプログラムを付加すれば I2C マスタとしても使えるようだ。

参考