Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

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

Il blog del Dani

Documentazioni elettriche


Gli ultimi articoli di ildani

pubblicato 10 anni fa, 1.299 visualizzazioni

Questa è la quarta ed ultima parte dell'articolo Lampeggio led tramite Timer Interrupt.

Come ho scritto nell'ultima frase della terza parte dell'articolo, mi trovavo di fronte ad un led semiacceso, eppure mi sembrava di avere scritto correttamente il codice! In MPLAB X IDE apro le proprietà del progetto, e nella configurazione seleziono in Hardware Tools la voce Simulator anzichè PICkit3 per provare a simulare il funzionamento del programma. Metto alcuni breakpoint nel codice per far fermare l'esecuzione del programma e dare un'occhiata alle variabili e ai registri prima di ripartire: il codice funziona bene.

Cosa c'è allora che non fa funzionare il circuito nella pratica?

Il giorno seguente, mentre sistemo un po' le finestre in Firefox dove tengo aperti i siti che sto consultando per imparare la programmazione dei PIC, la mia attenzione viene catturata da un Webinar (abbreviazione di Web Seminar, seminario on-line) della Microchip intitolato "Flash, Damned LED! Flash I say!" (lampeggia, dannato led! Lampeggia ho detto!).

[...]

pubblicato 10 anni fa, 754 visualizzazioni

Questa è la terza parte dell'articolo Lampeggio led tramite Timer Interrupt.

Decido di collegare il led da far lampeggiare al pin RA0.

Anzichè ripetere noiose pagine di codice, cerco di riassumere i principali passaggi evolutivi che ha avuto il mio codice:

Versione 1 imposto le porte A con questo codice: TRISA=0b00000001; che è sbagliato, perchè così il pin RA0 viene configurato come input; copio e incollo il codice ottenuto con il PicTimer; lo rendo compatibile col compilatore XC8 cambiando OPTION=0b00000001; in OPTION_REG=0b00000001; precarico il Timer0 usando il valore con correzione suggerito da PicTimer; nella routine di interrupt scrivo il codice per controllare la sorgente dell'interrupt e azzerare il timer overflow (o meglio il Timer0 Interrupt Flag T0IF). [...]

pubblicato 10 anni fa, 627 visualizzazioni

Questa è la seconda parte dell'articolo Lampeggio led tramite Timer Interrupt.

I valori tipici: quante piccole maledizioni ho lanciato ai miei Professori universitari quando parlavano di una grandezza fisica di un componente elettrico, di un sistema, di un processo, e non ne svelavano mai i valori usualmente riscontrati nella pratica! Dateci un'idea di quanto vale 'sto benedetto parametro! E invece... niente!

Nel nostro caso però abbiamo tutta la teoria disponibile per ragionare e fare calcoli e trovarceli da soli i valori tipici del Timer0 overflow. Allora ragioniamo un po' su un PIC che viene fatto lavorare alla velocità di 4 MHz da un quarzo esterno. Il concetto basilare da ricordare è che il Timer è un contatore che conta con un tempo scandito dalla velocità di clock, normalmente conta una unità ogni 4 cicli di clock.

[...]

pubblicato 10 anni fa, 1.045 visualizzazioni

Durante le vacanza natalizie ho proseguito lo studio dei PICMicro e della loro programmazione seguendo l'ottimo corso di settorezero.com scritto da Giovanni Bernardo ed ho comprato un PIC16F876.

Ho studiato cosa vuol dire interrupt: è un evento di varia natura (ce ne sono diversi) che quando si scatena, se abilitato, fa interrompere al PIC l'esecuzione del programma principale e lo fa passare all'esecuzione di un'altra routine, spesso chiamata Interrupt Service Routine (abbreviata ISR).

Ho scoperto che ce n'è uno sul timer (nel dettaglio il Timer0) interno al PIC.

Ho letto che il timer è un contatore a 8 bit, (2 elevato 8 = 256) cioè conta da 0 fino a 255 e poi torna a 0 e riparte; quando questo accade si può far generare un interrupt. Il timer conta con un tempo scandito dalla velocità di clock, normalmente conta una unità ogni 4 cicli di clock.

[...]

pubblicato 10 anni fa, 1.964 visualizzazioni

Ultimamente ho ripreso lo studio dei PIC grazie agli articoli che FrancescoFP ha scritto per introdurci al mondo dei PICmicro: sono interessanti e adatti ai principianti perchè vengono spiegati tutti i passaggi senza dare nulla per scontato.

Ho voluto realizzare il primo programma seguendo due articoli che spiegano come accendere due LED alla pressione di due pulsanti:

Let's start! Il primissimo programma 1a parteLet's start! Il primissimo programma 2a parte

Ma non è filato tutto liscio al primo tentativo perchè:

ho incontrato delle difficoltà ho commesso degli errori ho apportato delle modifiche perchè non sempre si può, o si vuole, seguire al 100% le spiegazioni di un articolo

In particolare ho voluto usare un PIC16F84A anzichè il PIC16F887 perchè diversi anni fa mi avevano regalato qualche PIC16F84A ed anche perchè FrancescoFP stesso scrive "Qualsiasi PIC potrebbe andare bene, in quanto quello che dobbiamo fare è semplicissimo!".

[...]

pubblicato 11 anni fa, 781 visualizzazioni

Di seguito potete guardare delle foto che ho scattato durante l'esecuzione di alcuni test su un cavo AT, se non ricordo male era un cavo da 150 kV. Nella prima e nella seconda foto vediamo i vari strati e materiali che compongono il cavo, dalla guaina esterna, all'armatura, allo schermo metallico, allo strato semiconduttivo e al conduttore. Nella terza sono mostrate le misure dimensionali sullo spessore dei materiali e conteggio dei cavi costituenti lo schermo. Nella quarta e nella quinta prove elettriche sul cavo. Quindi nella sesta analisi dimensionali. Nella settima i collari di fissaggio. Quindi il test di allungamento del materiale sottoposto a trazione. Infine una delle fasi di produzione e le bobine in magazzino.

[...]

pubblicato 12 anni fa, 1.905 visualizzazioni

Allacciandomi all'idea proposta nell'articolo album elettrico ecco alcune mie foto di sottostazioni elettriche: trasformatori in cabina primaria, stalli con sbarre, sezionatori, interruttori, ecc. [...]
1

Chi sono

ildani - profilo

Nome: Danilo B

Reputation: 1.565 4 10

I miei ultimi post dal forum

Vai al Forum


Cerca nel blog di ildani