NG-spice - Simulador de Circuitos Eletrônicos
O ngspice é um simulador de circuitos eletrônicos para GNU/Linux muito poderoso e eficaz. Além de possuir uma fantástica interface no terminal, possui também uma bela interface gráfica com o gspiceui. Para instalar ele na maioria das distribuições Linux, basta abrir seu gerenciador de pacotes e procurar pelo "ng-spice", e requisitar pela instalação deste. Caso você não esteja rodando Linux (que feio =/), os desenvolvedores disponibilizam (com uma certa frequência) versões pré-compiladas para Microsoft Windows. Do meu ponto de vista, a grande vantagem deste simulador é o acesso a uma boa documentação, que está disponível no site do mesmo. Tudo bem, o manual está em inglês... Porém, qualquer estudante de engenharia ou hobista que se preze, sabe que o inglês é importante e além do mais, a grande maioria dos datasheets dos componentes eletrônicos (sejam digitais ou não) estão em inglês, então, acostume-se 'and start trying to learn and understanding english as well as possible'. Porém as vantagens não param por aí... Como eu já disse, você abre o simulador e cai em uma simpágica Shell, que irá receber seus desejos e fará todo o trabalho pesado. Muitas pessoas, não gostam do Shell (vulgo terminal ;) porém, essas pessoas acabaram de descobrir que existe essa tela preta, e portanto, não conhecem todo o poder escondido nele. Por exemplo, na faculdade fui apresentado ao PS-SPICE, que é um software muito legal, caso você queira criar simulações ruins e não profissionais. Além de tudo, é pago e dá muito problema e claro né, como todo programa de código fechado, os erros são mostrados com uma bolinha verde (o que isso significa eu não sei, pq a documentação é horrível e portanto, sempre que você precisa de uma simulação, essa bola verde aparece e o usuário fica na mão... ). O ngspice por forçar o usuário a utilizar uma shell faz você carregar seu próprio circuito, e então, caso existam problemas (e geralmente existem sim) ele irá dizer: "Olha meu querido, o componente R1 está com problemas, dá uma olhada nele e volta aqui de novo", e sei lá, mas para mim isso é muito melhor que uma bola verde mágica do mal. Outra coisa legal, o acesso ao código fonte do programa, o que é excelente para bons programadores ou estudantes de engenharia afinal, uma das formas de aprender a programar é ler bons programas. Outra coisa, esse simulador é extremamente profissional ou seja, ele não serve para pessoas querem desenvolver circuitos desorganizados e ruins.
Vamos lá, apenas o simulador não é grande coisa, pois você teria que escrever seu NETLIST (basicamente, o netlist é um arquivo de texto NADA simpático, e nele está TODO o seu circuito eletrônico, só que em texto ;) e por isso, é melhor utilizar um programa que escreva esse arquivo de forma automática e rápida) em algum editor de textos, o que certamente demanda muito tempo. Para facilitar nossa vida, existe a suíte de aplicativos gEDA (GPL'd suite and toolkit of Electronic Design Automation tools), e nela temos o gschem, que é um editor de esquemas Em um próximo momento irei escrever algo sobre o gEDA, pois ainda estou aprendendo a utilizar esta fantástica ferramenta.
Quero apresentá-los o ngspice com exemplos, e por isso, vou disponibilizar um netlist de exemplo, que é o circuito de um Amplificador Operacional LM741, operando um multivibrador biestável. Faça o download deste arquivo aqui e comece a se divertir agora mesmo! (Pessoal, considero que vocês já instalar o ngspice e ele está funcionando, ok?!)
.
Abra um terminal, e carregue o ngspice com:
$ ngspice
Você pode abrir o ngspice como um usuário normal, sem a necessidade de maiores privilégios. Uma vez dentro do ambiente ngspice, você terá um terminal que mostrará algo parecido com isso:
******
** ngspice-21 : Circuit level simulation program
** The U. C. Berkeley CAD Group
** Copyright 1985-1994, Regents of the University of California.
** Please submit bug-reports to:
Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
** Creation Date: Tue Dec 14 16:41:59 BRST 2010
******
ngspice 46 ->
Muito bem, se você chegou até aqui, podemos carregar o arquivo baixado com:
source biestavel.net
Este comando 'source' fala para o ngspice carregar o arquivo biestavel.net, se o usuário digitar corretamente, algo parecido com isso será obtido:
Circuit: * gnetlist -g spice-sdb -o spice.net op-amp-inv-amp.sch
Agora precisamos simular. Basta rodar:
tran 1us 3ms
Este comando, pede uma análise para regime transitório do circuito eletrônico apresentado no netlist. O ngspice irá iniciar então a análise, que levará algum tempo... Muito bem, o comando 'tran' funciona assim:
tran passo tempo_limite_máximo
Acho que nem é necessária uma explicação para o que significa ;-)
Agora, podemos plotar na tela o gráfico da forma de onda, com:
plot vout
plot vin
plot vout vin
Novamente, acho que não é necessário explicar como o comando funciona ;-)
Em breve, atualizarei este guia, com maiores informações e irei ensinar a como exportar seu gráfico para melhorias utilizando python, só para mostrar como é profissional, coloco aqui o gráfico deste experimento simulado com ngspice e plotado utilizando python. Até a próxima!

Última atualização (Seg, 27 de Dezembro de 2010 13:10)


