Domanda:
Il mio progetto open source deve essere basato su Arduino per avere successo?
stbtra
2010-12-01 04:10:55 UTC
view on stackexchange narkive permalink

Sto discutendo su quale microcontrollore utilizzare per un nuovo progetto hardware open source. Per quanto riguarda le specifiche, preferirei utilizzare un ARM Cortex M3, che ha un prezzo simile a una soluzione basata su Arduino (avr) ma con più potenza di elaborazione / periferiche. L'unica preoccupazione che ho con l'hardware basato su ARM è che non voglio perdere potenziali collaboratori / sviluppatori che potrebbero essere scoraggiati lavorando con ARM. O per quanto riguarda la concorrenza: qualcuno che riproduce il progetto ma con un arduino invece (ad esempio Ardupilot che sorpassa Paparazzi)

Mi rendo conto che non esiste una risposta semplice a questa domanda, ma vorrei sentire la tua opinione sull'argomento, e quali altri fattori, secondo te, potrebbero pesare di più sul successo del progetto.

Aneddoto casuale: ZPM Espresso stava progettando di utilizzare Arduino, ma ha rinunciato e ha utilizzato un ARM. Sono anche ~ 1-2 anni indietro rispetto al loro programma Kickstarter.
@NickT Penso che il problema principale della loro macchina per caffè espresso sia il prezzo, non il dibattito tra AVR e ARM.$ 200 è un prezzo folle per una macchina solitamente venduta per $ 50- $ 100.
Sei risposte:
Toby Jaffey
2010-12-01 04:27:37 UTC
view on stackexchange narkive permalink

Penso che dipenda da chi stai cercando di attirare. Avere un derivato di Arduino che può essere programmato direttamente dall'IDE di Arduino attirerà gli utenti di Arduino.

Ma, nella mia esperienza, l'utente medio di Arduino non è necessariamente uno sviluppatore esperto che contribuirà utilmente a un progetto. Naturalmente, ci sono molti utenti esperti di Arduino, ma è un dispositivo rivolto ai principianti.

D'altra parte, il tipo di utente che può ottenere una toolchain e un debugger per ARM Cortex-M3 è anche probabilmente sarà in grado di correggere i tuoi bug per te. Ma ce ne sono molto meno.

Direi: scegli quello che è giusto per il tuo progetto. Se va bene, gli utenti verranno coinvolti.

Sono d'accordo sul fatto che la piattaforma non sia un grosso problema, un bel progetto coinvolgerà le persone, indipendentemente dalla piattaforma.
Suppongo che tu abbia ragione in quanto gli sviluppatori Arduino potrebbero non avere molta esperienza nella programmazione / debugging strettamente integrato, ma penso che possa attrarre molti altri sviluppatori come sviluppatori Web / Windows / Linux che potrebbero contribuire utilmente a livello di applicazione. Inoltre, gli abili sviluppatori ARM non sarebbero un sottoinsieme di coloro che desiderano lavorare su una versione di Arduino?
@stbtra, Conosco molti microcontrollori diversi e mi considero abile, non uso arduino. Non ne ho mai avuto bisogno perché inizialmente mi sono state insegnate altre tecnologie e non c'è vantaggio competitivo per me. Risposta breve, gli sviluppatori ARM non sono un sottoinsieme.
Per me è preferibile un ARM, ma dipende davvero da ciò che stai cercando di costruire.
@pingswept, non sorprende, ma sono d'accordo.
Nick T
2010-12-01 04:54:28 UTC
view on stackexchange narkive permalink

Il modo per avere un progetto open source di successo è coinvolgere le persone in esso. Solo perché il tuo progetto è open source non significa che qualcuno vorrà lavorarci (o preoccuparsi). Il tuo progetto deve essere interessante al di là di "oh, conosco [lingua] e ho la toolchain per [ambiente di sviluppo]"

L'ingegnere del prodotto che è in me pensa che non essere in grado di scegliere tra Arduino (un sottoinsieme estremamente limitato di AVR) e ARM è un grande suggerimento che non sai davvero cosa vuoi fare; anche se immagino che tu stia cercando di capire se vuoi fare un compromesso tra estensibilità e accessibilità?

