Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

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

PICcoli grandi PICMicro

Tutorial, progetti e tanto altro ancora: per i PIC, ovviamente!


Gli ultimi articoli di Paolino

pubblicato 9 anni fa, 3.171 visualizzazioni

Spesso molti utenti di questo sito richiedono di poter disporre di molti canali PWM, ciascuno configurabile a piacere in termini di duty-cycle. Ora, diversi microcontrollori (compresi i PICMicro, ovviamente) dispongono di molteplici canali PWM ma per rimanere nella famiglia a 8-bit al più si arriva a 6 canali, tipicamente impiegati per applicazioni di elettronica di potenza, come inveter, chopper oppure SMPS. Volendo aumentare il numero di canali PWM è necessario mettersi di impegno e cercare di implementare una tecnica per sviluppare PWM soltanto con righe di codice: via software, insomma.

Non mi voglio dilungare troppo su cosa sia il PWM, tecnica di modulazione di ampiezza di un'onda quadra, impiegata per diversi scopi. In questo articolo ho già trattato l'argomento in relazione al PWM generato dai moduli hardware contenuti all'interno di un PICMicro. Rimando quindi alla lettura di quell'articolo per approfondire le tematiche relative.

[...]

pubblicato 9 anni fa, 3.234 visualizzazioni

Dopo aver visto, nel primo articolo di questa serie sugli LCD, le caratteristiche dei display alfanumerici attrezzati con il controller HD44780 di Hitachi, si prosegue con le modalità di interfacciamento e di comando.

Il controller HD44780 permette l'interfacciamento tra LCD e microcontrollore con un databus a 4 bit oppure a 8 bit. Al fine di limitare il numero dei pin del microcontrollore impegnati sul comando del display, in questo articolo si è preferito adottare la modalità a 4 bit, secondo lo schema seguente.

Per poter comandare il display, è importante agire tanto sul databus quanto sui bit di controllo: E, RS, R/W. Il controller HD44780 necessita di una ben precisa sequenza di comandi e di dati, con tempistiche da rispettare "alla lettera", pena il mancato funzionamento del progetto. Il flow chart del setup è illustrato in figura.

[...]

pubblicato 9 anni fa, 3.035 visualizzazioni

Dopo aver scritto diversi articoli, ritengo che sia il caso di iniziare a proporre qualcosa di un po' più "interessante" per la rassegna "Lo hai mai realizzato con un PIC?". Non che io creda che quanto pubblicato fino ad ora non lo sia stati, ma forse è il caso di proporre qualcosa di più accattivante. Nell'ottica di far precedere contributi propedeutici ad articoli più applicativi, voglio raccontare qualcosa sui display LCD. Ma come, un altro articolo sui display LCD? Sì, certo, cercando di porre l'accento su alcuni aspetti che secondo me sono rilevanti, tra cui l'utilizzo di un compilatore open source e la portabilità del codice. In questa raccolta si partirà con i display alfanumerici per poi, tempo permettendo, arrivare a quelli grafici.

[...]

pubblicato 9 anni fa, 2.710 visualizzazioni

Sono innumerevoli i prgetti di orologi digitali realizzati mediante dispositivi elettronici tradizionali o programmabili; il progetto di marco438, Uno "strano" OROLOGIO DIGITALE, è la dimostrazione di come con pochi componenti, tanta pazienza e buone basi di elettronica, si può arrivare ad ottenere un ottimo risultato. Quello che voglio proporre io è, per così dire, l'alter ego di quel progetto, visto in chiave PICMicro. Obiettivo di questo progetto è dimostrare come, con altrettanto pochi componenti, sia possibile creare un'applicazione divertente ed anche utile. Infatti, oltre a segnare l'ora, l'obiettivo è quello di realizzare una sveglia.

Si vuole realizzare un orologio digitale con queste caratteristiche:

[...]

pubblicato 9 anni fa, 1.946 visualizzazioni

Il mondo dei microcontrollori è invaso da compilatori di ogni sorta e qualità. Si è partiti con l'assembly (e gli assembler) per poi passare a linguaggi sempre più evoluti come il C. In ambito professionale è facile trovare compilatori più o meno costosi, più o meno performanti, più o meno ottimizzati. Fatte le dovute eccezioni, molte Case che producono i microcontrollori hanno a catalogo compilatori C forniti a un prezzo politico e sovente si appoggiano a software-house terze per lo sviluppo di compilatori ad hoc. Anche Microchip Technology dispone di compilatori C per il proprio parco prodotti: per i PIC18, i PIC24/dsPIC, i PIC32, Microchip ha un proprio prodotto, mentre per quanto concerne i PIC12 e PIC16, Microchip non ha mai sviluppato un proprio compilatore C, affidandosi al mercato. Sono così nati diversi compilatori C, tra cui quello sviluppato da HiTech, società facente ormai parte della galassia Microchip. A tutt'oggi, i compilatori C per Microchip sono, a tutti gli effetti, a pagamento, fatta eccezione per SDCC.In questo articolo voglio illustrare come iniziare a lavorare con SDCC, strumento utile allo studente ed all'appassionato che si avvicina al mondo dei microcontrollori e non vuole spendere centinaia di Euro per iniziare a sviluppare le prime applicazioni.

[...]

pubblicato 9 anni fa, 1.786 visualizzazioni

Nelle applicazioni a microcontrollore uno dei progetti cui ci si imbatte spesso, soprattutto per chi è all'inizio (ma non solo), è la realizzazione di un orologio digitale dotato di calendario. Il conteggio del tempo non è di per sé un affare complicato, avendo a che fare con sistemi dotati di oscillatori! Il primo approccio è quindi quello di usare il clock di sistema, dividerlo con vari prescaler e/o postscaler ed assegnare il conteggio ad un registro conta secondi: 60 secondi per un minuto, 60 minuti formano l'ora, 24 ore per un giorno, 365 (o 366) giorni per un anno, eccetera... Se poi ci mettiamo il conteggio dei mesi con la composizione della data (comprensiva dei giorni della settimana) il progetto "semplice" di un orologio digitale diventa invece abbastanza complicato. Con tutti i distinguo del caso.

[...]

pubblicato 9 anni fa, 2.949 visualizzazioni

Spesso, le applicazioni a microcontrolore si trovano a dover effettuare misure analogiche sulla tensione di batteria, per cercare di determinarne lo stato di carica. Nei casi più generali, la misura di per sé non rappresenta un particolare ostacolo; si tratta sostanzialmente di dare in pasto al modulo ADC del microcontrollore la tensione da misurare (opportunamente condizionata, qualora superi il massimo valore sopportabile dal convertitore analogico-digitale). La lettura della tensione, comparata nel firmware con una soglia limite, farà dichiarare la batteria carica o scarica, con conseguente invito alla sostituzione. Sembra tutto facile, certo. Ma a volte...

L'esempio che segue è impiega un PIC18F4520 ed il firmware è scritto in C, ma con un minimo sforzo è adattabile tanto ad altri PIC di qualunque famiglia (purché dotati di convertitore A/D) ed è facilmente traducibile in assembly. Proviamo a dare un'occhiata al seguente circuito:

[...]

pubblicato 10 anni fa, 2.711 visualizzazioni

Voglio raccontare la storia che mi ha portato a realizzare una lampada segna passo, una lampada notturna di tipo crepuscolare; niente di innovativo, idea per nulla originale. E allora perché raccontarla? Beh, perché è stata realizzata partendo da alcuni componenti che avevo in casa, uno in particolare è ricavato da una lampadina a basso consumo che ha deciso di smettere di funzionare. Inoltre (e forse questa è la vera ragione) è un pretesto per mostrare cosa si può fare con un PIC Micro, un LED ed una fotoresistenza, creando un articolo per la rassegna "Lo hai mai realizzato con un PIC?".

Un paio di anni fa ho sostituito una lampada a basso consumo a causa della cessazione del suo funzionamento. Svitata dal portalampada e inserita al suo posto una nuova e perfettamente funzionante, mi è venuta l'idea di aprirla e di vedere come era fatta.

[...]

pubblicato 10 anni fa, 10.301 visualizzazioni

Dopo l'articolo sulla conversione analogico-digitale, ritengo sia interessante approfondire un altro argomento con il quale spesso si deve fare i conti, ossia la tecnica PWM. Obiettivo di questo capitolo della rassegna "Lo hai mai realizzato con un PIC?" porterà il lettore a imparare a configurare il modulo CCP dei PICMicro in modalità PWM, andando a impostare la frequenza e il duty-cycle. Tutto questo per mettere lo sviluppatore di prendere la giusta dimestichezza.

PWM è l'acronimo di Pulse Width Modulation; si tratta di una tecnica di modulazione in ampiezza di onde quadre. Si tratta di una tecnica sperimentata tanto in telecomunicazioni quanto in elettronica di potenza; è probabilmente questo l'aspetto più interessante oggi: l'impego di PWM per pilotare transistor di potenza. Per capire come funziona il PWM, si consideri un segnale ad onda quadra, con frequenza pari a f. Per trasmettere un contenuto informativo, all'interno di ogni periodo, la tecnica si preoccupa di variare la durata dell'onda a valore alto rispetto al totale. In figura 1 è mostrato un classico esempio utile per capire come sia possibile inviare un alfabeto di simboli diversi; la figura mostra quattro possibili simboli di nove totali

[...]

pubblicato 10 anni fa, 6.014 visualizzazioni

Anche con i PICMicro, così come la maggior parte dei microcontrollori, è possibile acquisire segnali analogici e gestirli come valori digitali. Non voglio dilungarmi sull'importanza di poter trattare segnali analogici in ambito digitale, ma al lettore si richiede un minimo di dimestichezza con questi argomenti di base. In questo articolo si mostra come deve essere configurato il modulo ADC dei PICMicro, andando ad approfondire argomenti spesso consederati ostici. Dopo questa breve premessa, si va ad incominciare!

Molti PICMicro sono dotati di convertitore analogico/digitale (ADC, Analog-to-Digital Converter) tanto gli 8bit quanto i 16bit e i 32bit. Fornire uno schema univoco per capire come funziona il modulo ADC dei PIC è impresa assurda. Tuttavia ritengo che per i neofiti sia interessante approcciarsi ai PICMicro a 8 bit, dai 12F ai 18F, passando attraverso i 16F. Nonostante ci si concentri sulla sola famiglia a 8bit, il ventaglio di possibilità è ancora molto ampio ma è possibile comunque un approccio di tipo sistematico. Sebbene gli esempi e le considerazioni che seguiranno sono specifiche per PIC16F87Xa ed (alcuni) PIC12F, senza troppe difficoltà il lettore dovrebbe essere in grado di applicare quanto esposto a tutti i PICMicro a 8 bit dotati di modulo ADC.

[...]

Chi sono

Paolino - profilo

Nome: Paolo Rognoni

Reputation: 32.384 8 12 13

Bio: Da sempre con il pallino per l'automazione industriale e non, soprattutto se embedded e se con PICMicro. Playmaker e sciatore per passione. Con chitarra e voce mi diverto un sacco! Grande appassionato di: Star Wars, birre weiss, ElectroYOU!

Web: http://www.picexperience.it

I miei ultimi post dal forum

  • Tanti auguri

    Grazie grazie grazie davvero. A tutti. Un abbraccio. :D :D Paolo. 19:28

  • Tanti auguri

    Grazie mille :D Ciao. Paolo. 19:28

  • Tanti auguri

    Grazie mille, Zeno. Un abbraccio anche a te! :D Ciao. Paolo. 19:28

  • Tanti auguri

    Grazie mille anche a te, IsidoroKZ :ok: In solitaria no, ho già fatto la mezza maratona in solitaria (in cortile) durante il lockdown. Mi è... 19:28

  • Tanti auguri

    Grazie mille, ragazzi! :D :D Un forte abbraccio. Paolo. 19:28

  • STM32 demoboard e compilatore

    Grazie mille. Proverò con Atollic e credo la Nucleo. Ciao. Paolo 19:42

  • STM32 demoboard e compilatore

    Ciao a tutti. Nel mio passaggio a STM32 (al lavoro sto sviluppando con Cortex-M0 e Keil con licenza aziendale), vorrei dilettarmi un po' a casa.... 19:42

  • problema IF mplab x pic16

    Ciao lorenzo01 . Leggendo il datasheet, è indicato che la porta PORTA è inizialmente imposata come ANALOG, quindi devi dire al micro che la vuoi... 20:16

  • Buone Feste ElectroYouviani ..

    Buon Natale e felicissimo anno nuovo a tutti! Un abbraccio sincero, Paolo. 14:26

  • Big Compleanno!

    Auguri, IsidoroKZ BUON COMPLEANNO :ok: :ok: :ok: =D> =D> =D> Ciao. Paolo. 19:38

Vai al Forum


Cerca nel blog di Paolino