"複数のLEDを直列に接続したLED直列回路と、前記LED直列回路と並列に接続された電子的スイッチング回路とからなる単位回路を複数個直列に接続したLED回路と、前記LED回路の途中あるいは前記LED回路の端部に直列に接続された電流制限回路と、前記LED回路と前記電流制限回路との直列回路に印加される電圧を検出し、検出された電圧に基づいて最も多くのLEDが点灯するように前記電子的スイッチング回路を制御するコントローラとを備えたことを特徴とするLED駆動回路。更に、前記直列回路に電子的スイッチング回路を備えないLED直列回路を直列に追加したことを特徴とする請求項1に記載のLED駆動回路。前記電子的スイッチング回路を備えないLED直列回路と前記電流制限回路との直列回路が複数個並列に接続されていることを特徴とする請求項2に記載のLED駆動回路。前記電子的スイッチング回路を備えないLED直列回路から前記コントローラ用の電源を供給することを特徴とする請求項2に記載のLED駆動回路。mを1以上の整数、nを0以上の整数とするとき、複数の前記LED直列回路のLEDの個数がそれぞれm×2のn乗のいずれかであることを特徴とする請求項2乃至4のいずれかに記載のLED駆動回路。前記電流制限回路は定電流回路あるいは抵抗のいずれかであり、更に、前記直列回路に交流電源を整流した脈流を印加する整流回路を備えたことを特徴とする請求項1乃至5のいずれかに記載のLED駆動回路。前記LED直列回路は、複数のLEDを直列に接続したLED直列回路および電流制限回路を直列に接続した回路を複数個並列に接続したものであることを特徴とする請求項1乃至6のいずれかに記載のLED駆動回路。複数のLEDを直列に接続したLED直列回路と、前記LED直列回路と並列に接続された電子的スイッチング回路とからなる単位回路を複数個直列に接続したLED回路と、前記LED回路の途中あるいは前記LED回路の端部に直列に接続された電流制限回路と、前記電子的スイッチング回路を制御するコントローラとを備えたLED駆動回路において、前記コントローラにおいて、前記LED回路と前記電流制限回路との直列回路に印加される電圧を検出するステップ、前記コントローラにおいて、検出された電圧に基づいて最も多くのLEDが点灯するためのスイッチの状態を決定するステップ、前記コントローラにおいて、決定したスイッチの状態に基づいてスイッチを制御するステップを繰り返すことを特徴とするLED駆動方法。更に、前記LED回路に電子的スイッチング回路を備えないLED直列回路を直列に追加したことを特徴とする請求項8に記載のLED駆動方法。上記した従来のLED点灯回路においては、電源電圧が一定値以下の短い時間しか点灯せず、フリッカが発生してしまい、また有効に使える電力が減少して照明装置に適用した場合に十分な輝度が得られないという問題点があった。本発明は、上記した課題を解決し、商用電源を使用した照明装置に使用可能であり、寿命が長く、かつ効率のよいLED駆動回路およびLED駆動方法を提供することを目的とする。本発明のLED駆動回路は、複数のLEDを直列に接続したLED直列回路と、前記LED直列回路と並列に接続された電子的スイッチング回路とからなる単位回路を複数個直列に接続したLED回路と、前記LED回路の途中あるいは前記LED回路の端部に直列に接続された電流制限回路と、前記LED回路と前記電流制限回路との直列回路に印加される電圧を検出し、検出された電圧に基づいて最も多くのLEDが点灯するように前記電子的スイッチング回路を制御するコントローラとを備えたことを主要な特徴とする。また、前記したLED駆動回路は、前記直列回路に商用電源を整流した脈流を印加する整流回路を備えた点にも特徴がある。また、前記したLED駆動回路は、mを1以上の整数、nを0以上の整数とするとき、前記LED直列回路のLEDの個数がm×2のn乗のいずれかである点にも特徴がある。また、前記したLED駆動回路は、電流制限回路は定電流回路あるいは抵抗のいずれかである点にも特徴がある。また、前記したLED駆動回路は、更に、前記直列回路に電子的スイッチング回路を備えないLED直列回路を備えた点にも特徴がある。本発明のLED駆動方法は、複数のLEDを直列に接続したLED直列回路と、前記LED直列回路と並列に接続された電子的スイッチング回路とからなる単位回路を複数個直列に接続したLED回路と、前記LED回路の途中あるいは前記LED回路の端部に直列に接続された電流制限回路と、前記電子的スイッチング回路を制御するコントローラとを備えたLED駆動回路において、前記コントローラにおいて、前記LED回路と前記電流制限回路との直列回路に印加される電圧を検出するステップ、前記コントローラにおいて、検出された電圧に基づいて最も多くのLEDが点灯するためのスイッチの状態を決定するステップ、前記コントローラにおいて、決定したスイッチの状態に基づいてスイッチを制御するステップを繰り返すことを主要な特徴とする。本発明の装置は上記のような特徴によって、以下のような効果がある。1LEDを効率良く駆動可能であり、LED以外の部分で消費される無駄な電力を最小限にすることが可能であり、同じ輝度を得るための消費電力を低減できる。2複数のLEDの点灯デューティー比をほぼ同じにすることができるので、各LEDにおいて発生する熱量をほぼ等しくでき、各LEDを最大輝度で使用可能となると共にLEDの寿命の均一化を図ることができる。3ほぼ電源電圧に応じた輝度が得られるので従来例と較べてフリッカが軽減される。4整流回路に平滑用の電解コンデンサを使用しないので、駆動回路の寿命を長くすることができ、照明装置全体の寿命を延ばすことができる。以下、図面を参照して実施例について説明する。図1は、本発明の基本的な機能を示す機能ブロック図である。商用交流電源AC100Vはダイオードブリッジ整流回路21によって整流され、脈流電源となる。直列に接続された複数のLEDグループA10~D13はそれぞれ複数個のLEDを直列に接続したLED直列回路からなる。なお、本発明において基本的にはLEDグループ数および各LEDグループのLED個数はそれぞれ任意であるが、各グループのLED個数は、mを1以上の整数、nを0以上の整数とするとき、LEDの個数がm×2のn乗のいずれかであることが好ましい。従って、例えばLEDグループA10は2個、LEDグループB11は4個、LEDグループC12は8個、LEDグループD13は16個のLEDを備えていてもよい。各LEDグループA10~D13にはそれぞれ並列にスイッチA15~D18が接続されている。スイッチは高速にスイッチングする必要があるので、MOSFET等の電子的スイッチング素子を使用する。LEDの直列回路には更に直列に定電流回路19が接続されており、LED直列回路と定電流回路19の直列回路の両端は整流回路に接続されており、脈流電源が印加される。コントローラ20は例えば公知の1チップコンピュータに後述する処理を実行するプログラムを実装することにより実現される。コントローラ20は脈流電圧を入力してA/D変換する機能を内蔵しており、また、スイッチA15~D18を制御するデジタル出力端子を備えている。コントローラ20は以下のような基本動作を行う。即ち脈流電源の電圧をA/D変換して読み取り、現在の電圧に対して最適なLEDの点灯個数を算出する。そして、スイッチA15~D18を制御することにより、選択可能なLED直列個数の中から、当該最適点灯個数以下で最大の個数を選択し、その個数になるようにスイッチA15~D18を制御する。例えばLEDグループA10は2個、LEDグループB11は4個、LEDグループC12は8個、LEDグループD13は16個のLEDを備えている場合に、電圧が低く、最適点灯個数が2あるいは3の場合は、スイッチB16~D18をオンとし、LEDグループB11~D13を短絡する。従ってLEDグループA10のみに電圧がかかり、点灯するLEDの個数は2個となる。コントローラ20は常時電圧を読み込み、最適な個数のLEDが点灯するようにスイッチ制御を繰り返す。上記したグループ構成では4回路のスイッチA15~D18を制御することにより、点灯するLED個数0個~30個を2個ステップで自由に選択出来る。もう1グループLED1個のグループを増やせば5回路のスイッチを制御することにより0~31個のLEDを1個ステップで自由に選択出来る。図2は、本発明の実施例の基本的構成を示すブロック図である。実施例においては、LED回路として、2組の同じ構成の定電流回路27、28を備え、更に、それぞれの定電流回路27、28と直列に同じLED個数であるスイッチングしないLEDグループE25、F26を備えている。また、コントローラ20と関連する回路として、分圧回路22、安定化電源23、設定スイッチ24を備えている。スイッチングするグループのLEDの個数は2のn乗とし、コストと効果を考慮してスイッチを4回路とし、実際に使う白色LEDの順方向電圧は3~3.6V近辺であるのでグループ構成は例えば、スイッチングしないグループ:4個4個、グループA:2個、グループB:4個、グループC:8個、グループD:16個とする。この場合の全LED個数は38個であり、グループA,B,C,Dのスイッチングによる点灯個数は0、2、4...28、30個の16段階となる。図1に示す基本構成においては、例えばLEDの順方向電圧を3.4Vとした場合には、スイッチングするLEDグループのLED30個を全て点灯させても102Vの順方向電圧となり、脈流のピーク値はほぼ141Vであるので、電圧の差分は定電流回路において消費され、熱となってしまう。そこで、図2の構成においては、スイッチングしないLEDグループE25、F26を設けることにより、効率を向上させる。スイッチングしないグループとして同じ回路を2個並列に設ける理由を以下に記す。スイッチングするLEDグループのデューティー比は、グループのLED個数やLEDの順方向電圧等によって変化するが、概ね50程度に設定することが可能であるのに対し、スイッチングしないLEDグループはほぼ100となる。従って、スイッチングしないグループを1回路のみ設けた場合には、スイッチングしないLEDグループのLEDの発熱量のみが増加してしまうので、LED全体を効率よく駆動できない。そこで、LEDの発熱量が概ね等しくなるようにするために、スイッチングしないLEDグループの同じ回路を2個並列に設けている。定電流回路27、28はLEDにに流れる電流をなるべく定格いっぱいで使うために設けられており、それぞれの定電流回路27、28がLEDに流す電流の1/2の電流値に設定されている。なお、効率は低下するが、定電流回路27、28の代わりに抵抗を使用することも可能である。分圧回路22は、脈流電圧をコントローラ20が入力可能な電圧に分圧する回路である。安定化電源23は脈流電源からコントローラ20に必要な例えば5Vの直流電源を供給する回路である。設定スイッチ24は、状態をコントローラ20が読み込み可能なスイッチであり、LEDの順方向電圧の違い品種変更、バラツキ、回路構成の違い、電源電圧の違い等の情報を設定する。例えば、スイッチングしないグループのLED個数の違いを設定しておき、コントローラはこの設定値を読み込んで、スイッチングを行う設定電圧を切替える等の処理を行う。例えばスイッチ24として4回路使用し、1回路はLED順方向電圧の切替0:3.2V、1:3.4V、3回路はスイッチングしないグループのLED個数を設定するようにしてもよい。なお、このスイッチ24は例えばDIPスイッチでもよいが、製造後操作しない為、信頼性の点を考慮してスイッチとせず、ジャンパー線あるいはカット可能な配線パターンとしてもよい。図3は、本発明の実施例の構成例を示す回路図である。コントローラ20としては、A/D変換器を内蔵し、必要数のデジタル入出力端子備えたものであれば、市販の任意の1チップマイクロコンピュータを使用可能である。なお図示されていないが、電源オン時のコントローラリセット回路も備えている。安定化電源23には電解コンデンサを使用するが、コントローラの消費電力は僅かであるので、寿命の長い個体電解コンデンサ等を使用する。図1、2のスイッチ15~18のそれぞれに相当するFET駆動回路61、FET60は同じ回路が4組設けられている。コントローラ20のスイッチ制御用デジタル出力端子が0例えば0Vから1例えば5Vに変化すると、FET駆動回路61のトランジスタQ1がオフからオンに変化し、トランジスタQ2はオンからオフに変化する。すると、PチャネルパワーMOSFET6018はオフからオンに変化する。LEDとしては例えば順方向電圧3.4V、定格電流300mAのLEDをグループD13は16個、グループC12は8個、グループB11は4個、グループA10は2個、グループE25、グループF26はそれぞれ4個直列に接続したものを使用する。2つの定電流回路27、28は同一の周知の定電流回路であり、電流値は例えば150mAに設定してある。図4、5は、コントローラにおける処理内容例を示すフローチャートである。電源オンされると、S10においては、初期化処理が実行され、各FET駆動回路61に接続されたデジタル出力端子群にコード0000が出力される。このコードの意味は1桁目がスイッチA15の制御ビットであり、順に4桁目がスイッチD18の制御ビットとなっている。各桁の0はFETをオフし、従ってFETと並列接続されているLEDを点灯させる。1はFETをオンし、LEDを消灯させる。従ってコード0000を出力すると、全てのFETがオフとなり、全てのLEDが直列に接続された状態となる。これは、電源オン時に任意の電圧が印加される可能性があるためである。図6は、脈流電源の電圧とスイッチングする電圧、LEDの点灯状態等の関係を示す説明図である。なお、グループA、B、C、D、E、FのLED個数がそれぞれ2、4、8、16、4、4であり、LEDの順方向電圧が3.4Vである場合について説明する。なお、定電流回路における最低限必要な電圧分が存在するが、僅かであるので無視する。電圧L0はグループE、FのLEDが点灯可能な電圧であり、L0=13.6Vとなる。電圧L1は、グループE、FグループAのLEDが点灯可能な電圧であり、L1=3.4×6=20.4Vとなる、以下同様にL15までがLED2個分グループAの個数の電圧6.8V間隔で配列されており、L15=3.4×34=115.6Vとなる。図6の下方には各電圧範囲においてコントローラ20から出力される制御コードが示されている。例えば電圧L13とL14の間においては、コントローラ20からコード0010が出力され、グループA、C、D、E、FのLEDが点灯する。なお、実際には、コントローラ20においてA/D変換するために時間がかかり、スイッチングするまでに遅延が生じる。電圧上昇時にはスイッチングするタイミングが遅延してもLEDが消灯することはなく、正常に動作する。しかし、電圧下降時においては、スイッチングが遅れると脈流電源の電圧が下がってしまい、LEDの順方向電圧の合計以下になってしまうとLEDが消灯してしまう。従って、このような状態にならないように、電圧下降時には判定する電圧レベルに2Vを加算した電圧値で判定するようにしている。図4に戻って、S11においては、100ミリ秒待つ。S12においては、分圧された脈流電源の電圧をA/D変換する。S13においては、変換値が電圧L0以下か否かが判定され、判定結果が否定の場合にはS12に移行するが、肯定の場合にはS14に移行する。L0はグループE、FのLED直列回路の順方向電圧であり、脈流電源がL0以下では全てのLEDは消灯する。S14においては、FET駆動回路にコード1111を出力する。これにより全てのFETがオンとなり、グループE、FのLED直列回路のみが電源に接続された状態となる。S15においては、ウォッチドッグWDタイマに所定値を設定し、起動する。このWDタイマは一定の周期でダウンカウントし、0になるとコントローラをリセットする。所定値は、例えば脈流の1周期商用電源の周波数50Hzであれば10ミリ秒より少し長い時間に相当する値とする。S16においては、分圧された脈流電源の電圧をA/D変換する。S17においては、変換値が電圧L1以上か否かが判定され、判定結果が否定の場合にはS16に移行するが、肯定の場合にはS18に移行する。電圧L1はグループE、FのLED直列回路の順方向電圧とグループAのLED直列回路の順方向電圧を加算した値である。S18においては、コード1110を出力する。このコードによりスイッチA15に相当するFETのみがオフし、グループE、Fに加えてグループAのLEDが点灯開始する。S19においては、分圧された脈流電源の電圧をA/D変換する。S20においては、変換値が電圧L2以上か否かが判定され、判定結果が否定の場合にはS21に移行するが、肯定の場合にはS22に移行する。S21においては、変換値がL1未満か否かが判定され、判定結果が否定の場合にはS19に移行するが、肯定の場合には図5のS55に移行する。S21の判定処理は定格電圧よりも大幅に低い電圧でも点灯するようにするためのものであり、定格電圧の最低値以下では点灯しなくてもよければ、S20の判定結果が否定の場合にはS19に移行するようにしてもよい。S22においてはコード1101を出力する。このコードによりスイッチB16に相当するFETのみがオフし、グループE、Fに加えてグループBのLEDが点灯開始する。S23においては、分圧された脈流電源の電圧をA/D変換する。S24においては、変換値が電圧L3以上か否かが判定され、判定結果が否定の場合にはS25に移行するが、肯定の場合にはS26に移行する。S25においては、変換値がL2未満か否かが判定され、判定結果が否定の場合にはS23に移行するが、肯定の場合には図5のS52に移行する。S26においては、コード1100を出力する。このコードによりスイッチA15、B16に相当するFETがオフし、グループE、Fに加えてグループAおよびグループBのLEDが点灯する。以下脈流電源の電圧の上昇に伴って同様の処理を繰り返し、S30へと移行する。S30においては、分圧された脈流電源の電圧をA/D変換する。S31においては、変換値が電圧L15以上か否かが判定され、判定結果が否定の場合にはS32に移行するが、肯定の場合にはS33に移行する。S32においては、変換値がL14未満か否かが判定され、判定結果が否定の場合にはS30に移行するが、肯定の場合にはS42に移行する。S33においては、コード0000を出力する。このコードにより全てのスイッチ15~18に相当するFETがオフし、全てのグループのLEDが点灯する。S34においては、分圧された脈流電源の電圧をA/D変換する。S35においては、変換値が電圧L152V2ボルト以上か否かが判定され、判定結果が否定の場合にはS36に移行するが、肯定の場合にはS37に移行する。S36においては、変換値がL15未満か否かが判定され、判定結果が否定の場合にはS34に移行するが、肯定の場合にはS39に移行する。S34~S36の処理において変換値が電圧L152V2ボルト以上になってから次の処理に移行する理由は、S37以降の電圧下降モードにおいては、S16~S33までの電圧上昇モードの時より高めの電圧2Vでスイッチングのタイミングを決定するので、S33からS37に移行すると正常に点灯しないためである。S37~S57は電圧下降モードである。S37においては、分圧された脈流電源の電圧をA/D変換する。S38においては、変換値が電圧L152V以下か否かが判定され、判定結果が否定の場合にはS37に移行するが、肯定の場合にはS39に移行する。S39においては、コード0001を出力する。S40においては、分圧された脈流電源の電圧をA/D変換する。S41においては、変換値が電圧L142V以下か否かが判定され、判定結果が否定の場合にはS40に移行するが、肯定の場合にはS42に移行する。S42においては、コード0010を出力する。以下、電圧の降下に従って同様の処理を繰り返し、図5のS50に移行する。S50においては、分圧された脈流電源の電圧をA/D変換する。S51においては、変換値が電圧L22V以下か否かが判定され、判定結果が否定の場合にはS50に移行するが、肯定の場合にはS52に移行する。S52においては、コード1110を出力する。S53においては、分圧された脈流電源の電圧をA/D変換する。S54においては、変換値が電圧L12V以下か否かが判定され、判定結果が否定の場合にはS53に移行するが、肯定の場合にはS55に移行する。S55においては、コード1111を出力する。S56においては、分圧された脈流電源の電圧をA/D変換する。S57においては、変換値が電圧L1未満か否かが判定され、判定結果が否定の場合にはS56に移行するが、肯定の場合にはS58に移行する。S58においては、WDタイマに所定値を設定し直し、図4のS16に移行する。以上のような処理を繰り返すことにより、各LEDグループが図6に示すような点灯/消灯を繰り返す。図7は、LEDに流れる電流の一部をコントローラの電源に利用した実施例2を示すブロック図である。図3に示す実施例1の回路においては、脈流電源から抵抗を介して定電圧電源に電流を供給しているが、コントローラ用電源のほとんどの電力はこの抵抗で消費され、熱となる。そこで、スイッチングしないLEDグループのLEDの数を減らし、減少したLEDの順方向電圧の分を例えば5Vのツェナーダイオード30およびコンデンサ31を使用して取り出し、コントローラ20の電源に当てる。図8は、LEDに流れる電流の一部をコントローラの電源に利用した実施例3を示すブロック図である。実施例2の回路においては、LED数が減少し、ツェナーダイオード30による発熱も大きくなるが、例えばLEDグループ25と定電流回路27の直列接続順序を入れ替え、LEDグループ25の両端に発生する電圧を例えば、抵抗35、ダイオード36、5Vのツェナーダイオード37およびコンデンサ38を使用して取り出し、コントローラ20の電源に当てる。コントローラ20に必要な電流は、定電流回路27の設定電流値と較べて僅かであるので、LEDの輝度はほとんど低下せず、余分な電力消費も減少する。図9は、各LEDグループ毎にLED直列回路を複数個並列に接続して使用する場合の実施例4の構成を示すブロック図である。なおこの図はLED回路部分のみを示している。この場合には、LEDの直列回路を単に並列に接続するとLEDの特性の僅かな差異により、片方のLED直列回路のみに多くの電流が流れてしまう。そこで、各グループの複数のLED直列回路のそれぞれに直列に定電流回路40を接続する。スイッチングしないグループについては、スイッチングするグループの2倍の数のLED直列回路を備え、それぞれに定電流回路27、28を直列に接続する。なお、カレントミラー回路を使用して複数のLED直列回路に流れる電流を均等に分流してもよい。また、定電流回路の代わりに抵抗を直列に接続してもある程度の電流の均一化は図れる。図10は、実施例5のコントローラにおける処理内容を示すフローチャートである。この実施例は、A/D変換した電圧値に基づき、電圧値-コード変換テーブルからコード値を読み出してスイッチの制御を行うものであり、ハードウェアは実施例1と同一である。電源オンされると、S60においては、初期化処理後、スイッチの制御を行うためのコード0000を出力する。S61においては、設定スイッチ24の状態を読み込む。この設定スイッチ24には、例えば使用されたLEDの順方向電圧の違い、およびスイッチングしないグループのLED個数の情報が設定されている。S62においては、読み込んだスイッチ状態に基づいてコードテーブルを設定する。コントローラ20内のROMには予め、使用されたLEDの順方向電圧の違い、およびスイッチングしないグループのLED個数別に複数のテーブルが記憶されており、コントローラは読み込んだ設定値と対応するテーブルを例えばRAMにコピーするか、あるいはROMにおける使用するテーブルの先頭アドレスを記憶する。S63においては、100ミリ秒待つ。S64においては、脈流電源が分圧された電圧を例えば8ビットデータにA/D変換する。S65においては、変換値を保存する。S66においては、前回A/D変換された値より小さいか否かが判定され、判定結果が否定電圧上昇時の場合にはS68に移行するが、肯定電圧下降時の場合にはS67に移行する。S67においては、変換値から所定の補正値を減算する。この実施例では電圧上昇モードと電圧下降モードにおいて同じテーブルを使用するので、電圧上昇モード用のテーブルを記憶しておき、電圧下降時にはS67において補正値を減算することにより、電圧下降時にも適切なタイミングでスイッチングされるようにする。S68においては、S62において選択した変換テーブルを使用して変換値をコード値に変換する。変換テーブルは、例えばA/D変換値の8ビットデータに相当する256アドレス毎に対応する4ビットのコード情報が記憶されているものであってもよい。S69においては、読み出したコードをFET駆動回路に出力する。S70においては、出力したコードが前回出力したものと同一か否かが判定され、判定結果が否定の場合にはS71に移行するが、肯定の場合にはS64に移行する。S71においては、今回読み出したコードを記憶する。S72においては、所定時間タイマ処理を行い、S64に移行する。以上のような処理を繰り返すことにより、実施例1と同様に各LEDグループが図6に示すような点灯/消灯を繰り返す。以上実施例を説明したが、本発明には以下のような変形例も考えられる。実施例としては整流回路にコンデンサを使用しない例を開示したが、整流回路の出力に寿命の長いコンデンサを付加してもよい。こうすればフリッカがより低減されると共に、LEDグループの段数を少なくすることもできる。実施例において、定電流回路を制御して電流をオフする機能を備えるか、あるいは別に直列にスイッチ回路を設けてもよい。このようにすれば、所定値以上の電圧を検出した場合にコントローラが電流を切ることが可能となり、照明装置の入力電圧の幅を広くすることができる。また、定電流回路における電力消費量を削減することができる。更に、直列に設けたスイッチをコントローラーで制御することにより照度コントロールも可能となる。実施例においては、LED個数をm×2のn乗とする例を開示したが、例えばLEDの順方向電圧が3.4Vである場合に、日本の商用電源のピーク値141Vでちょうど全てのLEDが点灯するように個数を決定することはできない。しかし、本発明において各LEDグループのLED個数は任意であり、例えば各LEDグループの個数を多い順に22、11、6、3個の合計42個あるいは、20、10、5、2個の合計37個などとしてもよい。このようにした場合には、スイッチングする電圧値の間隔が均等ではなくなるが、スイッチングしないグループを設けなくてもよくなる。"