So-net無料ブログ作成
検索選択
前の8件 | -

PSoC 3 Kit Exchange Program やってます [PSoC]このエントリーを含むはてなブックマーク#

WS000158a-384.png

Cypress は、 "PSoC 3 Kit Exchange Program" という活動を行っています。 これは、 PSoC3 ES チップが搭載された評価キットを量産版の PSoC3 が搭載された評価キットと無償で交換するというものです。 古い CY8CKIT-003 PSoC First Touch Kit が、最新の CY8CKIT-030 PSoC3 Development Kitに交換してもらえるそうです。 これは、利用せねば。

新しいキットが選べません

WS000158a.png "PSoC 3 Kit Exchange Program" は、このサイトで受け付けています。 メールアドレス (Email Address) を入れて、手持ちのキットの種類 (Kit You Own) を指定して、11けたの ID (Enter your board number) を入れて、代わりキットの種類 (Replacement kit) を指定して、……
WS000158b.png

おや? "Replacement kit" のリストに何も出てきません。 これでは、受け付けてもらえません。 困ったな。

日本語に対応し損なっていた

何が起こっているのか、調査したところ、 WEB ページが読み込んでいる JavaScript ファイルが日本語に対応していないことがわかりました。 どこから見ても、中国語に見えます。

WS000161.png

日本語設定がまずいのだから、と、日本語でない設定にしてみることにしました。 私が使っている FireFox の場合、メニューの Tools→Options→Content→Languages から Choose... ボタンをクリックして、言語設定を変更します。 English [en] をリストの最上位に持ってきて、 OK をクリックします。 これで、英語優先の設定になりました。

リストにキットが並びました

WS000160.png

もう一度、 "PSoC 3 Kit Exchange Program" を開くと、みごとに "Replacement kit" のリストに交換先キットが並びました。 これで、申し込みができます。

無償で交換といっても、送料は請求されます。 さて、先に進んでみますか。

関連文献

いちおう、 PSoC なので。

はじめてのPSoCマイコン―PSoC‐Programmable System‐on‐Chip‐Primer (マイコン活用シリーズ)

はじめてのPSoCマイコン―PSoC‐Programmable System‐on‐Chip‐Primer (マイコン活用シリーズ)

  • 作者: 桑野 雅彦
  • 出版社/メーカー: CQ出版
  • 発売日: 2010/04
  • メディア: 単行本

周期割り込みなんて、簡単ですよ [PSoC]このエントリーを含むはてなブックマーク#

本日の話題は、PSoC3を使って、周期割り込みを実現する方法です。 今回の例を見ていただけると、PSoCって、普通言われるようなマイコンじゃあないんだなと理解していただけると思います。

周期割り込みって、何だ?

唐突に周期割り込みという言葉が出てきました。 周期割り込みは、周期的に発生する割り込みのことです。 たとえば、1m秒ごとに周期的に割り込みを発生させてとある処理ルーチンを実行させます。 すると、割り込みの回数を数えるだけで、ミリ秒単位の時間を知ることができます。 また、割り込み周期が一定なので、処理ルーチンの処理時間に関係なく、各処理の開始間隔を一定にすることできます。

一定時間ごとに処理ができるようになると、A/D変換のサンプリングやD/A変換の出力タイミングも精確になるので、より性能が高くなります。

周期割り込みといえば、タイマを使うでしょう

WS000047.png

従来のマイコンで、周期割り込みを実現しようとすると、通常はタイマモジュールを使用します。 今どきのタイマには、周期が設定できて、タイマカウンタが周期レジスタの値に達したらタイマカウンタを0に戻します。 このときに、出力を変化させたり、割り込みを発生させたりすることができます。 PSoC3にも、タイマがあり、「周期レジスタ」で周期的に割り込みを発生することができます。


Timer_1の設定
ParameterValue
Resolution8-bit
Period250
Trigger ModeNone
Capture ModeNone
Enable ModeSoftware Only
Run ModeContinuous
InterruptsOn TC

タイマには、1kHzのILO (Internal Low-frequency oscillator)が接続されています。 このクロック・パルスを250個数えることによって、250m秒ごとにinterrupt出力をアサートしています。 interrupt出力の信号は、isr_1インスタンスに伝わり、割り込み処理ルーチンを起動します。

Pin_1は、ハードウェア接続の無い、出力専用端子として定義されています。

使用したリソースは、ざっとこんなところです。

                Resource Type : Used : Free :  Max :  % Used
============================================================
                   Macrocells :    1 :  191 :  192 :   0.52%
                Unique Pterms :    1 :  383 :  384 :   0.26%
                 Total Pterms :    1 :      :      : 
               Datapath Cells :    1 :   23 :   24 :   4.17%
                 Status Cells :    1 :   23 :   24 :   4.17%
         Control/Count7 Cells :    1 :   23 :   24 :   4.17%
                   Sync Cells :    1 :   91 :   92 :   1.09%
                   Interrupts :    1 :   31 :   32 :   3.13%

main.cの中核は、このようになっています。

CY_ISR(isr_1_isr) {
    (void)Timer_1_ReadStatusRegister(); // to clear flag
    Pin_1_Write(Pin_1_Read()?(0):(1));
}

void main()
{
    Timer_1_Start();
    isr_1_StartEx(isr_1_isr);

    CYGlobalIntEnable;
    for(;;)
    {
        // Nothing to do
    }
}

isr_1インスタンスとTimer_1インスタンスは、回路図上で接続されていますが、それぞれ独立した存在です。 しかしながら、Timer_1interrupt出力が自動的にクリアされないため、割り込み処理ルーチンから割り込みフラグをクリアする関数Timer_1_ReadStatusRegister()を呼び出さざるを得ませんでした。 う~ん、美しくない。

処理ルーチンの中では、LEDが接続されたPin_1の出力を反転させています。 250m秒ごとに反転するので、LEDが2Hzで点滅する様子が観測できます。

無理にinterrupt出力を使うことないじゃん

WS000048.png

上の例は、interrupt出力を使ったために、割り込み処理ルーチンでフラグをクリアしなくてはなりませんでした。 isr_1インスタンスは、エッジをつかまえて割り込みを発生させることができるので、隣にあるtc (Terminal Count) 出力を接続しても、同じ動作をするはずです。 しかも、フラグをクリアする必要がありません。


Timer_1の設定
ParameterValue
Resolution8-bit
Period250
Trigger ModeNone
Capture ModeNone
Enable ModeSoftware Only
Run ModeContinuous
Interrupts-

すでに、interrupt出力は、まったくアサートされなくなりました。

                Resource Type : Used : Free :  Max :  % Used
============================================================
                   Macrocells :    2 :  190 :  192 :   1.04%
                Unique Pterms :    1 :  383 :  384 :   0.26%
                 Total Pterms :    2 :      :      : 
               Datapath Cells :    1 :   23 :   24 :   4.17%
                 Status Cells :    1 :   23 :   24 :   4.17%
         Control/Count7 Cells :    1 :   23 :   24 :   4.17%
                   Sync Cells :    1 :   91 :   92 :   1.09%
                   Interrupts :    1 :   31 :   32 :   3.13%

消費したリソースは、マクロセルがひとつ増えました。 割り込み出力が必要なくなったので、減るかと期待していたんですけどね。

CY_ISR(isr_1_isr) {
    Pin_1_Write(Pin_1_Read()?(0):(1));
}

プログラムは、割り込み処理ルーチンからフラグのクリアが消えました。 このプログラムも、2Hzで出力を反転させます。

周期的な信号とそれを受ける割り込み機能があれば十分

WS000049.png

これまで、周期割り込みにタイマを使ってきましたが、タイマの機能を十分に使っているとは言えません。 単なる分周器でも十分です。 いっそのこと、クロックを直接つないでしまったら、どうでしょう。 というわけで、4Hzのクロックをつないでみました。


                Resource Type : Used : Free :  Max :  % Used
============================================================
Digital domain clock dividers :    1 :    7 :    8 :  12.50%
                   Interrupts :    1 :   31 :   32 :   3.13%

