Domanda:
Raccomandazione per Arduino
iklln6
2009-12-19 11:47:15 UTC
view on stackexchange narkive permalink

Ok, ecco alcune informazioni di base che portano alla domanda [ovvia] con ulteriori elaborazioni: ho usato un PICAXE a 28 pin per piccoli progetti qua e là negli ultimi due anni e sono pronto a salire. Il mio progetto attuale è il PICAXE come modulo di acquisizione dati. Ho semplicemente montato la scheda all'interno di un involucro e ho eseguito gli ingressi e le uscite su [molti] terminali a vite all'esterno per uno scambio rapido e indolore dei componenti. (E per un'ulteriore visualizzazione, ho anche integrato un regolatore da 5 V e inserito un jack CC in modo da poter collegare una verruca a muro universale per l'alimentazione e cablare la connessione USB a un mini-usb che può essere collegato dall'esterno.) Bene, l'interfacciamento con il computer è praticamente un problema con il PICAXE e può essere programmato solo con il loro programma ufficiale.

Quindi, aggiornerò ad Arduino. Stavo pensando al Arduino Mega Starter Kit perché sembra il più versatile e so che qualunque scheda ricevo sarà la scheda che userò per un bel po '. Se potessi farlo di nuovo, avrei iniziato con Arduino.

Le cose che mi interessano di più sono l'acquisizione e l'invio dei dati al mio computer, così come l'automazione, che so che non sarà un problema. Ho esperienza con C e BASIC ma preferisco C; Non sono sicuro che ci sia una differenza di lingua tra Arduino o meno. Quindi, cosa consiglieresti come Arduino più versatile che raggiungerà i miei obiettivi attuali e mi manterrà grasso e felice delle capacità per le cose strane che desidero fare dopo?

Come domanda secondaria: è possibile interfacciare qualcuno (o tutti) gli Arduino con LabVIEW?

Dieci risposte:
edebill
2009-12-20 00:52:44 UTC
view on stackexchange narkive permalink

Sembra che tu abbia ampiamente risposto alla tua stessa domanda. Il Mega è di gran lunga il più grande e potente degli Arduino. Personalmente tendo più alla quantità che alla qualità, quindi avrei due Arduino meno costosi. Trovo le intestazioni femminili sugli arduino in qualche modo limitanti, quindi i vari Arduino breadboard tendono a ottenere il mio cenno del capo ( Really Bare Bones Boarduino e Boarduino). Di solito scegli due cose quando scegli un Arduino: quanti ingressi / uscite ha e come comunicare con esso. Ovviamente sei in cima alle domande i / o, ma potresti voler pensare se utilizzerai USB o seriale (probabilmente tramite USB -> adattatore seriale) per programmare l'Arduino. Se intendi acquistare solo una o due schede, USB è la più semplice ed economica. Se ti ritroverai con 3 o più schede, probabilmente è più economico acquistare schede solo seriali e un convertitore seriale USB -> separato ( cavo FTDI o scheda breakout base FTDI).

Arduino di base è incredibilmente capace ed è abbastanza facile aggiungere ulteriori ingressi con circuiti integrati multiplexer economici. Se non hai bisogno immediato di input extra, potrebbe valere la pena iniziare con una scheda più economica.

Se stai usando l'IDE di Arduino, allora programmerai in C ++ su tutti i Arduinos. La documentazione di Arduino tende a incoraggiare l'uso solo leggermente più del sottoinsieme C di C ++ (fondamentalmente C con solo uno o due extra), quindi un programmatore C dovrebbe sentirsi molto a suo agio. Come bonus aggiuntivo, puoi fare cose come dichiarare le variabili subito prima di usarle, invece di doverlo fare all'inizio delle funzioni. D'altra parte, fai attenzione alle differenze dalla libreria standard C. sprintf ("% f", foo) e altre cose non funzionano di default. In caso di dubbio, premi arduino.cc e cerca.

Per quanto riguarda la comunicazione al computer, sto usando personalmente Ruby on Rails per parlare ai miei progetti Arduino, ma la maggior parte delle persone sembra preferire Processing. Tutto si riduce a una porta seriale, quindi puoi usare tutto ciò con cui ti senti più a tuo agio.

Risposta fantastica: stavo pianificando di acquistare l'ATMega che è stato identificato come il più grande, ma hai un ottimo punto con le schede multiple più economiche e aggiungendo input se necessario utilizzando multiplexer. Penso che questa sia la strada che seguirò. La limitazione virtuale degli ingressi predefiniti sarebbe ampiamente compensata dalle capacità aggiuntive di avere più schede.Io userò l'USB ovviamente fino a quando non costruirò qualcosa di meglio (il bluetooth è in futuro, ma semplicemente come bridge seriale quindi no filosoficamente diverso da seriale-> usb).
jluciani
2009-12-19 19:18:13 UTC
view on stackexchange narkive permalink

Ad oggi, tutti i sistemi Arduino e compatibili sono costituiti da una scheda con un chip Atmel (come un '168 o 328), un bootloader, una libreria di alto livello e una GUI multipiattaforma. Il bootloader consente di scaricare programmi sviluppati sull'host utilizzando la porta seriale uC. La maggior parte delle persone converte la porta seriale UC in una connessione USB utilizzando una varietà di interfacce FTDI da USB a seriale. L'interfaccia seriale / USB può essere utilizzata con LabView.

È possibile utilizzare queste schede come Arduino o come sistemi embedded. La maggior parte di queste schede ha un'intestazione 3x2 conforme alle specifiche Atmels ICSP. Utilizzando un adattatore da USB a ICSP (come ATmel AVRISPMKII) è possibile programmare la scheda senza il bootloader o le librerie Arduino. Esiste un'ampia varietà di librerie Atmel che puoi usare per lo sviluppo in C autonomo. La maggior parte del mio sviluppo viene fatto utilizzando il port ICSP, gcc e un Makefile. Le librerie Arduino fanno un ottimo lavoro nel fornire un controllo hardware ad alto livello. A volte il compromesso è la prestazione. In una recente applicazione ho notato un notevole miglioramento della velocità quando ho modificato le istruzioni digitalWrite in operazioni bitset e bitclear.

La scheda corretta dipende più dalla tua applicazione -

  1. Di quanti I / O digitali hai bisogno?
  2. L'UC A / D precisione e risoluzione sufficienti?
  3. Serve un'uscita analogica? Quale precisione e risoluzione?
  4. Hai bisogno di condizionamento del segnale?
  5. Hai bisogno di isolamento?
  6. Hai bisogno della marcatura temporale dei dati sulla scheda UC o può essere gestito dall'host?
  7. Di quante interfacce seriali hai bisogno? (Le ultime due applicazioni che ho non avrebbero potuto usare un UART in più;)

Se non puoi usare l'A / D su UC e non hai bisogno degli UART potresti essere migliore di con la tavola più piccola. L'ultimo sistema di acquisizione dati di grandi dimensioni che ho utilizzato utilizzava un UC con solo poche periferiche. Avevamo bisogno di un A / D a 16 bit e un DAC a 14 bit. Non aveva senso pagare per un A / D interno a 10 bit o un DAC a 8 bit.

Realizzo un paio di schede compatibili con Arduino che mettono in evidenza tutte le connessioni I / O su una singola intestazione. È possibile creare un sistema con schede complanari, schede impilate, schede remote (un cavo a nastro) o un backplane. Il backplane potrebbe essere utile per un sistema di acquisizione dati che utilizza schede periferiche. Le mie bacheche sono su http://www.wiblocks.com

zklapow
2009-12-19 12:26:41 UTC
view on stackexchange narkive permalink

Se stai solo effettuando l'acquisizione dei dati, Mega sembrerebbe un po 'superfluo, a meno che, ovviamente, non stai usando tonnellate di sensori e / o hai bisogno di più porte seriali. Direi che per la semplice acquisizione dei dati faresti bene solo la Diecimila (sempre a seconda di cosa devi effettivamente fare con essa)

So che Mega è un po 'eccessivo per un semplice compito di acquisizione dati, ma non voglio essere limitato se riesco a far sì che i capelli selvaggi utilizzino tonnellate di sensori. Un paio di anni fa ho acquistato la configurazione PICAXE per costruire il mio primo robot, ma ora vorrei aver fatto più ricerche per ottenere qualcosa di più completo per supportare l'inevitabile dipendenza. Suppongo che una domanda più appropriata potrebbe essere stata "Quale scheda Arduino ha il maggior numero di funzioni / caratteristiche?" ma non so se questa domanda è senza risposta a causa di configurazioni specifiche dell'applicazione.
Si potrebbe dire che Mega ha più funzionalità, ma il tuo tight dipende dalla tua configurazione. Se tutti i tuoi sensori sono I2C, non c'è differenza, possono essere controllati tutti tramite un singolo bus I2C, che tutti gli arduino hanno, seriale d'altra parte è una storia diversa.
todbot
2009-12-19 16:15:19 UTC
view on stackexchange narkive permalink

Sì, otterrei due Arduino normali invece di Arduino MEGA, a meno che tu non abbia specificamente un progetto che richiede molto I / O.

È facile creare un progetto che vuoi tenere in giro, quindi invece di strappare il circuito per creare un nuovo progetto, tienilo e prendi un altro Arduino. Se il costo di un normale Arduino è troppo alto, puoi creare un kit Freeduino. E se è troppo, puoi fare una configurazione minima di Arduino usando solo un ATmega8, un resistore e un condensatore.

Amos
2009-12-19 16:19:13 UTC
view on stackexchange narkive permalink

Una soluzione leggermente diversa alla tua domanda è tenere presente che i tuoi PicAXE sono solo un PIC preprogrammato, il manuale elenca le seguenti equivalenze:

  • PICAXE-28X1 = PIC16F886
  • PICAXE-28X2 = PIC18F2520 (versione 3V PIC18F25K20)

e chip obsoleti:

  • PICAXE-28A = PIC16F872 (sostituito da 28X1)
  • PICAXE-28X = PIC16F873A (sostituito da 28X1)

Quindi in teoria potresti ottenere un programmatore che supporti questi PIC e riprogrammarli in C o in Assembler, cancellando il Bootloader PicAXE e usali come PIC standard. In questo modo puoi programmare i tuoi chip con molta più flessibilità.

Quindi potresti prendere il chip nel tuo datalogger per esempio, riprogrammarlo in C per fare quello che vuoi e sostituirlo nello stesso circuito. Anche se potresti dover rimuovere il circuito di programmazione PicAXE se lo hai installato, non so quanto imiti fedelmente il circuito ICSP dei PIC (non utilizzerai il jack audio, credo).

Mike M
2009-12-26 07:33:45 UTC
view on stackexchange narkive permalink

un clone di arduino quasi completamente funzionante (ad esempio un duinostamp di Fundamentalogic) può essere acquistato per un minimo di $ 10-12 ... e una volta completata la prototipazione, è abbastanza facile da incorporare nel tuo progetto e pubblicalo in natura. Incorporare un Arduino (TM) completo sarebbe eccessivo. Direi che prendi quelli più economici e prendi un cavo FTDI per il caricamento di "schizzi" (tramite l'IDE di arduino) ecc. Potresti anche voler ottenere un programmatore ISP se prevedi di mettere bootloader personalizzati ecc. (O semplicemente risparmiare un dollaro a bruciando il bootloader da soli)

Sono un principiante e all'inizio ho preso la scheda Duemilanove, ma ho finito per ottenere una boarduino anche dopo aver giocato con l'originale, poiché è molto più facile prototipare con essa bene sulla breadboard. In futuro, ho intenzione di costruire solo il timbro "duino" barebone o equivalente per l'incorporamento in qualsiasi progetto.

Arduino (tm) è ottimo per iniziare, ma l'ho scoperto molto rapidamente per progetti reali che ho intenzione di rilasciare in natura avrei bisogno di qualcosa di più flessibile ... e più economico (inoltre le intestazioni femminili possono diventare un po 'sgradevoli, anche se sono ottime per i principianti)

russ_hensel
2009-12-19 22:12:21 UTC
view on stackexchange narkive permalink

Considera alcune schede barebone in kit, funzionano bene con la breadboard, molto poco costose. Svantaggi: sono rs232 ttl e non accettano scudi. Maker shed ha alcuni adattatori dallo standard 232. Moderndevice.com fornisce la scheda. Meno di 15 dollari come ritengo.

JRobert
2011-10-22 19:43:45 UTC
view on stackexchange narkive permalink

Un grande vantaggio del Mega è che ha più memoria e la RAM, in particolare, è piuttosto limitata sui microcontrollori. A seconda del tipo di esperimenti che si desidera eseguire, è possibile apprezzare il flash aggiuntivo per programmi di grandi dimensioni e l'archiviazione di stringhe costanti; e apprezzerai sicuramente lo spazio RAM extra per array, log, ring buffer, elenchi collegati, ecc., Senza dover inventare schemi di compressione (abbastanza spesso ...) per adattarsi a meno RAM, specialmente durante il debug o testare concetti.

ViennaMike
2012-10-09 21:24:57 UTC
view on stackexchange narkive permalink

Un'altra opzione per un arduino basato su breadboard compatibile è Teensy. Hanno un connettore mini-USB quindi non è necessario l'USB esterno per seriale e possono essere programmati come un Arduino utilizzando il codice fornito gratuitamente da aggiungere all'IDE di Arduino (o programmare come AVR diretto, a tua scelta). Sono disponibili con e senza le intestazioni per il breadboard. Ne ho usati molti in vari progetti.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...