いろんな電子工作
私が作ったいろんな電子工作を紹介します。電池式ニキシー管時計は一例です。 単三形電池1本で動作させました。
更新
致命的ではありませんが、不具合があったので更新しました。
〜 ミニフォトフレーム本体プログラム 〜
〜 ミニフォトフレームブートローダー 〜
SDカード操作時のSPI設定に誤りがありました。
SDカードのシリアル転送規格に反した設定(Mode 0ではなくMode 3で設定していた)をしていました。
動作上、すぐに問題が発生する訳ではありませんが、SDカードによってはアクセス出来ないかもしれません。
どちらのプログラムも入れ替えてください。
〜 ミニフォトフレーム本体プログラム 〜
〜 ミニフォトフレームブートローダー 〜
SDカード操作時のSPI設定に誤りがありました。
SDカードのシリアル転送規格に反した設定(Mode 0ではなくMode 3で設定していた)をしていました。
動作上、すぐに問題が発生する訳ではありませんが、SDカードによってはアクセス出来ないかもしれません。
どちらのプログラムも入れ替えてください。
タグ : ZY-FGD1442701V1 ミニフォトフレーム
とりあえず、公開
テストボードで動作確認できたのでミニフォトフレームのソースファイルを公開します。
〜 ミニフォトフレーム本体プログラム 〜
〜 ミニフォトフレームブートローダー 〜
不具合を見つけましたらご指摘を頂ければ助かります。
SDカードからのブートローダーは、以下のブートローダーのソースファイルをベースにミニフォトフレーム用の回路あわせて変更いたしました。
〜 ゆきの研究室 MP3プレーヤーキット BK-1 〜
ゆきさんに感謝いたします。

回路図は、ミニフォトフレーム本体のzipファイルにも入っていますが、貼っておきます。
〜 ミニフォトフレーム本体プログラム 〜
〜 ミニフォトフレームブートローダー 〜
不具合を見つけましたらご指摘を頂ければ助かります。
SDカードからのブートローダーは、以下のブートローダーのソースファイルをベースにミニフォトフレーム用の回路あわせて変更いたしました。
〜 ゆきの研究室 MP3プレーヤーキット BK-1 〜
ゆきさんに感謝いたします。

回路図は、ミニフォトフレーム本体のzipファイルにも入っていますが、貼っておきます。
タグ : ZY-FGD1442701V1 ミニフォトフレーム
誤差の範囲
どうやら誤差の範囲のようです。
それと、測定したい電圧と基準電圧が離れているのでなおさら誤差が広がったようです。
AVCCを基準電圧にして分圧をやめて測定したところ、良好な結果になりました。
分圧なしと言うのはAVRに過電圧がかかりやすいので危険かも。
--- 追記
結局、10kと47kの抵抗を逆にして、分圧した電圧を測定する事にしました。
これで、新品の乾電池を入れてもAVRを壊しません。
それと、測定したい電圧と基準電圧が離れているのでなおさら誤差が広がったようです。
AVCCを基準電圧にして分圧をやめて測定したところ、良好な結果になりました。
分圧なしと言うのはAVRに過電圧がかかりやすいので危険かも。
--- 追記
結局、10kと47kの抵抗を逆にして、分圧した電圧を測定する事にしました。
これで、新品の乾電池を入れてもAVRを壊しません。
タグ : ZY-FGD1442701V1 ミニフォトフレーム
電源電圧のADC変換値がおかしい
ATmega328pで電源電圧の監視をしているけれど、データシートの変換式通りの値が得られません。
ADC端子の電圧が0.408Vで、変換値が348前後です。
データシートの計算式だと380前後のはずなのですが・・・
ADC端子(Ch4)は、電源電圧を47kと10kの抵抗で分圧しています。
電源(2SJ439のドレインから)+ --- 47k ---A--- 10k ---- GND
ADC端子周りの回路は上記の通りで、10kの抵抗には0.1uFのセラミックコンデンサを並列に繋いであります。
そして、Aの点からAVRのADC端子に繋いであります。
上記の回路は、他の方の回路を参考にしているので間違いは無いと思います。
ADCのクロックは、内蔵8MHzを64分周して125kHzで、シングルエンド、単独変換で動かしています。
それくらいの差は、誤差の範囲なのでしょうか。
ATmega644でテストしたときも同じように差が生まれました。
ADC端子の電圧が0.408Vで、変換値が348前後です。
データシートの計算式だと380前後のはずなのですが・・・
ADC端子(Ch4)は、電源電圧を47kと10kの抵抗で分圧しています。
電源(2SJ439のドレインから)+ --- 47k ---A--- 10k ---- GND
ADC端子周りの回路は上記の通りで、10kの抵抗には0.1uFのセラミックコンデンサを並列に繋いであります。
そして、Aの点からAVRのADC端子に繋いであります。
上記の回路は、他の方の回路を参考にしているので間違いは無いと思います。
ADCのクロックは、内蔵8MHzを64分周して125kHzで、シングルエンド、単独変換で動かしています。
それくらいの差は、誤差の範囲なのでしょうか。
ATmega644でテストしたときも同じように差が生まれました。
タグ : ZY-FGD1442701V1 ミニフォトフレーム
テストボードをATmega328p化
テストボードをATmega328p化しました。
AVRを差し替えればATmega644に戻せるはずです。(未確認)
プログラムがすんなり動くと思ったら動かず。(^_^;)
ATmega644よりSRAM量が少ないので暴走していました。
FatFsをタイニーモードでコンパイルしてSRAM量を削減したら暴走は止まりました。
次は、SLEEPでバックライトがときどき消える現象が起きました。
ATmega644では起きなかったので不思議です。
どうやら表示中にSLEEP(パワーセーブ)すると、LEDをPWM制御しているポートの状態がLowになるタイミングがあるようです。
SLEEPをアイドルモードにしたら回避できました。
ATmega644で発生しない原因は不明です。
ブートローダーは、読み込むファイル名を変えただけで動きました。ありがたいことです。
ATmega同士だからもう少しすんなり移植できるかと思ったものの意外と苦労しました。
AVRを差し替えればATmega644に戻せるはずです。(未確認)
プログラムがすんなり動くと思ったら動かず。(^_^;)
ATmega644よりSRAM量が少ないので暴走していました。
FatFsをタイニーモードでコンパイルしてSRAM量を削減したら暴走は止まりました。
次は、SLEEPでバックライトがときどき消える現象が起きました。
ATmega644では起きなかったので不思議です。
どうやら表示中にSLEEP(パワーセーブ)すると、LEDをPWM制御しているポートの状態がLowになるタイミングがあるようです。
SLEEPをアイドルモードにしたら回避できました。
ATmega644で発生しない原因は不明です。
ブートローダーは、読み込むファイル名を変えただけで動きました。ありがたいことです。
ATmega同士だからもう少しすんなり移植できるかと思ったものの意外と苦労しました。
タグ : ZY-FGD1442701V1 ミニフォトフレーム



