Una gran cantidad de aplicaciones electrónicas requieren que la corriente que circula a través de una carga sea controlada dentro de límites estrechos. Esto ocurre con el control de motores, fuentes de alimentación, fuentes de LED, controles de solenoides, etc. Para este propósito se utilizan circuitos sensores de corriente que pueden presentar diversas configuraciones. En este artículo tratamos de esas configuraciones y damos algunos ejemplos prácticos.

Los circuitos sensores de corriente tienen por objeto monitorear la corriente en una carga, proporcionando una señal que puede ser utilizada por un circuito de control o simplemente de deshabilitación de la carga, en caso de sobre-corriente o cortocircuito.

Los circuitos sensores más usados ??son los que hacen uso de una resistencia conectada en serie con la carga, donde la tensión que aparece sobre la resistencia es proporcional a la corriente que circula por la carga.

Sin embargo, no basta con conectar el resistor sensor en serie con la carga de todos modos. Hay técnicas para hacer esto, pues la tensión sobre la resistencia necesita ser correctamente amplificada y entregar al circuito de control el monitoreo de una forma que pueda usar. Básicamente existen tres técnicas de sensoriar corriente en una carga usando resistores.

 

a) Lado de Bajo (Low side)

En esta técnica la resistencia se conecta entre la carga y la tierra del circuito, como muestra la figura 1.

 


 

 

 

Normalmente en este tipo de sensor, la corriente circula en un solo sentido, y la conmutación o control de la carga se hace del lado de la alimentación.

Esta técnica de sensorización presenta ventajas y desventajas. Las ventajas son:

• Baja tensión de entrada en el modo común del amplificador

• Tensión de salida referenciada en relación a la tierra

• Fuente de alimentación sencilla

Las desventajas son:

• La carga deja de tener conexión directa con la tierra

• La corriente causada por un corto entre la carga y la tierra no se detecta

• La carga a activada si hay un corto con la tierra y esto no se detecta.

 

b) Lado de arriba (High Side)

En esta configuración el resistor sensor queda del lado de la alimentación positiva de la carga, así como el amplificador usado en el sensor, como muestra la figura 2.

 


 

 

 

En este modo de sensorización, la corriente de carga normalmente es continua y su conmutación se realiza desde el lado inferior del circuito, desde el lado de la tierra, para ser más precisos.

En esta configuración también existen ventajas y desventajas. Las ventajas son:

 

• La carga está conectada a tierra

• La carga no se activa en caso de un corto accidental con la tierra.

• Si se produce un corto accidental con la tierra en la carga, se detecta.

 

Las desventajas:

• Las tensiones en modo común aplicadas al amplificador sensor son altas.

• Las tensiones de salida deben referirse al positivo de la alimentación.

 

c) Gama Total (High and low side)

En esta configuración, la corriente en la carga puede ser sensorizada independientemente de su sentido de circulación, siendo ideal para aplicaciones que hacen uso de puentes, como muestra la figura 3.

 


 

 

 

Observe que, independientemente del sentido de circulación de la corriente en la carga, dado por la acción de las llaves en el puente H, el circuito sensor proporcionará una señal de salida. Esta configuración tiene como principal ventaja la posibilidad de sensoriar la corriente en los dos sentidos con el amplificador actuando de los dos lados (alimentación y tierra).

Como los demás, esta configuración tiene sus ventajas y desventajas.

 

Las ventajas son:

• Sólo se utiliza un resistor de sensorización incluso la corriente circulando en ambos sentidos.

• Conveniente para las cargas con características inductivas

 

Las desventajas:

• Amplia gama de tensiones de entrada en modo común

• El rechazo en modo común limita la precisión en las aplicaciones PWM

En función de lo que hemos visto, podemos dar algunos ejemplos de circuitos prácticos obtenidos de documentación de Linear Technology (www.linear.com).

 

Circuito 1 - Lado de Bajo (Low Side)

El circuito presentado en la figura 4 sensorial la corriente de una carga alimentada por una tensión de 5 V, sin embargo, los componentes pueden ser alterados para el monitoreo de corrientes con tensiones más elevadas.

La resistencia de 0,2 ohms proporciona 0,2 V / A de corres, de modo que en la salida tenemos una tensión de 0,2V / A llegando a 4,3 V de excursión máxima. Los transistores equivalentes al 2N3904 se pueden utilizar como BC547.

 


 

 

 

Circuito 2 - Lado de arriba (High Side)

Un circuito típico para esta topología se muestra en la figura 5.

 


 

 

 

Este circuito hace uso de un amplificador operacional de Linear y necesita una fuente de alimentación simétrica. El resistor de 3 mOhms proporciona una tensión de 3 mV por amperio, con una tensión de salida máxima de 5 V, ya que el amplificador es rail-to-rail.

 

Circuito 3 - bidireccional

En la figura 5 hay un circuito bidireccional con una corriente máxima de 1 a, proporcionando una tensión de salida de 0 a 5 V siendo 2,5 V a la que corresponde a 0 A, como se indica en el diagrama.

 


 

 

 

Esta configuración hace uso de tres amplificadores operativos, observándose que la fuente de alimentación no necesita ser simétrica. Los amplificadores usados son de Linear.

 

Conclusión:

Las configuraciones mostradas sirven de ejemplo para las topologías que pueden ser adoptadas en el sensor de corriente, cada cual con sus ventajas y desventajas. El diseñador debe analizar los pros y los contras de cada una de estas configuraciones para elegir la que mejor se adapte a su aplicación.

 

 

18.9MBMemory Usage40.31msRequest 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" => 1742037253 "last" => 1742037253...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.73KB) (295μs)
  • afterInitialise (1.14MB) (3.72ms)
  • afterRoute (179.16KB) (880μs)
  • beforeRenderComponent com_content (100.65KB) (435μs)
  • Before Access::preloadComponents (all components) (33.5KB) (200μs)
  • After Access::preloadComponents (all components) (107.06KB) (552μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (9μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.75ms)
  • Before Access::getAssetRules (id:21496 name:com_content.article.25285) (514.65KB) (826μs)
  • After Access::getAssetRules (id:21496 name:com_content.article.25285) (7.38KB) (34μs)
  • afterRenderComponent com_content (392.55KB) (6.6ms)
  • afterDispatch (2.25KB) (43μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.55ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (296μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (86μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.04ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (545μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (64μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (186μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (47μs)
  • afterRender (253.73KB) (3.04ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (49.01%)
    19.75ms
    1 x afterRenderComponent com_content (392.55KB) (16.38%)
    6.60ms
    1 x afterInitialise (1.14MB) (9.23%)
    3.72ms
    1 x afterRender (253.73KB) (7.54%)
    3.04ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.85%)
    1.55ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.59%)
    1.04ms
    1 x afterRoute (179.16KB) (2.18%)
    880μs
    1 x Before Access::getAssetRules (id:21496 name:com_content.article.25285) (514.65KB) (2.05%)
    826μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.37%)
    552μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.35%)
    545μs
    1 x beforeRenderComponent com_content (100.65KB) (1.08%)
    435μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.73%)
    296μs
    1 x afterLoad (85.73KB) (0.73%)
    295μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.5%)
    200μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.46%)
    186μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.21%)
    86μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.16%)
    64μ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:21496 name:com_content.article.25285) (7.38KB) (0.08%)
    34μ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.02ms1.57MB
  • SELECT @@SESSION.sql_mode;33μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 177μ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)175μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`50μ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`229μ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)405μ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.51ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`366μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '25285'224μ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)182μ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`193μ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)239μ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`173μ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 ASC392μ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`202μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1138μ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)87μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context62μ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)152μ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` = 164μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy