Este es un proyecto para ser agregado a diversos otros que describimos en este libro, posibilitando el control temporizado de diversos tipos de cargas. La temporización puede variar entre unos segundos hasta más de 15 minutos y podemos dar varios ejemplos de aplicación. Acoplado a una campanilla puede mantener la luz del lugar encendida por un determinado tiempo, no dejando las "visitas" en la oscuridad.

 

Acoplado a un sistema de sensores puede mantener una luz de aviso activada o un sistema de ventilación. Por ejemplo, conectado a un detector de humo puede al mismo tiempo que dispara un alarme, mantener un sistema de extracción conectado. Acoplado a una cerradura eléctrica se disparará cuando se abra y al mismo tiempo mantendrá la iluminación del lugar activada por un tiempo determinado.

La alimentación del circuito es hecha por la red de energía y el relé usado puede controlar cargas de hasta 10 ampères. En realidad, la misma fuente del módulo puede ser usada para comandar hasta 3 otros iguales, extendiendo así la utilidad del aparato.

La temporización se ajusta en función de la aplicación, de una manera sencilla: a través de un trimpot. En la figura 1 tenemos el diagrama completo del módulo. El transformador podrá ser cambiado por uno de 12V si el montador desea usar relé de 12V.

 

Figura 1
Figura 1

 

 

El disparo puede ser hecho tanto por circuitos lógicos, con un nivel bajo en la entrada AB corno por medio de relé, reed-switch o aún sensores resistivos conectados entre estos puntos. Para sensores resistivos, el ajuste de sensibilidad se hace cambiando el resistor de 47K ohms en serie por un potenciómetro o trimpot de 1 M ohms en serie con una resistencia de 2,7K ohms, esto para sensores con resistencias entre 10K ohmios y 100K ohms en el punto de disparo.

 

Características:

Tensión de alimentación: 110/220 VCA

Consumo en reposo: menos de 5 W

Corriente máxima controlada: 10 A

Tipo de disparo: nivel bajo o puesta a tierra de AB

Temporización: 5 segundos a 15 minutos

 

 

COMO FUNCIONA

 

La base del proyecto es un circuito integrado del tipo 555 que funciona como un temporizador monoestable, donde el tiempo en que su salida permanece en el nivel alto o activada (pino 3) depende del ajuste de P1 y del valor de C1. Para disparar este temporizador es necesario aterrizar por un instante el perno 3, lo que se puede hacer cortocircuitando o disminuyendo la resistencia entre las terminales A y B. En estas terminales podemos entonces conectar los contactos de relés, llaves o entonces sensores .

El resistor R1 de 47K ohms del pino 2 determina la polarización del integrado evitando así su disparo errático. La salida del circuito integrado 555 se conecta a la base de un transistor que tiene por carga la bobina del relé. La alimentación del circuito es hecha por un pequeño transformador de 6V. Los 6V alternados de este transformador son rectificados y filtrados antes de servir de alimentación para el circuito.

El transformador es importante porque garantiza un buen aislamiento del módulo en relación a la red de energía, lo que hace su uso seguro con cualquier tipo de interfaz o dispositivo que va a ser controlado. Una aplicación directa del módulo es como una alarma, que se disparará en el momento en que un interruptor conectado entre A y B esté cerrado.

 

 

MONTAJE

 

La disposición de los componentes en una placa de circuito impreso, con los componentes externos también indicados, se muestra en la figura 2.

 

Figura 2
Figura 2

 

 

Es interesante utilizar un zócalo para el circuito integrado, y el transformador debe tener bobinado primario conforme la tensión de la red de energía local. La corriente de secundario de este transformador no es crítica, pudiendo quedar en el rango de 200 a 500 mA, sin problemas.

Los resistores son de 1 / 8W y para alimentación de 6V los capacitores electrolíticos deben tener una tensión de trabajo de al menos 12V. P1 es un potenciómetro común o trimpot y los diodos admite equivalentes, así como el relé. Los relés más pequeños pueden ser usados, siempre y cuando se respeten los límites de corriente de sus contactos.

