Sviluppo di un’interfaccia touchscreen per il controllo del processo di asciugatura di materiale plastico

Sviluppo di un’interfaccia touchscreen per il controllo del processo di asciugatura di materiale plastico

Matdry: un software embedded sviluppato con librerie QT per un controllore custom

CLIENTE:

Project Engineering

L’esigenza

Project Engineering srl è un’azienda manifatturiera leader che da oltre 25 anni progetta e realizza dispositivi elettronici nell’ambito dei Controllori Custom e Sistemi di test e Apparecchi medicali. Per conto di una multinazionale loro cliente , ha realizzato un controllore custom per la gestione del processo di asciugatura del materiale plastico all’interno del ciclo produttivo di semilavorati ottenuti per pressofusione.
L’azienda, specializzata nello sviluppo di soluzioni Linux embedded con Qt/QML, ha richiesto il nostro contributo per sviluppare il software embedded in collaborazione con il proprio team di sviluppo. A noi è stato affidato la parte dell’interfaccia uomo macchina (HMI – HUMAN-MACHINE INTERFACE) e la parte di interazione con il controllore dell’impianto, sviluppato da Project Engineering.

 

La soluzione

La specifica fornita dal cliente era composta dal set di mockups realizzati con il tool Figma. Il nostro compito è stato quello di realizzare il software GUI in modo tale da avere un look&feel più vicino possibile a quello dei mockups. Le schermate che abbiamo realizzato sono state circa 70. All’interno di ciascuna di esse erano presenti diversi widget (buttons, dropdown list, tabelle, finestre di allarme, ecc.) e, molto spesso, gli stessi widget sono stati utilizzati in più punti del software con delle piccole differenze tra una schermata e l’altra. Le sfide che abbiamo affrontato in questo progetto sono state:

  1. Generalizzare al massimo il codice di ciascun widget in modo tale da poter riutilizzare lo stesso componente in tutte le schermate in cui era presente. Questo approccio ci ha permesso di realizzare un codice estremamente ottimizzato e facilmente manutenibile, a favore del rispetto dei tempi di consegna e della qualità del prodotto realizzato.
  2. Restare fedeli ai mockups dovendo però adattare il funzionamento degli widget alle logiche previste dal software di controllo che, molto spesso, non risultavano essere allineate.

Abbiamo organizzato il processo di sviluppo secondo la metodologia Agile (Scrum): il lavoro è stato suddiviso in sprint bisettimanali al termine dei quali abbiamo inviato il report sulle attività svolte ed una versione incrementale e testabile del software, in modo da consentire a Project Engineering di valutare lo stato di avanzamento del progetto. Il codice sorgente è stato mantenuto su un repository Git condiviso.

 

I vantaggi

I vantaggi raggiunti al nostro contributo sono stati:

  • Look&feel del software fedele ai mockups di design: in questo modo il prodotto realizzato ha avuto un’ottima usabilità
  • Consegna del software nei tempi prestabiliti: l’approccio Agile Scrum è stato fondamentale per raggiungere questo obiettivo
  • Efficienza ed ottimizzazione del codice sviluppato: la generalizzazione del codice dei singoli widget ci ha permesso di evitare duplicazioni deleterie per la manutenibilità dello stesso.

Vuoi sviluppare un nuovo software su misura o un software embedded?

Operiamo a Pistoia, Firenze, Prato, Pisa, Livorno, Bologna, Piacenza, Milano e in tutta Italia

La richiesta

  • Sviluppo di un software embedded HMI per il controllo del processo di asciugatura del materiale plastico per stampi in pressofusione in collaborazione con il team di sviluppo del cliente

Il nostro contributo

  • Sviluppo del software GUI secondo il look&feel dei mockups realizzati dal team di design e della parte di interfaccia verso il modulo di controllo realizzato da Project Engineering
  • Gestione del processo in modalità Agile Scrum con sprint bisettimanali

Tecnologie usate

  • ARM based HMI con micro i.MX6ULL 
  • SO Linux Embedded 
  • librerie QT5
  • linguaggio di programmazione C++, QML, Javascript

Risultati raggiunti

  • Look&feel del software fedele ai mockups di design
  • Consegna del software nei tempi prestabiliti
  • Efficienza ed ottimizzazione del codice sviluppato

La testimonianza

Il progetto relativo all’essiccatore per granulati plastici è stato il nostro secondo progetto sviluppato con Kiwibit, in linguaggio C++ in ambiente Linux su hardware ARM. Anche in questo progetto abbiamo raggiunto gli obbiettivi prefissati sia in termini tecnici che temporali, nonostante che durante lo sviluppo siano emerse significative modifiche ai requisiti che ci hanno costretto a riformulare la pianificazione del lavoro. L’utilizzo di metodologia Agile ha sicuramente contribuito a gestire la situazione, ma sono le persone che fanno la differenza ed in questo Kiwibit si è confermato un ottimo partner.

Ing. Marco Del Nero

R&D Controllers Manager, Project Engineer

Software di collaudo della HMI di controllo per abbattitori termici | ALI Tst

Software di collaudo della HMI di controllo per abbattitori termici | ALI Tst

Realizzazione software embedded di collaudo su controllore custom per abbattitori termici

CLIENTE:

Project Engineering

L’esigenza

Project Engineering srl è un’azienda manifatturiera leader che da oltre 25 anni progetta e realizza dispositivi elettronici nell’ambito dei Controllori Custom e Sistemi di test e Apparecchi medicali. Per un loro cliente ha sviluppato un controllore custom e ci ha commissionato il software di collaudo della HMI di controllo per abbattitori termici.

 

La soluzione

Il software da realizzare era diviso in una parte di GUI con delle schermate relativamente semplici ed una parte di business logic articolata in una serie di macchine a stati, ciascuna relativa a uno dei test necessari al superamento del collaudo del dispositivo. Solitamente, per questo genere di sviluppo, Project Engineering realizzava la business logic interamente C++ per garantire i requisiti di RAM (<= 128MB) del dispositivo fisico.

In questo progetto abbiamo proposto al cliente un approccio differente, ovvero lo sviluppo della business logic in linguaggio Javascript.

La sfida è stata quella di riuscire ad adottare questo approccio, utilizzando un linguaggio di programmazione di alto livello, quindi potenzialmente meno efficiente in termini di consumo di risorse, su un hardware dalle capacità di memoria RAM limitata. Per poter dare una risposta veloce al cliente sulla fattibilità della nostra soluzione abbiamo iniziato a sviluppare la macchina a stati del test di collaudo più complesso del set. In questo modo abbiamo realizzato uno Smoke Test che, in circa una settimana, ci ha confermato la fattibilità della soluzione proposta e offerto uno strumento di sviluppo più veloce e intuitivo rispetto all’utilizzo del C++.

Abbiamo organizzato il processo di sviluppo secondo la metodologia Agile (Scrum). Il lavoro è stato suddiviso in sprint bisettimanali al termine dei quali abbiamo inviato il report sulle attività svolte ed una versione incrementale e testabile del software, in modo da consentire a Project Engineering di valutare lo stato di avanzamento del progetto.

Il codice sorgente è stato mantenuto su un repository GIT condiviso.

 

I vantaggi

Le scelte progettuali descritte ci hanno garantito accesso ai vantaggi offerti dal JavaScript, in quanto linguaggio di più alto livello rispetto al C++, interpretato, a tipizzazione dinamica e con supporto a un paradigma dichiarativo-funzionale.

In particolare, una soluzione ha prodotto i seguenti risultati strategici:

  • Tempi di sviluppo del software più brevi: la scrittura delle logiche in Javascript è risultata più veloce
  • Manutenzione del software a lungo termine: accesso a un maggior bacino potenziale di sviluppatori (la cui maggioranza ha familiarità col JavaScript ma non col C++), con conseguente maggior probabilità di garantire adeguato supporto al software nel lungo termine.
  • Consegna del software nei tempi prestabiliti: l’approccio Agile Scrum è stato fondamentale per raggiungere questo obiettivo

Vuoi sviluppare un nuovo software su misura?

Operiamo a Pistoia, Firenze, Prato, Pisa, Livorno, Bologna, Piacenza, Milano e in tutta Italia

La richiesta

  • Sviluppo di un software di collaudo di un controllore custom per la gestione di alcuni modelli di abbattitori termici

Il nostro contributo

  • Sviluppo del software di collaudo tramite il toolkit Qt su piattaforma U21 micro Freescale iMx6ULL e sistema operativo Linux con linguaggi C++, JavaScript e QML

Tecnologie usate

  • ARM based HMI con micro i.MX6ULL 
  • SO Linux Embedded 
  • librerie QT5
  • linguaggio di programmazione C++, QML, Javascript

Risultati raggiunti

  • Tempi di sviluppo del software più brevi
  • Manutenzione del software a lungo termine
  • Consegna del software nei tempi prestabiliti

