Los Osciladores Controlados por Tensión (VCO) se utilizan en una gran gama de aplicaciones prácticas, partiendo de los instrumentos musicales e ir hasta las placas de adquisición de datos, conversión analógica / digital de informaciones obtenidas de sensores.  El VCO que describimos se puede utilizar en muchas aplicaciones, teniendo en cuenta que su frecuencia de funcionamiento máxima es de 100 kHz y que la sensibilidad de entrada depende sólo de los transistores usados.

   VCOs o Voltage Controlled Osciladores son osciladores cuya frecuencia depende de la tensión de entrada. La variación de la tensión de entrada la frecuencia cambia dentro de una pista determinada por ciertos componentes del circuito.  Podemos utilizar un VCO para sintetizar las notas de un instrumento musical, bastando para ello usar tensiones apropiadas para controlar su circuito.

   Esta aplicación es especialmente interesante cuando se proyecta un generador de ritmos y cada nota puede ser programada por el ajuste de un potenciómetro o por la conversión de un valor digital en una tensión.

   Otra aplicación es en el envío de datos captados por un sensor resistivo a distancia, como muestra la figura 1.

 

 


| Clique na imagem para ampliar |

 

 

   La magnitud que varía linealmente en la salida del sensor, como por ejemplo una tensión o corriente sería alterada al ser enviada por un conductor, pues la resistencia de ese conductor introduciría un error.

   Sin embargo, convirtiendo esta magnitud en frecuencia, ya no será alterada por la resistencia del hilo u otras características que puedan ser perjudiciales a su transmisión como capacitancias e inductancia parásitos.  Así, basta con leer la frecuencia en la salida para poder llegar al valor de la magnitud medida sin cambios en el envío.

   El circuito funciona con tensiones de 9 a 15 volts y todos los componentes usados son comunes.

   

 

COMO FUNCIONA

 

   La frecuencia de un aspersor 555 depende tanto del condensador conectado a los pines 2 y 6 como de la resistencia entre el pino 7 y la alimentación positiva. Sin embargo, el 555 tiene una característica que no siempre es interesante en los circuitos como lo que proponemos en este artículo que es la de producir una señal cuyo ciclo activo no es el 50%.

   Así, si con una señal de control influir o en la carga del condensador o en la resistencia en serie, estaremos alterando el ciclo activo y consecuentemente la frecuencia. Para obtener un cambio tanto del tiempo de carga y de descarga del condensador, para cambiar la frecuencia con poco cambio en el ciclo activo, este circuito utiliza un puente de transistores conectados de modo diferencial.

   Así, mientras uno de los transistores controla el tiempo de carga del condensador, siendo conectado en serie con este componente como un resistor variable el otro controla la descarga del condensador.  Los transistores operan en conjunto a partir de la señal aplicada a su base.

   De esta forma, en el circuito propuesto, el condensador conectado entre los pinos 2 y 6 del circuito integrado determina la frecuencia central del circuito, es decir, la frecuencia en que operará sin la señal de entrada.

   La señal va a tener su frecuencia variada cuando una tensión que varía entre 0 y aproximadamente 1,0 volts se aplica en la entrada del circuito, pero este valor puede ser cambiado, bastando que los resistores del circuito tengan sus valores modificados. La señal producida es rectangular con una amplitud que corresponde a aproximadamente la tensión utilizada en la alimentación.

   El capacitor puede tener valores en el rango d 1 nF a 100 nF.

   

 

MONTAJE

 

   El circuito completo del VCO se muestra en la figura 2.

 


| Clique na imagem para ampliar |

 

 

   Como este tipo de circuito normalmente se utiliza como parte de un proyecto más complejo, no hay necesidad de dar a disposición de los componentes en una placa de circuito impreso. Sin embargo, como el lector puede utilizar esta configuración en las experiencias será interesante sugerir una disposición de los componentes en la matriz de contactos.

   Esta disposición se muestra en la figura 3.

 


