Skip to the content
PCBKitNew board
2 layers258.2 × 141.2 mmTCC, the printed circuit board in 3D

Arquivos do TCC

Size
258.2 × 141.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
84
Nets
72
Pads
268
Tracks, vias
473, 18
Pours
10
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
24 Feb 2025
Updated
17 Aug 2025

Overview

TCC is an open-source printed circuit board by Marckkill, from the Marckkill/TCC repository on GitHub. It is a 2-layer board of 258.2 × 141.2 mm with 84 parts on 72 nets, routed with 473 tracks and 18 vias.

It is built around the ESP32-S3-DEVKITC-1-N8, FSBB30CH60B and HLK-10M05, with the HLK-10M15 and KBPC5010T among its other parts. Its parts include 28 capacitors, 23 resistors, 17 connectors, 2 ICs and 2 inductors. It belongs with the ESP32 boards of this library.

Main components

5

README

README.md

TCC - Sistema de Controle de Motor Trifásico com ESP32

Este repositório contém o projeto de TCC (Trabalho de Conclusão de Curso) que implementa um sistema de controle de motor trifásico utilizando ESP32 com modulação SPWM (Sinusoidal Pulse Width Modulation).

📋 Sobre o Projeto

O sistema desenvolvido é um inversor trifásico baseado no microcontrolador ESP32-S3, capaz de gerar sinais SPWM para acionamento de motores AC trifásicos. O projeto inclui monitoramento em tempo real de corrente e tensão, além de sistemas de proteção e segurança.

Características Principais

  • Controle SPWM: Modulação senoidal PWM trifásica com frequência configurável
  • Monitoramento em Tempo Real: Leitura contínua de tensão e corrente RMS
  • Sistema de Proteção: Detecção de sobrecorrente, sobretensão e falhas do sistema
  • Interface Serial: Controle e monitoramento via comandos seriais
  • Hardware Personalizado: PCB desenvolvida especificamente para o projeto

📁 Estrutura do Projeto

text
TCC/
├── 📄 Esquemáticos KiCad
│   ├── TCC.kicad_sch           # Esquemático principal
│   ├── filtro.kicad_sch        # Circuito de filtros
│   ├── fonte.kicad_sch         # Sistema de alimentação
│   ├── mcu.kicad_sch           # Microcontrolador ESP32
│   ├── sdf.kicad_sch           # Sistema de detecção de falhas
│   └── smp.kicad_sch           # Sistema de medição de potência
│
├── 🔧 Hardware
│   ├── TCC.kicad_pcb           # Layout da PCB
│   ├── TCC.kicad_pro           # Projeto KiCad
│   └── Componentes_Custom/     # Componentes personalizados
│       ├── ESP32/              # Footprint ESP32-S3
│       ├── FSBB30CH60/         # Módulo de potência
│       └── PJ320A/             # Conector de áudio
│
├── 💻 Firmware
│   └── Firmware.ino            # Código principal do ESP32
│
├── 📚 Documentação
│   ├── TCC.pdf                 # Documentação completa
│   ├── TCC-Fonte.pdf           # Esquemático da fonte
│   ├── TCC-MCU.pdf             # Esquemático do MCU

🔧 Hardware

Componentes Principais

ComponenteModelo/TipoFunção
MicrocontroladorESP32-S3Controle principal do sistema
Módulo de PotênciaFSBB30CH60CInversor trifásico de potência
Sensores de CorrenteSCT013 (6x)Monitoramento de corrente AC
Sensores de TensãoZMPT (3x)Monitoramento de tensão AC
ConectorPJ320AInterface de entrada de áudio

Especificações Técnicas

  • Tensão de Entrada: Barramento DC variável
  • Frequência de Saída: 50 Hz (configurável)
  • Frequência PWM: 10 kHz
  • Corrente Máxima: 5A por fase (com proteção)
  • Tempo Morto: 2μs entre chaves complementares
  • Taxa de Amostragem ADC: 20 kHz

Pinagem do ESP32-S3