La testimonianza

“Il progetto relativo agli abbattitori di temperatura è stato il primo progetto sviluppato insieme a Kiwibit. Il progetto è stato portato avanti dai due team Project Engineering e Kiwibit e fin da subito si è creata un’ottima sinergia e collaborazione, sia tecnica che umana che ha portato al raggiungimento degli obiettivi prefissati nei tempi stabiliti. Kiwibit si è mostrata un’Azienda capace di ascoltare con attenzione i nostri requisiti e aperta al confronto tecnico al fine di perseguire la maggior qualità del risultato, con approccio costruttivo e propositivo.

Ing. Marco Del Nero

R&D Controllers Manager, Project Engineer

Progettazione e realizzazione di un nuovo dispositivo automotive per il monitoraggio del pitch&roll | Inclinometro

Progettazione e realizzazione di un nuovo dispositivo automotive per il monitoraggio del pitch&roll | Inclinometro

Sviluppo di una nuovo dispositivo elettronico in ambito automotive per il controllo del pitch&roll

CLIENTE:

Importante realtà industriale italiana

L’esigenza

Il nostro cliente ha vinto una commessa per realizzare un nuovo dispositivo da montare sui veicoli del proprio cliente finale con l’obiettivo di monitorare in real time il pitch&roll del veicolo, ovvero l’inclinazione secondo gli assi di riferimento del piano di appoggio (o piano stradale).

La soluzione

Le attività che ci sono state commissionate prevedevano sia la progettazione elettronica della scheda del dispositivo, lo sviluppo del firmware del microcontrollore da noi scelto e del software di test e collaudo del prodotto finale.
I componenti principali della scheda elettronica oltre al microcontrollore sono stati i sensori MEMS, ovvero un accelerometro a 3 assi e un giroscopio che hanno fornito i dati da analizzare per determinare le inclinazioni del veicolo sui due assi. Il feedback visivo per l’utente è stato realizzato con due indicatori a lancetta pilotati dal micro tramite due motori stepper attraverso un canale di comunicazione seriale I2C.
La sfida del progetto è stata quella di sviluppare un algoritmo di BI che elaborasse i dati dei sensori MEMS riuscendo a discriminare le forze intrinseche dovute al moto del veicolo (accelerazioni e decelerazioni oltre alle accelerazioni centrifughe e centripete in curva) da quelle effettivamente imputate per l’inclinazione del veicolo.
Di fondamentale importanza è stata la fase di messa a punto dell’algoritmo nella quale abbiamo fatto una serie di acquisizioni di dati in campo che ci ha permesso di creare un database sufficientemente ampio da storicizzare i falsi positivi per poterli distinguere dalle situazioni in cui le inclinazioni erano reali. La raccolta dei dati è stata necessaria anche per apportare modifiche all’algoritmo come ad esempio la variazione del modulo del vettore di forza misurato dall’accelerometro in condizioni di zeroG (ovvero senza alcuna forza applicata oltre a quella gravitazionale) al variare degli angoli di orientamento del sensore.

I vantaggi

Tra i vantaggi principali raggiunti con lo sviluppo del nuovo dispositivo abbiamo: 
  • affidabilità della misura. Grazie all’algoritmo implementato la misura non risente delle forze in gioco che non concorrono all’inclinazione del veicolo e che invece solitamente alterano la misura degli analoghi indicatori realizzati con sensori analogici.
  • maggiore sicurezza del veicolo. L’introduzione dello strumento ha aumentato la sicurezza delle persone presenti sul veicolo fornendo un allarme ben visibile in caso di superamento delle soglie di sicurezza.

 

La richiesta

  • Progettazione e realizzazione di nuovo dispositivo automotive per il monitoraggio del pitch&roll 

Il nostro contributo

  • Progettazione della scheda elettronica
  • Sviluppo del firmware
  • Prototipazione
  • Marcatura CE
  • Sviluppo della procedura e software di test e collaudo del dispositivo

Tecnologie usate

  • OrCAD per la progettazione schema e layout della scheda
  • linguaggi C e assembler per il firmware
  • C#.NET per il sw desktop di test e collaudo

Risultati raggiunti

  • Affidabilità della misura
  • Maggiore sicurezza del veicolo

La testimonianza

“Progetto sfidante. L’essere riusciti a isolare i valori di inclinazione dalle altre forze agenti sul moto  del veicolo è stata la parte più complessa del lavoro fatto. Di notevole importanza è stata la fase di acquisizione dati in campo dalla quale siamo riusciti ad ottenere un sufficiente numero di informazioni per ottimizzare l’algoritmo di misura”

