Un módulo que reconoce tonos de frecuencias en el rango de 100 Hz a 100 KHz puede tener muchas utilidades En sistemas de control remoto, alarmas, automatismos etc..En este artículo describimos el montaje de un módulo simple que usa sólo un integrado, tiene excelente selectividad y bajo el consumo.

Hay muchas aplicaciones interesantes para un circuito que reconoce una señal de determinada frecuencia como, por ejemplo:

En sistemas de control remoto podemos usar un filtro para cada canal, bastando entonces modular el transmisor con la frecuencia correspondiente.

En automatismos podemos emitir comandos por medio de tonos que fácilmente actuaría solamente sobre un determinado circuito;

En alarmas, el uso de un tono en barreras infrarrojas o modulando ultrasonidos dificulta la violación de un intruso.

El módulo que describimos en este artículo es simple, compacto y tiene excelente selectividad, pudiendo ser ajustado para reconocer tonos en el rango de 100 Hz a 100 kHz.

En la salida tenemos el accionamiento de un relé, lo que permite el control directo de alta potencia, además de la monitorización por medio de un LED.

La alimentación del circuito es de sólo 6 V, lo que permite su fácil utilización en modelos rádiocontrolados y en otros equipos alimentados por pilas.

 

Características:

Tensión de alimentación: 6 V

Consumo en reposo: 10 mA (tip.)

Consumo máximo: 100 mA (relé accionado)

Rango de frecuencias: 100 Hz a 100 kHz

Tipo de decodificación: PLL

Controles: 2 (sensibilidad y frecuencia)

 

COMO FUNCIONA

El circuito se basa en un filtro PLL con el NE / LM 567, cuyo funcionamiento completo deberá oportunamente encontrarse en este sitio.

En la figura 1 tenemos el diagrama completo del módulo decodificador.

 

Figura 1 - Diagrama del decodificador
Figura 1 - Diagrama del decodificador

 

La señal de audio en el rango indicado, con una intensidad de 20 a 200 mV, se aplica a la entrada de un trimpot que permite controlar su sensibilidad.

El trimpot P2, en conjunto con C2, determina la frecuencia que el circuito integrado PLL va a reconocer. El ajuste se puede hacer en una amplia gama de valores, lo que facilita enormemente el uso del módulo.

Cuando el circuito integrado tiene a su entrada una frecuencia que no reconoce, su salida (en el pin 8) se mantiene en el nivel alto, con lo que el LED permanece apagado.

En estas condiciones el transistor Q1 se polariza en el corte y nada sucede con el relé, que se mantiene desenergizado.

Cuando el PLL reconoce la señal como ese para el que está sintonizado, su salida va inmediatamente al nivel bajo, y con ello el LED se enciende.

En el mismo instante el transistor Q1 es llevado a la saturación, energizando el relé, que cierra sus contactos.

Tan pronto como la señal de entrada desaparezca o cambie de frecuencia, dejando el circuito de reconocerlo, el relé es desenergizado.

 

MONTAJE

En la figura 2 damos una sugerencia de placa de circuito impreso para un módulo decodificador de tono.

 

Figura 2 - Placa para el montaje
Figura 2 - Placa para el montaje

 

Sin embargo, para un sistema de control remoto multicanal, por ejemplo, se pueden montar diversos módulos y conectarlos en paralelo. Esta placa proporciona un relé del tipo con base DIL, que tiene un pinado compatible con los circuitos integrados en envoltorio DIL de 16 pines.

Sin embargo, utilizando un relé de mayor potencia, se debe cambiar el diseño del módulo.

El circuito no debe ser alimentado con tensión mayor que 10 V. El LED es opcional, y puede ser rojo común.

Para la entrada de señal se puede utilizar un par de terminales o un jack (E y T).

 

PRUEBA Y USO

Para probar el aparato el lector puede montar un oscilador de prueba como, por ejemplo, el de la figura 3.

 

Figura 3 - Oscilador de prueba
Figura 3 - Oscilador de prueba

 

El trimpot o el potenciómetro ajusta la frecuencia.

Conecte este oscilador a la entrada del decodificador y ajuste lentamente P2 hasta que la señal sea reconocida. P1 debe estar en una posición media.

