Attiny85 FuseRest

Attinyシリーズのマイコンに書き込みをする際に
arvdude: Device singnature = 0x000000
arvdude: Yikes! Invalid device signature.
とエラーが出て書き込めない場合の対処の話。フィーズリセッターを作ってリセットすると無事に書き込めるようになる。フィーズの設定をしないと書き込めなくなる場合がある事は知っていたが、その状況にいざなったので備忘録。

 Attiny85を使ったプロジェクトをと久々にブレッドボードで、ライターを作成。

ArduinoのISPのスケッチをNanoに書き込みし、LチカをAttiny85から実行する。

https://www.studiopieters.nl/miniaturizing-attiny85/

を参考にして書き込み回路を作っている。昔Attiny85書き込み用のライター回路を作ったのだがどこかに行って見当たらないのでブレッドボードで。

Lチカまではなんて事ないし、沢山WEBで情報がひらえるので問題ない。

手元に7個あったが2個に書き込みができない事象が発生。おそらく、昔、digispark化したものなんだろうと・・・

arvdude: Device singnature = 0x000000
arvdude: Yikes! Invalid device signature.
とエラーが出て、0x000000とデバイスを認識してくれない。

本来は、0x1e930Bと表示され、(たぶんat85)と表示される。

これも調べると、よくあるらしく、フューズの設定を12VをResetピン(1番ピン)に与えて書き換えれば復活するとの情報がたくさんあり、フィーズを書き換えればいいんだろうと以前から見当はついていたが、書き込めない事象に出会ってこなかったので。


フューズリセッターの回路とスケッチが以下に見つけられたのでさっそくやってみた。

https://sites.google.com/site/wayneholder/attiny-fuse-reset

https://gijin77.blog.jp/archives/32869284.html

これを参考に、ブレッドボードで回路を作ってみた。

12Vの供給は、別に電源を用意してもよいが昇圧回路をアマゾンで大量購入していたものを利用。一つ80円の代物・・・安い。トランジスタは、SC1815が道具箱に転がっていたので利用して構成。

https://www.amazon.co.jp/gp/product/B0CT2SVZFJ/ref=ewc_pr_img_1?smid=A12MN72WN78AH1&psc=1

ブレッドボードで組むとゴチャゴチャしていますが・・・


スケッチはヨッシーさんのものを使わせていただく(そのため、13→7ピンに変更はしている)。

ArduinoIDEのシリアルモニタを立ち上げて、baud rateを19200にして何か文字を一つ送りつけると書き込みが始まる。

と出力されて最初LFuseがE1, Hfuseが5Dだったのが、それぞれ62、DFに書き換えられる。

ここまでくると、ライターに戻して、Lチカを書き込みしてやると、無事に書き込みができた。工場出荷は、この62、DFになっているが何かの拍子に変更してしまうと書き込みできなくなるので、このフューズリセッターはAttinyを使うには、知っておいた方がよい。


フューズの状態でどう動作を決めているのか?というのは、

https://eleccelerator.com/fusecalc/fusecalc.php?chip=attiny85
が参考になる。

フューズリセットはAttinyを使う以上、必須と思って、ブレッドボードから、ユニバーサル基板でNANO用のシールドを作っておいた。


裏側は、ポリウレタン銅線で配線をかけていて決して綺麗なものではない・・・。まあ一点ものだと一番これが速いし。


このブログのロゴとか、1番、8番の方向、とは回路名称などを印刷して貼り付け、また裏側に、保護のポリスチレンの板を加工してネジで止めてみました。


ポリスチレンは、100円ショップで購入してきたフォトフレームを切り出し、穴をあけたものです。これが一番安い。アクリル板を購入すると数千円とかするので、これで代用する。








コメント

このブログの人気の投稿

Attiny85とAQM0802A(LCD)のI2C接続

ILI9341 240X320 Arduino