Los sensores consisten en el principal medio que los circuitos electrónicos usan para saber lo que está ocurriendo en el mundo que los rodea. Los sensores son los elementos de interfaz que comunican a los circuitos lo que ocurre en el mundo, funcionando como nuestros ojos, oídos y tacto. Sin embargo, para que la mayoría de los sensores funcione, un circuito apropiado debe amplificar sus señales antes de que puedan ser usadas. En este artículo damos una selección de esos circuitos, basados en amplificadores que tratan de las señales de los sensores que necesitan ese tipo de tratamiento.

La mayoría de los sensores usados en los circuitos electrónicos son transductores que a partir de alguna forma de energía (calor, presión, fuerza mecánica) proporcionan señales eléctricas. Otros consisten en dispositivos que producen cambios de una gran eléctrica (tensión o corriente) en función de una magnitud física externa.

De todos modos, muchos de estos sensores proporcionan señales muy débiles que requieren una amplificación especial. En algunos casos, también es necesario evitar que los ruidos afecten la señal, superponiéndose en su salida y con ello llevando a falsos resultados.

Para este propósito, los amplificadores usados deben presentar características apropiadas, exigiendo cuidados especiales del proyectista en su elección. De modo justamente a facilitar la elección de esos circuitos, damos en ese artículo una selección de amplificadores de diversos fabricantes, sugeridos en sus aplicaciones de notas y datasheets para aplicaciones que involucren sensores.

 

OPA333 - Texas Instruments

Este amplificador es que tiene menor desplazamiento y menor consumo de todos los actualmente disponibles, siendo indicados para aplicaciones con pares termoeléctricos, como muestra el circuito de la figura 1.

 


 

 

 

Este amplificador tiene sólo 10 uv de tensión de offset y un desplazamiento de 0,05 uV / oC para fuentes de alimentación de 1,8 V a 5,5 V. Está especialmente desarrollado para aplicaciones que requieran precisión, como un amplificador para termopar , como se muestra en el ejemplo.

La corriente de alimentación es de apenas 25 uA (max) y el rango de entradas en modo común va hasta 100 mV además de las tensiones de alimentación y la salida viaja hasta 40 mV de la tensión de alimentación.

Además de las aplicaciones con sensores termoeléctricos, el OPA333 también está indicado para ser utilizado con sensores de balanzas electrónicas, sensores de gas y humo, además de adquisición de datos que involucra señales débiles.

 

OPA379 - Texas Instruments

En la figura 2 tenemos una aplicación de este amplificador operacional con un sensor de gas.

 


 

 

Este amplificador requiere una corriente de sólo 10 uA (max) con alimentación de 1,8 V y presenta un nivel de ruido extremadamente bajo. Además, su banda pasante es de 90 kHz y la carcasa es SC-70. Otras características incluyen el rango de alimentación de 1,8 V a 5,5 V, salida rail-to-rail, bajo ruido (80 mV / sqrHz), y baja corriente de entrada, del orden de 50 pA.

Otras aplicaciones para este amplificador incluyen equipos alimentados por batería, uso con foto-diodos como sensores, y aplicaciones médicas.

 

MCP601-2-3-4 - Microchip

Los cuatro amplificadores operacionales de Microchip (www.microchip.com) dados en el título se indican para aplicaciones entre 2,7 V y 5,5 V, utilizando sensores como fotodiodos, así como en la adquisición de datos, filtros analógicos e interfaz de sensores de imagen uso general.

En el circuito de la figura 3 damos un circuito en el que estos amplificadores operacionales se utilizan con fotodiodos, en el caso en el modo fotovoltaico.

 

 


 

 

 

En esta modalidad de operación, el amplificador amplifica la tensión que se genera en la unión del diodo cuando recibe luz. R2 determina la ganancia y C2 la banda pasante, filtrando eventuales ruidos de frecuencias más altas.

En la figura 4 tenemos una aplicación en la que el sensor opera en el modo foto-conductivo, es decir, se amplifica la variación de la resistencia en el sentido inverso que ocurre cuando la luz incide en el foto-diodo. En este caso, una tensión de polarización externa es necesaria, debiendo ser menor que 0 V en relación a la línea negativa de la alimentación del amplificador operacional. Las funciones de R2 y C2 son las mismas del circuito anterior.

 


 

 

 