El transistor también admite equivalentes, ya que prácticamente cualquier tipo NPN de uso general puede ser usado en este aparato,

 

 

   PRUEBA Y USO

 

Para probar el aparato debemos conectarlo a la red de alimentación y en la toma X1 una carga cualquiera, como por ejemplo una lámpara común. Ajustamos inicialmente P1 para el tiempo mínimo, es decir, colocamos este componente en su posición de mínima resistencia.

   Conectando a través de un hilo, momentáneamente, el punto A al punto B, el relé debe cerrar sus contactos accionando la carga externa, por un tiempo de algunos segundos. Ajuste después P1 para un tiempo un poco mayor y repita la operación de disparo para verificar el funcionamiento.

Comprobado el funcionamiento es sólo usar el aparato. Entre A y B conectamos el dispositivo de accionamiento y en la toma X1 el dispositivo que debe controlarse.

        

 

Lista de material

 

CI-1 - 555 - circuito integrado

Q1 - BC548 o equivalente - transistores NPN de uso general

D1, D2 - 1N4002 - diodos de silicio

D3 - 1N4148 - diodo de uso general

R1 - 47k - resistor

R2 - 10 k - resistor

P1 - 1 M - trimpot o potenciómetro

C1 - 1 0000 uF x 12 V - capacitor electrolítico

C2 - 470 uF x 12 V - capacitor electrolítico

K1 - Relé sensible de 6 V

S1 - Interruptor simple

T1 - Transformador con primario según la red local y secundaria de 6 + 6 V con 200 mA o más

X1 - Toma de fuerza

Varios: placa de circuito impreso, soldadura, etc.

   

 

 

18.932MBMemory Usage40.99msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.16
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" => 1744401327 "last" => 1744401327...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.67KB) (238μs)
  • afterInitialise (1.14MB) (3.29ms)
  • afterRoute (179.16KB) (936μs)
  • beforeRenderComponent com_content (100.65KB) (400μs)
  • Before Access::preloadComponents (all components) (33.45KB) (208μs)
  • After Access::preloadComponents (all components) (107.06KB) (457μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (10μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (21.84ms)
  • Before Access::getAssetRules (id:27449 name:com_content.article.31082) (514.65KB) (544μs)
  • After Access::getAssetRules (id:27449 name:com_content.article.31082) (7.38KB) (33μs)
  • afterRenderComponent com_content (373.04KB) (5.67ms)
  • afterDispatch (2.25KB) (55μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.61ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (326μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (89μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (1.14ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (561μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (63μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (184μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (50μs)
  • afterRender (258.05KB) (3.2ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (53.27%)
    21.84ms
    1 x afterRenderComponent com_content (373.04KB) (13.82%)
    5.67ms
    1 x afterInitialise (1.14MB) (8.04%)
    3.29ms
    1 x afterRender (258.05KB) (7.81%)
    3.20ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.93%)
    1.61ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (2.78%)
    1.14ms
    1 x afterRoute (179.16KB) (2.28%)
    936μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.37%)
    561μs
    1 x Before Access::getAssetRules (id:27449 name:com_content.article.31082) (514.65KB) (1.33%)
    544μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.11%)
    457μs
    1 x beforeRenderComponent com_content (100.65KB) (0.98%)
    400μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.8%)
    326μs
    1 x afterLoad (85.67KB) (0.58%)
    238μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.51%)
    208μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.45%)
    184μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.22%)
    89μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.15%)
    63μs
    1 x afterDispatch (2.25KB) (0.13%)
    55μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    50μs
    1 x After Access::getAssetRules (id:27449 name:com_content.article.31082) (7.38KB) (0.08%)
    33μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    10μs
21 statements were executed, 5 of which were duplicates, 16 unique13.18ms1.58MB
  • SELECT @@SESSION.sql_mode;32μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 163μ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)118μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`57μ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` = :guest68μ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`261μ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)308μ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.95ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`338μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31082'148μ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)151μ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`174μ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)212μ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`163μ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 ASC383μ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`207μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1158μ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)91μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context63μ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)161μ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` = 174μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy