Este es uno de los muchos artículos que escribimos enseñando a montar aparatos electrónicos. Él es primero de una serie que formó un libro publicado en los años 80. En realidad tenemos varios otros artículos en el sitio, como parte de nuestros cursos y libros. Este, específicamente es de un libro algo antiguo, pero es actual e ideal para los que se están iniciando en la construcción de circuitos electrónicos, profesores, estudiantes y aficionados. En él enseñamos cómo hacer montajes dando las principales técnicas que pueden ser utilizadas de modo simple con componentes fáciles de obtener y sin la necesidad de herramientas o laboratorios especiales.

(*) Este artículo forma parte del libro "Cómo hacer montajes electrónicos" que se puede descargar gratuitamente en nuestro sitio.

Obtener componentes para un proyecto, dependiendo de su complejidad, no es difícil en la mayoría de los casos; interpretar un diagrama y saber cómo estos componentes deben ser interconectados, tampoco es un gran problema. La dificultad mayor aparece para la mayoría de los montadores a la hora de colocar esos componentes dentro de una caja, en un chasis o fijarlos para que todo funcione perfectamente.

En nuestros artículos y libros hemos abordado algunas técnicas de montaje que son las más accesibles a nuestros lectores, principalmente puente de terminales y placa de circuito impreso. Si bien son técnicas, en algunos casos primitivas y no recomendadas para un montaje definitivo, atienden a las necesidades de hacer una prueba o tener un prototipo.

Sin embargo, no son todos quienes dominan esas técnicas que nos han llevado a preparar ese libro, de gran utilidad principalmente para los que son lectores nuevos y pretenden entrar ahora del mundo fascinante de los montajes electrónicos y mecatrónicos.

 

 

Las Técnicas

 

Cuando hablamos de técnicas de montaje nos referimos a los métodos de fijación e interconexión de los componentes de un circuito. Para que un aparato funcione, un determinado número de componentes debe ser interconectado de cierta forma, dada por el diagrama, como sugiere la figura 1.

 

Figura 1 - Un diagrama electrónico, donde los componentes están representados por símbolos y entre ellos existen enlaces
Figura 1 - Un diagrama electrónico, donde los componentes están representados por símbolos y entre ellos existen enlaces

 

 

Sin embargo, estos componentes no pueden quedar "en el aire", simplemente acompañando el diagrama, como muestra la figura 2.

 

Figura 2 - Circuito y componentes interconectados directamente
Figura 2 - Circuito y componentes interconectados directamente

 

 

Los componentes son frágiles y un movimiento más brusco puede llevar a su caída. Los componentes deben ser soldados en alguna especie de soporte y luego interconectados a través de hilos u otros métodos. El condensador en la figura 2, por ejemplo, está atrapado sólo por las finas terminales que pueden romperse o doblar fácilmente.

El propio soporte debe proveer para la fijación en una caja facilitando así el transporte y uso del aparato.

En los aparatos antiguos el medio de sustentación de las piezas era el chasis de metal, como muestra la figura 3, pero actualmente, esa técnica ya no es usada, existiendo alternativas mucho mejores.

 

 


| Clique na imagem para ampliar |

 

 

Chasis de metal usado para los aparatos valvulados y el montaje listo.
Chasis de metal usado para los aparatos valvulados y el montaje listo. | Clique na imagem para ampliar |

 

 

En el chasis se fijaban los componentes más grandes y más pesados ​​como transformadores, válvulas, inductores y condensadores electrolíticos.

En la parte inferior quedaban los componentes menores como resistores, condensadores y también las interconexiones. Vean los lectores que los modos de fijación de los componentes o soportes deben, además de las funciones mecánicas, también deben ejercer funciones eléctricas.

En el caso de un chasis metálico, por ejemplo, también sirve de blindaje evitando la influencia del circuito interno en los circuitos externos con la irradiación de señales o evitando la captación de zumbidos.

Los medios de sustentación de los componentes e interconexión también necesitan seguir ciertas reglas de disposición. No basta con fijar a voluntad los elementos de un circuito e interconectarlos según un diagrama para que tengamos la garantía de funcionamiento de un aparato.

Una conexión muy larga entre dos componentes significa una inductancia parásita y dos hilos cercanos pueden presentar capacitancias parásitas que afectan todos los circuitos, principalmente en las altas frecuencias, como sugiere la figura 4.

 

Hilos largos, curvas, hilos paralelos y trenzados funcionan como verdaderos condensadores e inductores (C y L).
Hilos largos, curvas, hilos paralelos y trenzados funcionan como verdaderos condensadores e inductores (C y L).

 

Las técnicas de montaje requieren planificación.

 

 

Puente de Terminales

 

Esta es una técnica de montaje muy simple, que deriva directamente de los montajes con válvulas, donde los componentes menores bajo el chasis eran soldados en puentes de terminales.

Actualmente este tipo de montaje se utiliza sólo en los casos extremos en que se está aprendiendo, no se tiene muchos recursos o si desea hacer un montaje experimental simple. Los puentes de terminales ya no se pueden obtener fácilmente en el comercio especializado, si bien podemos aprovecharlos de aparatos antiguos desmontando.

Los puentes de terminales consisten en barras de fenolita u otro material aislante que contiene pequeños contactos eléctricos metálicos donde los componentes pueden ser soldados, como muestra la figura 5.

 

 Figura 5 - ejemplo de un montaje en puente de terminales
 Figura 5 - ejemplo de un montaje en puente de terminales

 

 

Algunos terminales poseen prolongaciones que posibilitan su fijación a través de tornillos sobre una base o chasis. En los aparatos valvulados estos terminales más largos eran justamente dejados como tierras por su conexión directa al chasis.

Como los puentes de terminales se pueden encontrar listos en diversos tamaños y longitudes, consisten en una alternativa para los montajes experimentales simples y didácticos, pues no requieren mucho trabajo.

Basta cortar el puente de terminales en el tamaño deseado (si es necesario) y planificar la disposición de los componentes según el circuito que se tiene en las manos, como sugiere la figura 6.

 

Figura 6 - Circuito y montaje en puente correspondiente.
Figura 6 - Circuito y montaje en puente correspondiente.

 

 

Los componentes deben entonces tener sus terminales cortados y doblados para ser entonces soldados en los puentes. Las interconexiones se realizan con trozos de hilo encapado rígido o flexible.

El puente puede ser fijado sobre una base de material aislante o caja donde también quedan los componentes mayores como transformadores, potenciómetros, soporte de pilas, etc. Por supuesto, esta técnica tiene ventajas y desventajas:

 

 

Ventajas:

 

a) El puente se adquirirá listo no necesitando material adicional para su utilización, como ocurre con una placa de circuito impreso que necesita ser "fabricada". Actualmente ya no es muy fácil encontrar puentes de terminales para montaje, pero existen tiendas que aún las poseen.

b) Un solo tipo de puente sirve para cualquier montaje, pues podemos planificar la disposición de los componentes a voluntad, así como su interconexión.

c) La utilización para proyectos experimentales es muy simple ya que podemos soldar y desoldar los componentes a voluntad sin peligro de daño o romper lo que es más difícil en el caso de las placas de circuito impreso.

d) El acceso a todos los puntos del circuito para medida o inyección de señales, o verificación de formas de onda con un osciloscopio es muy simple.

 

 

Desventajas:

 

a) El montaje es voluminoso ocupando mucho espacio, más que las que utilizan cajas más grandes. Esto significa que los aparatos se vuelven grandes.

b) La apariencia del montaje tampoco es de las mejores ya que tenemos muchos hilos y terminales largos que forman un enmarañado de aspecto desagradable.

c) El montaje es más sensible a problemas de inductancia y capacitancia parásitos ya que los terminales de los componentes y las interconexiones son largas. Los circuitos de altas frecuencias y audio son los más afectados, pudiendo presentar problemas de funcionamiento.

d) Determinados componentes como circuitos integrados comunes no se pueden utilizar fácilmente en montajes en puentes. Mientras que los transistores pueden ser adaptados para uso en puentes, como muestra la figura 7, es mucho más difícil hacer esto con circuitos integrados. Se puede intentar la alternativa del uso de sockets con conexiones con cables, pero es una operación de trabajo, crítica y delicada.

 

Figura 7 - Preparación de un transistor o CI para montaje en puente de terminales.
Figura 7 - Preparación de un transistor o CI para montaje en puente de terminales. | Clique na imagem para ampliar |

 

 

 

Cómo Montar

 

Para utilizar el puente de terminales podemos contar con un diseño listo de la disposición de los componentes o podemos rascar ese dibujo a partir de un diagrama.

Para ello, suponiendo el circuito transistorizado de la figura 8, iniciamos, soldando los transistores en el puente de terminales.

 


 

 

 

Cada transistor debe entonces ser fijado en el puente, distribuyendo los terminales de modo que tengamos también terminales libres para los componentes de polarización y acoplamiento.

En un circuito como el de la figura 8 podemos dejar dos terminales para el lado del colector y si no hay componentes conectados al emisor, uno solo del lado de ese componente o dos, si existen componentes, como se muestra en la figura 9. También soldamos el LED indicador, observando su polaridad (lado plano).

 

Figura 9 - Transistores y LED soldados en el puente.
Figura 9 - Transistores y LED soldados en el puente.

 

 

El siguiente paso consiste en hacer las interconexiones de los componentes utilizando hilos y también conectar el diodo sensor con hilos de colores diferentes, pues su polaridad debe ser observada. como se muestra en la figura 10.

 


