2009年10月18日日曜日

FMステレオチューナ: AVR覚え書き




とりあえずLEDが点灯
先は長いね












最初の作業の覚え書き(CPU: ATMEGA64, 書き込み機: AVRISP II

ダウンロード時には登録を求められるも、AVRWikiの『最新情報』をよく見ると、
   登録不要なリンク先が書いてある
  • AVRISP IIをPCのUSBに接続
  • AVRStudioにドライバが含まれているのでドライバは自動的にインストールされる

AVRStudioの覚え書き
  • まず、"Project" → "Configuration Options" でデバイスとクロック周波数を指定する
  • Cで開発するには、Makefileをソースと同じフォルダにあらかじめ置いておく
"Build" → "Export Makefile" で作成
  • ソース作成後、"Build" → "Build" でプログラムデータ(hexファイル)が生成される
  • "AVR"アイコン(Connect to the Selected AVR Programmer)をクリック
  • "Program"タブの"Flash"項でhexファイルを指定して、"Program"をクリック。


ATMEGA64では、ISPをMOSI, MISOに接続してはいけない

 Setting mode and device parameters.. OK!  Entering programming mode.. FAILED!  Leaving programming mode.. OK!

というメッセージが出てISPに失敗します。
FAQによると、ISPクロック周波数が、AVRのクロック周波数の4分の1以下にセットせよと書いてあるが、設定を変えてもダメ。ググったところ、MISO, MOSIの罠なんて記事が。
なんでもATMEGA64のMISO, MOSI端子はSPI接続用で、ISP機能のMISO, MOSIはPE0, PE1に割り当てられています。みんな、はまっているんやね。





  ATMEGA64のピンアサイン
  MOSI, MISOはPB2, PB3
  (これはSPIインターフェース)






















  ISPのピンアサイン
  MOSI, MISOはPE0, PE1
  











初期設定はATMEGA103互換モード
紛らわしいので、Fuseビットを操作して互換モードを解除。
AVR Studioの操作画面では、ヒューズをイメージしているらしく、チェックありはヒューズが飛んだので論理0。チェックなしは、ヒューズがつながっているので論理1。違和感ありあり。




ヒューズビット表示
チェックあり: 論理0 (L)
チェックなし: 論理1 (H)
















すごく参考になったページ

2009年10月12日月曜日

FMステレオチューナ: 電源(2)


1.ドロッパ型電源

 回路としてはすごく基本的でカンタン!と思っていましたが、まじめに考えると難しく思えてきました。手元にあった「トランジスタ技術SPECIAL N0.28 特集 最新・電源回路設計技術のすべて」の解説記事を見ながら、ひとつひとつのパーツの仕様を考えていきます。

  • 電源の仕様
この電源には、チューナ基板本体と外付けプリアンプ基板を接続します。
    電源電圧はチューナ基板に合わせ5Vとします。負荷電流は450mAを予定していますが、
    余裕を考え、仮に1.2倍として600mA程度とします。

  • 電源トランス
電源トランスの2次側電流容量は、電源出力の平均電流の1.5~1.7倍を選定するそうです。
    従って電源出力を600mAとすれば、トランス2次側電流容量は900mA以上必要と
    言うことになります。

    電源ハムの影響を極力避けるためリーケージフラックスが小さいトロイダルトランスとして、
    RSコンポーネンツでアイルランドNuvotem Talema社製70000Kシリーズ
    基板実装タイプを購入しました。ブルーの小型トランスで、よくオーディオの自作でも
    使われています。

Nuvotem Talema社トロイダルトランス(カタログより)


    他にもAmveco社の製品がDigi-Keyで入手できます。

    さて、この製品の仕様は1次電圧115Vで規定されています。
    これを100Vで使用したらどうなるのでしょうか。
    2次側の電圧は、1次側に比例するので100/115になります。
    電流は、トランスの巻線の太さで決まるので上限は変わらないはずです。
    ただ鉄損(コアの損失)と銅損(巻線の抵抗による損失)が減少するので厳密には
    僅かに多めに取れると思いますが、安全を考えて、やはり変わらないと考えることにします。
    
    今回は、細かいことを考えずに 70041K を選んでしまいました。仕様は次の通りです。

      容量: 10VA
      1次電圧: 115V

      2次電圧: 9V 556mA ×2巻線

      2次開放電圧: 10.8V
      効率: 82%

    1次電圧を100Vとしたときの、2次電圧は 9V×100V/115V=7.8V。(定格電流時)
    2次巻線はカタログに『Primaries and secondaries for parallel or series connection』
    とあるので、少々抵抗を感じますが並列接続します。接続時には極性に注意しないと
    短絡してしまいます。電流は 556mA×2=1,112mA となります。

    ところで、トラ技SPECIALの記事によると、トランスの電圧変動率ε を求めておくと、
    回路定数を求めるのに便利ということで計算しておきます。

電圧変動率ε
V'2: 2次側開放電圧
V2: 2次側定格電圧

    上の式より、(10.8V-9V)/9V=0.2 となります。これは1次電圧は115Vの場合ですが、
    100Vの場合はわずかに改善されるものと思いますが、同じと考えておきます。

    この電圧変動率εから、2次側短絡時の1次側の電流を求める事ができます。

2次側短絡時の1次側の電流I1s

    この場合、(7.8V×1.112A/100V)×(1+0.2)^2/0.2=0.62A となります。

    2次電流を1次側に換算するには。(V2/V1)×(1+ε) を掛ければ、求める事ができます。
    たとえば、3端子レギュレータの出力が短絡した場合に1次電流を求めてみます。
    使用した3端子レギュレータμPC2405Aには、1.2Aで動作する過電流制限回路が
    内蔵されているので、このときの1次電流は (7.8V/100V)×(1+0.2)×1.2A=0.11A となります。
    
    次に、トランスの出力はブリッジ接続されたダイオードで整流された後、平滑コンデンサで
    比較的フラットな電圧となりますが、負荷が接続されるとコンデンサの充放電のため
    リプル成分をもち変動します。

    一方、3端子レギュレータは、入力電圧は出力電圧よりも高くする必要があり、その電圧差は
    最小入出力間電圧として規定があります。従って、平滑コンデンサのリプル電圧の下限は
    最小入出力電圧をクリアしている必要があります。

    平滑コンデンサの平均電圧とリプル電圧の概算値は、次式で計算できるそうです。
平滑コンデンサの平均電圧(概算値)
Io: 出力電流
Vf: ブリッジダイオード1素子のドロップ電圧


リプル電圧の振幅(概算値)
f: 交流周波数
C: 平滑コンデンサ容量

    上式より、平滑コンデンサの平均電圧
    7.8V×0.9×(1+0.2)×√2 - 3×0.6A×(7.8V/1.112A)×0.2 - 2×0.5V = 8.39V
     ※但し、商用電圧変動による電圧低下を90Vとみた

    リプル電圧の振幅
    3/4 ×{0.6A/(2×50Hz×0.0066F)} = 0.68V
     ※但し、条件が厳しくなる50Hzを想定した

    リプル電圧の下限は、Vc - 1/2 ×ΔV より、
    8.39V - 1/2 ×0.68V = 8.05V となります。

  • 整流ダイオード
ブリッジ型に接続する全波整流回路としました。
   定格電流が電源出力の平均電流の1.25倍を選定するそうです。トランスとダイオードで
   この倍率が異なる理由として、「トランスの巻き線抵抗がほぼ純抵抗であるのに対して、
   ダイオードは順方向ドロップ電圧と抵抗の合成になっているため」と説明されています。(?)

   電源出力の平均電流を0.6Aとすれば、ダイオードの定格電流は 0.6A×1.25=0.75A 以上の
   ものを選定すれば良いことになります。
   また、尖頭逆電圧VRMは、次式を満たすものを選定します。

ダイオードの尖頭逆電圧

   2×√2×1.1×7.8V×(1+0.2)=29Vとなります。
    ※「1.1」は、商用電圧変動の最大値110V。

   今回、秋月電子で販売しているPanJit Semiconductorのショットキーバリアダイオード
   1N5822を選定しました。定格は40V 3Aで、ドロップ電圧が0.525V(@3A)と
   一般のシリコンダイオードよりも低いのが特長です。

   小さいとはいえ、電圧ドロップがあるので発熱します。リード線を長めに実装したり、基板の
   パターンを広めに取るなど配慮が必要です。

  • 平滑コンデンサ
コンデンサには大きな充放電電流(リプル電流)が流れているため、
   コンデンサの等価直列抵抗成分(ESR)による発熱が生じます。このため、コンデンサには
   充放電電流の実効値の最大値(許容リプル電流値)の規定があります。

平滑コンデンサのリプル電流(単位A)
Io: 出力の平均電流


平滑コンデンサ容量の目安(単位F; ファラド)


平滑コンデンサの耐電圧


    平滑コンデンサのリプル電流
    1.12×0.6A = 0.67A
 
    平滑コンデンサ容量
    (2.5×0.6A) / (7.8V×50Hz) = 0.0038F = 3800μF以上
     ※但し、条件が厳しくなる50Hzを想定した

    平滑コンデンサの耐電圧
    1.55×7.8V×(1+0.2) = 14.5V以上

    これらの条件をもとに、手持ちの都合もあり日本ケミコンKMHシリーズの
    3300uF 50Vを2並列としました。定格リプル電流も1.85Aですし問題ありません。

  • 3端子レギュレータとヒートシンク
3端子レギュレータには、最小入出力間電圧が小さいμPC2405Aを選定しました。
   最小入出力間電圧は標準0.5V、最悪値1Vです。
   出力電圧は5Vなので、リプル電圧の下限は6V以上必要です。
   リプル電圧の計算値は8.05Vなので余裕があります。可能なら、電源トランスの2次電圧を
   より低いものに交換すれば、効率あがり発熱も有利となります。

   次に発熱について検討します。
   最も不利な条件として、商用電圧変動で110Vとなった場合の平滑コンデンサの平均電圧
    7.8V×1.1×(1+0.2)×√2 - 3×0.6A×(7.8V/1.112A)×0.2 - 2×0.5V = 11.04V

   従って、3端子レギュレータの電力損失
    (11.04V -5V)×0.6A = 3.6W

   この電力損失の放熱のため秋月電子のヒートシンクを使用します。ただ、このヒートシンクの
   仕様はサイズが30×30×30であることのほかは、熱抵抗すらわかりません。
   そこで形状が似ているリョーサンIC-3030-STLを参考にします。
   この仕様書のグラフによると、3.6Wの場合、50度の温度上昇があることがわかります。

   これは、負荷電流に若干の余裕を見ているとはいえ、もうワンサイズ大きなものにしたほうが
   良いような気がします。実際に温度上昇を確認して対応を考えることにします。

  • ACインレット
ケースからAC電源コードを直接引き出すのは不格好なのでACインレットを使い、
   電源コードを分離できるようにします。たまたまジャンクでACノイズフィルタとヒューズホルダを
   内蔵したトーキン(現NECトーキン)製のものを入手できたのでこれを使います。

  • ヒューズ
電源トランスの1次側に挿入され、AC入力から3端子レギュレータ入力までの間で起きる
   短絡事故によるケーブルやトランスの焼損を防ぐために使用します。
   電源トランスの2次側で短絡事故が発生したときに溶断しますが、電源投入時の突入電流や
   3端子レギュレータの出力短絡時の過電流(1次側換算0.11A)では切れないものを選定します。

   電源投入時の突入電流としては、電解コンデンサが充電されるまでの、数サイクル(30ms程度)
   の間、電源トランス2次側短絡(1次側換算0.62A)と同様の電流が流れます。

   これらの条件から、
   『電流容量は0.11A~0.62Aで、30msにおける溶断特性が0.62A以上のもの』
   をヒューズの仕様書により選定することになります。

   今は、手持ちの都合で0.8Aのヒューズを使用することにしていますが、
   これでは大きすぎてトランス2次側が短絡しても飛ばずトランスを保護できないことがわかりました。

2009年10月11日日曜日

FMステレオチューナ: ケーブルの圧着

 基板間を結ぶケーブルのコネクタを圧着します。

 今までは、基板用コネクタのピンははんだ付けしてきましたが、エンジニアPA-09という圧着器を導入したので使ってみることにします。ところが、圧着器を目の前にして、ピンをどのようにセットすればよいのかよくわかりません。PA-09でググってみたところ、PA-09の使用レポートを紹介しているページに写真付きで解説がありました。おかげでちゃんと初圧着に成功です。

 PA-09には、4種類のダイスが付いていますが、コネクタや使用するケーブルによって適切なサイズを選ぶ必要があります。製品の説明書に電線サイズごとのダイス選定表がついていますが、エンジニアのページにはコネクタメーカ・製品別の選定表が掲載されています。

・・・エンジニアのWebを見ていたら、固着したネジやナメたネジを回せる『ネジザウルス』が発売されています。CG動画まで掲載されていて力が入っています。確かに画期的。これ、ひとつ工具箱に入れておきたいなぁ。





PA-09で圧着


















プリアンプ接続用の
同軸ケーブルも圧着

2009年10月10日土曜日

FMステレオチューナ: Lattice XP2用 USB対応書き込み機

 パラレルポート付きPCを求めて彷徨うのは面倒ですので・・・、USB対応の書き込み機を製作することにしました。

 製作したのはなひたふ電子で紹介されているトランジスタ技術2008年7月号付録のNEC78K CPUボードを利用したものです。この書き込み機は、Lattice純正のダウンロードケーブルとは互換製がないため、専用の書き込みツールを使うことになります。

 製作に際しては、NEC78K CPUボードの入手がカギとなりますが、幸いマルツパーツが同じ仕様のボードを継続販売(型番M78K0F0730)しています。





NEC 78K0マイコンボード

















製作
 なひたふ電子のページを参考に、74LCX244を使って3.3V系へのレベル変換を行う追加基板を製作しました。汎用的に使うことは考えず、ディジタルデザインテクノロジ誌の付録基板にそのままザクッと差し込めるものにしています。




回路図














プリント基板のアートワーク















完成写真
マイコンボードに、USBコネクタ
とポリスイッチを追加















完成写真















ソフトウエアインストール方法

  • NECエレクトロニクスから78KのUSBシリアル変換ドライバをダウンロードし、任意のフォルダに解凍しておく。
  • 解凍したファイル
DRIVER/win2k/necelusbvcom.inf
    をエディタで開き、"PID_01CD" を "PID_FFFD" に変更する。(2chの記事を参考にしました)
     ※変更しないと「ドライバが見つからない」と言われます。

    2009.10.12追記
    マルツパーツからもドライバをダウンロードできます。
    この場合、上記のPIDが修正済みです。(インストールの確認はしていませんが)
  • 書き込み機にUSBケーブルを接続すると、ハードウェアの更新ウィザードが起動する。
ドライバのフォルダ
    DRIVER/win2k/
    を指定する。
  • なひたふ電子のWebページからXP2専用JTAG書き込みソフトウエアをダウンロードし、解凍する。
  • USB-JTAGのファームウエア書き込みのため、初回に限りDOSプロンプトから解凍したファイルを実行する。
> xp2jtag -detect

    このプログラム起動時には、ファームウエアのダウンロードに続き、
    FPGAデバイスの検出を行います。FPGAに接続しなくてもダウンロードは可能です。



書き込み方法

 FPGAへの書き込みは、コマンドプロンプトで次のように入力します。

  > xp2jtag -auto ファイル名

 ただし、ファイル名は絶対または相対パスで指定します。





FPGAに書き込み

















書き込み作業中