Eu preciso fazer três simulações transitórias com valores diferentes de certos resistores (convenientemente chamados R1 e R2) em cada um. O que pretendo fazer exatamente é o seguinte:
- Sim. 1: R1 = 1 k , R2 = 10 k
- Sim. 2: R1 = 1 M , R2 = 10 M
- Sim. 3: R1 = 1 k , R2 = 1 M
Se houvesse apenas um resistor cuja resistência varia, então eu definiria sua resistência como "{r1}" (uso letras minúsculas para torná-lo uma variável / parâmetro diferente de R1) e use um comando como:
.step param r1 list 1k 1meg 1k
No entanto, como tenho que alterar dois parâmetros (juntos) duas vezes cada, li aqui que (pelo menos no LTSpiceIV) uma solução alternativa para o meu problema poderia estar usando algo como isto:
.step param X list 1 2 3
.param r1 = table(X, 1k, 1meg, 1k)
.param r2 = table(X, 10k, 1meg, 10meg)
Ao fazer a simulação, recebo os seguintes avisos:
WARNING: Can´t resolve .param r2 = table(X, 10k, 1meg, 10meg)
Select OK to continue the simulation with the default model or Cancel to quit now.
O mesmo se aplica para r1.
Por alguma razão, a simulação não "quebra" se eu adicionar um elemento extra à tabela. Nesse caso, a simulação leva muito tempo, avançando mais lentamente a cada vez, pois nunca terminaria. Tentei definir X como 0 1 2 em vez de 1 2 3, mas isso também não funciona.
Aqui estão algumas fotos:
Sua ajuda será muito apreciada.
Respostas:
No LTSpice, o comando table realmente cria um tipo de dicionário no qual você precisa especificar pares de valores-chave. A diretiva apropriada para o seu caso seria:
e defina o valor dos resistores para
{R1}
e{R2}
respectivamente.Se você deseja ter os valores de um resistor próximos, também é possível inserir (em vez de valor, ao clicar com o botão direito do mouse)
no campo de valor do resistor. Isso funciona da mesma maneira para todos os tipos de componentes e, com um script externo para criar arquivos .asc, pode ser usado como muleta para LTspices com falta da funcionalidade monte carlo.
fonte
Um parâmetro de varredura / etapa pode controlar vários valores de componentes por meio de expressões.
Sua variável de controle que você está pisando pode ser um ângulo de fase ou atraso de tempo ou similar, que você insere em uma ou mais fórmulas / expressões para obter valores ou parâmetros de componentes resultantes a serem aplicados no design como {parameter}
Isso é útil se você deseja manter uma relação ou controlar alguma propriedade física indireta do design, como uma propriedade atual ou de filtro.
No editor de comando "op", você pode inserir algo como isto:
Passa Imax de 0,1 a 0,3 em passos de 0,1 e calcula um valor de resistor R usando o parâmetro Imax, Uin, alguns assumem queda de tensão 0,85 .. de um diodo.
O PARAM R pode ser referenciado em uma notação de valor de componente usando {R}. Observe que o Uin pode ser usado como {Uin} em uma fonte de tensão ou similar e assim por diante.
Para várias linhas na janela do editor "op", use CTRL + M para manter todos os parâmetros na mesma caixa de texto.
fonte