暖房ヒーター用タイマー(ATMgea168)プログラムの書き換え

2016年も押し詰まり、だいぶ寒くなってきました。以前作った暖房ヒーター用タイマーを物置から出してきました。 タイマーの時間設定は、5分→10分→15分→5分のローテーションです。 使っている内に15分では短いことに気付いたので、時間設定に20分を追加することにしました。 プログラムの変更箇所はすぐにわかりましたが、いざ書き換えようとすると、当初の書き込み手順をまったく忘れていることに気付きました。  改めて手順を備忘としてメモします。

使用したハードは、Atmel AVRISP MkII で、ISP経由で書き込みます。

写真1 ターゲットマイコンにACアダプタからDCを供給しています。あまり真似しない方がよいです。

ソフトはArduino IDE 1.0.5-r2です。初期設定では、暖房ヒーター用タイマーに使っているマイコンの定義ファイルがありませんので、Arduino IDEで ATtiny/ATmega 開発環境を作るさんのサイトを参考にしました。 Aruduino IDEがAVRISPmkIIにアクセスする為に必要な汎用USBドライバ(libusb-win32-bin-1.2.?.?.zip)をインストールします。 それとATmega/ATtiny記述ファイルアーカイブ hardware.zipをダウンロード解凍してスケッチを保存してあるフォルダと同じ階層に置きます。  Adruino IDEを起動し、→ツール→マイコンボードを見ますと

写真2

ATMega168P(16Mhz /X’tal)が現れます。次に、

写真3

ツール→書込装置→AVRISP MKIIを選択します。 写真1のように、AVRISP MKIIにターゲットマイコンをISP経由で接続します。 次に、

写真4

ファイル→書込装置 を使って書込むを選択すると、コンパイル後スケッチが書込まれます。ここで、

avrdude: Expected signature for ATMEGA168P is 1E 94 0b
Double check chip, or use -F to override this check.

というエラーが出ます。 ターゲットマイコンはATmega168でして、写真2で選んだマイコンボードはATMega168Pでした。ATMega168とはsignatureが異なるということのようです。検索しましたら、秋月電子のATmega168/328マイコンボードキットを組み立ててみる[Arduino]のサイトにありました。 当該サイトでは、ATMega168Pを使っているのに、ATMega168のsignature「06」になっているというエラーです。

こちらは逆にATMega168を使っているのに、ATMega168Pのsignature「0b」になっているというエラーです。 対策として、ターゲットに168Pを指定しておいて実際は、168に書き込むということです。  ですので、上記サイトに倣って、avrdude.confを一時的に書き換えることにします。confファイルは管理人の場合、

C:\Program Files\Arduino\hardware\tools\avr\etc

にありますので、TeraPadでavrdude.confファイルの当該箇所を

写真5

の様に変更します。 再び書込装置を使って書き込みましてOKでした。その後confは元に戻します。

写真6

無事に時間設定に20分が追加されました。  因みにArduino IDEが1.6.xの場合は、フォルダの設定を変更する必要があるそうです。(AVRマイコンを Arduino-IDE 1.6.x で使用する方法) しかし、最初にどの手順でbootloaderを書き込んだのか記憶がありません。物忘れが激しい。

 

Follow me!

ブログランキングの応援と広告のクリックをお願いします。 にほんブログ村 科学ブログへ  学問・科学ランキング  

Φ について

2010年より研究しています。
カテゴリー: 雑感 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA