Fab-O-Matic: prototipo breadboard con ESP32

Il progetto Fab-O-Matic ha lo scopo di gestire l’accesso alle macchine del Fab Lab e la loro manutenzione. Dal 2021, in prospettiva di questo progetto, ai soci del FabLab è fornita una tessera con chip RFID integrato. Per realizzare questo progetto, useremo una scheda elettronica basata su esp32 con lettore RFID.

L’idea è nata nel 2021, da alcuni soci che hanno posto le basi tecnologiche del progetto: l’ambiente embedded ESP32 in linguaggio C++ con framework Arduino, un chip RFID MFRC522, un back-end in Python per la gestione del database, l’uso del protocollo MQTT.

Proponiamo una serie di articoli a scopo didattico, per documentare il processo di realizzazione di simili progetti.

  • Intro & prototipo breadboard (parte I, questo articolo)
  • Prototipo millefori e scatola FreeCAD (parte II)
  • Progettazione PCB (parte III)
  • Schema elettrico e note di progettazione (parte IV)
  • Sponsorship OpenHWLAB e PCB assemblato (parte V)
  • Il software embedded (parte VI)
  • Il software del back-end (parte VII)
  • La qualità del software (parte VIII)
  • La messa in funzione del sistema nel Lab (parte IX)

Tutto il progetto software è open-source, non richiede software proprietari ed è consultabile su Github. Il progetto hardware è interamente documentato su OpenHWLabs.

Speriamo che questi articoli vi daranno la voglia di creare i vostri circuiti, e vi aspettiamo in Lab per aiutarvi !

La scelta dei componenti

Il progetto è partito con le schede e componenti disponibili nella nostra sezione elettronica. Data la necessità di disporre di un database di utenti abilitati e dello storico delle macchine, era chiaro fin dall’inizio la necessità di una scheda elettronica con funzioni di comunicazione WiFi o simile. L’ESP32 è un microprocessore molto popolare, programmabile anche con l’IDE Arduino.

La soluzione più versatile per comandare un’utenza è un modulo Relay, che può essere usato come interruttore di alimentazione macchina, o per dare un segnale di consenso alla partenza della macchina.

Come display, si è scelto un modulo LCD 16 caratteri x 2 righe, retroilluminato, che è molto popolare nelle applicazioni Arduino e disponibile negli stock del FabLab.

L’elenco dei materiali è dunque il seguente:

Microprocessore con WiFi (ESP32)Facoltativi ma utili:
Modulo relay Arduino per controllare la macchinaNeoPixel (o LED) per vedere lo stato della macchina
Modulo lettore RFID basato su MRFC522Buzzer, per avvertire l’utente
Display LCD 1602 su modulo, serialeAlimentatore step-down a 5V

Una prima particolarità di questo circuito è che alcuni componenti necessitano 5V (LCD 1602, NeoPixel) mentre il microprocessore e il lettore RFID funzionano a 3.3V. Per rispondere a questa necessità è possibile usare una cosidetta devboard alimentata con la porta USB a 5V : molte di queste devboard espongono ai lati pins di connessione con 5V (ottenuto dalla porta USB) e 3V3 (che generano tramite il componente LDO a sinistra del pulsante RST nell’immagine sotto).

In fine, il costo di una simile devboard ESP32 è compreso fra 4 e 10 eur (esempio), e questo la rende un’opzione interessante per realizzare le varie board del FabLab.

Development kit ESP32

Primo prototipo con “breadboard”

Una volta scelti i componenti, si è sperimentato su breadboard per testare il funzionamento. È una tappa molte importante, perché le idee creative nascono molto più facilmente con un prototipo in mano!

Prototipo su breadboard a fine 2023

Ecco un prototipo di Aprile 2023, comprende il modulo RFID in alto a destra (montato al rovescio), un modulo LCD 1602 pilotato con segnali seriali e una board devkit esp32 alimentata da cavo USB. Sulla foto manca il modulo relay Arduino necessario per comandare la macchina.

In questa fase della progettazione, non sono necessarie conoscenze particolari di elettronica, perché si trovano molti articoli e esempi di collegamenti fra i moduli e ESP32 online. In caso di errore, è molto rapido spostare un cavo e procedere con prova-errore.

Grazie alla sperimentazione, è stato valutato di aggiungere un buzzer (per dare un ritorno immediato al passaggio della tessera, e evitare che l’utente la mantenga premuta) e un indicatore luminoso (per valutare lo stato della macchina immediatamente).

Questo circuito era funzionante, in particolare non ci sono stati problemi con il bus SPI di comunicazione fra ESP32 e MRFC422 a 400 kHz. Tuttavia, anche se le breadboard sono strumenti fantastici di educazione e sperimentazione, hanno alcuni inconvenienti per la nostra applicazione.

Questo circuito con i vari moduli è piuttosto ingombrante, necessita molti fili di interconnessione che si staccano facilmente e non è possibile posizionare i componenti fronte-retro. Queste limitazioni generano ulteriore difficoltà quando si vuole fare una scatola di contenimento attorno al prototipo.

Conclusione prima parte

In questo primo articolo abbiamo visto una prima tecnica di prototipazione, la breadboard. Per realizzare una soluzione robusta, per un’applicazione che deve funzionare “sempre”, in un luogo frequentato dal pubblico, serve cambiare tecnica.

Nel prossimo articolo, vedremo come ovviare a questi problemi con una scheda millefori.

Add Comment

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. Per maggiori informazioni.

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo. Privacy Policy di FABLAB BERGAMO

Chiudi