Apa yang membuat platform tertentu cocok atau tidak cocok untuk penggunaan produksi? [Tutup]

9

Mari kita asumsikan bahwa biaya barang merupakan faktor yang tidak signifikan. Jika perusahaan tidak memiliki tim untuk menghasilkan papan khusus untuk produk tertentu, tetapi telah berhasil dengan platform pengembangan rak seperti Arduino / Netduino / mbed, hal-hal apa yang harus dipertimbangkan sebelum melangkah maju?

Jika saya tidak salah, Arduino awalnya menargetkan mahasiswa karena harganya yang murah dan kemudahan penggunaan. Itu secara alami menjadi platform yang populer untuk seniman dan pembuat. Saya melihat Netduino sebagai ekstensi logis dari Arduino - ini memungkinkan orang untuk menggunakan IDE yang kuat dan kaya (Visual Studio 2010) dan menyelesaikan sesuatu dengan cepat melalui .NET Micro Framework. mbed adalah platform hobi lain yang bagus karena kemudahan penggunaannya, alat gratis (kompiler online), dan periferal perangkat keras.

Jadi pertanyaan saya adalah, mengapa perusahaan tidak mengadopsi platform pengembangan ini untuk penggunaan produksi? Dengan kata lain, apakah itu ide buruk untuk hanya membeli beberapa papan dari Sparkfun, program masing-masing dengan kode, dan kemudian menyebarkan produk ke pelanggan?

Saya secara khusus tertarik pada Netduino, tetapi argumen untuk / terhadap Arduino dan mbed juga diterima. Di sisi lain, apakah Anda, atau sudah pernah melakukan ini sebelumnya?

Saya pribadi melihat pengembangan Netduino sebagai "modul inti" yang dijual oleh produsen prosesor lain untuk integrasi produk, tetapi mungkin saya kehilangan sesuatu yang penting di sini.

Dave
sumber

Jawaban:

5

Beberapa hal yang mungkin Anda lihat ketika sumber modul pengontrol adalah masalah seperti keamanan pasokan dari waktu ke waktu, masalah lisensi, segala inefisiensi dalam proses pemuatan firmware untuk produksi, masalah keamanan kode apa pun, dan masalah kualitas manufaktur atau masalah kepatuhan terhadap peraturan. Beberapa dari mereka akan lebih menjadi perhatian untuk modul berpemilik daripada yang relatif terbuka yang bisa membuat orang lain membuat yang setara atau akhirnya bergabung dengan fungsionalitas lain dalam produk Anda.

Chris Stratton
sumber
Pasokan bisa menjadi masalah, tetapi setidaknya desain untuk * duino adalah open source.
Dave
@Dave - Anda melewatkan intinya. Chris (saya pikir) sebagian besar berbicara tentang masalah dengan. NET, bukan dengan perangkat keras.
Kevin Vermeer
1
@reemrevnivek - hmm ... tentu terdengar seperti masalah perangkat keras bagi saya. Mengapa menyediakan masalah, memuat firmware, dan mfg. kualitas ada hubungannya dengan .NET?
Dave
1
Anda mungkin atau mungkin tidak bisa mendapatkan lisensi untuk memuat runtime tertentu pada papan sumber alternatif. Berbagai masalah yang saya sarankan adalah bermacam-macam yang tidak harus saling terkait.
Chris Stratton
12

Astaga! Entah Anda benar-benar bingung, atau ide produksi Anda berbeda dengan saya. Saya menganggap produksi berarti menjual produk ke masyarakat umum dalam jumlah ribuan atau lebih, kemudian mendukung dan memperbarui desain. Produk yang tidak masuk ke masyarakat umum adalah pekerjaan internal atau kontrak, dan produk yang menjual dalam jumlah yang lebih kecil adalah untuk keperluan khusus atau berbeda. 'Beberapa papan dari Sparkfun' tidak akan memenuhi kebutuhan produksi.

Pertama, harga pokok selalu merupakan faktor penting. Betapa pentingnya hal itu mungkin berbeda dari produk ke produk, dan mungkin kurang signifikan jika item tertentu hanya komponen kecil dari sistem yang lebih besar yang telah dioptimalkan untuk biaya. Namun, dalam lingkungan di mana Anda bersaing dengan produsen lain (yang pasti karena jika Anda berada di pemerintahan atau memiliki monopoli Anda tidak akan menanyakan pertanyaan ini), biaya akan menjadi faktor. $ 35 untuk Netduino (dalam biaya saja) biasanya dapat dikurangi menjadi $ 10 atau kurang untuk sebagian besar aplikasi dengan desain khusus. Jika Anda yakin bahwa biayanya tidak masalah, ada alasan lebih lanjut untuk tidak membeli desain semacam itu.

Ya, ketiga papan dirancang untuk siswa, desainer, dan penggemar. Mereka dirancang agar cukup andal untuk kit pengembangan yang berada di atas meja. Siswa itu harus mengetahui beberapa hal tentang prosedur penanganan yang aman yang tidak diketahui atau dipraktikkan oleh populasi umum. Masalah seperti ESD, disipasi daya jangka panjang, dan penurunan komponen kemungkinan diturunkan di bawah hal-hal yang kurang penting untuk produksi seperti solderabilitas dan kesederhanaan.

Afinitas Anda terhadap IDE dan solusi terpaket menakutkan. Menurut pendapat saya, Anda terlalu percaya pada penyedia alat Anda. Jika papan menjadi lebih mahal, jika ketentuan lisensi diubah, jika server turun, perangkat lunak dinyatakan usang, produsen papan keluar dari bisnis (dll. Dll ...), bisnis Anda disemprot. Juga, Anda tidak memiliki pemahaman tentang apa yang terjadi di balik layar. Jika sesuatu tidak berfungsi seperti yang dikatakan dalam dokumentasi, apa yang seharusnya menjadi rencana Anda? Gagasan Anda untuk membeli beberapa Arduino, memprogram mereka, dan menggunakan produk, misalnya, tidak memiliki rencana untuk perlindungan kode. Orang lain dapat menyalin kode Anda dari mikrokontroler, menduplikasi bagian-bagian yang relevan dari desain dengan harga sepertiga, dan menjual lebih banyak dari Anda.
Mengandalkan IDE dan bahasa untuk hal-hal yang tidak Anda pahami adalah resep bencana.

Menggunakan kit pengembangan dalam desain Anda akan membuat produk Anda terlalu mahal, rapuh, besar, haus daya, dan tidak efisien. Ini juga akan sulit untuk di-debug, sulit untuk didukung, dan Anda akan berada di bawah kekuasaan pemasok Anda. Itu akan membuat Anda terlihat tidak kompeten.

Namun, semuanya tidak hilang. Jika Anda menerapkan desain Anda pada papan pengembangan, itu akan mudah untuk memiliki seseorang (baik di dalam atau di luar tim Anda) menyesuaikannya untuk menghilangkan kekurangan ini. Jika Anda kekurangan tim, Anda harus merekrut, membawa kontraktor, atau melakukannya oleh perusahaan desain.

Kevin Vermeer
sumber
1
Produksi tidak harus berarti ribuan. Ada banyak rekayasa dalam peralatan yang sangat khusus yang dapat menjual dalam pesanan beberapa lusin hingga beberapa ratus potong - dan jelas itu dijual dengan harga yang agak tinggi atau tidak ada yang akan menghasilkan uang dengan melakukan itu. Industri-industri semacam itu berfokus pada pemenuhan kebutuhan dengan cepat, bukan pada pengeluaran berbulan-bulan untuk mengeluarkan setiap dolar terakhir dari BOM.
Chris Stratton
2
@reemrevnivek - Saya pikir Anda dan saya bekerja di dunia yang sama sekali berbeda. Ketika saya merujuk ke bagian produksi, itu adalah apa saja yang dilepaskan ke pelanggan, dan bisa dalam jumlah dari 1 hingga 20, bukan puluhan ribu, ribuan, atau bahkan ratusan. Saya tidak terlalu peduli jika saya dapat mengurangi bagian dari $ 50 menjadi 5 dolar, jika itu berarti saya harus menghabiskan 3 bulan ekstra untuk pengembangan. Saya juga tidak keberatan jika seseorang menyalin kode.
Dave
1
Anda telah menyampaikan poin yang sangat bagus, dan saya menghargai masukan Anda. Saya pikir jawaban Anda sedikit ekstrem dan Anda jelas-jelas berpendapat tentang hal ini, tetapi saya dapat menyaring poin-poin utama darinya.
Dave
2
@Dave - Maaf, saya secara sadar mencoba membuatnya tidak beralasan atau ekstrem. Ini seperti apa setelah beberapa kali membaca ulang dan mengedit: P. Namun, saya mendukung pernyataan saya bahwa kata 'produksi' berarti (dalam setiap konteks yang telah saya operasikan, yang terutama sebagai pemasok OEM otomotif) ribuan bagian. Dapatkah Anda bayangkan membuka tudung Anda dan melihat Arduino diretas ke pengontrol kipas Anda? Tidak, dan untuk alasan yang bagus. Saya mencoba memberikan beberapa alasan itu.
Kevin Vermeer
1
@reemrevinek - haha! jangan tersinggung. Saya berharap mendapatkan banyak sudut pandang dengan pertanyaan ini. Lingkungan saya sangat berbeda. Kami menjual beberapa produk khusus yang cukup mahal, jadi bagian seperti papan tertanam tidak apa-apa jika harganya lebih mahal, dan mengimbangi waktu pengembangan. Saya menggunakan Netduino sekarang hanya untuk konsep prototyping, tetapi kemudian terpikir oleh saya bahwa kita mungkin bisa memasukkannya ke dalam produk, karena itu hanya digunakan dengan pengontrol tampilan. Saya tentu setuju bahwa lebih baik / lebih profesional untuk memiliki papan kustom, tetapi ingin mendengar pendapat.
Dave
4