Reduzca la sensibilidad del módulo hasta llegar al umbral del reconocimiento y busque en el ajuste de P2, nuevos puntos en que la señal pueda ser reconocida, pues es posible que la señal sintonizada sea una armónica.

Si no se encuentra ninguna otra señal, vuelva al ajuste original. Con esto el aparato estará listo para su uso.

Una sugerencia interesante de uso para el reconocedor es una alarma en la que la interrupción del eslabón de transmisión de señal provoca la apertura del relé, con la alimentación de una carga externa, como muestra la figura 4.

 

Figura 4 - Alarma de interrupción
Figura 4 - Alarma de interrupción

 

 

En este caso, los contactos usados son los NF Para usar 'los contactos normalmente abiertos, basta con invertir de posición el relé y diodo con Q1 sustituido por un NPN equivalente, conforme el circuito mostrado en la figura 5.

 

Figura 5 - Invertir el diodo y utilizar un PNP
Figura 5 - Invertir el diodo y utilizar un PNP

 

 

Este circuito actúa "al contrario", cerrando el relé cuando la señal de entrada deja de ser reconocida.

 

Semiconductores:

Cl1 - LM567 o NE567 circuito integrado PLL

Q1 - BC558 - transistores PNP de uso general

LED1 - LED rojo común

D1 - 1N4148 o equivalente - diodo de silicio

 

Resistores:

R1 - 1 K ohms

R2 - 1,5 K ohms

P1, P2 - trimpot de 100 k ohms

 

Capacitores:

C1 - 100 nF - cerámico o poliéster

C2 - 10 nF - cerámico o poliéster

C3, C4 - 2,2 uF - electrolíticos de 12 V

C5 - 100 p.F - electrolítico de 12 V

 

Varios:

K1 - Relé de 6 V o equivalente

Placa de circuito impreso, zócalo para el relé y circuito integrado, hilos,

Soldadura, etc.

 

18.994MBMemory Usage44.92msRequest 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" => 1747798007 "last" => 1747798007...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.39KB) (834μs)
  • afterInitialise (1.14MB) (4.9ms)
  • afterRoute (179.16KB) (1.12ms)
  • beforeRenderComponent com_content (100.65KB) (476μs)
  • Before Access::preloadComponents (all components) (33.45KB) (301μs)
  • After Access::preloadComponents (all components) (107.06KB) (489μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (21.55ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.08KB) (1.91ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (37μs)
  • afterRenderComponent com_content (428.16KB) (5.98ms)
  • afterDispatch (2.25KB) (47μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (1.5ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (330μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (108μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.04KB) (1.15ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (529μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (64μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (182μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (48μs)
  • afterRender (296.83KB) (3.27ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (47.96%)
    21.55ms
    1 x afterRenderComponent com_content (428.16KB) (13.3%)
    5.98ms
    1 x afterInitialise (1.14MB) (10.92%)
    4.90ms
    1 x afterRender (296.83KB) (7.28%)
    3.27ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.08KB) (4.25%)
    1.91ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (3.33%)
    1.50ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.04KB) (2.56%)
    1.15ms
    1 x afterRoute (179.16KB) (2.5%)
    1.12ms
    1 x afterLoad (85.39KB) (1.86%)
    834μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.18%)
    529μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.09%)
    489μs
    1 x beforeRenderComponent com_content (100.65KB) (1.06%)
    476μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.73%)
    330μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.67%)
    301μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.4%)
    182μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    108μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.14%)
    64μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.11%)
    48μs
    1 x afterDispatch (2.25KB) (0.1%)
    47μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.08%)
    37μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
23 statements were executed, 5 of which were duplicates, 18 unique13.88ms1.58MB
  • SELECT @@SESSION.sql_mode;34μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 184μ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)162μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`48μ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` = :guest76μ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`223μ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)337μ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` = 09.86ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`286μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.3825'64μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`318μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '3825'145μ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)164μ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`177μ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)351μs3.97KBParams/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`239μ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 ASC494μs6.06KBParams/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`223μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1173μs656B/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)98μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context70μ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)171μ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` = 178μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content
  • warningassets - No asset found for com_content.article.3825, falling back to com_content