Post

Configurazione del Clock nei microcontrollori ST (STM32xxxxxx)

Immagine
Il Real Time Clock è un elemento fondamentale nei microcontrollori, e come tale ha necessità di essere configurato in modo da consentire l'esecuzione delle operazioni in tempi rapidi. Le board Nucleo  (come per Arduino) sono dotate di due tipologie di Clock Sources: Clock interno: un oscillatore RC interno al microcontrollore, la cui frequenza dipende dal tempo di carica e scarica di un condensatore a livello IC; Clock esterno: un oscillatore al quarzo è installato su tutte le schede di sviluppo. Il quarzo ha una frequenza di risonanza, determinata dalle dimensioni e dalla forma del cristallo di quarzo stesso. Figura 1: Oscillatore al quarzo sulla board STM32F401xx Nucleo. L'oscillatore esterno si rivela più efficiente e più stabile di quello interno, anche per il fatto di essere maggiormente resistente alle variazioni della temperatura. La configurazione del clock nei micro (board) ST avviene nel seguente modo: Dopo aver aperto un nuovo progetto nell'IDE STM32Cube con il m...

Drogaggio dei semiconduttori - generazione e ricombinazione (4)

Immagine
 Come esposto nell'esempio del precedente articolo , il Silicio puro (intrinseco) non è propriamente adatto alla conduzione elettrica, essendo la sua conduttività prossima a quella di un isolante. Per fronteggiare questo limite, è possibile modificare la conduttività del Silicio tramite un procedimento tecnologico definito drogaggio. Drogaggio di tipo n Si pensi di poter sostituire una quantità di atomi di Silicio da un cristallo puro con la stessa quantità di atomi di un elemento appartenente alla V colonna della Tavola Periodica. Questa categoria di elementi è caratterizzata dal possedere cinque elettroni disponibili sul livello più esterno. Ad esempio, il Fosforo (P) è l'elemento numero 15 della Tavola Periodica. L'inserimento di tale elemento all'interno del cristallo fa sì che quattro elettroni formano legame covalente con i circostanti atomi di Silicio, mentre un elettrone rimane libero (figura 1) .  Figura 1: atomo di Fosforo (P) con funzione di drogante. Si è qu...

Il Silicio - Conduzione di elettroni e lacune (3)

Immagine
Il SILICIO, l'elemento fondamentale Figura 1: atomo di silicio L'elemento numero 14 della tavola periodica è  il Silicio . Si tratta di un semimetallo dotato di 4 elettroni sul livello più esterno disponibili a formare legami  covalenti  con altri atomi (figura 1). Un cristallo di Silicio, infatti, è costituito di soli atomi del medesimo elemento che condividono coppie di elettroni (figura 2).  Figura 2: modello atomico di un cristallo di Silicio. Il silicio puro, in realtà, presenta una conducibilità elettrica di circa 2.52⋅10 -4  S/m. Un valore molto piccolo che avvicina il Silicio più a un isolante che a un conduttore. Per i semiconduttori, infatti,  è possibile variare la conducibilità elettrica  tramite un procedimento definito  drogaggio.   Conduzione nel Silicio puro Un cristallo di silicio, come per tutte le tipologie di semiconduttori, passa in conduzione per effetti elettrici non appena viene sottoposto a un campo elettrico. Se è ve...

I semiconduttori - la base dell'elettronica (2)

Immagine
Definizione di semiconduttori  A partire da una classificazione sulla base della conducibilità elettrica, i semiconduttori sono una classe di materiali caratterizzati da una conducibilità elettrica intermedia tra quella degli isolanti e quella dei conduttori. L’impiego in ambito elettronico di questa tipologia di materiali è legata ad alcune peculiarità: Regolazione della corrente : la conducibilità dei semiconduttori può essere facilmente controllata, consentendo il passaggio selettivo di corrente elettrica attraverso di essi. Miniaturizzazione : i semiconduttori possono essere fabbricati in dimensioni molto piccole, consentendo la creazione di dispositivi elettronici sempre più compatti e potenti. Velocità di commutazione:  i semiconduttori hanno una velocità di commutazione molto elevata, il che significa che possono accendersi e spegnersi molto rapidamente. Questa caratteristica è fondamentale per l'operazione dei circuiti digitali ad alta velocità, come quelli utilizzati ...

Sensore di temperatura DHT11 con scheda STM32F401RE Nucleo

Immagine
 Il progetto si pone come obiettivo quello di implementare un sensore di temperatura DHT11 con la scheda di sviluppo STM32F401RE Nucleo.  Per il progetto si ringrazia Alexandro Brinoveanu , per gli amici Alex, che mi ha stimolato alla scrittura di un firmware per questa applicazione. Il sensore DHT11 Si tratta di un sensore digitale di temperatura e umidità, che rende i dati in uscita in modo seriale attraverso un singolo BUS. Vi sono tre terminali: VCC e GND, dedicati all'alimentazione del sensore, e Data, dedicato allo scambio di informazioni tra il sensore e il microcontrollore.  Se non si dispone del modulo, è necessario connettere il sensore come mostrato in figura 1: il pin 1, VDD, alla tensione di alimentazione (3.3 V o 5 V), il pin 2, GND, a massa e il pin 4, Data, a un ingresso della scheda. E' necessario inserire una resistenza di Pull-Up tra VDD e Data da 5 kOhm. Il pin 3 non è connesso (NC). Datasheet del sensore a questo link Figura 1: schema di collegamento....

Funzione di lettura analogica per microcontrollori ST (STM32xxxxxx)

Immagine
Gran parte delle applicazioni delle schede di sviluppo a microcontrollore, come Arduino e la Nucleo ST, richiedono l'acquisizione di grandezze esterne tramite sensori analogici. Si pensi, ad esempio, alla temperatura o all'intensità luminosa. E' quindi necessario convertire la grandezza analogica ottenuta dai sensori in una grandezza digitale. Se per Arduino questo procedimento è relativamente semplice, poiché esiste già una funzione atta alla lettura ( analogRead(...) per intenderci), per i microcontrollori ST e per le relative schede Nucleo la lettura e conseguente conversione da analogica a digitale richiedono diversi passaggi. Ho deciso quindi di creare una funzione analoga alla primitiva analogRead(...) di Arduino, che riesca a leggere e convertire una grandezza proveniente da un ingresso analogico.      1. Si apre l'IDE di sviluppo STM32CubeIDE e si crea un nuovo progetto di firmware corrispondente alla scheda di sviluppo/microcontrollore in possesso (nel mio ca...

Comunicazione tra terminale "TeraTerm" e scheda Nucleo STM32 F401RE

Immagine
Alcune volte è necessario mettere in comunicazione il microcontrollore con il computer, tramite terminale, per mostrare informazioni sotto forma di testo, come numeri o segnali di avvertimento. Per mettere in comunicazione il microcontrollore con il terminale TeraTerm, è prima di tutto necessario aprire un progetto nell'IDE di sviluppo STM32Cube. La scheda di sviluppo Nucleo F401RE, come molte altre schede ST, hanno già preimpostato il protocollo di comunicazione USART2 attivato. Il baudrate, bit per secondo, è impostato su 115200 bits/s e le parole hanno lunghezza 8 bit.  La prima cosa da fare, per comunicare con il terminale, è l'attivazione di una richiesta di accesso diretto alla memoria DMA per la trasmissione USART da memoria a periferica: 1. Nel file .ioc, sezione Pinout & Configuration , seguire System core -> DMA -> Add -> UART2_TX  mostrato in figura 1. Figura 1: Attivazione di una richiesta DMA per conto della UART Effettuare quindi il caricamento del ...

Introduzione e componenti passivi (1)

Immagine
 L'elettronica è, nel periodo in cui viviamo, la base di quasi ogni singolo oggetto in nostro possesso. Si pensi al semplice telefono cellulare, nel quale vi sono migliaia di componenti elettronici al suo interno. Anche al semplice tostapane, che grazie a un microprocessore, regola la temperatura e il tempo di lavoro dell'oggetto. Più in generale, una grandezza fisica (temperatura, pressione, velocità …)  viene letta da un sensore e deve poi essere convertita in grandezza elettrica (tensione o corrente come funzione del tempo, sempre) tramite dei TRASDUTTORI, in modo che un dispositivo elettronico possa elaborarla. La gran parte dei dispositivi che si utilizzano sono di tipo DIGITALI, ossia lavorano in un insieme discreto di valori. Le grandezze elettriche, appena trasdotte, sono di tipo ANALOGICO, e necessitano di una conversione da analogico a digitale, per essere elaborate. L'elaboratore, dopodiché, emette in uscita un segnale digitale che, dopo una conversione da digita...