Saya telah menggunakan papan Arduino dalam suatu produk (bukan produksi skala besar) dan saya tidak akan melakukannya lagi. Papan Arduino diarahkan pada ekosistem yang sangat tertutup (dalam arti kata perangkat lunak non-sumber terbuka). Misalnya, jika Anda 'melangkah keluar' dari ekosistem Arduino dengan perlu menggunakan pin yang tidak dibawa ke header di papan pengembangan, Anda segera kehilangan semua manfaat dari Arduino. Anda harus memodifikasi papan untuk membawa pin ke header yang ada atau menambah header baru. Ini kemungkinan berarti Anda tidak akan dapat menggunakan perisai yang ada atau bahkan mungkin pustaka perangkat lunak untuk Arduino. Itulah sebagian besar manfaat papan yang hilang. Saya harus melakukan ini dengan Arduino Mega.

Selain itu, papannya besar dan tidak mudah diintegrasikan dengan PCB lain. Saya membuat papan utama untuk aplikasi saya setara dengan perisai untuk Arduino Mega yang memiliki lubang pemasangan untuk penutup yang saya pilih. Jadi saya hanya memasukkan Mega Arduino ke header yang saya pasang di papan tulis. Namun, ini banyak ukuran naik turun untuk mengakomodasi, dan ada banyak ruang yang terbuang karena ukuran papan pengembangan. Saya tidak perlu setengah dari apa yang ada di sana dan hanya memakan ruang. Ini mengharuskan saya untuk memiliki PCB dan enclosure yang lebih besar daripada yang seharusnya saya butuhkan. Itu membuang-buang uang.

AngryEE
sumber
1
Desain Arduino (dan bahkan bertenaga lengan) cukup sederhana sehingga jika Anda akan membuat PCB yang cocok untuk logika digital untuk mengaksesnya, Anda mungkin juga cukup menyertakan prosesor. Mereka akan lebih menggoda jika Anda tidak akan membuat PCB sama sekali, atau melakukannya satu sisi atau dalam teknologi analog atau RF khusus di mana Anda tidak ingin bagian digital di papan itu, dan harus melakukan papan pengontrol juga akan lebih banyak pengeluaran daripada membeli (dan bahkan mengerjakan ulang) mereka.
Chris Stratton
1
Chris-tentu saja. Semua orang harus tahu bahwa jika Anda membuat PCB sendiri, ada gunanya menambahkan papan Arduino sebagai lawan dari hanya membuat ulang pada PCB Anda.
AngryEE
Jika lingkungan Arduino menjadi faktor pembatas, Anda selalu dapat menggunakan kompiler AVR lainnya seperti GCC, BASCOM, AvrCo dan menghasilkan firmware yang akan hidup di papan Arduino yang sama ...
avra
4

Arduinos & co adalah platform prototyping dan evaluasi . Dengan demikian, mereka tidak layak secara ekonomi sebagai dasar untuk bahkan menjalankan produksi yang relatif kecil. Mereka bagus untuk pendidikan dan mengejek ide-ide, tetapi suatu produk akan tenggelam dengan sangat cepat jika harus menanggung biaya sub-perakitan yang sudah jadi yang tidak optimal dalam penggunaan akhirnya.

Akan jauh lebih baik untuk membuat papan baru termasuk elemen-elemen yang diperlukan dari duino dan sirkuit tambahan apa pun daripada memiliki biaya dua papan dan risiko kegagalan koneksi.

Berkenaan dengan Visual Studio dan apa pun. Net, saya tidak akan menyentuh mereka dengan milik orang lain. Pergi untuk sesuatu platform dan produsen agnostik - semacam semangat proyek Arduino itu sendiri.

Leo
sumber
1
Saya masih percaya itu semua tergantung pada biaya produk Anda. Katakanlah itu mungkin untuk membuat sesuatu yang benar-benar menarik dengan * duino, dan itu adalah bagian kecil dari proyek 1 juta USD, dan Anda hanya akan menjual 3 dari mereka. Mengapa itu tidak layak secara ekonomi? Apakah Anda lebih suka menghabiskan ribuan untuk pengembangan untuk sesuatu yang akan digunakan dua kali?
Dave
2
Mengenai komentar .NET, saya sering bertemu dengan orang-orang yang tidak suka menggunakan Visual Studio dan / atau .NET hanya karena. Saya pribadi tidak mengerti. Visual Studio sejauh ini merupakan salah satu IDE terbaik yang pernah saya gunakan. Saya diakui cenderung terhadap alat Microsoft karena mereka membiarkan saya menyelesaikan pekerjaan saya dengan cepat, dan 99% dari waktu, mereka hanya bekerja. Meskipun saya benar-benar harus belajar menggunakan papan pengembangan dengan ICE, saya sangat menghargai kemudahan menggunakan lingkungan yang akrab yang memungkinkan saya mengatur breakpoints selama debugging. AFAIK kamu tidak bisa melakukan itu dengan Arduino.
Dave
WRT komentar pertama Anda, saya katakan berjalan relatif kecil. Saya akan melihat tiga pengembangan anggaran besar sebagai prototipe yang sedang berlangsung. Saya membayangkan klien juga. Dalam situasi itu, saya akan dengan senang hati menggunakan Arduino.
Leo
1
Hal MS / .net didasarkan pada pengalaman pribadi. Selama dua puluh tahun terakhir saya telah menggunakan hampir setiap platform di luar sana. Sakit kepala terbesar selalu datang dari produk MS. MS sepertinya menganggap bahwa jalan mereka adalah satu-satunya cara yang tepat. Saat ini saya menggunakan OS X, Ubuntu dan Windows 7, semuanya dalam lingkungan pengembangan. Tebak yang mana yang harus saya reboot (sama sekali)?
Leo
4
ATMegas yang digunakan pada Arduino mendukung debugging melalui debugwire- tidak yakin apakah perangkat keras pin atur ulang Arduino kompatibel tetapi jika tidak tidak butuh banyak untuk meretas karena itu hanya satu pin. Masalah lain yang berpotensi besar tentang penggunaan papan orang lain adalah jika Anda peduli tentang kebohongan, EMC, kretifikasi FCC, dll.
mikeselectricstuff
3

Secara umum tidak ada yang salah dengan menggunakan produk yang tidak tersedia. Kita semua melakukan ini pada tingkat tertentu, saya kira pembenci Arduino tidak merancang chip mereka sendiri, bahkan keras pada tingkat volume yang lebih tinggi yang akan masuk akal secara ekonomi.

Itu selalu bermuara pada biaya, jadwal dan kualitas (dan mungkin ketersediaan jangka panjang juga). Jika Arduino memenuhi kriteria ini lebih baik daripada papan kustom, pilihannya adalah no-brainer.

Bagian yang sulit adalah mendapatkan angka yang tepat, terutama untuk volume Anda. Tapi menggunakan angka yang benar dan sedikit matematika akan memberi Anda volume impas untuk pilihan antara uising katakanlah Arduino versus papan kustom. Jika itu jauh melampaui apa yang Anda harapkan, atau jauh di bawah, pilihannya mudah. Jadi, lupakan semua saran yang mengatakan "tentu saja gunakan Arduino" atau "selalu gunakan papan kustom", keduanya terkunci ke dalam pola pikir yang dimiliki oleh level volume tertentu. Lakukan perhitungan Anda sendiri.

Perhatikan bahwa saya tidak memiliki pengetahuan khusus tentang Arduino. Anda harus memutuskan sendiri apakah memenuhi misalnya persyaratan kualitas Anda.

Wouter van Ooijen
sumber
2

Papan custom made bagus jika Anda memiliki anggaran untuk ini dan produksi cukup besar untuk membenarkan pekerjaan. Kalau tidak, Anda tetap dengan produk rak, seperti papan Arduino, Netduino, Fez Domino, dan SBC (seperti di PC104 dan berbagai format ITX). Membuat papan AVR / Arduino khusus tidak terlalu rumit, tetapi modifikasi berat untuk Netduino atau bahkan merancang (dan kemudian mendukung) beberapa papan linux (seperti Gumstix) memerlukan spesialis (s) dan biaya puluhan ribu dolar dan lebih. Jika Anda ingin sebagian besar kerja keras dilakukan oleh orang lain, dan Anda ingin menyesuaikan hanya beberapa bagian saja, maka modul adalah kata ajaib untuk Anda.

avra
sumber
Saya pasti setuju dengan Anda, tetapi pada titik tertentu Anda masih membutuhkan PCB. Saya memiliki keterampilan yang cukup untuk membuat satu untuk * duino dan lainnya untuk membuat PCB sederhana untuk memutus sinyal dan daya, jadi setidaknya itu masih cukup murah.
Dave
Itu murah jika Anda tidak membutuhkan ribuan, dan jika Anda membutuhkan lebih banyak daya maka modul seperti yang ada di tautan di atas juga bagus. Berhati-hatilah karena Anda mungkin harus berurusan dengan deteksi mati, gangguan daya jika menulis ke eeprom, catu daya yang andal, dan banyak hal lain yang bergantung pada aplikasi spesifik Anda.
avra