必要なリソースも、4Hzのクロックを生成するための分周器と割り込みモジュールだけです。

CY_ISR(isr_1_isr) {
    Pin_1_Write(Pin_1_Read()?(0):(1));
}

void main()
{
    isr_1_StartEx(isr_1_isr);

    CYGlobalIntEnable;
    for(;;)
    {
        // Nothing to do
    }
}

プログラムも、さらに簡単になりました。 Timer_1は、Start()を呼び出して起動する必要がありますが、Clock_1は、最初から起動しているからです。

このプログラムでも、2HzでLEDが点滅します。

余談1:割り込みコストって、高すぎる

で、よせばいいのに、コンパイル結果を見てしまいました。

             ; FUNCTION isr_1_isr (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C085              PUSH    DPH1
000A C084              PUSH    DPL1
000C C086              PUSH    DPS
000E 758600            MOV     DPS,#00H
0011 C000        E     PUSH    ?C?XPAGE1SFR
0013 750000      E     MOV     ?C?XPAGE1SFR,#?C?XPAGE1RST
0016 C0D0              PUSH    PSW
0018 75D000            MOV     PSW,#00H
001B C000              PUSH    AR0
001D C001              PUSH    AR1
001F C002              PUSH    AR2
0021 C003              PUSH    AR3
0023 C004              PUSH    AR4
0025 C005              PUSH    AR5
0027 C006              PUSH    AR6
0029 C007              PUSH    AR7
                                           ; SOURCE LINE # 14
                                           ; SOURCE LINE # 15
002B 120000      E     LCALL   Pin_1_Read

なんですか?これは。 割り込み処理ルーチンの入口に、これでもかっていうぐらいにレジスタをスタックに押し込む命令が並んでいます。 もちろん、出口にも同じだけスタックからレジスタの値を復帰させる命令が並んでいます。

これは、レジスタの本数が増えたからにほかならないのですが、理由はもう一つあります。 それは、割り込み処理ルーチンの中で関数を呼び出したことです。 このコンパイラは、割り込み処理ルーチンの中で関数を呼び出した場合には、無条件で全レジスタを退避させるコードを生成するらしく、関数の処理内容にかかわらず、このように大げさなスタック操作が行われるようになります。

余談2:オーバヘッドを減らすためにポーリングを使う?

これに対する解決策が、サイプレス社のアプリケーションノートAN60630 - Optimizing 8051 Code in PSoC® 3に書かれています。 解決方法は、割り込み処理ルーチンの中では、フラグをセットするだけにして、実際の作業は、メインルーチンの中で行わせることだそうです。 えっと、つまり、それは、ポーリングってことですか?

uint8           isr_1_flag = 0;

CY_ISR(isr_1_isr) {
    isr_1_flag = 1;
}

void main()
{
    isr_1_StartEx(isr_1_isr);

    CYGlobalIntEnable;
    for(;;)
    {
        if (isr_1_flag) {
            isr_1_flag = 0;
            Pin_1_Write(Pin_1_Read()?(0):(1));
        }
    }
}

コンパイル後のコードは、こうなりました。

             ; FUNCTION isr_1_isr (BEGIN)
0000 C0E0              PUSH    ACC
0002 C083              PUSH    DPH
0004 C082              PUSH    DPL
0006 C085              PUSH    DPH1
0008 C084              PUSH    DPL1
000A C086              PUSH    DPS
000C 758600            MOV     DPS,#00H
000F C000        E     PUSH    ?C?XPAGE1SFR
0011 750000      E     MOV     ?C?XPAGE1SFR,#?C?XPAGE1RST
                                           ; SOURCE LINE # 16
                                           ; SOURCE LINE # 17
0014 900000      R     MOV     DPTR,#isr_1_flag
0017 7401              MOV     A,#01H

確かにスタッキングの数は減りましたが、まだまだ多いようです。

余談3:フラグに最適な変数クラスがある

アプリケーションノートAN60630 - Optimizing 8051 Code in PSoC® 3には、続きがあります。 フラグには、bitクラスを使え。

PSoC3に使われているCPU 8051 は、ある限られたメモリ空間で、低コストにビット操作を行うことができます。 そのときに使用される変数クラスが、bitです。

bit             isr_1_flag = 0;

変更したのは、ここだけです。 コンパイルしてみると、こんなコードが生成されていました。

             ; FUNCTION isr_1_isr (BEGIN)
                                           ; SOURCE LINE # 16
                                           ; SOURCE LINE # 17
0000 D200        R     SETB    isr_1_flag
                                           ; SOURCE LINE # 18
0002 32                RETI    
             ; FUNCTION isr_1_isr (END)

今までの嵐のようなスタッキングは、何だったんだろうという簡単さです。 スタッキングを一切必要としていません。 フラグをセットしたら、割り込み処理ルーチンから戻ります。 ただ、それだけです。

これで、割り込み発生からの遅延が少なくなりますが、ポーリングを使っている時点で、遅延が発生するようにも思います。 はてさて、どっちがお得なんでしょうね。


PSoC® 3/5実習形式のワークショップ開催決定! [PSoC]このエントリーを含むはてなブックマーク#

ワークショップ会場と日程

大 阪: 2011年2月3日(木) 10:00~17:00
ブリーゼプラザ 7F 小ホール
(〒550-0004 大阪府大阪市北区梅田2丁目4番9号)
http://www.breeze-plaza.com/
東 京: 2011年2月9日(水) 10:00~17:00
富士ソフト アキバホール
(〒101-0022 東京都千代田区神田練塀町3)
http://www.fsi.co.jp/akibaplaza/cont/hall/index.html

参考サイト

http://www.cypress-japan.co.jp/megaworkshop2/


大阪行くなら、PiTaPaを持とう [ざれごと]このエントリーを含むはてなブックマーク#

DSC_0020.JPG

本日の話題は、電子工作とはまったく関係のない、大阪の公共交通の支払いに関する話題です。

東京には、Suicaがある。では、大阪には?

東京で電車やバスを使うときには、非接触型カードである、JR東日本のSuicaパスモのPASMOが有ると便利です。どちらかを一枚持っていれば、首都圏の鉄道やバスに乗ることができます。自動販売機で誰でも買うことができます。

では、大阪にはどんな非接触型カードがあるかというと、JR西日本のICOCAが有ります。このカードは、Suicaの適用範囲でも使用できるカードで、自動販売機で入手可能です。そして、本日の話題として取り上げた、スルッとKANSAIのPiTaPaが有ります。

大阪暮らしを始めるにあたって、ひとまず、駅の券売機でPiTaPaを買おうとしたのですが、PiTaPaは、券売機でも窓口でも売られていない事を教えられました。駅員さんによると、「申し込んでから、4週間かかります。」だそうです。えぇ~、なんで?

と、いうわけで、PiTaPaに関する調査を開始したのでありました。

PiTaPaは、ポストペイである

PiTaPaが、ほかのカードと最も異なっているのは、他のカードが事前にチャージを必要とするのに対して、PiTaPaは事前のチャージが必要がないということです。では、どうやって支払うかというと、一月分の乗車実績が集計されて、後払いPost-Pay : ポストペイ)で対応します。つまり、PiTaPaというのは、クレジットカードと同じ仕組みでできているのです。

クレジットカードと同じなので、PiTaPaを持つためには、信用調査が必要です。「申し込んでから、4週間」というのは、この審査期間を指しているようです。もちろん、審査の結果、発行を拒否されることもありますし、信用の無い未成年者が単独でPiTaPaを持つことはできません。

PiTaPaは、JR西日本のICOCAのエリアでも使用することができますが、このときには、事前にチャージが必要です。ただ、オートチャージという仕組みも用意されているので、不便を感じることはないでしょう。このオートチャージ分の支払いも、もちろんポストペイです。

また、Suica同様に駅の売店や飲料の自動販売機などでも使用することができます。もちろん、これらの支払いもポストペイです。

集計するときに割引がある

PiTaPaは、後払いなので、集計が終わるまで支払いを先延ばしすることができます。これは、キャッシュフローの観点から見るとありがたいことです。しかも、PiTaPaには、それだけではない、ありがたいことが有るのです。

それは、集計される時に割引が受けられる可能性があるということです。主に以下のような割引が各交通機関ごとに定められています。

利用回数割引
乗車回数に応じて割引が決まる制度です。多くの交通機関では、11回目からの乗車から一割引きになる、回数券のような制度になっています。
利用額割引
利用金額に応じて割引が決まる制度です。多くの交通機関では、金額がある程度にならないと割引率が0%のままなのですが、大阪市営地下鉄は、0円から10%割引があります。乗車回数の少ない出張者にもうれしい制度です。
区間指定割引
多く乗車する区間を事前に指定しておくと、その区間の定期券料金をその区間の利用額の上限とする制度です。事実上、定期券と同じように利用することができます。たまにしか使わない出張者には、使う機会はないでしょう。

大阪から東京に来た人に「Suicaが有ると東京の交通機関を使うときに便利だ。」と紹介したのですが、PiTaPaみたいに割引が無いということを伝えたら、「割引が無いのなら、大阪人には、うけない。」と返されてしまいました。そういう、ものなんですかね。

PiTaPaを手に入れるには

自動販売機では入手できなかったPiTaPaですが、どうやって入手すればよいのでしょうか。PiTaPaを発行しているのは、「スルッとKANSAI」なのですが、その裏付けとなる信用を与えている会社が、複数に分かれていて、それぞれが提携カードを発行しています。そのため、提携カードを持つ場合には、発行会社を選ぶ必要があります。カードラインナップのページをみると、どんなカードがあるかがわかります。

PiTaPaベーシックカードは、PiTaPaの機能だけをとりいれたカードで、出張の時にしか使わないということであれば、これで十分でしょう。他には、交通機関が発行している提携カードというものがあります。通勤などで多く使用する路線が決まっているのなら、その交通機関が発行しているカードを持っていると、追加のポイントが加算される場合があるのでお得です。私が持っているのも、沿線の交通機関が発行するカードです。

提携カードには、クレジットカードにPiTaPa機能を組み込んだ一体型カードと、クレジットカードとは別にPiTaPaカードを発行する「2枚でひと組」のカードがあります。カードの枚数を増やしたくないなら、一体型のカードを選ぶのもよいでしょう。

で、最終的にどこカードを選ぶべきかということになるのですが、一発勝負でどれかを選ぶしかないでしょう。PiTaPaカードは、年会費無料とされていますが、一年間に一回も利用しないと維持管理費1050円が課金されます。そのため、複数のPiTaPaを持つことは得策ではありません。

交通費の精算にも便利

Suicaの場合、どこでいくら使ったかは、PCにカード読み取り機を付けてデータを取り込む、駅の券売機で履歴を印字させる、という方法があります。どちらも、ひと手間必要なので、少々不便です。

WS000034.png

一方、PiTaPaの場合には、「PiTaPa倶楽部」というサイトがあり、利用履歴をWEBページから確認することができます。このサイトのデータは、利用翌日には更新されているので、交通費を精算する際にデータを利用することもできます。

大阪行くなら、PiTaPaを持とう

大阪でPiTaPaを持つ事の利点がお判りいただけたでしょうか。東京でSuicaを持つように、大阪でPiTaPaを持つのであれば、審査に時間がかかるので、あらかじめ準備が必要です。さっそく、資料を取り寄せましょう。

むすび

と、さんざんPiTaPaを勧めてきましたが、私自身はPiTaPaの利害関係者でもなんでもありません。まあ、非接触型カードの新しい使い方を見せられて、カブレテいるのだと理解してください。


IS03用テレビ台の製作 [非電子工作]このエントリーを含むはてなブックマーク#

101223_200016.jpg

縁あって、Androidオペレーティング・システム搭載携帯電話である、IS03を入手しました。ワンセグ受信機を使うには、台が欲しくなりますね。

Androidをワンセグ受信機として使うという動機

