2023年12月 7日 (木)

Arduinoで「ボコスカハンマー」 あれれれれっ?!

ボコスカハンマー」を作ってと依頼がありました。
   ・10秒ゲーム
ベースはArduino UNO R3ですが、ブートローダーを
書いたATmega328Pチップ(28pin DIP)をユニバーサル基板
に乗っけて製作します。
配線を終えて、チップにスケッチを書いたら・・・
ありゃま。 テレビに出る画像に異常がぁ!

このタイトル画面が
Bk21
これ↓に
Bk11

スタート待機画面が
Bk22
これに
Bk12

現在のところ、原因不明。
現用しているビコピコやシャカシャカからチップ抜いて、
今回作った手組み回路に突っ込んだらちゃんと動くので、
配線や使った部品に起因するものではありません。

原因の推定
 ・Arduinoのコンパイル環境が変わって最適化などの
  状態が前と変わってしまったのか。
 ・今回使ったATmega328P、その内部が前のと
  違うのか。(まさか)
     ※パチモンの可能性

ジャギジャギになっている表示そのものは安定して
いるのです。
チラチラはしてません。
Arduinoの環境を昔のに戻すのはちょっとかなわんし。

sleepさせてH-SYNCサイクルでの割り込みを待って
表示という処理を流しています。
チラチラしないということは、どこかで安定した
時間待ちが出ているもよう。

はてさて・・・困ったぞ。

 

※わかったぞ!
 やっぱりコンパイル環境による最適化の違いでした。

水平走査、1ラインを描画出力しているのはこんな処理です。

void v1line(void)
{
byte i;
uint32_t d; // 32bitデータにコピー
d = sft_bff.sft; // シフトデータ
for(i = 0; i < 32; i++){ // 32bit
if(d & 0x80000000){ // MSB 0/1 ?
VSIG_H; // H出力
nop(); nop(); nop(); // wait
nop(); nop(); nop(); ★1
nop();
}
else{
VSIG_L; // L出力
nop(); nop(); nop(); // wait
nop(); nop(); nop(); ★2
nop();
nop();
}
d <<= 1; // 左シフト ★3
}
nop(); nop(); nop(); nop(); // wait
VSIG_L; // L出力で終わる
}

画面を光らせるのはVSIG_H
消すのはVSIG_L
SBI、CBI命令でポートを直接叩いています。
そして、タイミングの調整に「nop」命令を並べています。

H出力の時【★1】はnopを7個実行して、32bit描画データの
左シフト処理【★3】に飛びます。

そしてそして・・・
コンパイラの最適化がすごいのがL出力の時。
VSIG_Lの実行後、その下に記してあるnop命令8個【★2】
は、数を合わせればVSIG_Hのところにあるnopを使ったら
エエやんということで、VSIG_H直後のnopの場所に飛んで
いるのです。
   ※この飛ぶためのjmp命令の分、L処理時間が
    延びてしまった。
【★2】のnop命令は1つだけを残して実行プログラムの中から
抜いてしまっていて、存在していませんでした。
それでもシフト処理に来ますんで、流れは間違っていません。

絵がおかしくなってしまったのは、nopの数合わせはした
けど、描画のタイミングが白黒でズレてしまったというのが
原因でした。

※バックアップがわりにスケッチと回路図
  ・ダウンロード - piko_boko1c.zip

 

| | コメント (0)

2023年12月 6日 (水)

『部室からCQ ham radio 創刊号を発掘した話』

「X:twitter」から流れてきたお話です。

JA1YDU:部室からCQ ham radio 創刊号を発掘した話

FM2A05Aへのレクイエム
   五極管「FM2A05A」と「ソラ」比較

横浜旧軍無線通信資料館

| | コメント (0)

2023年12月 5日 (火)

「アラルダイト」が無い!

常用している急速硬化型エポキシ接着剤「アラルダイト」
手持ちが無くなったので買おうとしたら・・・無い!
Ar11
調べたら、
エポキシ系接着剤 アラルダイト 2020年6月をもってこの製品は全品番 販売終了です

『 アラルダイト AR-R30 につきましては、今回の毒物及び
 劇物指定外ではありますが、販売を終了させていただきます。
 販売終了時期につきましては、在庫消化後とさせていただきます。』
とのこと。

代替品、どうしたものか。


| | コメント (0)

2023年12月 3日 (日)

秋月電子で買った単3ニッ水GoldenPower 2100mAhを試す

JIS C8708:2019ニッ水電池充放電実験回路 が一つ空いたので、
秋月電子で買った単3ニッ水、
「GoldenPower MR2100AA 2100mAh」を試してみます。
  ・実験回路はトランジスタ技術2022年3月号に掲載
Gg1_20231203113101

初回の0.2C(5時間率)放電から4回目の放電まで。
Cap061_20231203113201
初回は5時間率なので、フルパワーなら300分。
それが2時間58分(178分)で残存パワーは59%。
  ※1.00Vまで落ちる時間での計算
その後は、104分ほどの0.5C放電時間が続きます。
定格120分の87%というところです。
さて、これからどんなグラフを描いてくれますか・・・

| | コメント (0)

2023年12月 1日 (金)

放置していた2014年製「eneloop lite」の充放電実験、4000cycで終了

ちょっと使って放置していた2014年製の
「eneloop lite」(パナソニック製)、
JIS C8708:2019での充放電テストを
4000サイクルで終わります。
E11_20231201103801

このテストを始めたのが 2022年5月17日
8年ほったらかしにしての実験スタートでした。

得られたグラフがこれ。
50サイクルごとの0.2C放電(1.0Vまで)での
放電電圧変化をピックアップしたもの。
Cap058_20231201103201
グラフが重なっているのは、800サイクルあたりから
「回復」してきたせいです。
  ※調子を取り戻してきた?!

充放電時間と充電終了電圧のグラフを見ると、
回復の具合がはっきりを見えてきます。
Cap059_20231201103301

そして、0.5Cでの充放電の様子。
Cap060

サイクルが進むと、
 ・放電時間と充電時間が減少
 ・充電終了電圧が上昇
 ・放電維持電圧が低く
となります。
突然死せず、サイクルが進んでも-ΔV検出(-10mVに設定)
で充電を終えることができました。

 

| | コメント (0)

«ルネサスのトライアックを検索したらなぜか「ブラ」の画像が・・・