| Clique na imagem para ampliar |

 

El siguiente paso consiste en colocar los resistores y si existen los componentes de acoplamiento y desacoplamiento. Entonces, quedamos con el montaje como se muestra en la figura 11.

 


| Clique na imagem para ampliar |

 

 

El paso final se conectará a la fuente de alimentación (soporte de pilas y interruptor general. La figura 12 muestra el montaje listo.

 

Figura 12 - Montaje listo.
Figura 12 - Montaje listo. | Clique na imagem para ampliar |

 

 

En el caso de que se produzca una inversión, el aparato no funcionará.

Con el tiempo, configuraciones más complejas pueden tener disposiciones mejores, por ejemplo, aprovechando puntos comunes de tierra para las dos etapas, o incluso invirtiendo posiciones que serían normales para transistores.

En el caso de los transistores de salida, los transistores de salida se quedan con los emisores del mismo lado, para facilitar su conexión a un punto común, según el diagrama, ahorrándose así una terminal del puente.

   

 

Alternativa para Puentes de Terminales

 

En la falta de los puentes de terminales aislados, como la usada en el diseño de la figura 13 consiste en utilizar las llamadas puentes de tornillos que se pueden encontrar en las casas de materiales eléctricos.

 

Figura 13 - Montaje en puente de terminales aislados.
Figura 13 - Montaje en puente de terminales aislados. | Clique na imagem para ampliar |

 

 

Este puente o barra de terminales con tornillos, del tipo encontrado en almacenes de materiales eléctricos y electrónicos permite la fijación de los componentes sin soldadura, ya que sus terminales son apretados a través de tornillos, como muestra la figura 14.

 

Figura 14 - Utilizando un puente de terminales con tornillos en un montaje experimental.
Figura 14 - Utilizando un puente de terminales con tornillos en un montaje experimental.

 

 

En las dos figuras mostramos el mismo circuito experimental montado con las dos técnicas. Evidentemente, la técnica de la barra de terminales con tornillos no hace uso de soldadura y, por lo tanto, no "gasta" los componentes, que se pueden utilizar posteriormente como nuevos. Los únicos cuidados que se deben tomar con es técnica de montaje es evitar que los terminales de los componentes se apoyan entre sí en puntos indebidos.

 

 

 

 

18.95MBMemory Usage50.58msRequest 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" => 1743757745 "last" => 1743757745...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.73KB) (1.2ms)
  • afterInitialise (1.14MB) (5.7ms)
  • afterRoute (179.16KB) (1.41ms)
  • beforeRenderComponent com_content (100.65KB) (579μs)
  • Before Access::preloadComponents (all components) (33.45KB) (338μs)
  • After Access::preloadComponents (all components) (107.06KB) (384μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (10μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (26.7ms)
  • Before Access::getAssetRules (id:27417 name:com_content.article.31050) (514.65KB) (719μs)
  • After Access::getAssetRules (id:27417 name:com_content.article.31050) (7.38KB) (43μs)
  • afterRenderComponent com_content (423.02KB) (6.34ms)
  • afterDispatch (2.25KB) (49μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.54ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (294μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (90μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (1.06ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (544μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (60μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (187μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (53μs)
  • afterRender (282.05KB) (3.16ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (52.79%)
    26.70ms
    1 x afterRenderComponent com_content (423.02KB) (12.53%)
    6.34ms
    1 x afterInitialise (1.14MB) (11.27%)
    5.70ms
    1 x afterRender (282.05KB) (6.25%)
    3.16ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.05%)
    1.54ms
    1 x afterRoute (179.16KB) (2.79%)
    1.41ms
    1 x afterLoad (85.73KB) (2.37%)
    1.20ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (2.1%)
    1.06ms
    1 x Before Access::getAssetRules (id:27417 name:com_content.article.31050) (514.65KB) (1.42%)
    719μs
    1 x beforeRenderComponent com_content (100.65KB) (1.14%)
    579μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.08%)
    544μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.76%)
    384μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.67%)
    338μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.58%)
    294μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.37%)
    187μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.18%)
    90μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.12%)
    60μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.1%)
    53μs
    1 x afterDispatch (2.25KB) (0.1%)
    49μs
    1 x After Access::getAssetRules (id:27417 name:com_content.article.31050) (7.38KB) (0.08%)
    43μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    10μs
21 statements were executed, 5 of which were duplicates, 16 unique17.53ms1.61MB
  • SELECT @@SESSION.sql_mode;33μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 170μ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)191μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`45μ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` = :guest66μ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`202μ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)230μ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` = 014.09ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`337μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31050'214μ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)163μs46.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`268μ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)277μ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`207μ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 ASC445μ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`200μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1143μ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)85μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context54μ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)147μs46.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