IS03には、ワンセグ受信機が搭載されています。他にテレビを持っていない私には、唯一のテレビ受像機となりました。ところが、IS03でワンセグ放送を見ようとすると、色々と不都合が出てきます。

  1. 据え置き受像機にするには、本体を立てなくてはならない。

    この携帯電話は、平面型の携帯電話なので、何もしないで机に載せると、画面が上空を向いてしまいます。これでは、普通に番組を見るには不便です。机の上に立てた状態で保持させる仕掛けが欲しくなります。

  2. IS03を横にするとUSBが邪魔になる

    IS03は、縦にすると、番組画面が小さくなって、下のほうに文字放送がでしゃばってきます。横にすると、全画面で番組を見ることができますが、このとき、画面の下から電源代わりのUSBケーブルがはみ出します。USBケーブルを邪魔しないようにするためには、ある程度の高さのところでIS03を保持しなくてはなりません。

ありあわせの箱などで、なんとか本体を立てようとしましたが、うまくいきません。ここは、本格的に、テレビ台を作ってしまいましょう。

中身は、こうなっている

101223_200402.jpg

本格的に作ると言ったわりには、材質は、段ボールです。近くのスーパーマーケットから持ち帰った段ボール箱をカッターナイフで切り出して、組み上げます。接着剤もテープも使わず、本当に組み上げました。

台は、中空です。この隙間にUSBケーブルを通すことで、電源供給をしていてもケーブルが隠れるので、すっきりと見えます。

設計図は、コレダ

is03-stand.png

テレビ台は、ちゃんと設計図を引いて、作成しています。手元に定規もなかったので、1行6mmのB罫ノートが定規の代りです。このため、すべての寸法が6mm単位になっています。

破線を山折りに、一点鎖線を谷折りにして、最後に後ろの切り込みに反対側の出っ張りを差し込んで出来上がりです。設計図には、後ろ側にUSBケーブルを通す穴が描いてありませんが、これは、組み上げてから現物合わせであけました。

今後の課題

このテレビ台は、第一作目なので、最終的には、現物合わせで作成しました。そもそも、段ボールの厚みを計算に入れていない設計図なので、破たんしてあたりまえでした。

二作目は、寸法を設計しなおして、作成しようと考えています。また、背面に付いているIS03のスピーカ出力の音が、前のほうに反射するような仕掛けも作ろうかと考えています。

いや、その前に、二台目の需要が、あるのか?

参考文献?

IS03入門・活用ガイド

IS03入門・活用ガイド

  • 作者: 飯塚直
  • 出版社/メーカー: 毎日コミュニケーションズ
  • 発売日: 2010/12/10
  • メディア: 単行本(ソフトカバー)
できるポケット au IS03をスマートに使いこなす基本&活用ワザ150

できるポケット au IS03をスマートに使いこなす基本&活用ワザ150

  • 作者: 法林岳之
  • 出版社/メーカー: インプレスジャパン
  • 発売日: 2010/12/17
  • メディア: 単行本(ソフトカバー)

大きな荷物が届いた [ざれごと]このエントリーを含むはてなブックマーク#

DSC_0007.JPG

ずいぶん、大きな箱に入ってきました。 全536ページで、重さもかなりなものです。 さて、読めるかな?


CY8CKIT-001 PSoC DEVELOPMENT KIT [PSoC]このエントリーを含むはてなブックマーク#

100929_213720.jpg

新しいオモチャ、入手しました。


nice!(1)  コメント(1)  トラックバック(0) 
共通テーマ:moblog このエントリーを含むはてなブックマーク#

ステップアップコンバータ HT77xxA を規格外で使うお話 (9) [電子工作]このエントリーを含むはてなブックマーク#

いい感じに白色LEDを点灯させることができるようになったので,効率について考えてみることにしました.

この記事は,メーカが想定している使用例に従わない方法で半導体を使用した,私の個人的な実験メモです.このようにメーカが推奨しない使い方をした場合,結果について誰も保証することはできません.そのため,ご自身の責任の範囲で実験する以外の用途には使用なさらないでください.また,この記事で述べた使い方について,メーカに質問することもご遠慮ください.

入出力の電力を測定するために

効率は,出力電力の入力電力に対する割合と定義されます.今回の装置の場合,入力としてニッケル水素電池を使用し,出力には白色LEDを4個直列にしています.電力は,それぞれの電圧と流れる電流の積で求まります.手持ちのハンディ・テスタで電流を測定すると,無視できない電圧降下が発生するので,抵抗を挿入し,その抵抗での電圧降下を測定して電流値としました.

HT77xx-14.png

電力測定のために,このような回路を組みました.電源には,ニッケル水素電池を一個使用しています.入力電流は,1.0Ωの抵抗での電圧降下により測定します.また,出力電流は,カレントミラーの10Ω抵抗での電圧降下によって測定します.入出力の電力と効率は,以下のように計算されます.

LEDに流れる電流は7.9mAとそれほど明るいわけでもなく,効率も高くはありません.VOUT端子の電圧が,5.0Vに遠く及ばないことから,ニッケル水素電池一個の電圧では,必要な電力を供給できていない事が考えられます.

ニッケル水素電池を二個にしてみた

入力電圧が足りていないようなので,ニッケル水素電池を二個直列にして,電圧を上げてみました.

HT77xx-15.png

電圧が低いときに比べて,入力電流が少なくなっていることがわかります.にもかかわらず,出力電流は大幅に増加しています.この回路でも効率を計算してみました.

このように,効率は50%を超えました.出力電流も20mAとかなり明るくなっているので,十分に実用的です.

白色LEDを並列に接続したら

ここまで,HT7750Aを規格外で使用してきましたが,基本にもどって,規格に沿って使用すると,どのくらいの効率になるかを測定してみました.

HT77xx-16.png

これが,電力測定に使用した回路です.まずは,電源にニッケル水素電池一個を使用しました.HT7750Aで5.0Vの電圧を発生させて,47Ωの電流制限抵抗付きの白色LEDを並列に並べてあります.LEDの電圧降下が3.1V程度なので,47Ωの抵抗を付けるとLED一つあたり40mAを超える電流が流れる計算になります.ところが,それほどの出力電流は流せないらしく,そこそこの電流が流れました.


それぞれのLEDが消費する電力を出力電力として計算してみました.

項目#1#2#3#4合計
抵抗電圧降下 (V)0.490.460.450.48-
消費電流 (mA)10.49.89.610.240.0
LED電圧降下 (V)3.053.083.093.06-
消費電力 (mW)31.730.229.731.2123

入出力電力と効率は,以下のようになります.

次にニッケル水素電池を2個直列にしてみました.

HT77xx-17.png

ニッケル水素電池一個の場合に比べると,景気良く電流が流れますが,やはり,出力電圧は5.0Vに達していません.入出力電力と効率は,以下のようになります.

電源電圧が高くなると,HT7750Aの出力電圧も高くなり,結果として,電流制限抵抗での電力消費が増えて効率を落としてしまうことがわかりました.

考察

これまで,HT77xxAを使用して,LEDを定電流駆動することができないかとがんばってきたのですが,電流制限抵抗を使用した方が電力効率では優れているようだという結果となってしまいました.もうちょっと,工夫できないかな.

参考文献

スイッチング電源設計入門

スイッチング電源設計入門

  • 作者: 佐藤 守男
  • 出版社/メーカー: 日刊工業新聞社
  • 発売日: 1998/11
  • メディア: 単行本
定本 トランジスタ回路の設計―増幅回路技術を実験を通してやさしく解析

定本 トランジスタ回路の設計―増幅回路技術を実験を通してやさしく解析

  • 作者: 鈴木 雅臣
  • 出版社/メーカー: CQ出版
  • 発売日: 1991/12
  • メディア: 単行本
定本 続トランジスタ回路の設計―FET パワーMOS スイッチング回路を実験で解析

定本 続トランジスタ回路の設計―FET パワーMOS スイッチング回路を実験で解析

  • 作者: 鈴木 雅臣
  • 出版社/メーカー: CQ出版
  • 発売日: 1992/12
  • メディア: 単行本

前の8件 | -
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。