Lisa Morassi

Technical & Operation Manager
Kiwibit

Riprogettazione della scheda di controllo di un trapano per implantologia dentale | Hi-Tech Implant

Riprogettazione della scheda di controllo di un trapano per implantologia dentale | Hi-Tech Implant

Come abbiamo riprogettato la scheda di controllo di un trapano per implantologia dentale migliorandone le performance.

CLIENTE:

Importante azienda del settore medicale

L’esigenza

Il nostro cliente produceva il dispositivo utilizzando una scheda di controllo progettata ad hoc molti anni prima. Al momento in cui ci ha contattato il progetto soffriva del fatto che molti componenti della scheda di controllo erano usciti di produzione e, più in particolare, il costruttore del microcontrollore a breve non avrebbe garantito più la produzione del componente. Inoltre l’algoritmo di controllo di coppia del trapano non riusciva ad essere performante su tutto il range di velocità di lavoro della punta (molto ampio da 40 a 40000 RPM).

 

La soluzione

Il progetto si presentava già all’avvio molto sfidante visto che, oltre a quanto già detto, il cliente considerava il prodotto in questione come di punta nella gamma di settore.

Forti delle nostre competenze abbiamo affrontato questo progetto con un approccio conservativo partendo da un’analisi in reverse enginnering sulla scheda esistente. L’obiettivo è stato quello di preservare le parti riutilizzabili del prodotto esistente per minimizzare le modifiche dei processi produttivi, visto che erano completamente sostenuti dal nostro cliente.

Ovviamente è stato necessario cambiare il microcontrollore e la scelta è ricaduta su un PIC Microchip della famiglia 24F dotato di tutte le periferiche necessarie alla gestione del controllo motore, pedaliera, connettività e display grafico in versione con e senza touchscreen.
La particolarità di questo progetto è stata quella di soddisfare la richiesta del cliente di realizzare un’unica scheda che fosse in grado di pilotare sia motori brush che brushless. Nel secondo caso, per soddisfare il requisito di range di velocità da 40 a 40000 RPM e di migliorare il controllo PID esistente è stato necessario scrivere parte del codice in linguaggio Assembler oltre che al linguaggio C utilizzato per il resto del programma.

 

I vantaggi

Tra i vantaggi principali raggiunti con l’introduzione di queste soluzioni sulla scheda Hi-Tech Impant abbiamo: 
  • riduzione dei costi. Oltre il 20% dei costi è stato abbattuto grazie all’utilizzo di componentistica allo stato dell’arte in sostituzione di quella obsoleta.
  • maggiori ergonomia, funzionalità, efficienza e flessibilità del prodotto. L’interfaccia digitale permette una maggiore semplicità di utilizzo per l’operatore
  • migliori prestazioni. Grazie al nuovo algoritmo di controllo PID sulla velocità e coppia dei motori brush e brushless abbiamo reso più fluida la sensazione di utilizzo del trapano da parte dell’operatore eliminando gli scatti della punta presenti nella versione precedente del prodotto.

 

La richiesta

  • Riprogettazione della scheda di controllo di un trapano per implantologia dentale

Il nostro contributo

  • Reverse engineering del prodotto esistente
  • Progettazione della scheda elettronica
  • Sviluppo del firmware
  • Prototipazione
  • Marcatura CE

Tecnologie usate

  • OrCAD per la progettazione schema e layout della scheda
  • linguaggi C e assembler per il firmware

Risultati raggiunti

  • riduzione dei costi
  • maggiori ergonomia, funzionalità, efficienza e flessibilità del prodotto
  • migliori prestazioni

La testimonianza

“L’iniziale fase di reverse engineering ci ha permesso di individuare le criticità del prodotto esistente e le soluzioni da apportare alla nuova versione. Siamo dovuti ricorrere alla nostre competenze di sviluppo firmware in linguaggio macchina per ottenere un driver fluido del motore brushless nell’ampio range di RPM richiesto dal cliente.“

Lisa Morassi

Technical & Operations Manager
Kiwibit

Progettazione e realizzazione interfaccia uomo-macchina digitale su macchinario industriale | XT30 dgt concept

Progettazione e realizzazione interfaccia uomo-macchina digitale su macchinario industriale | XT30 dgt concept

Come abbiamo sviluppato l’interfaccia uomo macchina in chiave Industria 4.0 per macchinario industriale nel settore edile.

CLIENTE:

Trimmer

L’esigenza

Trimmer, azienda leader nella progettazione e produzione di macchinari per il trattamento di superfici dal 1979, ci ha chiesto di partecipare al processo di innovazione e restyling in ottica Industria 4.0 di uno dei propri modelli di punta della sua gamma. L’obiettivo era quello di introdurre nuove funzionalità tecnologiche all’avanguardia sulla loro pallinatrice elettromeccanica XT30 dgt. In particolare ci è stato richiesto di progettare e realizzazione la nuova interfaccia uomo-macchina digitale con lo scopo di migliorare il controllo, la precisione e il monitoraggio dei dati raccolti sul macchinario attraverso l’introduzione di nuovi sensori digitali.

La soluzione

In Kiwibit, grazie alle nostre competenze sia di sviluppo software e ingegnerizzazione e industrializzazione del prodotto, abbiamo potuto proporre a Trimmer, azienda dalle alte competenze meccaniche, la possibilità di seguire il processo di innovazione e digitalizzazione della XT30 in modo completo ed efficace.
Dopo una prima fase di analisi benchmark abbiamo individuato il prodotto sul mercato che meglio si adattasse alle esigenze del cliente.
Abbiamo scelto un panel HMI con microprocessore NXP i.MX6 a 582MHz basato su architettura ARM Cortex-A7 dotata di GPIO e periferiche di connettività come Ethernet, Wi-Fi, seriale che ci ha permesso di sviluppare la soluzione nei tempi concordati e avere la predisposizione a rientrare nei parametri dell’Industria 4.0.
Il prodotto, dotato di un housing compatto ed IP65 sulla superficie frontale, ha dato modo al cliente di minimizzare la procedura di montaggio dell’HMI sul macchinario permettendo di adottare una filosofia “plug and play”.

Per quanto riguarda le scelte dell’architettura software, abbiamo optato per una tecnologia Open Source con sistema operativo basato su Linux Embedded, il packet manager Yocto che, grazie alla sua struttura a layers, ci ha permesso di essere flessibili e reattivi verso le esigenze del cliente. Abbiamo infatti potuto generare l’immagine a partire dalla nostra configurazione, una serie di Meta data (o reciepe) presenti nel repository centrale e dal repository del costruttore dell’hardware.
Per quanto riguarda gli strumenti di sviluppo abbiamo optato per le librerie QT (versione 5). Il motivo principale è la capacità di ottimizzazione delle risorse utilizzate dal software che si riesce ad ottenere con questo strumento, oltre alla grande flessibilità dei componenti grafici che ci hanno permesso di creare una GUI moderna, intuitiva e con una grafica accattivante.

I vantaggi

Tra i vantaggi principali raggiunti con l’introduzione di queste soluzioni sulla pallinatrice XT30 dgt abbiamo: 
  • riduzione dei costi. Oltre il 30% dei costi è stato abbattuto grazie all’introduzione dell’interfaccia uomo-macchina e alla scelta di un hardware competitivo
  • maggiori ergonomia, funzionalità, efficienza e flessibilità del prodotto. L’interfaccia digitale permette una maggiore semplicità di utilizzo per l’operatore
  • maggiori informazioni e incremento della produttività. Grazie alla digitalizzazione dell’interfaccia l’operatore riesce a gestire un numero maggiore di informazioni che garantiscono un aumento della produttività 

 

La richiesta

  • Progettazione e realizzazione interfaccia uomo-macchina digitale su macchinario industriale 

Il nostro contributo

  • Analisi sul mercato del panel computer più idoneo alle esigenze
  • Sviluppo dell’applicazione embadded
  • Supporto nella messa a punto 

Tecnologie usate

  • ARM Cortex-A7 based HMI con micro i.MX6 
  • SO Linux Embedded con Yocto packet manager
  • librerie QT5
  • linguaggio di programmazione C++

Risultati raggiunti

  • riduzione dei costi. 
  • maggiori ergonomia, funzionalità, efficienza e flessibilità del prodotto. 
  • maggiori informazioni e incremento della produttività.

La testimonianza

“Progetto al quale teniamo molto perché esempio di come anche la PMI italiana può implementare il paradigma dell’Industria 4.0 in modo concreto. Un cliente attento alle tematiche di innovazione che porta avanti lo sviluppo tecnologico dei propri prodotti per essere competitivo sul mercato nazionale e aprirsi a nuovi mercati internazionali”

Alessandro Paoli

Business Development Manager
Kiwibit