Relatório circuitos elétricos 2
O objetivo desse trabalho é elaborar um simulador de circuitos elétricos capaz de simular os seguintes elementos: ▪ resistores, ▪ capacitores, ▪ indutores, ▪ fontes de tensão e corrente, ▪ fontes controladas, ▪ amplificadores operacionais ideais e ▪ mosfets.
Os elementos reativos podem ser simulados usando dois métodos de integração numérica: Backward de Euller e Gear, já os elementos não lineares são tratados através do método de Newton-Raphson que é capaz de encontrar uma aproximação numérica para a solução de equações não lineares.
O programa foi desenvolvido na linguagem C, usando o compilador do Visual Studio e foi baseado no código fonte do programa MNA1, fornecido no site da disciplina. Todo o código está contido em um único arquivo.c. Partindo do programa base, foram feitas alterações na função lerNetList para que a mesma pudesse ser capaz de ler corretamente capacitores, indutores, mosfets e o perfil de simulação. Para tornar a leitura do netlist mais segura, a função original fscanf(função que lê uma string formatada direto de um arquivo) foi substituída pela função sscanf(função que lê uma string formatada direto de uma outra string). Para realizar a análise no tempo, foi acrescentado um loop while na função principal que vai do tempo t0=0 até tfinal com o tempo variando em um intervalo definido por tfinal/(passo/passosInternos). Dentro deste loop existe uma função chamada estampaNoTempo que é responsável por montar as estampas de todos os elementos reativos e fontes que variam no tempo. Depois de tratar os elementos reativos, o programa trata os elementos não lineares e lineares através da função estampaLinNLin que gera uma matriz que contém a estampa destes elementos. Esta matriz é somada com a matriz que contém a estampa dos elementos reativos (a matriz que contém a estampa dos elementos reativos é