Proseguiamo il viaggio dentro Arduino, con un’analisi ai raggi X rivolta alla risoluzione delle problematiche esistenti. Dopo aver già affrontato alcuni problemi (e le relative soluzioni) nella prima parte, entriamo ora in merito al campo di temperatura accettato, alla gestione usb, alla stabilità meccanica ed alla questione software. Inoltre tratteremo anche quello che a mio avviso è un serio errore di progettazione. Detto questo vorrei però ribadire come Arduino sia stato, ed è ancora un eco-sistema grandioso ed innovativo e come sia riuscito ad avvicinare tantissime persone all’elettronica. Si potrebbe definire il precursore dei Makers! Attenzione però a non confondere l’elettronica professionale, l’utilizzo in ambienti critici come automotive ed avionica ad esempio, con un uso hobbystico.
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 1756 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Bello. Bello. Bello.
Bravi.
E sono anche d’accordo con voi sul debug.
Sulla stabilità meccanica, sinceramente non so dire se davvero c’è il problema però la certificazione è un’altra cosa.
Ultimo di due articoli che rivelano chiaramente i limiti di questo prodotto.
Una buona schedina, fatta per hobisti e makers, che, con pochi e semplici componenti messi assieme permette delle applicazioni proporzionate al bacino di utenza a cui si rivolge.
Ma in un mondo in cui l’elettronica puó essere estremamente potente e comunque a buon mercato, verrebbe da chiedersi cosa, questa scheda, abbia di tanto particolare da permetterle di spopolare e diventare “Mito”.
L’IDE!
E’ il software, a mio avviso, le vera genialitá di Arduino, e la ragione del suo grande successo.
Gli aspetti piú tecnici della struttura dei microcontrollori sono celati, il linguaggio é stato semplificato al massimo, la velocitá e l’immediatezza di programmazione sono alla base dell’utilizzo di questa scheda.
Chi non sa programmare impara in fretta, chi lo sa fare, invece, scrive librerie su librerie, che vanno poi a disposizione di tutti. Il sistema degli shield é poi stata la ciliegina sulla torta.
Un’altra domanda sorge spontanea, sarebbe possibile avere Arduino “senza avere Arduino”?
Che razza di strana domanda é? Ha un senso.
Mi é capitato spesso di leggere su vari forum la domanda del tipo “Arduino o Pic? Cosa é meglio per iniziare?” La risposta, da parte di chi ha esperienza é sempre la stessa “familiarizza con Arduino e poi evolviti con i PIC”.
Questo perché Arduino (grazie al software, e a tutto quanto si trova in rete a supporto) offre un approccio estremamente soft alla materia, e non scoraggia il principiante.
Verrebbe allora da chiedersi “ma non sarebbe possibile avere entrambi?” Forse si. Mi sono per caso inbattuto in questa scheda: http://www.digilentinc.com/Products/Detail.cfm?Prod=CHIPKIT-UNO32
Questa é una scheda che monta un Pic a 32bit, ma ha lo stesso form factor di Arduino, é compatibile con molti dei suoi schield e, udite udite, si programma alla stessa maniera! L’IDE di questa scheda é identico a quello di Arduino (parlo ovviamente del front-end), si programma con lo stesso linguaggio e si puó utilizzare anche per Arduino stesso. Quello che ha in piú é ovviamente la possibilitá di gestire la UNO32 e le sue sorelle maggiori.
Voi che ne pensate? Conoscete questo prodotto? Lo avete provato?
@Emanuele
Pensi sia possibile avere una scheda che abbia i vantaggi di Arduino ma senza averne i difetti?
Ciao e grazie per gli articoli.
Alex
Ma non è meglio, a sto punto, puntare su quella scheda freescale che stava in palio nel contest?
🙂
Si chiama FRDM-KL46Z 😀
http://it.emcelettronica.com/corso-su-arm-scopriamo-frdm-kl46z
Mi fa piacere ve la ricordiate…Volevi vincerla tu, eh?! 😀
E secondo me la risposta è sì, senza ombra di dubbio 😀
Però credo di aver capito che alex intendesse comunque cominciare con qualcosa di semplice…
Ciao Giorgio e ciao Piero.
Giorgio, rispondo alla tua giustissima obiezione.
In realtá, penso che ci siano migliaia di schede migliori di Arduino, per prestazioni, affidabilitá, possibilitá applicative. Ma qui si parla d’altro…
Il mio discorso non é infatti semplicemente riferito al solo hardware, ma al contesto in cui esso deve operare. A chi, questo hardware si rivolge.
Ribadisco il concetto espresso sopra…. Arduino é per principianti, hobbisti, makers; non ingegneri, non progettisti, non professionisti di settore.
Piero ha ragione, qualcosa di piú semplice, ma non solo.
Il principiante necessita di risultati, seppur semplici, ma immediati (non ti devi studiare il C e le logiche dei microcontrollori per far accendere due LED), che lo incoraggino a continuare ed approfondire.
L’hobbista ha tante idee, vorrebbe metterle in pratica tutte al piú presto, e quindi, necessita anch’egli di velocitá e versatilitá.
E in ultimo (the last but not the least) il Maker, che non é solo un nome di moda, é un piccolo artigiano, un piccolissimo imprenditore di se stesso, che forse ne sa piú degli altri due ma che necessita di una cosa fondamentale, LIBERTA’!
Libertá che deriva da una parola, OPENSOURCE.
Tu mi dirai, “si ma che c’entra?”. Ti spiego subito.
Se pensi a tutte le piú belle (e stranamente economicissime) schede che trovi sul mercato, i marchi piú blasonati, prestazioni di altissimo livello, tecnologia di prima scelta ecc…; sono tutte (generalizzo non entro nel merito di ognuna) ” EVALUATION BOARD”, il loro scopo é farti “provare” l’hardware, fartelo “assaggiare” ma poi, per mangiarlo, devi pagare profumatamente.
Non puoi, ad esempio, confezionare un prodotto e venderlo utilizzando una evaluation board, non potresti nemmeno programmarla come vorresti senza aver pagato la licenza del corrispettivo software (il code warrior, nel caso della scheda di cui sopra), non puoi fare niente di piú che qualche progettino privato per sperimentare l’hardware.
Licenze!
Il meccanismo del mondo moderno che tutela gli interessi di pochi.
Ecco dove casca l’asino…
Queste sono le schede che usano i professionisti, che hanno effettivamente interesse a provare i componenti per poi implementarli su grandi produzioni.
Io sostengo che la figura del Maker, che probabilmente si evolverá ufficialmente in piccolo artigiano molto presto, sará il futuro; dovrá produrre diversi prodotti in piccole quantitá, basandosi su progetti sviluppati in condivisione.
Ecco perché penso che, visto che a livello hardware Arduino é limitato, se si cerca un alternativa, bisogna ricercarla nello stesso ambito applicativo e filosofico, guardando al futuro e non al presente.
Ciao
Sono d’accordo.
La situazione è quella di Davide che combatte Golia ma tra mito e legenda questa storia potrebbe essere il nostro futuro!
Salve,
sono un nuovo abbonato ma non nuovo al mondo dell’elettronica che esploro da molti anni ormai. Volevo innanzitutto complimentarmi con voi per la vostra attività di esportatori di conoscenze in ambito elettronico e non solo.
Personalmente ho sempre sviluppato le mie schede su PIC, in ambiente MPLAB utilizzando diversi compilatori (HITECH, CCS, C18……)
Tutti accumunati da un fattor comune. La chisura totale alla condivisione delle conoscenze. Ecco a mio parere il fattore chiave che ha permesso e permetterà ad Arduino di vincere se sarà in grado di evolversi un po’.
Il punto centrale, nel mondo dei compilatori è a mio parere il fatto che non mettono a disposizione ciò che Arduino fa. Le librerie ed il fatto che per poter cominciare a vedere dei risultati apprezzabili su schede più o meno complesse, con le solite evaluation board e gli ambienti di sviluppo forniti, c’è bisogno di entrare veramente a fondo nelle questioni tecniche che sovrintendono l’utilizzo di una particolare libreria (ad esempio la scrittura su SD).
Arduino ha secondo me vinto grazie alla capacità di poter rendere trasparente all’utente alcuni aspetti di basso livello nel firmware durante l’implementazioni di alcune funzioni anche complesse.
Per esempio, recentemente ho sviluppato un rivelatore automatico di aritmie portatile che memorizza su uSD un tracciato anche di alcune ore per poi poter essere analizzato in post analysis da un cardiologo.
Ho voluto provare a realizzarlo con il uC atmel di arduino UNO e utilizzando l’IDE per evitare di impazzire su alcune funzioni che mi avrebbero fatto perdere molto tempo per poter essere risolte da zero usando un PIC ed il C18. Banalmente, spesso non è auspicabile perdere giornate per capire come aprire e chiudere un file su SD perchè l’obiettivo è un’altro….Non so se mi spiego……
I limiti che ho chiaramente notato anche io per quando riguarda Arduino sono senza dubbio la mancanza di DEBUG. Lavorare con la sola seriale è veramente un’impresa…..soprattutto a certi livelli.
Credo che risolvendo questa problematica, Arduino possa entrare di diritto anche nel mondo del professionismo e non solo dell’hobbistica o della didattica.
Purtroppo oggi, i commerciali pretendono soluzioni elettroniche pronte in poco tempo e non comprendono nemmeno minimamente a quali problematiche spesso si va incontro sia a livello hardware che firmware nella progettazione di una scheda.
Quindi in definitiva, la vittoria di Arduino e dovuta alla trasposizione, in ambito elettronico, della filisofia dell’open source, quindi di condivisione delle conoscenze, che consente di poter sviluppare progetti, anche complessi, in più breve tempo e magari non preoccupandosi troppo di sondare in maniere approfondita alcuni aspetti firmware semplicemente perchè “qualcuno lo ha già fatto”…..
E se qualcuno lo ha già fatto perchè impazzire ancora……si progredisce molto più lentamente….
Allora, visto che qualcuno di buon senso ha già risolto la problematica della procedura firmware da implementare per svolgere una certa funzione, la cosa più ovvia è condividere……
La vittoria di Arduino, nel mio caso è stata questa……
Quindi perchè ripartire da zero ad ogni implementazione firmware su una scheda che svolga una certa funzione?
Vedere gli header file compresi nel prezzo di alcuni compilatori per capire di cosa sto parlando.
Scheletri senza muscolatura e men che meno dotati di terminazioni nervose….
…ah dimenticavo…
Per quanto riguarda la certificazione credo che essa rappresenti oggi un freno a mano per il passaggio tra prototipo in ufficio e prodotto commerciale….
Un freno naturalmente necessario ma a volte sufficiente a frenare l’ingresso sul mercato di alcune idee-prototipo che aspettano la fase di vendita con ansia…..
Il passo che credo il team di Arduino debba fare è quello di pensare di “snellire” questa fare ai makers magari mettendo a disposizione una sorta di pacchetto certificatore sulla falsa riga di quello che hanno pensato per la vendita di prodotti Arduino based (the “Arduino at Heart” program).
Quindi in breve, io spedisco la scheda ad un “Arduino LAB” che viene da loro certificata ed ottiene per esempio la marchiatura CE per la vendita nella comunità europea…..
Questo accelererebbe di molto le operazioni di creazione di un prodotto, sulla base di un’idea per i makers di tutto il mondo.
L’alternativa oggi è cercare dei laboratori che offrano la certificazione “pinco pallino”, ottenerla, e poi proporsi al mercato.
E’ a mio parere un aspetto che frena l’ingresso di prodotti, anche interessanti nel mercato finale….
Salve a tutti, mi chiamo Gabriele e sono un nuovo utente da qualche giorno.
Quello che mi ha spinto a fare l’abbonamento, oltre agli innumerevoli temi estremamente interessanti, è stata l’enorme curiosità di leggere proprio questi due articoli che mettevano alla luce alcune “criticità” di questa che per me è e sempre sarà una scheda meravigliosa.
Premetto che non mi ritengo un tecnico, ne elettronico ne programmatore e tantomeno progettista, mi definirei più il classico smanettone, o maker, se vi piace di più.
Non sono particolarmente appassionato (parere esclusivamente mio, nessuno si offenda) di robotica o comunque di tutti quegli aggeggi dalla “dubbia utilità” che (forse) portano ad associare Arduino ad un semplice giochino per nerd.
Faccio l’elettricista e uso questa scheda sempre per scopi pratici, intendo dire per cercare di replicare apparecchi che svolgono le stesse funzioni ma ad un costo notevolmente ridotto, per fare qualche esempio: centraline differenziali per pannelli solari, centraline per tapparelle, stazioni meteo per tende e cupole, irrigazione giardini, accensione centralizzata di luci e gestione scenari……insomma qualcosa che funziona!
Perchè la realtà è questa, Arduino funziona ed anche molto bene!
Sò che qualcuno stà già pensando: e chi ha mai detto il contrario?
La realtà è che scrivo questo commento non per urtare qualcuno o tanto meno contraddire le analisi approfondite trattate in questi due articoli che per altro o trovato interessanti e istruttivi e mi ha fatto scoprire un aspetto che non avevo mai valutato cioè quello della temperatura.
Quello che mi aspettavo però era leggere qualcosa che affligge di più il mio campo di applicazione, cioè quella dei disturbi.
In tutte le mie applicazioni è quasi impossibile non utilizzare una rele shield per comandare anche il benchè minimo carico con 40 mA per pin.
Ma l’introduzione di relè meccanici crea archi sui contatti, quindi disturbi, anche solo il passaggio di cavi nello stesso tubo con carichi induttivi ne crea, e parlo di reset della scheda, scritte in aramaico sui display e pin che si attivano random.
Fortunatamente me la sono sempre cavata, metti un cavo twistato o schermato li, un varistore là, cambia l’alimentatore e separa le alimentazioni delle schede, usa optoisolatori, filtri RC sui carichi…..insomma me ne sono capitate di tutte ma quello che mi dispiace è aver sempre “risolto da ignorante”, cioè della serie, adesso funziona ma non so perchè.
Quando ho letto quello scritto da Piero in questa seconda parte: <>
Ho pensato……evvai finalmente!!!
Invece nisba, finito li.
Quello che voglio dire in buona sostanza é che per chi come me cerca di creare un oggetto e “buttarlo in campo” per fargli fare qualcosa di pratico, il concetto di “Arduino professionale” è leggermente diverso da una rigida analisi fatta da uno che di elettronica ne capisce davvero e mi conta lo 0,1V di sfallo o il 10 gradi in più su un componente che forse potrebbe risentirne.
Per intenderci, non mi si è mai bruciato un regolatore di tensione o un condensatore di Arduino nemmeno alimentato a 14V e quasi al massimo della corrente erogabile, però in compenso ho avuto motori di tapparelle che salivano e scendevano quando pareva a loro e reset di schede quante ne vuoi.
Avrei voluto leggere qualcosa che mi spiegasse in maniera più analitica (a prescindere dalle scuole di pensiero ma qualcosa di più oggettivo) l’origine di un disturbo ed il modo per annullarlo anche se sono il primo a dire che i progetti vanno analizzati caso per caso ma almeno avere una “linea guida ufficiale” da chi di progettazione elettronica ne capisce più di me.
Io purtroppo una “parte terza” non posso scriverla perchè non sono in grado, ma la leggerei volentieri.
Grazie per il tempo dedicatomi e mi scuso se qualcuno se la può essere presa per qualcosa che ho detto.
P.S: Non vorrei contraddire Emanuele ma i condensatori da 47 microF sulla R3 sono a 25V, e aggiungerei che lo sono anche sul clone cinese.
Buona giornata.
Salve Gabriele,
il problema dei disturbi è comune a tutte le demoboard ed a tutti i progetti in genere non solo ad Arduino, in questi articoli invece ci siamo concentrati su come migliorare Arduino, appunto.
Per evitare spike dai contatti del relè si possono utilizzare dei condensatori in parallelo e, in aggiunta, mettere un filtro ed un condensatore elettrolitico sull’alimentazione di Arduino. Attualmente sui 12V c’è un 47uF potresti aggiungere anche un 470uF.
Un ruolo importante lo ricoprono anche i cavi ed il posizionamento della scheda, quindi è bene trovare una sistemazione lontano dalla zona “spike” proprio a livello fisico.
P.S. Se vedi la foto dell’articolo precedente (parte prima) c’è proprio un 16V. Sicuramente stanno girando schede con condensatori da 25 e da 16 😉
Grazie della risposta Emanuele,
infatti sì non ci avevo fatto mai caso sul doppio valore in Volt dei condensatori, da oggi lo farò, anche se salvo rari casi alimento Arduino a 9V e le schede a relè a 5 o 12V a seconda dei casi quindi non dovrebbero esserci problemi.
Comunque sugli spike concordo in pieno, più della metà dei problemi avuti sulle mie applicazioni erano dovute ad alimentatori scadenti e privi di qualsiasi filtraggio in ingresso, anzi quasi sempre sono proprio gli alimentatori a immettere disturbi in rete.
Anni fà smontai un vecchio PLC (grande circa 30X20 Cm) che montava uno Z80 ed era formato da due schede accoppiate da pettini a 40 pin.
L’20% della scheda era dedicata alla parte “pensante” e memoria flash e relè 12V in uscita e il restante 80% era formato da filtri in ingresso e soppressori in uscita, mai visti tanti condensatori, resistenze e induttanze tutte insieme, per non parlare del doppio pi-greco sull’alimentazione.
Insomma una cosa fatta realmente a regola d’arte nonostante l’età e l’aspetto veramente spartano.
Tutto ciò per dire che non difendo Arduino ad occhi chiusi senza guardare ai difetti che ha, era solo per dire che ogni uno ha una visione “professionale” di questa scheda e vorrebbe migliorala dal suo punto di vista applicativo.
Con i vostri articoli fate un lavoro eccezionale e li stò leggendo avidamente. Complimenti.
Vediamo se riusciamo a riparlare dell’argomento 🙂
Domanda per la community: Per un prodotto commerciale, che non sia destinato soltanto al mondo degli appassionati, utilizzereste come base arduino?