Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Benvenuti al blog elettrico di Fedhman. Visita il suo
Foto Utente

Nusuth

Gli ultimi articoli inseriti da Fedhman


Gli ultimi articoli di Fedhman

pubblicato 5 anni fa, 695 visualizzazioni

We can lick gravity, but sometimes the paperwork is overwhelming. - Wernher von Braun

Talvolta è comodo poter manipolare su MATLAB le forme d'onda ricavate con LTspice. L'articolo propone uno script per importare su MATLAB le forme d'onda salvate in ASCII da simulazioni con LTspice.

L'utente deve soltanto inserire nello script il nome del file LTspice, la sua estensione (.raw) e la directory. Lo script riconoscerà automaticamente le variabili, salvandole nel workspace assieme ai loro valori.

LTspice salva le forme d'onda in un formato codificato. Per poterle leggere con MATLAB bisogna cambiare la codifica, impostandola in ASCII. Lo si può fare dal pannello di controllo:

Netlist:

Poniamo che le variabili da esaminare siano la corrente che scorre nel condensatore C1 e la tensione sulla resistenza R1. Con la direttiva .SAVE si limitano le variabili di cui LTspice tiene traccia nel file .raw.

[...]

pubblicato 5 anni fa, 547 visualizzazioni

Questo articolo raccoglie i miei appunti e considerazioni per costruire un intervallometro a 16 tempi con un PIC12F683. All'interno è spiegato come il micro attiva in sequenza dei LED di stato, li fa lampeggiare, riconosce la pressione di un pulsante con anti rimbalzo software e comprende se un pulsante è stato premuto a lungo. Viene mostrato come usare dei flag a singolo bit in un unico registro da 8 bit. Inoltre è trattato il modo più preciso che mi è venuto in mente per misurare 30s usando un timer con prescaler, postscaler e comparatore (con lo zampino di MATLAB). Si accenna alla codifica Charlieplexing per 6 LED pilotati da 3 GPIO. Magari ci sono modi migliori per fare le stesse cose - "Finché si vive, sempre s'impara". Non mi sono messo a cercare tecniche particolari, il progetto è nato per hobby - e infatti MATLAB c'è cascato dentro. Mentre scrivevo l'articolo ho fatto diverse modifiche, spero di aver schiacciato tutti i bug : ) Ho dato per scontato (quasi) tutto quello che ho scritto nell'articolo Iniziare coi PIC in C.DISCLAIMER: non è trattato il modo per pilotare la Canon 40D, NON collegare direttamente il circuito alla macchina. Declino qualunque responsabilità per danni a persone/animali/cose.

[...]

pubblicato 5 anni fa, 2.795 visualizzazioni

Per muovere i primi passi coi PIC ho comprato una decina di PIC12F683 per pochi spiccioli. Questi sono i miei appunti per iniziare a programmarli col PICkit3 da zero, avendo solo generiche basi sui microcontrollori. Verrà fatto lampeggiare un LED prima con ritardi fissi e poi in interrupt col timer0. Occorre che il lettore abbia qualche base di C e sappia cos'è un interrupt.

MPLAB: è l'IDE ufficiale della Microchip, la ditta che produce i PIC. La versione odierna (15 settembre 2016) è MPLAB X, scaricabile sul sito della Microchip.XC8: è il compilatore per microcontrollori a 8 bit della Microchip. NON viene installato assieme a MPLAB, per cui va scaricato e installato separatamente. Installatelo dopo MPLAB.

[...]

pubblicato 6 anni fa, 1.559 visualizzazioni

"Since when did a mathematician need any tools but his own head? Pythagoras had done well enough with a stick and a stretch of sand." - R. A. Heinlein

Questo breve articolo propone un generatore di numeri casuali che salva su uno o più file. I numeri casuali vengono generati con la funzione di MATLAB rand [I], che li genera secondo una distribuzione uniforme nell'intervallo (0, 1). Sono modificabili a piacere:

Il numero di file. La directory di salvataggio dei file, un prefisso per ogni file, l'estensione dei file. Quanti numeri casuali per ogni file. Un fattore che moltiplichi ogni numero casuale. La possibilità di arrotondare ogni numero casuale ad un intero da 64 bit. La possibilità di generare numeri casuali tra -1 e 1. [...]

pubblicato 6 anni fa, 514 visualizzazioni

Nel secondo articolo [II] è stato creato un dipolo λ/2 per i 100 MHz, lungo 1.425 m, formato da fili di diametro 2 cm = 0.02 m. Il gap era di 1 cm = 0.01 m. Sono state seguite le indicazioni di design del libro [III]. Questo terzo articolo mostra come simulare il dipolo, usare l'optimizer, visualizzare i risultati in 2D e 3D.

Si riporta per comodità la macro eseguita per creare il dipolo, adattata al progetto:

La sorgente che ecciterà il dipolo sarà una "discrete port". Andrà specificata l'impedenza d'uscita della porta: inseriremo 73 Ω, avendo progettato il dipolo affinché abbia 73 Ω di impedenza all'ingresso. Tutti i comandi inseriti di seguito appariranno nella history list, e potranno essere implementati facilmente in una macro. Qui si preferisce l'approccio tramite interfaccia grafica per mostrare i passi necessari alla simulazione.

[...]

pubblicato 6 anni fa, 397 visualizzazioni

Nel primo articolo [I] è stata illustrata la modellazione di semplici forme geometriche e la creazione di una macro "da history list", d'ora in poi chiamata semplicemente macro. Questo secondo articolo vuole spiegare i ragionamenti dietro alla creazione di una macro più complessa: un dipolo rototraslabile a piacere. La macro verrà poi adattata ad un semplice progetto, un dipolo λ/2 per i 100 MHz. Il libro al quale si farà riferimento per il progetto è il Balanis, [II].

La macro sarà composta di più comandi eseguiti in sequenza. Vi saranno quattro sezioni: la prima fungerà da interfaccia per l'utente che vuole creare il dipolo, la seconda formerà geometria, la terza traslerà e ruoterà il tutto e la quarta "pulirà l'ambiente" eliminando le variabili.

[...]

pubblicato 6 anni fa, 828 visualizzazioni

CST MICROWAVE STUDIO® è uno dei programmi della suite CST®. Tra le tante cose che può fare è molto utile per progettare antenne: le si può modellare in 3D, simulare il loro comportamento e visualizzare a schermo un po' di tutto, tra cui il far field, il campo elettrico e quello magnetico, la matrice S e molto altro.

Lo scopo di questa serie di articoli è mostrare un minimo delle potenzialità del programma con un piccolo progetto dalle poche pretese. Nel mentre viene spiegato come creare una macro, come ingannare la history list del programma e come iniziare a smanettare un po'. L'approccio alla simulazione non è necessariamente il migliore, essendo frutto di considerazioni da (parzialmente) autodidatta impegnato a risolvere una lunga sequenza di problemi. La prima parte illustra la creazione e l'unione di solidi su CST e la scrittura di una semplice macro. La seconda parte mostra una macro per creare un dipolo rototraslabile a piacere, la terza spiega come simularlo, ottimizzandolo. Questo primo articolo è stato scritto con l'intento di non saltare alcun passaggio.

[...]

pubblicato 6 anni fa, 880 visualizzazioni

Qualche tempo fa ho comprato dei LED bianchi da 10 W su Ebay, pagandoli pochi spiccioli. Una notte insonne d'estate ho deciso di dar loro un'occhiata da vicino. (Pulirli prima no? Magari la prossima volta)

Sono belli grossi:

Sembrano composti da più LED, una matrice 3x3. Incuriosito, mi sono avvicinato un po'. Con macro così spinte la profondità di campo è ridottissima.

Sono stato interrotto da un intruso

Ed ho aumentato ancora l'ingrandimento:

Poi con cautela ho acceso il LED, lentamente, scoprendo che le celle non si accendono tutte contemporaneamente. Questo esemplare l'avevo anche un po' bruciacchiato.

Un'occhiata alle celle accese:

Esauriti tutti i tubi/soffietti per allontanare l'obiettivo, sono passato al microscopio. Non possedendo l'adattatore reflex/microscopio sono sceso a patti con la nitidezza, arrangiandomi un po'.

[...]

pubblicato 6 anni fa, 1.631 visualizzazioni

Ognitanto capita di dover risolvere un circuito col metodo dei nodi. Si può far lavorare uno Spice qualunque, ma tanto per cambiare facciamo fare a MATLAB i conti. Forse un "vantaggio" sta nel rimanere nel mondo "analitico". En passant un rapido esempio di come rappresentare i diagrammi di Bode con MATLAB, utilizzando delle variabili simboliche.Attenzione: i codici sono piuttosto pesanti, ho inserito i miei tempi di esecuzione per dare un'idea. Se qualcuno ne esegue di simili, potrebbe commentare con i suoi tempi di esecuzione ed i dati della sua macchina?

1i è il modo consigliato dalla MathWorks per scrivere i, l'unità immaginaria.syms: crea rapidamente delle variabili simboliche. I nomi delle variabli vanno separati da uno spazio. Alle variabili simboliche può essere in seguito sostituito un numero.matlabFunction(funzione_simbolica) permette di trasformare una funzione simbolica in una "MATLAB function", con cui MATLAB fa i conti più rapidamente rispetto ad una symfun simbolica.

[...]

pubblicato 6 anni fa, 2.216 visualizzazioni

"Io non do consigli. La gente non li segue mai." - R. A. Heinlein

C'è un comando MATLAB chiamato eval: permette di far eseguire a MATLAB quello che vi pare passandogli una stringa. È estremamente potente, la MathWorks sconsiglia di usarlo. Questo breve articolo lo usa per lavorare sui nomi delle variabili.

eval prende la stringa che gli avete passato e la fa eseguire a MATLAB: come se l'aveste scritta nella command window battendo poi invio.Bisogna passare ad eval dei veri e propri comandi, che devono essere validi.

eval('stringa che inseriamo come ci pare, cioè un comando')

Unire in una sola stringa il contenuto di altre stringhe:

Nota: la stringa risultante, senza virgolette, sarà: "stringa1 stringa2stringa3" Attenzione agli spazi. Attenzione alle parentesi quadre.

[...]

Chi sono

Fedhman - profilo

Reputation: 5.175 2 9 13

Bio: Leggo, fotografo e brucio moke

I miei ultimi post dal forum

Vai al Forum


Cerca nel blog di Fedhman