Decenas de proyectos interesantes pueden realizarse a partir de un transistor unijunctura. Es tan amplio el campo de los circuitos que utilizan como base un oscilador de relajación que no seria posible describir todas sus aplicaciones.

Los osciladores de relajación, así como todos los circuitos cuyas oscilaciones estén determinadas por la carga y descarga de un capacitor, son ampliamente usados en electrónica, ya sea en circuitos de audio, temporizadores, alarmas generadoras de pulsos, etc.

Uno de los más simples osciladores de relajación que se pueda concebir, utiliza una lámpara de neón, un resistor y un capacitor de temporización.

En el circuito de la figura 1, cuando la tensión del capacitor llega al valor de la tensión de ruptura de la lámpara; ésta entra en conducción y el capacitor se descarga a través del nuevo camino que le brinda la lámpara al cerrar el circuito (circuito cerrado).

 

Figura 1
Figura 1

 

Al caer la tensión del capacitor por debajo de la tensión de mantenimiento de la lámpara, el neón interrumpe el paso de corriente (circuito abierto) y cesa la descarga.

Es así que, después del primer ciclo de trabajo, la tensión en el capacitor empieza a oscilar entre los valores correspondientes a las tensiones de mantenimiento y ruptura, siendo la forma de la onda en diete de sierra.

En algunos proyectos, el neón se torna inconveniente por el hecho de presentar una tensión de ruptura fija y muy alta (de 65 a 200 V). Con el empleo del transistor unijuntura se elimina ese problema porque la “tensión de ruptura" (punto de disparo) depende de dos resistores de polarización. (fig. 2)

 

Figura 2
Figura 2

 

EI principio fundamental de funcionamiento del oscilador unijuntura es el mismo que el de las lámparas de neón: un capacitor se carga mediante el resistor R hasta el punto en que el transistor conmuta, pasando del estado de no conducción al de máxima conducción.

En ese momento, el capacitor se descarga rápidamente por medio del emisor RB1, reiniciando enseguida un nuevo ciclo.

Otro punto en común que existe entre el neón y el transistor unijuntura es el hecho de que ambos presentan lo que llamamos resistencia negativa, es decir, que en cuanto cae la tensión, la corriente aumenta. La zona de resistencia negativa se produce después del disparo, según se observa en la fig. 3.

 

Figura 3
Figura 3

 

La frecuencia del oscilador unijuntura depende del tiempo que el capacitor tardará en cargarse hasta llegar a la tensión de disparo (que varía entre 0,4 y 0,7 de la tensión de alimentación).

Ese tiempo está dado por la relación T = 1/f sacamos en conclusión que f = 1/R.C, donde:

T = período (segundos resistencia (Ω)

C = capacidad (Farads)

F = frecuencia (Hertz)

Este oscilador de relajación puede operar en la banda de frecuencia entre 0,01 Hz hasta 10 KHz, por lo que sirve para numerosas aplicaciones prácticas.

Tenemos tres formas de onda disponibles (figura 2) y podemos asociar dos o más para producir una señal modulada, un generador de pulsos al azar, etc.

En la figura 4 damos una tabla con los símbolos, pinos y algunas características del transistor

2N2646 que será de gran utilidad en el desarrollo de proyectos o para efectuar los cálculos.

 

Figura 4
Figura 4

 

(Publicado originalmente en 1987)

 

18.953MBMemory Usage44.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" => 1741899043 "last" => 1741899043...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.67KB) (1.12ms)
  • afterInitialise (1.14MB) (5.28ms)
  • afterRoute (179.16KB) (1.33ms)
  • beforeRenderComponent com_content (100.65KB) (554μs)
  • Before Access::preloadComponents (all components) (33.49KB) (351μs)
  • After Access::preloadComponents (all components) (107.06KB) (354μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (18.96ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.18KB) (1.87ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (46μs)
  • afterRenderComponent com_content (415.85KB) (6.43ms)
  • afterDispatch (2.25KB) (63μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (1.79ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (447μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (93μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (1.32ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (632μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (89μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (194μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (50μs)
  • afterRender (296.73KB) (3.46ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (42.54%)
    18.96ms
    1 x afterRenderComponent com_content (415.85KB) (14.41%)
    6.43ms
    1 x afterInitialise (1.14MB) (11.85%)
    5.28ms
    1 x afterRender (296.73KB) (7.76%)
    3.46ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.18KB) (4.19%)
    1.87ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (4.01%)
    1.79ms
    1 x afterRoute (179.16KB) (2.97%)
    1.33ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (2.95%)
    1.32ms
    1 x afterLoad (85.67KB) (2.51%)
    1.12ms
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.42%)
    632μs
    1 x beforeRenderComponent com_content (100.65KB) (1.24%)
    554μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (1%)
    447μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.79%)
    354μs
    1 x Before Access::preloadComponents (all components) (33.49KB) (0.79%)
    351μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.43%)
    194μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.21%)
    93μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.2%)
    89μs
    1 x afterDispatch (2.25KB) (0.14%)
    63μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.11%)
    50μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.1%)
    46μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
23 statements were executed, 5 of which were duplicates, 18 unique11.12ms1.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 168μ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)149μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`44μ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`231μ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)208μ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.67ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`306μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.765'73μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`258μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '765'151μ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)165μ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`186μ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)222μ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`167μ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 ASC379μs6.06KBParams/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` = 1154μs656B/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)95μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context59μ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)165μ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` = 175μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content
  • warningassets - No asset found for com_content.article.765, falling back to com_content