LMV951 - National Semiconductor

El amplificador operativo LMV951 de National Semiconductor (www.national.com) puede funcionar con tensiones de alimentación a partir de 1 V, siendo indicado para aplicaciones alimentadas por batería. En el ejemplo dado en la figura 5, el amplificador se utiliza para excitar una interfaz de sensor usando un cable, con la alimentación que se suministra a través del propio cable.

 


 

 

Este amplificador tiene una banda pasante de 2,7 MHz y puede suministrar corriente hasta 45 mA en su salida o drenar hasta 35 mA, con una salida rail-to-rail. La configuración de salida CMOS le permite alcanzar estas características. En la figura 6 tenemos su diagrama interno, para que el lector tenga una idea de su modo de funcionamiento.

 


 

 

 

OP292 - Analog Devices

El doble amplificador operacional OP292 de Analog Devices (www.analog.com) tiene un rango de tensiones de funcionamiento de 4,5 V a 33 V y una banda pasante de 4 MHz, siendo indicado para aplicaciones con sensores, instrumentación alimentada por batería, control de servos, etc.

Hemos elegido dos aplicaciones, basándose en el propio datasheet del componente. La primera, mostrada en la figura 7, consiste en un amplificador para termistor usado, por lo tanto como sensor de temperatura.

 


| Haga click en la imagen para ampliar |

 

En esta aplicación se utilizan resistores de precisión (0,1%), y el circuito puede medir temperaturas en el rango de 0o C a 70º C con una precisión del 0,3%. El termistor es del tipo Alpha 13A1002-C3.

En el datasheet del OP292 se pueden obtener detalles de los procedimientos para la calibración de ese circuito.

El segundo circuito, mostrado en la figura 8, consiste en un amplificador para transductor ultrasónico, basado en el mismo integrado, en su versión cuádruple (OP492), pero nada impide que se utilicen dos OP292.

 

 


 

 

En esta aplicación se utiliza un transductor piezoeléctrico ultrasónico, y se emplean tres etapas de amplificación, cuyos aumentos son dados por los resistores de realimentación, con un circuito de cebado de picos con los diodos, los cuales impiden la saturación del amplificador con señales intensas. Esta característica hace que la intensidad de la señal de salida sea constante en una buena banda de amplitud de la señal de entrada.

Este circuito también incluye características de filtrado que hacen que sea optimizado para operar con señales de 40 kHz, de transductores comunes de bajo costo.

 

MAX4477- Maxim

Con el amplificador operacional 4477 mostramos un detector de fotones gama, es decir de rayos gamma. Al incidir en el diodo PIN, usado como sensor, liberan portadores de carga que forman la corriente a ser amplificada por el circuito mostrado en la figura 9.

 


 

 

En este circuito tenemos también un comparador de tensión MAX987. En la salida de este comparador tenemos pulsos positivos cuando se detecta un fotón gamma. Vea que la alimentación se realiza con tensiones de 5 V y de 12 V.

En el montaje de este circuito especial cuidado debe ser tomado con la primera etapa de amplificación, dado el nivel bajísimo de las señales que deben ser detectadas.

 

MAX430 - Maxim

El siguiente circuito también es sugerido por Maxim (www.maxim-ic.com), consistente en un preamplificador para termopar con compensación de temperatura. Este circuito se muestra en la figura 10.

 

 


 

 

 

TS461 / 971 - ST

ST Microelectronics (http://us.st.com) describe en su Application Note AN1534 un preamplificador en el que el sensor utilizado es un micrófono de electreto. Este circuito se muestra en la figura 11.

 


 

 

 

El amplificador utilizado se caracteriza por el bajo nivel de ruido, además de una distorsión muy baja (THD de 0,003% a 1 kHz).

 

EL8173 - Intersil

Terminamos nuestra selección de circuitos para sensores con un amplificador para sensor resistivo (RTD) usando el EL8173, un amplificador que en esa configuración presenta ganancia11 para excitar un convertidor AD siga-delta del tipo HI7190 de 24 bits. El circuito se muestra en la figura 12.

 

 


 

 

Normalmente, los RTD se especifican para la resistencia que presentan a la temperatura ambiente (25º C) oa otra temperatura, indicada por el fabricante. Por lo tanto, para el sensor utilizado en el circuito, la resistencia es 100 ohms en 0o C. En las aplicaciones comunes, los RTDs deben ser recorridos por bajas corrientes para que no ocurra una elevación de la temperatura debido al efecto de esa misma corriente, lo que falsearía los resultados de una medida.

Normalmente, se utilizan corrientes en el rango de 1 a 5 mA en los circuitos prácticos, garantizando así la no influencia de la corriente del sensor en la medida que se realiza, como ocurre en este caso.

En las aplicaciones se debe tener cuidado con el modo de conexión al circuito. Como los sensores normalmente se alejan del circuito, su operación es en el modo diferencial de precaución para que los ruidos no se capte. El amplificador de Intersil utilizado en esta aplicación es justamente el indicado para la aplicación, por sus características de alto rechazo en modo común y bajo ruido.

 

Conclusión

Todos los fabricantes de amplificadores operacionales ofrecen una amplia gama de documentos que describen el uso de sus productos con sensores. Muchos de los documentos son específicos, aprovechando las características de los amplificadores de operar mejor en determinadas aplicaciones.

Lo que hemos visto en este artículo es una pequeña selección de circuitos obtenidos al recorrer esos documentos lo que, sin embargo, sirve de orientación para los lectores que tanto pueden aprovechar los propios circuitos, como partir de su configuración para proyectar nuevos circuitos con componentes equivalentes.

 

 

18.91MBMemory Usage39.47msRequest 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
array:1 [ "c2123392c06423339225f3431360b7e6" => "tg7c6ug5fcpevs6ln3220a9jij" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 9 "timer" => array:3 [ "start" => 1741990015 "last" => 1741990022...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.86KB) (311μs)
  • afterInitialise (1.14MB) (3.51ms)
  • afterRoute (179.16KB) (836μs)
  • beforeRenderComponent com_content (100.65KB) (424μs)
  • Before Access::preloadComponents (all components) (33.5KB) (194μs)
  • After Access::preloadComponents (all components) (107.06KB) (354μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.28ms)
  • Before Access::getAssetRules (id:18944 name:com_content.article.22767) (514.65KB) (816μs)
  • After Access::getAssetRules (id:18944 name:com_content.article.22767) (7.38KB) (39μs)
  • afterRenderComponent com_content (416.68KB) (6.09ms)
  • afterDispatch (2.25KB) (55μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (1.65ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (352μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (114μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.15ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (566μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (82μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (190μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (50μs)
  • afterRender (273.73KB) (3.28ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (48.84%)
    19.28ms
    1 x afterRenderComponent com_content (416.68KB) (15.43%)
    6.09ms
    1 x afterInitialise (1.14MB) (8.9%)
    3.51ms
    1 x afterRender (273.73KB) (8.31%)
    3.28ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.23KB) (4.18%)
    1.65ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.93%)
    1.15ms
    1 x afterRoute (179.16KB) (2.12%)
    836μs
    1 x Before Access::getAssetRules (id:18944 name:com_content.article.22767) (514.65KB) (2.07%)
    816μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.43%)
    566μs
    1 x beforeRenderComponent com_content (100.65KB) (1.07%)
    424μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.9%)
    354μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.89%)
    352μs
    1 x afterLoad (85.86KB) (0.79%)
    311μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.49%)
    194μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.48%)
    190μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.29%)
    114μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.21%)
    82μs
    1 x afterDispatch (2.25KB) (0.14%)
    55μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.13%)
    50μs
    1 x After Access::getAssetRules (id:18944 name:com_content.article.22767) (7.38KB) (0.1%)
    39μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
21 statements were executed, 5 of which were duplicates, 16 unique10.68ms1.57MB
  • SELECT @@SESSION.sql_mode;30μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 156μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `incbmx_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id53μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`46μs608B/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` = :guest72μ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`215μ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)207μ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.66ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`327μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '22767'149μ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)156μ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`223μ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)236μ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`166μ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 ASC375μ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`168μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1156μ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` = :context65μ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)163μ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` = 163μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy