Creare grafici in LibreOffice da simulazioni LTspice

Creare grafici in LibreOffice da simulazioni LTspice

Introduzione

È noto come LTspice sia un simulatore ad alte prestazioni sviluppato dal produttore di semiconduttori Analog Devices. Permette in maniera molto semplice e intuitiva il disegno dello schematico, la simulazione dello stesso con successiva visualizzazione delle forme d’onda che possono essere di interesse per il circuito.

Arrivato, al momento di scrivere questo articolo, alla versione 17.0.27.0, nel tempo sotto il cofano ha subito diversi miglioramenti che hanno reso più veloce, in genere, ogni tipo di simulazione permettendo così all’utente di visualizzare i risultati di interesse veramente in pochissimo tempo.

Nel download sono inclusi il motore di simulazione Spice – migliorato nel tempo – centinaia di modelli di circuiti integrati in particolar modo della Analog Devices della serie AD, ADG, ADM, ADP, LT, LTC e OP – con un occhio di riguardo verso sulla simulazione dei regolatori in commutazione SMPS (Switched-Mode Power Supply) – così come resistori, transistor, modelli di MOSFET, generatori dipendenti e indipendenti e molto altro ancora con la possibilità di aggiungerne di nuovi a patto che abbiano una sintassi “SPICE compatibile“.

LTspice, esportare i valori della simulazione

È stata già riportata una procedura che premette di creare grafici della simulazione in un documento \LaTeX a partire dai dati forniti in LTspice. Gli interessati possono leggere l’articolo Simulazioni LTspice convertite in documenti LaTeX.

In questo contesto l’obiettivo è simulare un classico filtro del secondo ordine LRC, che all’atto pratico coincide con la simulazione di un circuito RLC risonante serie. Tale circuito è riportato nella miniatura a sinistra (un click per ingrandirla); come si può vedere nulla di particolarmente complicato ma il circuito, anche per la sua semplicità, ben si presta a questo tipo di dimostrazioni. Come si può osservare dalle direttive, viene effettuata una analisi in AC con 100 punti per decadi, una frequenza di start pari a 100Hz e frequenza finale di 100kHz. L’obiettivo è simularne l’andamento in frequenza per vederne il grafico del modulo e della fase in funzione della frequenza. Il risultato della simulazione è riportato nello screenshot in basso.

 

L’esportazione dei valori è semplice. Un click con il tasto destro del mouse nell’area del grafico e dal menù contestuale optare per File quindi scegliere Export data as a text. Ora nella finestra di pop-up Select Traces to Export scegliere (predefinito dovrebbe già esserlo) il rapporto V(n003)/V(n001) per selezionare la traccia da esportare (se ne può esportare anche più di una). A questo punto cliccare sul pulsante Browse per verificare, ed eventualmente cambiare, il percorso di salvataggio e il nome del file (predefinito sarà un file .txt uguale al nome del file con il quale è stato salvato il circuito, file con estensione .asc), assicurarsi che il rigo Format: presenti Polar: (dB,deg) selezionato quindi click su OK.

Dal formato LTspice a CSV

Il formato dei dati salvato (esportato) con LTspice si presenta come un comune file .txt che divide i dati in righe e colonne, come in una tabella. La prima colonna riporta i valori della variabile indipendente, la frequenza nello specifico, ma potrebbe essere il tempo in altre simulazioni così come una tensione o una corrente. Le righe, al di fuori della prima, rappresentano i valori della variabile indipendente e i valori che assumono le grandezze simulate in funzione del valore della variabile indipendente, in sostanza una sorta di y=f(x) dove al variare di x, variabile indipendente riportata sull’asse delle ascisse, si hanno i rispettivi valori del modulo e della fase riportati sull’asse delle ordinate.

 

L’obiettivo è convertire tale file in un formato compatibile con il CSV (Comma-Separated Values, valori separati da virgola) nei quali il separatore predefinito dei campi è la virgola – come da acronimo – ma questo è valido in particolar modo nei paesi anglosassoni. Poiché in altri nazioni, e.g. l’Italia, la Francia, la Spagna ecc, la virgola è il separatore delle cifre decimali ecco il separatore di campi del formato CSV diventa il punto e virgola. Questo vuol dire che tutti i campi (tutte le righe per ogni colonna) del file esportato con LTspice dovranno essere separate dalle altre con un carattere di punto e virgola “;”. Il motivo per il quale si vuole convertire il formato in un CSV-like è presto detto; trattasi di un formato facilmente leggibile e manipolabile da un foglio elettronico a corredo delle suite d’ufficio come LibreOffice Calc.

Nel file le colonne sono separate attraverso degli spazi che non coincidono con una tabulazione poiché trattasi di 3 spazi bianchi e il carattere di tabulazione prevede 4 spazi bianchi. Ma al momento questa caratteristica non è di interesse perché ci interessa capire com’è strutturato il file dei dati e modificarlo manualmente utilizzando un editor di testi; KWrite in questo contesto, ma qualsiasi altro che abbia la funzione di Trova & Sostituisci va bene. In un secondo si potrà pensare di automatizzare la procedura attraverso uno script Shell-Awk;  solo allora sarà indispensabile capire cosa rappresentano gli spazi vuoti che dividono le varie colonne.

Agendo manualmente la procedura è semplice e viene riportata nel seguito con una galleria fotografica seguita da una spiegazione passo dopo passo.

 

Sulla prima riga si può agire manualmente scrivendo nella prima colonna Frequenza seguito da un “;” (senza i doppi apici), quindi Modulo; e Fase da non terminare con il “;” (prima immagine). A questo punto su una riga  selezionare gli spazi vuoti compresa la parentesi tonda aperta; questi elementi sono da inserire nel campo Trova dell’editor e in Sostituisci va riportato il carattere “;” (senza doppi apici). Click su Sostituisci Tutto per sistemare il separatore tra prima e seconda colonna (seconda immagine). Medesima operazione tra seconda e terza colonna; in Trova riportare dB, e lasciare il carattere “;” in Sostituisci. Click su Sostituisci tutto e così facendo anche il separatore tra seconda e terza colonna è sistemato (terza immagine). Ora tocca sistemare la terza colonna rimuovendo i caratteri °) che andranno inseriti in Trova mentre in Sostituisci non si inserirà nulla; in questo modo cliccando su Sostituisci tutto i caratteri °) verranno semplicemente cancellati in ognuna delle 301 righe, esclusa la prima che non ne ha (quarta immagine). A questo punto c’è un ultimo passo da compiere; indicare i decimali con la virgola in luogo del punto. Procedura del tutto uguale alle precedenti; in Trova verrà riportato il punto “.” (senza doppi apici) e in Sostituisci la virgola “,” (senza doppi apici). Un click su Sostituisci tutto permetterà in un istante l’immediata sostituzione su oltre 900 righe. A questo punto salvare il file modificato, chiudere l’editor e rinominare il file con estensione .csv in luogo di .txt, i.e. da mio_file.txt a mio_file.csv.

Creare e formattare il grafico dai dati della simulazione

Cliccando sul file csv precedentemente creato verrà automaticamente lanciato LibreOffice Calc il quale alla prima schermata chiederà come gestire il suddetto file (immagine al lato, click per ingrandirla). Nella sezione Importa assicurarsi che sia presente un 1 nella casella Dalla riga:, anche se questa scelta non inficia il risultato a patto che sia solo per la prima riga che nello specifico è l’intestazione. In realtà con questa operazione è possibile restringere il grafico della simulazione partendo da punti successivi a quelli iniziali. In questo contesto non c’è necessità alcuna di voler restringere il campo della simulazione pertanto lascerò il valore a 1 per la legenda del grafico …sebbene alla fine non andrò ad utilizzarla! 🙂

In Opzioni di separazione assicurarsi che sia selezionato Separato da e in basso spuntare la casella Punto e virgola. La formattazione del file è abbastanza “lineare” quindi non occorre indicare più nulla. Click su OK e verrà aperto Calc.

 

A questo punto occorre selezionare con un click del mouse la cella A1 quindi scorrere il contenuto verso il basso. Arrivati alla fine – 302esima riga in questa simulazione – premere il tasto Shif e, mentre lo si mantiene premuto, cliccare con il mouse sulla cella C302. In questo modo verranno selezionati tutti i dati delle tre colonne e di tutte le 302 righe.

A questo punto c’è la necessità di creare il grafico. Click sul menù Inserisci e optare per Grafico oppure cliccare sull’icona corrispondente che reca dei grafici a colonna come grafica. Riportata in basso una nuova galleria fotografica che riporta i passaggi passo dopo passo. Subito in basso il commento alle immagini.

 

Nella prima immagine è riportata la creazione guidata del grafico che si apre nel momento in cui si clicca su InserisciGrafico o sull’icona corrispondente. In Seleziona tipo di grafico optare per XY (dispersione) nel pannello di sinistra e nel pannello centrale sull’immagine Solo linee. Dal menù a tendina Tipo linea scegliere Liscia (seconda immagine). Click su Successivo per la scelta dell’area dati; assicurarsi che sia compresa tutta l’area dati con la sintassi tipica di un foglio di calcolo ovvero $A$1:$C$302; il riferimento è a questa simulazione, cambiando già il numero di punti per decadi si avrà un file differente e quindi un’area dati differente. Lasciare qualora già lo fosse altrimenti selezionare Serie di dati in colonna e spuntare la casella Prima riga come didascalia (terza immagine). Click su Successivo. In Serie di dati: assicurarsi che sia presente la dicitura Modulo e Fase. Selezionare Modulo e verificare in Aree dati: che i suddetti siano congruenti ovvero che in Valori X vi siano tutte le celle della prima colonna inerente la frequenza, i.e. $A$2:$A$302, e in Valori Y tutti i valori propri del modulo (funzioni della frequenza). In pratica tutte le celle della seconda colonna a partire dalla seconda riga quindi – sempre per questa simulazione – la formattazione $B$2:$B$302. Idem per la serie di dati Fase ovvero $A$2:$A$302 per l’asse delle ascisse e $C$2:$C$302 (terza colonna) per le ordinate (quarta immagine). Click su Successivo. In Scegli le impostazioni dei titoli, legenda e griglia si scrivano i dati necessari mentre in Mostra le griglie spuntare le caselle Asse X e Asse Y (quinta immagine). Deselezionare Mostra legenda quindi click su Fine (immagine numero sei).

Questo è il nuovo punto di partenza per sistemare il grafico (ascisse in scala logaritmica, secondo asse delle Y ecc). Tasto sinistro su un qualunque punto del grafico per scegliere Modifica dal menù contestuale; i bordi del grafico cambiano ad indicare che si è in modalità editing. Selezionare l’asse delle X con un click sopra di esso dopodiché un click con il tasto destro del mouse per aprire un menù contestuale nel quale si andrà a scegliere Formatta asse… e nella nuova finestra nel tab Scala si dovrà essere selezionare Scala logaritmica. Co si sposti nel tab Posizionamento e nella sezione Linea dell’asse in Incrocia l’altro asse in si dovrà selezionare Inizio. Click su OK per vedere un primo risultato.

 

Rimanendo in modalità editing, selezionare di nuovo l’asse delle X, click con il tasto destro del mouse e dal menù contestuale optare per Inserisci griglia secondaria. Stesso procedimento per l’asse delle ordinate per l’aggiunta della griglia secondaria. Per l’asse delle ordinate un secondo click per far apparire il menù contestuale optando per Formatta asse; nella nuova finestra nel tab Scala si deselezionerà il segno di spunta su Automatico per le caselle, Minimo, Massimo e Intervallo principale riportando rispettivamente i valori -72, 16 e 8. Click su OK al termine. In basso seguono le immagini delle modifiche e del nuovo risultato.

 

È arrivato il momento di creare un secondo asse delle Y per il diagramma delle fase. Sempre in modalità di editing un click con il taso destro del mouse e dal menù contestuale optare per Inserisci/elimina assi e in Assi secondari spuntare la casella Asse Y. Click su OK. Su questo secondo asse delle ordinate si eseguirà una formattazione simile alla precedente; nel tab Scala si deselezionerà il segno di spunta su Automatico per le caselle, Minimo, Massimo e Intervallo principale riportando rispettivamente i valori -200, 20 e 20. Click su OK al termine.

 

A questo punto rimane da solo da associare il diagramma della fase al secondo asse delle Y, quello appena creato. La procedura è semplice; selezionare con un click il diagramma delle fasi (in rosso), un click con il tasto destro per far apparire un menù contestuale dal quale si opterà per Formatta serie di dati. Nella nuova finestra nel tab Opzioni in Allinea serie di dati a si selezionerà Asse Y secondario quindi click su OK per avere il risultato desiderato al quale è possibile aggiungere un po’ di formattazione del testo (e.g. colori congrui per evitare di confondere gli assi con gli andamenti, font più grande ecc).

Uscendo dalla modalità editing – con un click in un qualunque punto del foglio di calcolo fuori l’area del grafico – cliccando sul grafico con il tasto destro del mouse, dal menù contestuale è possibile l’esportazione come immagine in diversi formati per essere utilizzata in vari contesti (e.g. sito Web, documentazione varia ecc).

mikiadmin

8 pensieri su “Creare grafici in LibreOffice da simulazioni LTspice

  1. Wonderful illustrated information. I thank you about that. No doubt it will be very useful for my future projects. Would like to see some other posts on the same subject!

  2. Al-Ahliyya Amman University
    AAU Started providing academic services in 1990, Al-Ahliyya Amman University (AAU) was the first private university and pioneer of private education in Jordan. AAU has been accorded institutional and programmatic accreditation. It is a member of the International Association of Universities, Federation of the Universities of the Islamic World, Union of Arab Universities and Association of Arab Private Institutions of Higher Education. AAU always seeks distinction by upgrading learning outcomes through the adoption of methods and strategies that depend on a system of quality control and effective follow-up at all its faculties, departments, centers and administrative units. The overall aim is to become a flagship university not only at the Hashemite Kingdom of Jordan level but also at the Arab World level. In this vein, AAU has adopted Information Technology as an essential ingredient in its activities, especially e-learning, and it has incorporated it in its educational processes in all fields of specialization to become the first such university to do so.
    https://www.ammanu.edu.jo/

  3. I have read your excellent post. This is a great job. I have enjoyed reading your post first time. I want to say thanks for this post. Thank you…

Rispondi a lina Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

5 + 2 =