Questo circuito è una semplice piattaforma didattica pensata per sperimentare soluzioni hardware e software basate sul PIC18. E' un'evoluzione del PICdemo, con il quale condivide le funzioni base e la compatibilità software e, parzialmente, meccanica.
Esso include:
La scelta di questo microcontrollore ha soprattutto due ragioni:
Il motivo che mi ha portato a realizzare questo circuito è in realtà più ambizioso: è stato infatti un banco di prova per realizzare industrialmente un circuito stampato a montaggio superficiale utilizzando come software di progettazione KiCad.
Se siete interessati all'utilizzo di USB anche per la trasmissione dati, è disponibile PIC-USB
A fondo pagina potete scaricare lo schema elettrico, il PCB ed il software di test ed esempio.
Il circuito è semplice anche se la sua eventuale realizzazione su breadboard potrebbe essere resa difficoltosa dal fatto che alcuni componenti non sono disponibili in contenitore DIP. Di seguito il disegno dello schema elettrico.
Il circuito è pensato per essere alimentato dal PC tramite PICkit oppure un altro ICD, opzione comoda durante lo sviluppo del software.
E' inoltre disponibile un connettore USB, non abilitato alla trasmissione dati, ma utile solo per alimentare il circuito. In questo secondo caso:
Il LED D2 indica semplicemente la presenza dell'alimentazione.
Questa sezione è identica a quella del circuito PICdemo, alla cui pagina si rimanda per la descrizione
Sono presenti 10 LED a disposizione dell'utente, ciascuno in serie ad una resistenza:
I LED da 0 a 7 sono pilotati attraverso un buffer ad alta impedenza e possono quindi essere utilizzati per visualizzare sia i segnali in uscita che quelli in ingresso a PORTC, senza doversi preoccupare dell'assorbimento di corrente. Nel caso in cui un pin di PORTC sia configurato come ingresso e al pin corrispondente non sia collegato alcun segnale, lo stato del LED corrispondente è casuale: in genere è lampeggiante in modo irregolare.
Durante la programmazione, i LED lampeggiano in modo irregolare.
Questa sezione è identica a quella del circuito PICdemo, alla cui pagina si rimanda per la descrizione
Questa sezione è molto simile a quella del circuito PICdemo, alla cui pagina si rimanda per la descrizione
Tale connettore permette di collegare un circuito stampato esterno. Esso rende disponibili oltre alle alimentazioni, sei segnali di PORTC ed in particolare quelli associati alle interfacci I2C, SPI e UART:
Al momento non ho pubblicato applicazioni hardware o software che ne fanno uso, ma il connettore è stato testato con successo con i moduli di ricetrasmissione radio nRF24L01+.
Questa sezione è identica a quella del circuito PICdemo, alla cui pagina si rimanda per la descrizione
Sul lato posteriore del circuito stampato è opzionalmente possibile saldare un modulo Bluetooth slave HC-04 oppure HC-06. L'immagine seguente mostra il "lato B" del circuito stampato, con e senza il modulo saldato.
Il modulo è facilmente reperibile sui siti di vendita online e in molti negozi di componenti elettronici per hobbisti.
Il LED D12 permette di conoscere lo stato del modulo BT:
I tre jumper JP1, JP2 e JP3 permettono:
Se il modulo BT è assente, la posizione dei jumper è indifferente
Questo circuito è compatibile "in avanti" con il PICdemo. Il software di test, nel caso in cui non si utilizzi il modulo Bluetooth, è quindi adeguato per effettuare la verifica del corretto funzionamento dei LED, degli interruttori e dei potenziometri..
Il codice riportato a fondo pagina permette di verificare il funzionamento degli interruttori, dei potenziometri e dei LED presenti sulla scheda attraverso il modulo Bluetooth.
Il software, scritto utilizzando MPLAB® Code Configurator, permette:
Dal lato host serve un emulatore di terminale seriale standard, connesso al trasmettitore Blutooth del PC o del telefonino. Il test è stato effettuato con BlueTerm per Android oppure con PuTTY/CuteComm per PC.
Di seguito cosa viene mostrato utilizzando PuTTY con windows 8.1. Con altri sistemi operativi ed altri programmi la situazione è analoga. Qui un esempio con RaspberryPi in configurazione head-less
Ciascuna riga è trasmessa circa 25 volte al secondo e mostra, nell'ordine:
I LED da 0 a 5 vengono gestiti digitando sul terminale le lettere comprese tra A ed F:
Eventuali caratteri diversi sono ignorati.
D1... D12 | LED SMD | |
C1, C3, C4, C5 | 100 nF SMD | C3 è montato sul "lato saldature" |
C2, C5 | 10 uF SMD, elettrolitico | |
JP1, JP2, JP3, JP8, JP9 | Pin header 2x1, passo 2,54 mm | Vedi testo |
P1 | Pin header 24x1, passo 2,54 mm | Da montare sul "lato saldature" |
P3 | Pin header 2x1, passo 2,54 mm | Da montare sul "lato saldature" |
P4 | Pin header 3x1, passo 2,54 mm | Opzionale (e sconsigliato) |
P5 | Connettore mini USB SMD | |
P6 | Pin_header 6x1 ad angolo (oppure 8x1) | Vedi testo |
J1 | Pin header 1x1 | |
R1, R2, R3, R5, R6, R7 | 1 KΩ * | |
R4 | 27 KΩ * | Microchip consiglia tra 10K e 40K |
R8... R17, R19 | 470 Ω * | Regolano la luminosità dei LED. 220R... 1K |
RV1, RV2 | Trimmer lineare, 4,7 KΩ | |
SW1 | Dip switch quadruplo | |
SW2 | Pulsante | |
U1 | Modulo Bluetooth HC-04 | |
U2 | PIC18F2xK20 DIP | Montato su zoccolo |
U3 | 74HC541 SMD | |
U4 | LM2937 SMD |
I valori dei componenti passivi indicati con un * sono non critici.
Il circuito è stato progettato come doppia faccia con fori metallizzati ed include componenti a montaggio superficiale; si tratta quindi di un oggetto non realizzabile facilmente in casa dall'hobbista. L'alternativa praticabile è la realizzazione industriale, presso aziende specializzate nella costruzione di prototipi. Come già scritto, questo "esperimento" è stato un motivo forte che ha portato alla realizzazione del circuito. Qui altri dettagli.
Per realizzare questo circuito è necessario disporre dei seguenti file o documenti:
Ultima modifica di questa pagina: 6 febbraio 2017
PICdemo R2 - Versione 1.1 - Luglio 2015
Copyright © 2015, Vincenzo Villa - https://www.vincenzov.net
PICdemo R2 di Vincenzo Villa è distribuito con Licenza Creative Commons Attribuzione 4.0 Internazionale