Arduino UNO vs GHI G30 TH

Comparazione tra modulo G30 TH e Arduino UNO

Arduino con la sua scheda UNO ha rivoluzionato il mondo dei makers dando la possibilità di realizzare numerosi progetti sia in ambito hobbistico che professionale. La diffusione delle schede Arduino ha influenzato numerosi produttori che hanno messo in campo risorse per la realizzazione di nuovi dispositivi facili da programmare (il modulo G30 TH è un esempio), dal costo contenuto e open.

Modulo G30 TH contro Arduino UNO Genuino UNO

Oggi sono disponibili molte tipologie di schede che possono essere utilizzate in sostituzione della UNO o comunque essere impiegate in concomitanza. Tra le schede che personalmente reputo molto valide ci sono quelle basate sul .Net Micro framework ed in particolare quelle prodotte da GHI Electronics.

E’ chiaro che non esiste una scheda migliore o peggiore poiché ognuna possiede pregi e difetti. La scelta principale dipende sicuramente dalla tipologia di progetto che intendiamo realizzare e soprattutto dalla propria esperienza in campo elettronico ed informatico.

E’ difficile fare una comparazione diretta tra due schede con una architettura completamente differente ma è anche vero che quando andiamo ad acquistare un dispositivo effettuiamo delle scelte mettendo a confronto alcuni parametri.

Tuttavia non è sempre vero che una comparazione tra grandezze dello stesso tipo porti a valutare quale sia la scheda migliore, ad esempio il modulo G30 TH ha una cpu a 32bit con frequenza di 84MHz mentre la UNO una cpu a 8bit e frequenza di 16MHz, ma questo non significa assolutamente che la G30 TH sia più veloce e performante.

Tenterò di fare questa comparativa soprattutto per farvi conoscere la scheda G30 TH (sfortunatamente GHI Electonics non mi paga per fargli pubblicità!!)

La scelta del confronto tra la G30 TH e la UNO è dipesa principalmente per il fatto che sono posizionate nella stessa fascia di prezzo, infatti la UNO ha un costo di circa 24€ e la G30 TH un costo di circa 23€.

La tabella seguente mette in evidenza quali siano le differenze hardware tra i due prodotti:

GENUINO UNO GHI G30 TH
MicrocontrolloreATMEGA328PU 8bitARM Cortex M4 32bit
Clock Speed16MHz84MHz
Tensione di lavoro5Vdc3.3Vdc
Input /Output Digitali GPIO1432
Input Analogici (ADC)610
PWM613
Memoria Flash32 KB128 KB
Memoria SRAM2 KB68 KB
Memoria EEPROM1 KB
UART12
SPI12
I2C11
One Wire1
RTCCon shield aggiuntivaIntegrato
Peso25g4g
Dimensioni (LxH)68.6 x 53.4mm50.5 x 17.5 mm

Analizzando la tabella sembrerebbe che la G30 TH esca vincitrice nel confronto delle singole voci. Ma è davvero cosi?

Realizziamo una prima semplice prova pratica per testare quale delle due schede ha una velocità di commutazione di un pin IO più elevata. Di seguito il codice caricato sulla UNO e sulla G30 TH

Stando alle informazioni della tabella precedente sembra scontato che il modulo G30 TH possa garantire una velocità superiore ma invece otteniamo dati controversi, infatti la UNO ha un toggle di 114KHz mentre la G30TH di soli 29.48KHz.

Ora proviamo a eseguire il GPIO speed test impiegando questa volta tre pin digitali, il codice sulla UNO è il seguente:

Misurando la frequenza di commutazione dei pin della UNO otteniamo un valore di circa 29,5KHz, questo perché viene impiegato un certo tempo per eseguire le istruzioni:

Spedd test Arduino UNO

 

Di seguito il listato di codice caricato sul modulo G30 TH:

Il codice esegue la commutazione da livello logico alto a quello basso utilizzando tre thread. Misurando con un oscilloscopio il valore di frequenza sui pin del modulo G30 TH osserviamo che la frequenza di commutazione è rimasta invariata sui 29.48KHz:

gpio speed test with thread
Quindi sulla scheda UNO, inserendo più istruzioni,  otteniamo un rallentamento dovuto all’uso contemporaneo di più risorse. Nel modulo G30 TH questo non si è verificato infatti utilizzando dei thread il dispositivo ha prodotto la stessa frequenza di commutazione sui tre pin.

Gli esempi precedenti mostrano che le schede possono avere performance differenti e quindi alla domanda “quale è la scheda più veloce?” non possiamo dare una risposta assoluta ma probabilmente convincerci che la domanda più corretta sia “quale è la scheda più adatta al mio progetto?”.

Differenze principali tra G30 TH e UNO

La differenza sostanziale tra la UNO e la G30TH è che in quest’ultima il programma viene gestito da un piccolo framework (TinyCLR) che ha il compito di gestire le istruzioni per poi farle eseguire al microprocessore. Questa soluzione ha lo svantaggio di una leggera latenza poiché il codice deve essere interpretato e gestito dal micro framework prima di poter essere eseguito dalla cpu, questa soluzione avvantaggia lo sviluppatore che non si deve preoccupare di cosa avviene al livello hardware (gestione timer e registri gestione della memoria e puntatori) ma deve solo preoccuparsi di scrivere ed ottimizzare il suo programma.

La UNO invece esegue immediatamente le istruzioni del programma, abbiamo accesso diretto ai registri e ai timers del microcontrollore permettendo di manipolarli a nostro piacimento (se sapiamo dove mettere le mani!).
Il microcontrollore della UNO, l’ATMEGA328, può essere impiegato in progetti stand alone senza grosse difficoltà visto che è in formato THT dip28, mentre il SoC G30 è in package tfq99, rendendo la progettazione homemade più difficoltosa.

Ambiente di sviluppo:

La UNO può essere programmata con l’Arduino IDE, un software molto spartano ma che mette a disposizione tutto il necessario per programmare e caricare i programmi sul microcontrollore. L’IDE è multi piattaforma è può essere utilizzato con sistemi Windows, Mac e Linux.

Per scrivere i programmi per il modulo G30 TH abbiamo bisogno di Microsoft Visual Studio, un eccellente ambiente di sviluppo che ci permette di scrivere, caricare e debbuggare in tempo reale i programmi che girano sul dispositivo. Visual Studio è disponibile solo per Windows.

Supporto e community

Quando acquisto un dispositivo verifico quale siano le risorse di supporto del produttore o di eventuali community. Per quanto riguarda Arduino possiamo far affidamento all’ottimo forum che solitamente assolve a qualsiasi tipologia di richiesta, inoltre potete trovare numerosissimi tutorial su blog e siti web.

Anche GHI Electronics ha un forum, molto meno frequentato di quello Arduino, ma che vi permetterà comunque di mettervi in contato con persone esperte che potranno darvi una risposta. Inoltre GHI offre un supporto ufficiale per la realizzazione di hardware specifico che impiega i suoi moduli.

Conclusione:

Penso che definire una scheda migliore di un’altra sia difficile se non si specifica il campo di impiego della scheda stessa. In generale quando devo scegliere il dispositivo ideale per la realizzare un progetto valuto il rapporto prezzo/prestazioni e la quantità di tempo necessario a scrivere il codice (questo dipende anche dalla disponibilità di supporto on line).

Penso anche che sia importante non fossilizzarsi solamente su una piattaforma ma provare a sperimentare usando nuovi dispositivi aumentando cosi il nostro bagaglio tecnico dandoci una visione più ampia nella scelta del dispositivo ideale al proprio progetto.

4 risposte a Arduino UNO vs GHI G30 TH

  • Ciao, premetto che sono nuovo di questo settore e che ho tredici anni quindi chi sa rispondermi lo faccia con termini semplici per favore…
    io vorrei iniziare a costruire un quadricottero e ho le idee confuse sulla programmazione, non ho la più pallida idea di come si faccia a programmare una scheda di questo tipo.
    ho già programmato qualche piccolo videogame, ma non è per niente la stessa cosa.
    non scrivetemi cose sui motori ecc. perché su quello ho già le idee chiare.
    grazie molte in anticipo

    • Ciao Paolo
      se sei alle prime armi lascia stare Arduino come piattaforma hardware per quadricotteri. Visto che la parte motori, esc ecc hai idee chiare ti consiglio di puntare su una CC3D oppure su una centralina DJI (Naza v2 o Naza Lite)

      Saluti
      Marco

  • Ciao Marco
    volevo solo chiederti un’altra cosa anche se non è in tema ma ho pensato fosse stato meglio scriverlo sul post più recente.
    Visto che sono alle prime armi posso già usare (come frame) questo
    (Turnigy Talon Tricopter (V1.0) Carbon Fiber Frame) oppure è meglio puntare su un frame predisposto per quattro rotori o ancora per sei rotori??
    grazie in anticipo e a presto

Offerte del giorno Amazon
Preferiti
Rimani aggiornato

Sondaggi
Sorry, there are no polls available at the moment.
Seguimi su Twitter