[トップページへ戻る]

ATtiny10使用 3倍圧チャージポンプモジュール

2012年3月
米粒AVRと呼ばれる非常に小さなATtiny10の工作を2つ紹介します。
1つめ。ATtiny10は基板に直接実装するとプログラミング(ISP)が面倒だったり、回路によっては出来なかったりします。少し便利に使えるよう、ソケットに挿す形にしました。
2つめ。3倍圧のチャージポンプ(トリプラー)を作りました。5V→12VのDC-DCコンバータ MAX662Aとの置き換えをイメージしてピン互換にしました。

タイトル写真は左から、MAX662Aモジュール(秋月電子)、チャージポンプモジュール(自作)、ATtiny10 ソケット加工(自作)、ATtiny10 DIP化モジュール(秋月電子)。
拡大写真はここをクリック

【関連記事】
FT232Rモジュール利用 AVR TPIライター」 ←ATtiny10用TPIライター。
AVR 高電圧パラレル/シリアルライター」 ←12Vを使用するAVR高電圧ライター。


3x2ピン最小モジュール
ATtiny10を2.54mmピッチ/3x2ピンのピンヘッダに取り付けました。ソケットに抜き差しできる形の最小サイズです。

プログラミングするには、片方がメスのジャンパー線を本モジュールに挿し、ライターと接続します。
ブレッドボードを使うなら2ピン幅を4ピン幅に広げるアダプタを使います(写真・左)。
問題なくライターで認識されています(写真・右)。※新品状態なのでプログラムコードは書き込まれていません。

利用例
簡易的な発振器にするというのはどうでしょう。タイマー・カウンタ機能を使って周波数を決められます。プログラムを書かずにヒューズバイトの設定でシステムクロックを出力するだけでも1MHzの発振器になります。
具体的な使い道として、AVRライター(SPIライター)で外部発振器が必要な場合に使えます。

チャージポンプについて
回路図
チャージポンプはコンデンサとダイオードを用いた昇圧回路です。
ダブラー(2倍圧)はよく見かけますが、トリプラー(3倍圧)以上はそれほど見かけません。チャージポンプの弱点と関係しているかもしれません。

弱点1:
出力電圧を保ったまま多くの電流が取り出せない。

弱点2:
出力電圧の立ち上がりが遅い。

とは言え、ありきたりな部品で簡単に昇圧できるので、弱点を許容できる使いどころには便利な回路です。
回路図において、左側は基本となる回路です。右側は最終段のコンデンサを外付け的に考えた回路です。1段目から最終段手前までは積層セラミックコンデンサ、最終段は平滑化も兼ねて容量が大きな電解コンデンサ、という形です。
出力電圧を一定にするには出力点にツェナーダイオードを付けるのがよいと思います。

チャージポンプは2つの入力点から交互にパルスを入力し、コンデンサに電荷を溜めつつ電位を底上げして順次昇圧していく仕組みです。ダブラーの場合、パルス入力が1点で済む最適化された形があります(2倍圧・右端の回路)。

チャージポンプモジュール
3倍圧(トリプラー)のチャージポンプモジュールです。元ネタにした5V→12V昇圧IC「MAX662A」とピン互換にしました。
入力電圧は5Vに限らずATtiny10の動作電圧ならOKです。入力3.3Vだと出力9Vが期待できます(無負荷、理論値)。

回路図

プログラムダウンロード chargepump_tiny10.zip
(HEXファイル、Cのソース、上記回路図)

配線図
【参考】 MAX662A
本モジュールは基板が2階建て構造です。下層のウラ面にATtiny10を取り付け、オモテ面でピンヘッダに配線します。
上層のオモテ面にダイオードを配置し(一部、空中配線)、ウラ面でピンヘッダに配線します。
MAX662AのSHDN(shutdown)にあたるピンは未配線とします。シャットダウン機能を持たず、常時12V出力です。

配線図では、MAX662Aピン配置図との対応を分かりやすくするためC1,C2を電解コンデンサとして描きましたが、実際には積層セラミックコンデンサを使います。※MAX662Aでも通常は積層セラミックコンデンサを使います。
またC3は電解コンデンサで、外付けにします。そのためZD(ツェナーダイオード)を手前に持ってきます。回路図のC3とZDの位置を入れ替えることになりますが、動作上、問題ありません。

MAX662AのVCCに付けるコンデンサは、本モジュールではATtiny10のパスコンにあたります。0.1uFの積層セラミックコンデンサで構いません。出力端子に付けるコンデンサは本モジュールでも必要です。MAX662Aに倣い、電解コンデンサ10uFとしました。

ATtiny10のPB1とPB2を共にC1へ接続しています。これは少しでも多く電流を供給するためです(チャージポンプはとにかく電流が欲しい!)。その意味ではRESETピンをI/Oピンに設定してPB0と接続したいところですが、そうするとATtiny10への書き込みができなくなってしまうのでRESETピンはそのままにしています。

作業の様子
4x4穴のスルーホール基板に部品を取り付け、モジュールを作る様子を紹介します。
まずATtiny10のVCC,GNDに長さ5cmくらいのUEWをハンダ付けします。そしてPB0〜PB3を基板の4穴にハンダ付けします。
UEWを指定の穴から反対側へ通し、ハンダ付けします。

RESET(PB3)を外周の穴へ引き出します。
ここにICクリップを引っかけて、ATtiny10をプログラミングできるようにするのです。

IC側の面から連結ソケットを挿します。
※ICソケットに刺さる太さで両側がオスの1列のピン。

基板を裏返し、ICの端子(スルーホールで両面が導通している)をUEWでピンと接続します。
VCC,GNDも接続します。

別の基板にダイオード(SBD)と、12.0Vのツェナーダイオードをハンダ付けします。
SBDは一部、空中配線しています。「m」字の形。

ダイオードの足はピンを挿す穴の縁(ふち)にハンダ付けします。穴が塞がるほどしっかりハンダ付けし、0.8mmのピンバイスで穴を開け直せばよいです。

1層目の基板に被せて2層目の基板を乗せ、ピンをハンダ付けします。
ハンダをよく流し入れます。スルーホールを伝わり、裏面からハンダがはみ出るほどに。

これで完成です。
秋月電子のMAX662Aモジュールと大きさを比較しています。
本モジュールは背が高く、8ピンICソケットに挿すと絶望的な高さになります。
全体を逆さまに作れば(配線もミラー反転して)、何mmか低くなるでしょう。※それも如何なものかと思いますが。

ファーム書き込みと動作テスト
本モジュールは、目的の製作物に組み込む前のこの状態で、ATtiny10にプログラミングできます。
動作テストではVCCに5Vを入力し、出力に10kΩの負荷抵抗を接続しています。出力12Vが確認できました。

測定値
C1,C2=1uF/C3=10uF/D1〜D3=SBD/ZD=12.0V
負荷抵抗 出力電圧 電流(計算値)
30kΩ 12.0V 0.4mA
10kΩ 12.0V 1.2mA
4.7kΩ 12.0V 2.5mA
3kΩ 11.9V 3.9mA
2kΩ 11.2V 5.6mA
1kΩ 9.2V 9.2mA
MAX662Aは出力12Vで30mAが取り出せます。本モジュールでは2.5mA〜3mA程度のようです。

利用例
AVRやPICのライターで必要な12Vは電流1〜2mAで十分なので、本モジュールの応用に向いています。実際にAVR高電圧ライターに利用し、正常に動作しました。ただ、当サイトで製作した「高電圧パラレル/シリアルライター」についてはMAX662Aを単純に置き換えても動作しません。チャージポンプの弱点が影響します。
原因1:
12Vの出力点にLEDが接続されている。ここに流れる電流が多いため、チャージポンプの出力が下がり、7〜8Vしか得られない。
原因2:
5Vを入力してから出力電圧が安定するまでに100ミリ秒程度かかる(製作物の個体差による)。ライターソフト側の待ち時間は10ミリ秒としているため、プログラミングモードへの移行処理で失敗する。
解決策:
・MAX662AのICソケットからジャンパー線でブレッドボード上の本モジュールと接続する。
・本モジュールの12V出力はジャンパー線で直接、ターゲットデバイスのRESETピンへ配線する(LEDを回避する)。
・本モジュールに常時5Vを入力しておく(=常時安定した12Vを出力しておく)。
このようにしたところ、上記自作ライターでも正常に動作しました。


◆ ◆ ◆
TPIライターを作ったはいいがATtiny10を使わない、では意味がありません。
10個450円(秋月電子 2012/02現在)→1個45円。
これだけ安価なら、小さく作りたい物だけでなく、ちょっとした物にも気軽に使えます。
というか、気軽に使いたくて3x2ピンモジュールを考えました。
チャージポンプモジュールはMAX662Aの代用品を安価にと、思い付きで作りました。


(C) 『昼夜逆転』工作室 [トップページへ戻る]