En las alarmas hay que contar con sirenas fuertes y que puedan ser fácilmente controladas por circuitos externos. La sirena que presentamos, además y de estas características tiene algo que es muy importante en un proyecto: puede ser disparada por lógica CMOS sin la necesidad de relé.

Nota: se puede usar el circuito como shield para una alarma microcontrolada.

 

El interesante circuito de sirena que presentamos se caracteriza por la elevada potencia que puede entregar a un altavoz por el uso de un transistor de efecto de campo de potencia. (MOSFET).

Además, esta sirena tiene ajustes de tono, modulación e intermitencia independientes, lo que permite al usuario ajustar el circuito para el mejor sonido.

Finalmente, esta sirena está habilitada directamente por una salida lógica CMOS sin la necesidad de relé, y en la condición de espera su consumo es extremadamente bajo. Esto la hace ideal para circuitos de alarma alimentados por batería o para uso automotriz.

La simplicidad del diseño permite su montaje en una caja de reducidas dimensiones.

 

Características:

Tensión de alimentación: 6 V c.c. a 12 V c.c.

Corriente de reposo: inferior a 1 mA

Corriente en accionamiento pleno: 2 A a 4 A

Potencia de audio: 10 a 20 W

 

En términos de oscilador de bajo consumo y excelente desempeño, pocos circuitos integrados excitan el 4093. De hecho, sus cuatro puertos NAND independientes pueden resultar en hasta 4 osciladores diferentes, y con la posibilidad de mando externo.

En la figura 1 tramos el diagrama completo de la sirena.

 

Figura 1 - Diagrama de la sirena
Figura 1 - Diagrama de la sirena | Haga click en la imagen para ampliar |

 

 

En este circuito utilizamos dos puertas como osciladores y dos más como búfer mezcladores y amplificadores.

De esta forma, la primera puerta (C11-b) es el oscilador de modulación, que determina la cadencia de los toques o sus variaciones. En este circuito P1 determina la frecuencia, junto con C1, mientras que P2 determina la profundidad de la modulación.

En realidad podemos incluso modificar el efecto, "suavizando" la modulación con la conexión de un capacitor de 1 uF a 22 uF entre la unión de P2 y R5 y el negativo (0 V) de la alimentación.

El oscilador de audio es formado por CI1-b, y tiene su frecuencia determinada por C2 y ajustada en P3.

Obtenemos en la salida de este oscilador un tono de audio modulado que se lleva a las otras dos puertas, que funcionan como un buffer (aislador) y amplificador digital. Las señales entregadas a este buffer pueden ser controladas externamente por el pin 5 del CI1-b.

Si este perno está en el nivel bajo, lo que ocurre sin señal de habilitación (H), ya que R4 lo mantiene a la tierra, el oscilador CI b, no funciona. Si este pino es al nivel alto, a partir de una salida CMOS, por ejemplo, el oscilador entra en acción, siendo modulado por C113.

En la figura 2 tenemos la placa de circuito impreso para el montaje.

 

Figura 2 - Placa para el montaje
Figura 2 - Placa para el montaje | Haga click en la imagen para ampliar |

 

 

Semiconductores:

Cl1 - 40938 - circuito integrado CMOS

Q1 - IRF64O o equivalente - FET de potencia

 

Resistores (1/8 W, 5%):

R1 R2, R3, R5 y R6 - 10 k ohms

R4- 100 k ohms

R7 - 1 M ohms

P1, P2 - Trimpots de 1 M ohms

P3 - Trimpot de 100 k ohmios

 

Capacitores:

C1 - 1 pF - electrolítico

C2 - 47 nF - cerámico o de poliéster

C3 - 1000 pF - electrolítico

 

Varios:

FTE - 4 o 8 ohms - altavoz de 10 W o más.

 

18.924MBMemory Usage40.4msRequest 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" => 1749584777 "last" => 1749584777...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.42KB) (277μs)
  • afterInitialise (1.14MB) (3.56ms)
  • afterRoute (179.16KB) (879μs)
  • beforeRenderComponent com_content (100.7KB) (463μs)
  • Before Access::preloadComponents (all components) (33.45KB) (207μs)
  • After Access::preloadComponents (all components) (107.06KB) (480μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (9μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19.45ms)
  • Before Access::getAssetRules (id:141 name:com_content.article.9840) (514.65KB) (674μs)
  • After Access::getAssetRules (id:141 name:com_content.article.9840) (7.38KB) (50μs)
  • afterRenderComponent com_content (384.53KB) (6.9ms)
  • afterDispatch (2.25KB) (43μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (1.54ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (332μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (96μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (1.1ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (617μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (63μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (205μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (48μs)
  • afterRender (257.75KB) (3.3ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (48.13%)
    19.45ms
    1 x afterRenderComponent com_content (384.53KB) (17.09%)
    6.90ms
    1 x afterInitialise (1.14MB) (8.81%)
    3.56ms
    1 x afterRender (257.75KB) (8.18%)
    3.30ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (3.81%)
    1.54ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (2.71%)
    1.10ms
    1 x afterRoute (179.16KB) (2.18%)
    879μs
    1 x Before Access::getAssetRules (id:141 name:com_content.article.9840) (514.65KB) (1.67%)
    674μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.53%)
    617μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.19%)
    480μs
    1 x beforeRenderComponent com_content (100.7KB) (1.15%)
    463μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.82%)
    332μs
    1 x afterLoad (85.42KB) (0.69%)
    277μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.51%)
    207μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.51%)
    205μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    96μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.16%)
    63μs
    1 x After Access::getAssetRules (id:141 name:com_content.article.9840) (7.38KB) (0.12%)
    50μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    48μs
    1 x afterDispatch (2.25KB) (0.11%)
    43μ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.37ms1.58MB
  • SELECT @@SESSION.sql_mode;27μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 172μ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)141μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`46μ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` = :guest67μ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`240μ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)329μ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.9ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`389μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '9840'193μ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)178μ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`197μ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)244μs4KBParams/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`174μ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 ASC404μ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`248μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1142μ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` = :context64μ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)154μ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` = 169μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy