Un Símbolo de KiCad es la abstracción lógica de un componente. No tiene tamaño físico (eso es la Huella / Footprint). Su único propósito es decirle al software cuántos pines tiene el componente y, lo más importante, qué tipo de electricidad maneja cada pin.
KiCad tiene un auditor interno. Si configuras un pin como "Salida de Potencia" (Power Output) y lo conectas por accidente a otra "Salida de Potencia", el ERC lanzará un error rojo masivo diciendo: "Cortocircuito detectado". Para que el ERC funcione, cuando creas tu símbolo, debes asignarle un Tipo Eléctrico a cada pin:
Tesis_Gasera.kicad_sym y guárdala en tu repositorio (Día 76).U, J (conector) o SEN.Ejercicio 1: El Símbolo KiCad define un "Contrato de Hardware" (Open-Collector = Obliga el uso de Pull-up o Optoaislador). Escribe la documentación en C (Doxygen) en tu módulo de metrología para que el programador junior entienda por qué el firmware debe configurarse en modo "Pull-up" o recibir el pulso aislado.
#include <stdint.h>
// ============================================================================
// MÓDULO: caudalimetro_hall.c
// ============================================================================
/**
* @brief Configura el pin del microcontrolador conectado al Sensor de Flujo.
*
* @note VÍNCULO CON KICAD (Símbolo CAUDAL_GAS_LP):
* El símbolo KiCad del caudalímetro especifica que el Pin 3 (PULSE_OUT) es
* de tipo 'Open Collector' (Colector Abierto). Esto significa que el sensor
* NUNCA emite 3.3V, solo aterriza la señal a 0V cuando pasa el imán.
*
* Por lo tanto, si el hardware NO tiene una resistencia Pull-up externa
* (o si no estamos usando el Optoaislador del Día 73), el firmware está
* OBLIGADO a encender el Pull-up interno del STM32. Si se configura
* como "Floating Input", la lectura será ruido puro.
*/
void caudalimetro_pin_init(void) {
// Simulación de Registros STM32 (Puerto A, Pin 0)
volatile uint32_t *GPIOA_MODER = (volatile uint32_t *)0x40020000;
volatile uint32_t *GPIOA_PUPDR = (volatile uint32_t *)0x4002000C;
// 1. Configurar Pin 0 como Entrada (00)
*GPIOA_MODER &= ~(3 << 0);
// 2. CUMPLIR EL CONTRATO DE KICAD (Open-Collector)
// Encender la resistencia Pull-up interna (01 en binario)
// El pin se mantendrá en 3.3V (HIGH) hasta que la turbina gire y lo baje a 0V.
*GPIOA_PUPDR &= ~(3 << 0); // Limpiar bits
*GPIOA_PUPDR |= (1 << 0); // Setear Pull-up (PU)
}
int main(void) {
// La documentación alinea las decisiones del hardware con el software
caudalimetro_pin_init();
while(1) {
// Lógica metrológica y Súper Bucle
}
return 0;
}
Objetivo del día: Modelado Lógico de Componentes Propietarios.
Diseñar un esquemático industrial usando genéricos "Conectores de 3 pines" para todo (para la pantalla, para las válvulas, para el caudalímetro) funciona para que las pistas conecten, pero destruye la trazabilidad. Si un ingeniero revisa tu diseño en 5 años, no sabrá qué se conecta en J4.
Al crear un Símbolo Personalizado para tu Caudalímetro en KiCad, llamado CAUDALIMETRO_HALL, con sus pines exactamente nombrados (VCC, GND, PULSE_OUT) y sus Tipos Eléctricos definidos, tu esquemático se vuelve un documento auto-explicativo. El motor ERC de KiCad se convierte en tu asistente personal, gritándote si olvidas ponerle tierra o si omites la resistencia Pull-up/Optoacoplador que un pin de Colector Abierto demanda. Tu diseño electrónico ahora está validado matemáticamente antes de tocar el cobre.
1. Al diseñar el símbolo del microcontrolador STM32, ¿qué tipo eléctrico (Electrical Type) se le debe asignar a sus pines GPIO (como el PA5 o PB0) si no sabemos si los usaremos como Entradas o como Salidas?
Respuesta: KiCad tiene un tipo eléctrico específico llamado Bidireccional (Bidirectional). Como los pines de un microcontrolador pueden cambiar de Entrada a Salida mediante código C, marcarlos como Bidireccionales le dice al ERC que es "legal" conectar ese pin tanto a la salida de un sensor como a la Base de un transistor. Si lo marcaras rígidamente como "Salida" y luego en el esquemático le conectas un sensor analógico, el ERC fallaría.
2. ¿Qué pasa si le asignas a la etiqueta VCC (+24V) el tipo "Power Output" (Salida de Potencia) en el símbolo del Caudalímetro?
Respuesta: Generarías un choque mortal en el ERC de KiCad. La fuente principal de tu placa de circuito impreso ya está designada como "Power Output" (porque emite energía). El Caudalímetro consume energía, por lo que su pin VCC debe ser obligatoriamente Power Input (Entrada de Energía). Si conectas una Power Output contra otra Power Output, KiCad lanzará un error de "Conflicto Eléctrico Severo", asumiendo que estás intentando cruzar dos fuentes de voltaje distintas.