Sinais PWM
text
Fase U: GPIO 18 (Alto), GPIO 35 (Baixo)
Fase V: GPIO 13 (Alto), GPIO 21 (Baixo)
Fase W: GPIO 14 (Alto), GPIO 17 (Baixo)
Sensores de Corrente (ADC1)
text
U_IN:  GPIO 1  (ADC1_CH0)    U_OUT: GPIO 2  (ADC1_CH1)
V_IN:  GPIO 3  (ADC1_CH2)    V_OUT: GPIO 4  (ADC1_CH3)
W_IN:  GPIO 5  (ADC1_CH4)    W_OUT: GPIO 6  (ADC1_CH5)
Sensores de Tensão (ADC1)
text
Tensão U: GPIO 7  (ADC1_CH6)
Tensão V: GPIO 8  (ADC1_CH7)
Tensão W: GPIO 9  (ADC1_CH8)
Vbus:     GPIO 10 (ADC1_CH9)
Segurança
text
VFO (Status): GPIO 36 (INPUT_PULLUP)

💻 Firmware

Funcionalidades Implementadas

🌊 Geração SPWM
  • Modulação senoidal PWM trifásica
  • Defasagem de 120° entre fases
  • Índice de modulação configurável (0.1 - 1.0)
  • Atualização a 1 kHz para suavidade do sinal
📊 Monitoramento em Tempo Real
  • ADC Contínuo com DMA: 20 kHz de amostragem
  • Cálculo RMS: Janela deslizante de 400 amostras (20ms)
  • Buffer Circular: Armazenamento eficiente de dados
  • Multitarefa: Processamento paralelo com FreeRTOS
🛡️ Sistema de Proteção
  • Sobrecorrente: Trip em >5A por fase
  • Sobretensão: Monitoramento do barramento DC
  • Status VFO: Verificação do módulo de potência
  • Parada de Emergência: Desabilitação imediata em falhas
📡 Interface Serial

Comandos disponíveis:

text
start              - Iniciar o inversor
stop               - Parar o inversor
status             - Mostrar status do sistema
sensors            - Mostrar leituras dos sensores
reset              - Limpar falhas do sistema
set_mod <valor>    - Definir índice de modulação (0.1-1.0)
help               - Mostrar ajuda

Principais Funções do Código

FunçãoDescrição
setup_mcpwm()Configuração do módulo MCPWM para SPWM
setup_adc_continuous()Inicialização do ADC contínuo com DMA
update_spwm()Atualização dos duty cycles senoidais
calculate_rms_from_buffer()Cálculo RMS das amostras
check_safety_conditions()Verificação das condições de segurança
emergency_stop()Parada de emergência do sistema

🚀 Como Usar

Pré-requisitos

Software
  • Arduino IDE 2.0+
  • KiCad 7.0+ (para visualizar esquemáticos)
  • Bibliotecas ESP32 (esp32 by Espressif Systems)
Hardware
  • ESP32-S3 Development Board
  • Módulo FSBB30CH60C
  • Sensores SCT013 e ZMPT
  • Fonte de alimentação adequada

Instalação e Configuração

  1. Clone o repositório:

    bash
    git clone https://github.com/usuario/TCC.git
    cd TCC
  2. Configure o Arduino IDE:

    • Instale o pacote ESP32
    • Selecione "ESP32S3 Dev Module"
    • Configure a porta serial correta
  3. Compile e envie o firmware:

    • Abra Firmware/Firmware.ino
    • Compile (Ctrl+R)
    • Envie para o ESP32 (Ctrl+U)

Operação do Sistema

  1. Inicialização:

    text
    Sistema inicializado - Pronto para operação
    Comandos: start, stop, status, sensors, reset, set_mod <0.1-1.0>
    AVISO: Verifique todos os sistemas de segurança antes de iniciar!
  2. Verificar sensores:

    text
    sensors
  3. Iniciar o inversor:

    text
    start
  4. Monitorar operação:

    text
    status

Exemplo de Uso

bash
# Monitor serial a 115200 baud
sensors          # Verificar leituras
set_mod 0.5      # Configurar índice de modulação para 50%
start            # Iniciar operação
status           # Verificar status
stop             # Parar operação

📊 Monitoramento

Dados Disponíveis

O sistema monitora continuamente:

  • Correntes RMS: 6 canais (entrada e saída por fase)
  • Tensões RMS: 3 fases + barramento DC
  • Status de Segurança: VFO, sobrecorrente, sobretensão
  • Parâmetros SPWM: Ângulo atual, índice de modulação

Exemplo de Saída do Monitor

text
=== LEITURAS DOS SENSORES ===
Correntes (A):
  U_IN: 2.34  U_OUT: 2.31
  V_IN: 2.35  V_OUT: 2.33
  W_IN: 2.36  W_OUT: 2.34
Tensões (V):
  U: 230.1  V: 229.8  W: 230.3
Tensão Vbus: 325.4 V
Status VFO: OK
Índice de Modulação: 0.800
=============================

🛡️ Segurança

Sistemas de Proteção Implementados

  1. Sobrecorrente: Monitoramento contínuo com trip em 5A
  2. Sobretensão: Proteção do barramento DC
  3. VFO: Monitoramento do status do módulo de potência
  4. Tempo Morto: Prevenção de curto-circuito entre chaves

⚠️ Avisos de Segurança

  • ALTA TENSÃO: Este projeto trabalha com tensões perigosas
  • Sempre desligue a alimentação antes de fazer conexões
  • Verifique todas as conexões antes de energizar
  • Use EPIs adequados durante testes
  • Tenha um sistema de parada de emergência sempre acessível

🔄 Desenvolvimento

Estrutura do Código

cpp
// Configurações principais
#define PWM_FREQUENCY 10000        // 10 kHz
#define MODULATION_FREQUENCY 50    // 50 Hz
#define ADC_SAMPLE_FREQ_HZ 20000   // 20 kHz
#define MAX_CURRENT_AMPS 5.0       // 5A máximo

// Loop principal
void loop() {
    update_spwm();              // Atualiza SPWM (1 kHz)
    update_sensors();           // Lê sensores (100 Hz)
    check_safety_conditions();  // Verifica segurança
    process_serial_commands();  // Processa comandos
}

Tecnologias Utilizadas

  • ESP-IDF: Framework nativo do ESP32
  • FreeRTOS: Sistema operacional em tempo real
  • MCPWM: Módulo PWM dedicado do ESP32
  • ADC Contínuo: Amostragem de alta velocidade com DMA
  • KiCad: Design de circuitos e PCB

📈 Melhorias Futuras

  • Controle de velocidade com feedback
  • Interface web para controle remoto
  • Controle de torque
  • Algoritmos de controle avançados (FOC)
  • Análise de espectro harmônico
  • Comunicação CAN/Modbus
  • Sistema de logs em cartão SD

📄 Documentação

Arquivos de Documentação

Referências Técnicas

👨‍💻 Autor

José Fonseca

  • Projeto de TCC - Engenharia Eletrônica

📝 Licença

Este projeto foi desenvolvido como Trabalho de Conclusão de Curso (TCC) e está disponível para fins educacionais e de pesquisa.


🆘 Suporte

Para dúvidas ou problemas:

  1. Verifique a documentação técnica incluída
  2. Consulte os comentários no código fonte
  3. Revise as configurações de hardware
  4. Verifique as conexões elétricas

⚠️ LEMBRE-SE: Segurança sempre em primeiro lugar ao trabalhar com sistemas de potência!

Parts

84
QtyValueFootprintReferences
1310kPCM_Resistor_THT_AKL:R_Axial_DIN0411_L9.9mm_D3.6mm_P20.32mm_HorizontalR7, R8, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R29
8MountingHole_M3MountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4, H5, H6, H7, H8
7100PCM_Resistor_THT_AKL:R_Axial_DIN0411_L9.9mm_D3.6mm_P20.32mm_HorizontalR1, R2, R3, R4, R5, R6, R13
710uCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC25, C26, C27, C28, C29, C30, C31
61nCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC4, C5, C6, C8, C9, C10
6AudioJack2Connector_Audio:Jack_3.5mm_CUI_SJ1-3525N_HorizontalJ1, J2, J3, J4, J6, J7
5JST_04Connector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalJ9, J10, J11, J12, J13
3100nCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC15, C16, C17
3100u/500VCapacitor_THT:CP_Radial_D22.0mm_P10.00mm_SnapInC1, C2, C3
322uCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC11, C12, C13
3Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ5, J14, J17
2ChokeInductor_THT:L_CommonMode_Toroid_Vertical_L19.3mm_W10.8mm_Px6.35mm_Py15.24mm_Bourns_8100L1, L2
2JST_03Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_VerticalJ15, J16
10.22u/400vCapacitor_THT:C_Rect_L13.5mm_W5.0mm_P10.00mm_FKS3_FKP3_MKS4C24
11000uCapacitor_THT:CP_Radial_D14.0mm_P5.00mmC18
110nCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC23
110uCapacitor_THT:C_Radial_D6.3mm_H5.0mm_P2.50mmC7
111mPCM_Resistor_THT_AKL:R_Bare_Metal_Element_L21.3mm_W4.8mm_P20.30mmR16
11MPCM_Resistor_THT_AKL:R_Axial_DIN0411_L9.9mm_D3.6mm_P20.32mm_HorizontalR28
11uCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC19
133nCapacitor_THT:C_Disc_D6.0mm_W2.5mm_P5.00mmC14
13v3Diode_THT:D_DO-15_P15.24mm_HorizontalDZ1
14k7PCM_Resistor_THT_AKL:R_Axial_DIN0411_L9.9mm_D3.6mm_P20.32mm_HorizontalR12
1ESP32-S3-DevKitCPCM_Espressif:ESP32-S3-DevKitCU1
1FSBB30CH60FSBB30CH60:FSBB30CH60IC1
1HLK-10M05Converter_ACDC:Converter_ACDC_Hi-Link_HLK-10MxxPS1
1HLK-10M15Converter_ACDC:Converter_ACDC_Hi-Link_HLK-10MxxPS2
1KBPC5010TDiode_THT:Diode_Bridge_DIGITRON_KBPC_TD1
1Screw_Terminal_3_P5.00mmTerminalBlock_Phoenix:TerminalBlock_Phoenix_PT-1,5-3-5.0-H_1x03_P5.00mm_HorizontalJ8

Questions

How big is the TCC PCB?

It measures 258.2 × 141.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the TCC use?

84 parts, built around the ESP32-S3-DEVKITC-1-N8, FSBB30CH60B, HLK-10M05 and HLK-10M15. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the TCC KiCad files?

From the Marckkill/TCC repository on GitHub, at the commit this page was made from: the board is TCC-backups/TCC-2025-04-18_161401/TCC.kicad_pcb and its schematic TCC-backups/TCC-2025-04-18_161401/TCC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TCC design in my own project?

Its repository states no licence, so its author keeps all rights: ask Marckkill before reusing the design.

Similar boards

  • 2 layersPCB PD, the printed circuit board in 3D

    PCB PD

    Taran-the-Idiot/Flippy

    73 partsMIT
  • 2 layers85 × 67 mmGaggimate, the printed circuit board in 3D

    Gaggimate

    dulerabbit/GaggiBre-legacy

    This is GaggiBre! a fork of Gaggimate with Manual Brew Control and Adaptive Mode. Made by Dule Rabbit

    113 parts8
  • 2 layers90 × 100 mmOlivia control, the printed circuit board in 3D

    Olivia control

    AlterMundi-MonitoreoyControl/Proyecto-Incubadora

    Is an innovative project aimed at enhancing the efficiency and productivity of poultry incubators in family farming.

    51 parts4LGPL-2.1
  • 2 layers40.6 × 50.8 mmESPresence, the printed circuit board in 3D

    ESPresence

    JamieKaiRemkes/ESPresence

    Presence sensor build with LD2410 24GHz mmWave sensor using ESPhome

    5 parts2
  • 2 layers48 × 29 mmNoiStop, the printed circuit board in 3D

    NoiStop

    pareror/UnNomeCheTiIspira

    HackTurin 2026

    14 parts2
  • 2 layers104 × 60 mmUTAC PCB, the printed circuit board in 3D

    UTAC PCB

    X-zeed/UTAC-PCB

    4-channel smart relay control board with ESP32-C3 SuperMini - KiCad PCB Design v0.2.0

    59 parts2