Sono d'accordo sul fatto che la piattaforma non sia un grosso problema, un bel progetto coinvolgerà le persone, indipendentemente dalla piattaforma.
ARM * Cortex M3 * è una versione microcontrollore di ARM, esegue istruzioni THUMB e manca di cose come un EBI / MMU. Non sto discutendo tra un AVR e un processore specifico per processore di applicazioni molto più potente come OMAP3 con un arm926. per riferimento: http://www.arm.com/products/processors/index.php
ARM è una classe completamente diversa. Voglio dire, guarda questo: "Il Cortex-M3 NVIC è altamente configurabile in fase di progettazione per fornire fino a 240 interrupt di sistema con priorità individuali, ridefinizione dinamica delle priorità e clock di sistema integrato". ATMega328 ha 2 interrupt per il confronto.
@Matt Questo è ARM Cortex NVIC * Core * concesso in licenza da Keil. La maggior parte delle implementazioni non usa tutti i 240 interrupt. anche se hai intenzione di contare tutte le sorgenti di interrupt che avr ha ~ 21. In ogni caso penso che la complessità del controller di interrupt non stia cambiando super gioco.
@stbtra: Sì, sappiamo tutti che ARM concede in licenza core alle aziende con cui costruire controller. Il nostro punto è che ARM è generalmente un passo avanti anche rispetto agli AVR di fascia alta, ed è * categoricamente al di sopra * degli AVR limitati utilizzati dalle piattaforme Arduino.
AngryEE
2010-12-01 20:17:40 UTC
view on stackexchange narkive permalink

Non puoi limitare te stesso. Un ARM Cortex M3 può fare cose che un Arduino non può fare. In effetti, l'UC Arduino è uno dei processori più basilari / vanigliati / limitati nella stessa linea AVR. Non ostacolare il tuo progetto e te stesso solo per cercare di ottenere follower. Se questo progetto non ti aiuta a imparare e ad estendere i tuoi confini, non penso che valga la pena farlo. Se hai superato Arduino, vai avanti.

dren.dk
2010-12-01 18:17:51 UTC
view on stackexchange narkive permalink

La risposta breve: No.

La risposta più lunga: Beh ...

Uno dei principali incentivi per gli sviluppatori esterni a essere coinvolti e aiutare il tuo progetto è quanto costa

Un Arduino è un componente hardware relativamente costoso e goffo rispetto a un semplice AVR, quindi se stai costruendo qualcosa che dovrebbe essere effettivamente utilizzato, utilizzare un vero Arduino è un'idea orribile.

Rendere un sistema compatibile con Arduino è una questione completamente diversa, può essere facile come estrarre TXD, RXD e RESET su un'intestazione con un pinout del cavo FTDI e utilizzare uno degli AVR che l'IDE di Arduino ha il supporto per.

Gli armeggiatori occasionali potrebbero quindi utilizzare l'IDE di Arduino con la tua scheda, mentre gli utenti più avanzati potrebbero utilizzare il C semplice e un file make.

Johan
2010-12-01 20:39:15 UTC
view on stackexchange narkive permalink

Un target basato su Cortex M3 non deve essere più complicato ... dai un'occhiata a Maple, una "copia Arduino" basata su STM32. Per programmare ed eseguire il debug puoi usare JTAG basato su OpenOCD o semplicemente usare il cavo USB.

E la risposta alla tua domanda è: no, non è necessario che sia basato su Arduino per avere un grande successo ....

l'armmite pro, come l'acero è un ARM con un'impronta arduino.
XTL
2010-12-01 22:28:57 UTC
view on stackexchange narkive permalink

Direi che essere un altro * * progetto duino lo renderà meno interessante, ma probabilmente c'è un gruppo di persone che si preoccupano o hanno accesso solo a quella piattaforma. Mi aspetto che ciò valga per molte altre piattaforme.

La mia opinione personale sulla scelta della piattaforma è che non dovresti preoccuparti o pensare alla popolarità. Se stai cercando un progetto, scegli gli strumenti che hanno senso per te e usali.



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...