La National Semiconductor (www.national.com) en application note (1644) que lanzó en 2008, muestra en diversos circuitos cómo utilizar el circuito integrado LM3405 en el control y excitación de LED de alto brillo. En este artículo vamos a resumir estas aplicaciones que pueden ser de gran utilidad para los lectores.

El circuito integrado LM3405 consiste en un regulador buck de corriente constante para corrientes hasta 1 A. El circuito de alta eficiencia opera con una referencia de tensión de sólo 205 mV lo que permite el uso con LEDs que tienen altas tensiones directas de excitación.

El LM3405 viene con una llave conmutadora de alta potencia, con capacidad para 1 A, limitador interno de corriente, protección contra sobre tensión y shutdown térmico. En la figura 1 tenemos un circuito típico de aplicación de este componente que, como podemos ver exige pocos componentes externos.

 


 

 

 

La corriente en el LED está programada por el valor de R1 según la fórmula:

 

Si = 205 mV / R1

 

 

Para un resistor de 200 mOhms, la corriente será del orden de 1 A. El dispositivo opera en una frecuencia de conmutación de 1,6 MHz, determinada internamente, lo que posibilita el uso de inductores y capacitores de valores pequeños. En este circuito, la tensión boost se deriva de la tensión de entrada o de la tensión de salida, pero no debe exceder el límite de 5,5 V, y debe ser mayor que 2,5 V para tener la eficiencia esperada.

El control de brillo por PWM se puede realizar utilizando el pasador EM / DIN, como se muestra en la figura 2.

 


| Clique na imagem para ampliar |

 

En el nivel alto, la señal V_PWM habilita el circuito y en el nivel bajo deshabilita. De esta forma, se puede controlar el ciclo activo de la corriente aplicada al LED y con ello su brillo.

La menor frecuencia recomendada para este control es del orden de 100 Hz, para evitar los efectos de parpadeo del LED. La frecuencia más alta está determinada por los límites de conmutación del circuito integrado. El gráfico de la figura 3 muestra la intensidad media de la corriente en el LED en función del ciclo activo, para diversas frecuencias.

 


 

 

 

Para controlar dos o más LEDs en serie, se puede derivar la tensión de polarización, como muestra la figura 4.

 

 


 

 

 

Esta característica es necesaria porque al excitar dos o más LEDs, la tensión obtenida para la entrada VBOOST sería mayor que los 5V admitidos como máximo para esta función.

Para excitar varias carreras de LEDs conectados en serie, se puede utilizar la tensión de control de una de las secuencias, como muestra el circuito de la figura 5.

 


 

 

 

En este circuito, R1 determina la corriente total y R2 debe ser ajustado para tener en LED3 el mismo brillo de los demás.

Otra forma de excitar los LED en paralelo es la que se muestra en el circuito de la figura 6. R1, como en los demás circuitos, determina la intensidad total de la corriente en los LED. Sin embargo, se debe tener en cuenta que los LEDs deben estar casados ​​de modo que haya una distribución por igual de las corrientes, y así el brillo sea uniforme para todos. Esto es importante en las aplicaciones en las que los LED se utilizan en la iluminación de un panel.

 


| Clique na imagem para ampliar |

 

 

El lector podrá obtener más información sobre este tipo de aplicaciones accediendo al sitio web de National Semiconductor. En él se puede obtener el PDF del Datasheet del LM3405.

 

 

18.925MBMemory Usage40.35msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.20
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:51 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1750509157 "last" => 1750509157...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.55KB) (201μs)
  • afterInitialise (1.14MB) (3.57ms)
  • afterRoute (179.16KB) (929μs)
  • beforeRenderComponent com_content (100.7KB) (375μs)
  • Before Access::preloadComponents (all components) (33.45KB) (220μs)
  • After Access::preloadComponents (all components) (107.06KB) (470μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (9μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19.78ms)
  • Before Access::getAssetRules (id:27377 name:com_content.article.31010) (514.65KB) (1.05ms)
  • After Access::getAssetRules (id:27377 name:com_content.article.31010) (7.38KB) (36μs)
  • afterRenderComponent com_content (382.3KB) (6.23ms)
  • afterDispatch (2.25KB) (43μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (1.51ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (302μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (88μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (1.15ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (568μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (70μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (197μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (47μs)
  • afterRender (257.75KB) (3.42ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (49.02%)
    19.78ms
    1 x afterRenderComponent com_content (382.3KB) (15.44%)
    6.23ms
    1 x afterInitialise (1.14MB) (8.84%)
    3.57ms
    1 x afterRender (257.75KB) (8.47%)
    3.42ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (3.74%)
    1.51ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (2.86%)
    1.15ms
    1 x Before Access::getAssetRules (id:27377 name:com_content.article.31010) (514.65KB) (2.6%)
    1.05ms
    1 x afterRoute (179.16KB) (2.3%)
    929μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.41%)
    568μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.16%)
    470μs
    1 x beforeRenderComponent com_content (100.7KB) (0.93%)
    375μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.75%)
    302μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.55%)
    220μs
    1 x afterLoad (85.55KB) (0.5%)
    201μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.49%)
    197μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.22%)
    88μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.17%)
    70μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    47μs
    1 x afterDispatch (2.25KB) (0.11%)
    43μs
    1 x After Access::getAssetRules (id:27377 name:com_content.article.31010) (7.38KB) (0.09%)
    36μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    9μs
21 statements were executed, 5 of which were duplicates, 16 unique11.09ms1.58MB
  • SELECT @@SESSION.sql_mode;30μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 167μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)147μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`45μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest65μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`238μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)324μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.76ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`291μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31010'125μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)161μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`207μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)242μs3.98KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`169μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC420μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`200μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1161μs1.89KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)94μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context69μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)203μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 172μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy