Display proto board

Scheda di prototipazione per PIC16F e PIC18F


Ultimo aggiornamento: 18/03/2022


Tutto il materiale, dove non diversamente specificato, è coperto dalla licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo.
Creative Commons License

PROGETTO
Scheda di prototipazione per PIC16F e PIC18F

AUTORI
Walter Lain

CARATTERISTICHE
Questo progetto è iniziato come un semplice fork di una piccola scheda con display+pulsanti che ho realizzato per motivi di lavoro. In seguito, durante un anno intero di pensieri, ho deciso di migliorarla. La scheda iniziale aveva un'alimentazione semplice a LDO e un singolo I/O disponibile, niente comunicazioni ne altro. Era equipaggiata con un "piccolo" PIC16F15344, di cui la maggior parte degli I/O erano utilizzati per l'interfaccia a 8 bit del display. Per farla semplice, era una scheda disegnata espressamente per un unico scopo preciso.
Ho iniziato ragionando sull'utilizzo di un MCU più dotato, come il PIC16F15376, lasciando tutto il resto uguale, ma poi mi sono reso conto che alcune altre famiglie recenti di PIC16 e PIC18 condividono la stessa piedinatura e sistema di mappatura dei pin. Ho studiato più a fondo la questione, e ho deciso di farla diventare una scheda di prototipazione per quanti più MCU diversi mi fosse possibile. Volevo una linea di comunicazione (RS-485) e meno pin occupati dal display, quindi ho convertito il bus del display da 8 a 4 bit, e ho aggiunto un piccolo circuito opzionale per permettere accensione/spegnimento/dimmerazione della retroilluminazione. Ho anche deciso, dato che deve essere usata per prototipazione, di sostituire gli LDO con un sistema di alimentazione switching più potente. Alla fine ne ho messi due, uno da 12V-2A e uno da 5V-2A. Dato che una delle famiglie PIC18 compatibili ha un modulo CAN, ho anche aggiunto la relativa circuiteria. Infine, ho preso ogni singolo pin di I/O e l'ho reso disponibile su terminali posti vicino ad un'area di 32x30 piazzole a saldare a foro passante con passo 2,54mm adatta alla prototipazione. Attorno a quest'area sono disponibili anche terminali per le alimentazioni a 24V (non regolata), 12V e 5V.

Le specifiche finali sono le seguenti:
  • Dimensioni: 100x150mm, scheda FR4 2 strati con spessore standard
  • Alimentazione: 24Vdc 2,5A
  • Alimentazioni sulla scheda: 12V 2A, 5V 2A
  • Comunicazioni: 1x RS-485, 1x CAN, entrambe con terminazione selezionabile
  • Display: LCD 2x16, interfaccia 4-bit standard HD44780, retroilluminazione controllabile
  • Pulsanti: 4 NA, disponibili come unico ingresso analogico
  • I/O: fino a 36 disponibili, di cui fino a 35 utilizzabili come analogici
  • Compatibilità MCU: PIC16F15375/76, PIC16F18875/76/77, PIC18F45/46/47 K42, PIC18F45/46/47 Q43, PIC18F46/47 Q83
  • Programmazione/debug: interfaccia standard PicKit/ICD mediante un connettore a 5 vie 90°

     
    PIC16F15375
    PIC16F15376
    PIC16F18875
    PIC16F18876
    PIC16F18877
    PIC18F45K42
    PIC18F46K42
    PIC18F47K42
    PIC18F45Q43
    PIC18F46Q43
    PIC18F47Q43
    PIC18F46Q83
    PIC18F47Q83
    Speed
    8MIPS
    8MIPS
    8MIPS
    8MIPS
    8MIPS
    16MIPS
    16MIPS
    16MIPS
    16MIPS
    16MIPS
    16MIPS
    16MIPS
    16MIPS
    FLASH
    14kb/8kw
    28kb/16kw
    14kb/8kw
    28kb/16kw
    56kb/32kw
    32kb/16kw
    64kb/32kw
    128kb/64kw
    32kb/16kw
    64kb/32kw
    128kb/64kw
    64kb/32kw
    128kb/64kw
    RAM
    1kb
    2kb
    1kb
    2kb
    4kb
    2kb
    4kb
    8kb
    2kb
    4kb
    8kb
    4kb
    12.5kb
    EEPROM
    0
    0
    256b
    256b
    256b
    256b
    1kb
    1kb
    1kb
    1kb
    1kb
    1kb
    1kb
    Storage Area Flash
    224b
    224b
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    I/O pins
    36
    36
    36
    36
    36
    36
    36
    36
    36
    36
    36
    36
    36
    8bit timers with HLT
    1
    1
    3
    3
    3
    3
    3
    3
    3
    3
    3
    3
    3
    16bit timers
    2
    2
    4
    4
    4
    4
    4
    4
    4
    4
    4
    3
    3
    16bit CCP (10bit PWM)
    2
    2
    5
    5
    5
    4
    4
    4
    3
    3
    3
    3
    3
    10bit PWM
    4
    4
    2
    2
    2
    4
    4
    4
    0
    0
    0
    0
    0
    16bit dual PWM
    0
    0
    0
    0
    0
    0
    0
    0
    3
    3
    3
    4
    4
    Complementary Waveform Gen
    1
    1
    3
    3
    3
    3
    3
    3
    3
    3
    3
    3
    3
    Signal Measurement Timer
    N
    N
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    Numeric Controlled Oscillator
    1
    1
    1
    1
    1
    1
    1
    1
    3
    3
    3
    3
    3
    Configurable Logic Cells
    4
    4
    4
    4
    4
    4
    4
    4
    8
    8
    8
    8
    8
    10bit ADC (ch)
    35
    35
    35
    35
    35
    0
    0
    0
    0
    0
    0
    0
    0
    12bit ADC (ch)
    0
    0
    0
    0
    0
    35
    35
    35
    35
    35
    35
    35
    35
    5bit DAC
    1
    1
    1
    1
    1
    1
    1
    1
    0
    0
    0
    0
    0
    8bit DAC
    0
    0
    0
    0
    0
    0
    0
    0
    36
    1
    1
    1
    1
    Comparators
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    2
    Zero Cross Detect
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    High/Low voltage detector
    N
    N
    N
    N
    N
    S
    S
    S
    S
    S
    S
    S
    S
    Data Signal Modulator
    0
    0
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    1
    UART
    2
    2
    1
    1
    1
    2
    2
    2
    4
    4
    4
    3
    3
    UART+Protocol Support
    0
    0
    0
    0
    0
    0
    0
    0
    1
    1
    1
    2
    2
    CAN
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    1
    1
    SPI
    2
    2
    2
    2
    2
    1
    1
    1
    2
    2
    2
    2
    2
    I2C
    2
    2
    2
    1
    1
    1
    1
    1
    DMA
    0
    0
    0
    0
    0
    2
    2
    2
    6
    6
    6
    8
    8
    Windowed Watchdog
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    16bit CRC
    N
    N
    S
    S
    S
    S
    S
    S
    S
    S
    S
    N
    N
    32bit CRC
    N
    N
    N
    N
    N
    N
    N
    N
    N
    N
    N
    S
    S
    Vectored Interrupts
    N
    N
    N
    N
    N
    S
    S
    S
    S
    S
    S
    S
    S
    Temperature Indicator
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    S
    JTAG Boundary Scan
    N
    N
    N
    N
    N
    N
    N
    N
    N
    N
    N
    S
    S
    Riferimenti



    La scheda può essere facilmente ordinata da produttori di piccoli lotti di PCB (come ad esempio JLC, Itead o Seed).
    I componenti sono tutti in tecnologia SMD tranne per l'MCU e poche altre parti. Questa scelta è stata fatta per permettere lo scambio rapido del MCU ogni qualvolta sia neccessario per cambiare progetto. Con un minimo di manualità e un saldatore decente, la scheda può essere assemblata a mano in un paio d'ore

    DOCUMENTI
    Tutti i files necessari per la produzione sono già compressi in questo file zip, quindi se volete potete semplicemente scaricarlo e mandarlo in produzione.
    Questa è la BOM completa con i codici d'ordine per Mouser, con le quantità esatte per una singola scheda.

    Progetto Kicad (occorrono alcune librerie reperibili qui)
    Software demo di base (Display e pulsanti)

    Documenti in formato PDF
    Schema elettrico
    PCB (tutti gli strati)
    Diagrammi per tutte le funzioni software
    Mappatura dei PIN per gli MCU compatibili

    La scheda può essere utilizzata in qualunque modo nell'ambito della licenza CC-BY-NC-SA. Tuttavia, se avete intenzione di utilizzarla per qualsiasi cosa al di fuori di una scheda di prototipaggio hobbistica, vi suggerisco di verificarla con molta attenzione. Il circuito è stato testato in tutti i modi possibili, ma non posso garantire che funzioni sempre e in tutte le condizioni.

    Per favore non chiedetemi se posso vendere kit o parti o qualunque altra cosa. La risposta è NO, perché non sarebbe conveniente per voi. Se non potete assemblarla da voi, alcuni dei fornitori di PCB che ho linkato sopra possono anche assemblare le schede per voi, oppure potete chiedere a qualche laboratorio di elettronica dalle vostre parti.


    Impaginazione by KCS'81