練習開始から93日、ほぼ3ヶ月ぐらい経っているので経過を書いておく

  • 10月09日: 25wpm ランダムまで90%をとれ次第すぐ進むぐらいの勢いでやる。
    • 1ヶ月で、20wpm ランダムならぎりぎり90%をとれるぐらいになる
    • 2ヶ月で、25wpm ランダムならぎりぎり90%をとれるぐらいになる
  • 26wpm からどうも急に難しくなったように感じられる
    • 一部の符号の聞き間違えが足を大きくひっぱっている (特に S H 5)
  • 20wpm まで戻り、100% がとれ次第次のスピードに進むという基準に変更
    • 基礎練習
    • S H 5 を特に意識してやる
    • 3 7 z あたりも苦手だったけど、全体的に精度が上がるのは感じられる
  • 22wpm ← 今ココ
    • あいかわらず S H 5、1 J で間違えることが多い。

22wpm でもランダムなら、ほぼ90%はとれる、という状態にはなっている。ただし単語聞きとりだと、短い符号が多くなっておいつけなくて、もっと低く80%代なことも多い。それに身体状態に大きく左右されるのも変わりない。寝る前とかだと95%もとれなくなる。

最近急がしくて交信を聞く暇がなく、とにかく朝と夜の聞きとり練習だけをやってる。実感としては正直、ラバースタンプレベルでも余裕でとれるような感じではない。タイピングまではできても、意味まで理解して聞きとろうとすると単語単位で落としてしまう。それに、実際の交信だと25wpmはあたりまえな感じなので、現状の能力では全く足りない。

ラバースタンプでも、名前と住所は必ずちゃんと聞きとる必要があるところなので(住所はJCCで送ってることが多いからそれほどでもないけど)、それぐらいは1発でとれるようになりたい。それに、ラバースタンプとはいえ、何を送ってこられるかわからないのは怖い。緊張するとさらに聞きとれなくなると思う。

  1. トップ
  2. ham
  3. モールス練習
  1. トップ
  2. モールス
  3. モールス練習

「コレクタ接地ってボルテージフォロワ? エミッタフォロワー? あれ?」って思ったのでちゃんとしとく……

ボルテージフォロワは普通オペアンプに対して使うようだ。エミッタフォロワーはバイポーラトランジスタを使ったボルテージフォロワ、でいいのかな。

ボルテージフォロワは FET も同じようにドレイン接地 (ソースフォロワ) で作れる。

オペアンプをヴォルテージフォロワとして使う場合、中身 (バイポーラトランジスタやらFETやらの集合) のことを無視して考えると、中身がエミッタフォロワーだろうがソースフォロワだろうが、挙動としてはヴォルテージフォロワということっぽい。

  • ボルテージフォロワー
    • エミッタフォロワー
    • ソースフォロワー

まとめを後日書きました ボタン電池で動く小型・低消費電力 AVR エレキー (50円 ワンチップマイコン ATTiny13A) | tech | avr | arduino - 氾濫原

前に書いたのの続き。

せっかくメインのICが小さいので、できるだけ小さく作るならどうするのがいいだろう?と考えてる。

まず、乾電池1本で動いたらいいなと思ったので、1.4Vを3.3Vに昇圧する回路を組んで駆動させてみたら、昇圧回路がどうもうまくいかなくて、やたら電気食う感じだった。昇圧回路の調整を別途やれば乾電池1本でもいい感じになるかもしれないけど、実際ブレッドボードで組んでみたら結構体積も食う感じになってしまったので、そもそもこの方法を諦めた。

じゃあリチウムコイン電池を使うことを考えよう、と思った。リチウムコイン電池なら1個で3V出せる。ただ、あまり電流を流すことができなくて、標準で 0.2mA 程度に抑える必要がある。消費電力を減らす工夫はしてるつもりだけど、スピード調節をADCにしたのでボリュームに常に電流が流れるとか (10kΩなのでこれだけで0.3mA流れる)、もうちょっと頑張る必要がありそうだった。

まず、ADC は1秒ごとに行うようにコードを変えて、そもそも頻度を減らした。また、ボリュームに電圧をかけるのも、ADCが行われるときだけにした。これはピン1個を出力にして、VCC の代わりにそこに繋いでる。VCC とピンの出力電圧は厳密には違うので、ADCの精度は落ちるけど、そもそも安定してない電池駆動だし、相対値だけがとれればいいのでまぁいいかな、という気がする。

それでだいたいアイドル時に0.3mA程度まで下がった。しかしこれ以上思いつかないので、とりあえずクロックを下げてみて挙動に問題がないか試すことにした。ATTiny13A の場合、内蔵クロックは 9.6MHz, 4.8MHz, 128kHz とそれらを8分周したものが選べる。なので 4.8MHz を8分周した600kHzで動かしてみると、思ったより変なことにならなかった。これでアイドル中はほぼ0.2mA未満に。

じゃあ 128kHz だとどうだろう、ということでやってみたら、

 bad AVRISPmkII connection status: Unknown status 0x00

とかでるように…… たぶんクロックを下げすぎたせいで ISP の書きこみのクロックを読めてないのかな……

うーん困ったと思っていたら avrdude に転送スピードを下げるオプション (-B) があったので、-B 100 ぐらいにしてやったらいけた。しかし書きこみ速度がだいぶ遅い。

コードを全体的に書きなおさないと 128kHz でバグってて動かない感じだけど、軽く試した感じだと、アイドル中で0.09mAぐらい。キーイング中で0.19mA。パワーダウンは変わらず0.6uA程度。コーディングが面倒になった割にはそんなに減らない。ベースの消費が無視できないほどクロックの支配率が低くなってるせいかな。

仕様から

  • VCC=3V, f=128kHz
    • idle: 0.01mA
    • active: 0.04mA
    • power down: 0.00015mA
    • ADC: 0.225mA
    • Timer0: 0.002mA
    • pull-up: 0.08mA
  • キーイング中は pull-up + active + timer0 + FET GS接地抵抗(440k)電流 = 0.122mA が最低でも必ずかかる
  • アイドル中は idle + timer0 = 0.012mA
  • ADC中は active + ADC + timer0 = ボリューム電流 = 0.567mA
  • パワーダウン中はクロックに関係なく固定で 0.15uA
    • 比較すると実測値が結構高いけどなんでだろう
  • 瞬間最大電流
  • キー同時押し pull-up * 2 + active + timer0 + FET GS接地抵抗(440k)電流 + ADC
    • 0.7338mA

パワーダウン中の消費は AVR ISP Mark II と繋っていたからで、RESET をはずせば 0uA になった

  • パワーダウンモード 0.0uA未満
  • アイドル中 90uA -> 0.09mA
  • キーイング中 198uA -> 0.198mA with FET
  1. トップ
  2. avr
  3. ATTiny13A を使った小型エレキー
  1. トップ
  2. tech
  3. ATTiny13A を使った小型エレキー
  1. トップ
  2. arduino
  3. ATTiny13A を使った小型エレキー