# Il firmware nuovo per la nostra pick & place, e un errore di piazzamento sceso di cinque volte | OneStack

> Caso studio: abbiamo sostituito il firmware del controllore di una pick & place da banco per farla lavorare con OpenPnP. Oggi monta i nostri prototipi.

URL: https://www.onestack.it/casi-studio/pick-and-place-openpnp

[← Tutti i casi studio](/casi-studio)R&D interna · laboratorio

# Il firmware nuovo per la nostra pick & place, e un errore di piazzamento sceso di cinque volte

Il laboratorio è nato con una pick & place da banco chiusa e poco precisa. Ne abbiamo sostituito il firmware del controllore per farla lavorare con OpenPnP e l'abbiamo calibrata ugello per ugello. È ancora la macchina con cui montiamo i prototipi.

![Render 3D di una scheda di controllo per pick & place: microcontrollore STM32F4, driver dei motori passo-passo e connettori per assi, vuoto, luci e feeder](/_astro/controller-pnp.3whQaHFS_ZhBMRk.webp)![](/_astro/controller-pnp-xray.CMO0PqBP_1JH2KI.webp)

0,194 → 0,036 mm

errore di piazzamento, prima e dopo la calibrazione

0402

passivi piazzati in automatico

Architettura dopo la conversione

**File di montaggio**BOM e coordinate dal CAD

**OpenPnP sul PC**job · fiducial · visione

**Camere USB**dall'alto e dal basso

**Firmware del controllore**STM32F4 bare-metal · G-code su UART

**Meccanica**assi · camma Z · vuoto · feeder

## Il contesto

Il nostro laboratorio è partito con una pick & place da banco. La macchina aveva un firmware chiuso, si programmava solo dal touch screen e non aveva nessun collegamento con il PC. Ogni scheda andava reimpostata a mano e la precisione non bastava per i passivi più piccoli.

## Il problema

Sostituire il firmware di una macchina in produzione vuol dire toccare motori, vuoto e camere senza documentazione del costruttore. Un errore può bloccare la macchina o danneggiare la testa. E una volta riprogrammata, la precisione dipende da come si calibra: un modello del movimento sbagliato di pochi centesimi basta per spostare un 0402 dal pad.

## Le scelte tecniche, e perché

**Prima il backup, poi il resto.** Abbiamo salvato il firmware originale e verificato la protezione della memoria prima di qualsiasi scrittura, così la conversione restava reversibile.

**Un firmware bare-metal che parla G-code.** Siamo partiti da un progetto open source per il controllore STM32F4 e lo abbiamo esteso. La macchina riceve comandi G-code sulla seriale che prima andava al display, e il PC con OpenPnP diventa il suo pannello di controllo: i job arrivano direttamente dai file del CAD.

**Asse Z a camma gestito nel firmware.** I due ugelli condividono un solo motore che ruota una camma. La conversione tra quota lineare e rotazione la fa il controllore, così per OpenPnP l’asse resta un asse normale.

**Camere nuove e visione dal basso.** Le camere originali elaboravano l’immagine a bordo e non erano accessibili. Le abbiamo sostituite con camere USB: ogni componente viene fotografato sull’ugello e corretto in posizione e rotazione prima di essere posato.

**Calibrazione ugello per ugello.** L’errore residuo non era casuale: i due ugelli spostavano i pezzi in direzioni opposte. Lo abbiamo misurato a 12 angoli diversi e corretto separatamente per ciascun ugello, e abbiamo portato il fuoco della camera alla quota di posa.

## Come l’abbiamo verificato

-   Misura dell’errore di piazzamento con la camera della macchina, a ogni giro di correzione, su pad e componenti reali.
-   Ripetibilità del controllo dei fiducial sulla scheda.
-   Pausa di verifica dopo ogni allineamento durante la messa a punto, con rimisura sullo stesso pezzo.

## Il risultato

L’errore di piazzamento è sceso da **0,194 a 0,036 mm**, sotto la risoluzione della camera, con passivi fino al formato **0402**. La macchina è ancora quella con cui montiamo i prototipi: i job partono dai file di progetto, senza reimpostare nulla a mano.

## Cosa portiamo nei vostri progetti

Firmware bare-metal su STM32, controllo di motori e attuatori, protocolli seriali, e il metodo con cui abbiamo trovato l’errore: misurare, separare le cause e correggerle una alla volta.

## Servizi

-   Sviluppo firmware

## Tecnologie

-   STM32F4
-   Bare-metal
-   G-code su UART
-   OpenPnP
-   Visione dal basso
-   Calibrazione per ugello

## Altri casi studio

[

![Render 3D della scheda di controllo: microcontrollore al centro, connettori dei due canali isolati sul lato, morsettiere estraibili e connettori di alimentazione e servizio](/_astro/interfaccia-rugged.CkQk4iYb_1A6Ozp.webp)![](/_astro/interfaccia-rugged-xray.CZb6dpZZ_Z1kxhOu.webp)

23 test in ~75 s

Sistemi per ambienti gravosi

### Un'interfaccia rugged che si aggiorna sul campo e non si blocca mai

Un'unità portatile a batteria che alimenta e controlla due dispositivi remoti su canali isolati. La difficoltà era renderla affidabile lontano dal laboratorio. Il firmware si aggiorna sul campo e, se qualcosa va storto, torna da solo all'ultima versione funzionante.

Leggi il caso →

](/casi-studio/interfaccia-rugged-ota)[

![Render 3D del banco di misura: il sensore sotto test e tre schede dentro un involucro in alluminio anodizzato nero, con due connettori BNC e un connettore M12](/_astro/banco-sensore-capacitivo.DpjM9RDJ_2dpT9y.webp)![](/_astro/banco-sensore-capacitivo-xray.CdoncSBR_Z1LXalp.webp)

~1,4%

Collaudo per sistemi ad alta affidabilità

### Il metodo di collaudo non avrebbe funzionato. Lo abbiamo scoperto prima di costruirlo

Un banco che dice in pochi secondi se un sensore di campo elettrico funziona, misurando in aria capacità di pochi picofarad. Il metodo previsto all'inizio è stato scartato con le misure, prima di spendere in hardware.

Leggi il caso →

](/casi-studio/collaudo-sensore-capacitivo)[

![Render 3D della scheda dell'ancora Bluetooth Channel Sounding: SoC nRF54L15 con antenna chip, accelerometro, alimentazione da USB-C o da morsetto 12–24 V](/_astro/ancora-ble.Ckke5SRn_1319HC.webp)![](/_astro/ancora-ble-xray.yah8tbey_Z2nf2oG.webp)

3 livelli

Retail e grandi spazi pubblici

### Localizzazione indoor nei centri commerciali, senza raccogliere dati personali

Contare e seguire i flussi di persone in grandi spazi aperti al pubblico, e localizzare con precisione centimetrica solo ciò che serve. Un'architettura a tre livelli, ognuno con la tecnologia radio giusta.

Leggi il caso →

](/casi-studio/localizzazione-indoor)

## Hai una scadenza?

Raccontaci il progetto: entro 48 ore ricevi un’offerta con fasi e date. Se serve, firmiamo l’NDA prima di vedere i tuoi file.

[Chiedi un’offerta](/contatti)[Urgente? Chiama +39 030 535 7183](tel:+390305357183)