| Clique na imagem para ampliar |

 

 

   Los transistores son todos NPNe PNP de uso general y los resistores de 1/4 vatios o mayores. El capacitor C1 puede ser cerámico o de poliéster. Recuerde que la corriente máxima que puede ser drenada por la salida del 555 es del orden de 200 mA, pero mayor estabilidad se logra si se utiliza un buffer entre él y la carga a ser excitada si es de potencia elevada.

   La excitación de circuitos CMOS alimentados con la misma tensión es directa.

   

 

PRUEBA Y USO

 

   La prueba es simple, pues basta con conectar la unidad a la entrada de un amplificador y en la entrada de la unidad un potenciómetro como divisor de tensión, como muestra la figura 4, si el circuito opera en la banda de audio.

 


| Clique na imagem para ampliar |

 

 

   Actuando sobre el potenciómetro el circuito debe producir señales que varían en frecuencia.

   Si el lector desea tener una calibración perfecta del circuito en una aplicación más crítica puede utilizar un osciloscopio o un frecuencímetro en la salida.

   

 

LISTA DE MATERIAL

 

    Semiconductores:

    CI-1 - 555 - circuito integrado - temporizador

    Q1, Q2 - BC558 o equivalente - transistores PNP de uso general

    Q3, Q4 - BC548 o equivalente - transistores NPN de uso general

    D1 - 1N4148 o equivalente - diodo de uso general

    Resistores: (1/4 W, 5%)

    R1, R2, R3, R5 - 1 k ohms

    R4 - 470 ohms

    R5 - 330 ohms

    Capacitores:

    C1 - 100 nF - cerámico o poliéster - ver el texto

    Varios:

    Matriz de contacto o placa de circuito impreso, fuente de alimentación, hilos, etc.

 

 

18.924MBMemory Usage42.44msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.20
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:51 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1750215476 "last" => 1750215476...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.23KB) (189μs)
  • afterInitialise (1.14MB) (3.15ms)
  • afterRoute (179.16KB) (818μs)
  • beforeRenderComponent com_content (100.7KB) (384μs)
  • Before Access::preloadComponents (all components) (33.45KB) (168μs)
  • After Access::preloadComponents (all components) (107.06KB) (373μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (20.5ms)
  • Before Access::getAssetRules (id:27566 name:com_content.article.31199) (514.65KB) (892μs)
  • After Access::getAssetRules (id:27566 name:com_content.article.31199) (7.38KB) (63μs)
  • afterRenderComponent com_content (389.88KB) (7.48ms)
  • afterDispatch (2.25KB) (67μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (1.81ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (386μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (95μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (1.29ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (593μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (82μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (194μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (55μs)
  • afterRender (253.25KB) (3.72ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (48.31%)
    20.50ms
    1 x afterRenderComponent com_content (389.88KB) (17.62%)
    7.48ms
    1 x afterRender (253.25KB) (8.76%)
    3.72ms
    1 x afterInitialise (1.14MB) (7.43%)
    3.15ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.53KB) (4.26%)
    1.81ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (3.05%)
    1.29ms
    1 x Before Access::getAssetRules (id:27566 name:com_content.article.31199) (514.65KB) (2.1%)
    892μs
    1 x afterRoute (179.16KB) (1.93%)
    818μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.4%)
    593μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.91%)
    386μs
    1 x beforeRenderComponent com_content (100.7KB) (0.9%)
    384μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.88%)
    373μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.46%)
    194μs
    1 x afterLoad (85.23KB) (0.45%)
    189μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.4%)
    168μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.22%)
    95μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.19%)
    82μs
    1 x afterDispatch (2.25KB) (0.16%)
    67μs
    1 x After Access::getAssetRules (id:27566 name:com_content.article.31199) (7.38KB) (0.15%)
    63μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.13%)
    55μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
21 statements were executed, 5 of which were duplicates, 16 unique11.71ms1.58MB
  • SELECT @@SESSION.sql_mode;27μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 171μ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)152μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`51μ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` = :guest82μ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`233μ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)213μ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` = 08.07ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`447μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31199'219μ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)260μ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`204μ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)248μs3.98KBParams/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`175μ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 ASC407μ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`176μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1174μ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)101μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context69μ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)235μ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` = 197μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy