Saya akan mengatakan sepatah kata pun tentang pendekatan rekayasa

Hai, Habr.

Pada hari Minggu malam yang santai ini, saya ingin berbicara tentang dua topik, sebagian saling berhubungan - tentang apa dan bagaimana pendekatan teknik dalam pengembangan elektronik terlihat, dan bagaimana dan mengapa menulis artikel tentang elektronik ini di Habr sehingga mereka menyenangkan dan dapat dimengerti untuk semua orang.

Ungkapan dalam artikel hari ini membawa saya ke ide ini: "Di bawah potongan multi-kumbang, tetapi itu akan menjadi rekayasa"; Sayangnya, tidak hanya tidak ada rekayasa di bawah potongan, tetapi secara umum dalam persentase yang sangat besar dari artikel tentang topik "Bagaimana saya membuat perangkat" yang diterbitkan baru-baru ini di Habré, tidak ada rekayasa.

Mengapa

Karena setiap insinyur - seperti programmer, dokter, pengacara, dan profesional mana pun pada umumnya - memiliki metodologi kerja dasar, yang tanpanya aktivitas dari seorang profesional berubah menjadi pelemparan yang tidak sistematis. Lebih tepatnya, ini bahkan bukan metodologi - kita dapat mengaitkan adzhayl, TRIZ dengan metodologi, dan itu saja, masing-masing memiliki metodologi sendiri - tetapi strategi kasar yang dapat ditulis dalam beberapa langkah.

Jadi apa ini berlaku untuk elektronik?

1) Pembentukan tugas - atau, secara formal, pernyataan tugas teknis.

Pada tahap pertama, kami merumuskan apa dan mengapa kami ingin mendapatkan sama sekali, serta kondisi batas yang ingin kami amati.

Saya bahkan tidak akan menyentuh pelacak GPS, pengoperasian modul GPS, waktu yang diperlukan untuk masuk ke mode pengambilan koordinat, dll. - segala sesuatunya sangat kompleks dan bergantung pada banyak hal (saya perhatikan hanya bahwa setiap modul GPS minimal modern memiliki setidaknya empat mode operasi, dengan konsumsi 20-30 mA, 2-3 mA, 200-300 μA dan <10 μA, tidak termasuk penuh shutdowns).

Mari kita ambil hal yang lebih sederhana - accelerometer. Sebagai contoh, berikut adalah tiga tugas yang benar-benar nyata yang diselesaikan pada accelerometer MEMS ST LIS3DH yang murah:

  • tilt angle sensor - melacak sudut kemiringan kolom pencahayaan
  • aktivitas fisik dan sensor jatuh - melacak fakta jatuh bebas, serta menilai aktivitas fisik pembawa
  • sensor getaran - pelacakan spektrum getaran 0,1 ... 100 Hz

Dalam ketiga kasus - perangkat bertenaga baterai yang ingin kami optimalkan untuk konsumsi energi.

Kami melihat lembar data accelerometer:

  • tidur - 0,5 μA
  • 1 Hz - 2 μA
  • 25 Hz - 6 μA
  • 1344 Hz - 185 μA

Jelas, tiga tugas kami akan memerlukan tiga mode operasi yang berbeda - dalam yang pertama, bahkan 1 Hz sangat berlebihan untuk kolom, kolom biasanya tidak terburu-buru, dan tim perbaikan tidak terburu-buru, terutama. Dalam yang kedua, mode dengan kecepatan urutan 25 Hz cukup memadai, dan yang ketiga, tentu akan menyenangkan untuk memiliki kelebihan 10 kali lipat dari frekuensi sampling melebihi frekuensi sinyal yang diukur.

Selain itu, dalam kasus kolom, 1 Hz sangat berlebihan sehingga interogasi manual accelerometer umumnya merupakan pilihan paling efektif. Misalkan mikrokontroler kami bangun untuk survei seperti itu setiap 15 menit sekali (kami sepakat dengan pelanggan, ia puas dengan keterlambatan informasi tentang kolom yang akan jatuh - tim akan tiba di sana dalam waktu singkat sebelum dua jam kemudian), seluruh prosedur memakan waktu 100 ms, dan pengontrol pada saat yang sama, ia mengkonsumsi 5 mA - konsumsi energi rata-rata dari mode aktif dari pengontrol ternyata 5 * 0,1 / 15/60 = 0,55 μA, yang dalam kombinasi dengan 0,5 μA akselerator tidur kira-kira dua kali lebih menguntungkan dari akselerometer itu sendiri dengan 1 Hz dan pengontrol bangun hanya jika ambang melebihi.

Sebenarnya, apa yang saya jelaskan sekarang pada dasarnya adalah tahap ketiga dalam metodologi pendekatan pembangunan, sekarang ini dimaksudkan untuk menggambarkan betapa pentingnya mengatur tugas terlebih dahulu.

Apakah Anda membuat pelacak GPS? Bagus Apakah Anda melakukannya untuk siapa? Untuk seorang pejalan kaki, di mana ia harus berbaring di sakunya, menimbang 50 g dan hidup dengan baterai selama sehari? Untuk gerbong kereta api, di mana ia harus tinggal selama lima tahun, tetapi setidaknya lima kilogram? Untuk seekor sapi yang bebas merumput, di mana ia telah hidup dengan baterai selama lima tahun yang sama (karena sapi itu tidak lagi hidup), tetapi haruskah ia menimbang maksimum 35 g, karena ia melekat pada telinganya?

Ini semua adalah tugas yang sangat berbeda.

Dan jelaskan dengan jelas apa yang Anda lakukan dan apa syarat batasnya, jika Anda jatuh dalam tugas yang dianggap dapat diselesaikan, maka perlu terlebih dahulu.

Sebenarnya, sudah pada tahap ini, sebagian besar proyek DIY memiliki lubang hitam: penulis melakukan sesuatu yang sama sekali tidak jelas mengapa. Kadang-kadang ia dengan jujur ​​menulis "untuk berlatih menyolder", tetapi paling sering berbagai yang abstrak - tanpa TK mereka akan selalu abstrak - hal-hal seperti "mencapai konsumsi daya prosesor minimum sambil mencetak segala sesuatu yang lain untuk konsumsi daya" ternyata menjadi tujuan mereka sendiri.

Ambil artikel yang sama yang disebutkan di atas - penulis perangkat mengejar unit konsumsi mikroamp , mengalihkan kekuatan accelerometer (kurang dari 2 μA dalam hibernasi) dan GPS (7-8 μA dalam mode cadangan baterai) dengan transistor terpisah. Apakah ini benar-benar perlu? Di sini, di depan saya sekarang terletak modul elektronik untuk "helm pintar" (juga memiliki pelacak GPS), ia memiliki waktu operasi yang diperlukan pada satu muatan dengan margin yang diperoleh dengan konsumsi rumah sakit rata-rata 5 mA ( mili ampere), apakah Anda benar-benar berpikir bahwa plus atau minus selusin microamps di sini bedanya? Dan jika tidak, lalu mengapa mendorong detail tambahan pada papan yang sudah cukup ketat?

2) Pemilihan komponen

Setelah Anda memutuskan kondisi batas, tahap kedua dimulai, di mana Anda memilih dari mana Anda akan membuat perangkat Anda.

Tugasnya, pada kenyataannya, tidak terlalu sederhana, karena Setiap komponen memiliki banyak parameter, seperti:

  • parameter listrik
  • ruang papan
  • kompleksitas dan biaya pemasangan
  • biaya komponen
  • ketersediaan penjualan

Kami bahkan mengambil tugas yang sama dengan accelerometer - yah, ok, di helm pintar Anda pasti akan puas dengan LIS3DH dengan harga setengah dolar, gulungan terletak di Kompel. Dan pada pengukuran penyimpangan kolom? Dan dengan akurasi apa klien ingin mengukur penyimpangan ini? Masih lebih murah LIS3DH 12-bit, sedikit lebih mahal LIS2HH 16-bit atau sudah ADXL355 top-end biaya lima puluh dolar dan dengan pengiriman selama dua minggu? Di sini kita kembali ke syarat batas paragraf 1 dan mulai menghitung, menghitung, menghitung.

Dan itu hanya accelerometer. Dan bayangkan variasi macam apa yang terjadi di pasar, misalnya layar. Jelas bahwa semua orang menyukai WH1602 (walaupun saya pribadi lebih menyukai WEH001602), tetapi segera Anda akan menjawab apa yang harus dimasukkan ke dalam meter air yang berusia 6-8 tahun bekerja dengan satu baterai, sambil terus menampilkan meter kubik?

Sebenarnya, setiap komponen dalam rangkaian harus dibenarkan - pengembang harus memiliki pemahaman tentang mengapa komponen itu persis sama, atau pemahaman bahwa dalam kasus ini tidak masalah yang mana (well, misalnya, resistor biasanya lebih atau kurang sama, walaupun ada nuansa).

Dan semua ini saling berhubungan. Misalnya, pilihan baterai yang sama - LiMnO 2 dengan tegangan 2.0 ... 3.0 V, LiSOCl 2 dengan tegangan 2.4 ... 3.6 V atau baterai yang dapat diisi ulang secara umum dengan 3.0 ... 4 , 2 V? Dan komponen dari apa yang bisa bekerja dari Anda? Dan dari mana mereka akan bekerja lebih efisien atau lebih ekonomis? Akankah beban yang dipilih menarik arus puncak? Dan jika itu adalah LiSOCl 2 , maka, dengan mempertimbangkan pasivasi, apakah masih akan menarik? Apakah Anda ingin mematikan DC / DC, dan jika tidak, matikan? Apakah chip pemutus muatan yang dipilih tahu caranya, atau mematikannya - apakah menghentikan PWM, tetapi apakah inputnya mati pada output? Apakah ada bahaya overheating, kalau tidak, mungkin Anda harus pergi ke LiFeS 2 1,5 volt secara umum, yang tidak memiliki akselerasi diri termal?

Jadi dalam lingkaran beberapa kali - perubahan satu komponen menarik yang lain, yang lain ...

Apakah Anda pikir modul GPS yang sama - apakah semuanya sama? Dalam "helm pintar" saya, dalam kerangka dimensi yang disepakati dengan pelanggan dan dalam kerangka persyaratan baterai yang tersedia secara komersial dan memuaskan, komponen harus ditempatkan di sisi papan yang berdekatan dengan kasing, dan oleh karena itu ada sesuatu tentang batas ketinggian untuk komponen ini. 1,5 mm. Sekarang ambil modul GPS terdekat dan ukur berapa tinggi tubuhnya.

Ya Tepat Nah, Anda dapat mendamaikan dimensi dan membuat casing lebih tebal 1 mm, atau Anda dapat mengubah Quectel L76 yang biasa menjadi EVA M8M baru dengan 7 × 7 × 1.1 mm.

Apa yang kita lihat di artikel di atas? Penulis tidak tahu mengapa ia membuat pelacak GPS, oleh karena itu ia meletakkan modul GPS pertama ke dalamnya, tentang yang ia tidak tahu mode operasi dan tidak terlalu ingin mencari tahu, dan karena itu, demi penghematan energi (itu juga tidak begitu jelas mengapa) itu hanya memotongnya semua makanan.

Artinya - kegagalan dalam pembentukan tugas menyebabkan kegagalan dalam pemilihan komponen.

3) Produksi produk prototipe

Yah, mungkin tidak banyak yang berhenti di sini - setelah memilih komponen, rangkaian final dibuat, papan, prototipe dirakit. Dengan ini, DIY biasanya kurang lebih baik, dan fakta bahwa pita listrik biru dan kabel multi-warna secara bertahap digantikan oleh papan kustom diterima.

4) Optimalisasi mode operasi komponen

Terlepas dari semua upaya Anda, langkah-langkah sebelumnya akan meninggalkan bercak putih yang terpisah - dalam banyak kasus Anda akan selalu memiliki ruang untuk fine-tuning operasi komponen (GPS adalah, contoh yang baik di sini - Anda dapat bermain dengan mereka untuk waktu yang lama untuk mengatur mode tidak aktif untuk meminimalkan konsumsi daya sambil memastikan konsumsi daya akurasi koordinat yang ditentukan). Sulit atau tidak mungkin menemukan banyak nuansa dengan lembar data - pabrikan sering tidak menentukan data terlalu rinci atau hubungan antara parameter yang berbeda.

Karena itu, setelah pembuatan prototipe, yang, menurut perkiraan awal Anda, harus memenuhi persyaratan TK, tahap pengoptimalannya dimulai.

Ada, misalnya, contoh klasik - konsumsi daya prosesor sebagai fungsi kecepatannya. Ya, semakin megahertz - lebih banyak milliamps. Tetapi semakin cepat prosesor akan menyelesaikan tugas dan kembali tidur! Tetapi pada saat yang sama, sebagian tugas tergantung pada kecepatan antarmuka eksternal yang bekerja sama pada 1 MHz atau 64 MHz. Dalam hal ini, output prosesor pada 64 MHz mungkin membutuhkan waktu lebih lama daripada outputnya pada 4 MHz (memulai dan menstabilkan resonator kuarsa, memulai dan menstabilkan PLL, mengkonfigurasi ulang mode jam), dan sebagai hasilnya, dari aktif ke tidak aktif, tugas yang sama dalam kasus pertama makan lebih banyak microamps-detik dari pada yang kedua!

Di sini, tentu saja, orang sering tidak perlu terlalu terbawa - jika Anda dengan margin yang baik masuk ke dalam kondisi batas TK, maka tidak masuk akal untuk menghabiskan waktu untuk optimasi; baik, seperti dalam "helm pintar" yang disebutkan di atas, yang dengan konsumsi rata-rata 5 mA menghemat unit dan bahkan puluhan mikroamp, itu sama sekali tidak masuk akal, ini adalah kesalahan, bukan penghematan.

Pada tahap yang sama, berbagai asumsi dapat diperiksa - misalnya, penulis artikel tentang pelacak GPS menyarankan bahwa perangkat dengan konsumsi tinggi akan lebih ekonomis jika dipasok dengan tegangan yang lebih rendah. Dalam praktiknya, hal ini tidak selalu terjadi - jika modul menyertakan konverter pulsa, maka dalam kasus apa pun ia mengkonsumsi daya konstan, yang berarti bahwa ketika tegangan berkurang, itu akan meningkatkan konsumsi saat ini.

Akibatnya, total konsumsi sirkuit, di mana satu lagi step-down converter ditambahkan, dan juga rangkaian level matching, hanya akan meningkat.

5) Bukti eksperimental dari solusi optimal untuk masalah tersebut

Tahap terakhir (yang, bagaimanapun, sebagian dapat dilakukan pada yang kedua dari belakang) adalah bukti eksperimental bahwa perangkat dibuat dengan benar dan optimal.

Pertama, perlu dicermati lagi - jika ada detail yang tidak perlu ditemukan selama proses prototyping dan debugging. Over-engineering, di mana perangkat mendapat banyak kelebihan, umumnya cukup khas untuk proyek-proyek DIY - ambil, misalnya, artikel baru - baru ini tentang saklar sentuh , penulis yang, memiliki mikrokontroler yang kuat di tangan, membuat sensor sentuh pada chip yang terpisah, dan kemudian masih tidak bisa menahan konsumsi energi yang dihasilkan dengan cara apa pun dapat diterima. Nah, atau kepercayaan di kalangan arduinists , bahwa untuk "perlindungan dari gangguan" output mikrokontroler dan gerbang transistor yang mengontrol relay harus dipisahkan oleh optocoupler.

Namun, dalam kasus ini, pemeriksaan kritis terhadap proyek-proyek mereka tidak akan membantu penulis dengan cara apa pun - mereka jelas memiliki kekurangan pengetahuan dasar yang akut yang memungkinkan mereka untuk menyelesaikan masalah secara optimal, daripada mengacaukan komponen tambahan dengan fungsi yang tidak terlalu jelas bagi mereka. Namun demikian, untuk melihat sirkuit dan berpikir jika sesuatu ternyata tidak terlalu diperlukan pada akhirnya - sinyal, trek, komponen - sepadan.

Kedua, perlu untuk memahami apakah perangkat benar-benar memenuhi persyaratan batas persyaratan teknis, dan jika tidak, atau bahkan jika parameternya tidak sesuai dengan ide Anda tentang apa yang seharusnya, maka mengapa (ya, saya secara khusus disorot dalam huruf tebal: tidak berharga kepada pengembang yang, setelah menerima konsumsi energi 40 μA alih-alih perkiraan 5-10 μA, tidak dapat menjelaskan alasannya).

Tidak ada kasus "well, semua orang mengerti bahwa 10 microA ditulis dalam datasheet, tetapi pada kenyataannya itu tidak akan berhasil kurang dari 100 microA" di alam . Entah kesalahan yang sepenuhnya spesifik dalam lembar data, misalnya, jari kaki tidak dicetak, atau Anda tidak memahami sesuatu. Sejujurnya, kemungkinan Anda akan menghadapi kesalahan semacam itu agak kecil dalam aktivitas profesional dan praktis sama dengan nol dalam proyek DIY, ini adalah satu kasus untuk ribuan komponen dan, sebagai aturan, dalam beberapa mode eksotis pekerjaan mereka - oleh karena itu, jika parameter perangkat Anda sangat dan obyektif tidak sesuai dengan apa yang Anda hitung pada serbet pada lembar data, yang berarti Anda tidak memahami sesuatu.

Saya melihat banyak contoh tentang hal ini dalam masalah konsumsi energi yang sama - input digital tertinggal di udara, periferal prosesor yang dicabut, power-up yang terlupakan ... Tapi saya tidak ingat satu kasus ketika, pada akhirnya, ternyata “pada kenyataannya, itu benar-benar tidak akan berhasil. ", Dan konsumsi tidak akan mungkin untuk mengarah ke yang dihitung, atau untuk memperbaiki perhitungan dengan mempertimbangkan secara eksplisit yang ditunjukkan dalam lembar data, tetapi karena kesalahan tidak diperhitungkan faktor sebelumnya.

Studi tentang masalah-masalah seperti itu biasanya tidak bersifat trivial, tetapi perlu. Jika perhitungan Anda tidak sesuai dengan pengukuran Anda, itu berarti bahwa Anda salah dalam salah satu atau yang lain, dan kesalahan harus diperbaiki.

Jadi apa artikel untuk ditulis?


Kesimpulannya - tentang apa yang harus ditulis di Habr sehingga Anda tidak memiliki keluhan dari para profesional, yang kami anggap sebagai bagian penting dari audiens.

Bahkan, artikel-artikel tentang desain elektronik yang saya lihat secara teratur jatuh ke dalam salah satu kelompok:

  • informasi sampah menggandakan halaman pertama Google
  • biografi "bagaimana saya menghabiskan akhir pekan"
  • panduan tentang cara membuat diri Anda semacam perangkat
  • analisis kehalusan yang tidak jelas bagi kebanyakan orang

Contoh yang baik dari yang terakhir adalah, misalnya, artikel terbaru Hardware bit banding CortexM3 / M4 . Isi artikel semacam itu belum tentu merupakan penemuan ilmiah, tetapi dalam kasus apa pun, analisis informasi yang cukup terperinci tidak diketahui oleh kebanyakan orang untuk penggunaan praktis. Artikel-artikel seperti itu datang dalam kompleksitas yang beragam dan spesifisitas yang berbeda-beda, tetapi mereka semua disatukan oleh fakta bahwa Anda sendiri, tentu saja, akan menggali informasi dari mereka cepat atau lambat, tetapi menghabiskan waktu yang jauh melebihi waktu membaca artikel tersebut.

Kebalikannya adalah artikel "bagaimana berkedip LED menggunakan multivibrator". Bukannya mereka berisi informasi yang salah atau tidak perlu, tetapi jika semua informasi yang sama dapat diperoleh dari hampir semua tautan dari halaman pertama pencarian Google untuk permintaan yang sesuai, maka nilai artikel semacam itu umumnya nol. Ini sampah, artikel demi artikel.

Namun, artikel juga mungkin bermanfaat, tetapi tidak mengandung informasi baru yang fundamental - ini adalah panduan tentang cara membuat diri Anda semacam perangkat berdasarkan pengalaman pribadi penulis. Sebagai aturan, ini adalah hal-hal yang relatif tidak rumit (kompleks, melalui seluruh jalur desain yang dijelaskan di atas, muncul dalam bentuk artikel "bagaimana kami melakukan" dan, pada kenyataannya, dengan cepat jatuh ke dalam daftar seluk-beluk yang muncul selama proses dan jatuh ke dalam kategori yang sesuai), dan informasi yang yang diberikan dalam artikel diperlukan dan cukup untuk pengulangan independen dan pengembangan lebih lanjut oleh pembaca perangkat. Ini adalah skema, firmware, penjelasan mengapa perangkat dibuat begitu saja dan bagaimana bisa dibuat sama sekali.

Akhirnya, artikel biografi - dan tombol sentuh dan pelacak GPS termasuk dalam kategori yang disebutkan di atas - genre yang paling misterius bagi saya. Penulis mereka menulis banyak - kadang-kadang sangat banyak - surat, banyak disertai dengan gambar, tetapi orang luar tidak dapat mengekstraksi sesuatu yang berguna dari mereka .Para penulis tidak membenarkan keputusan yang mereka pilih, sering tidak menunjukkan mengapa mereka melakukan ini, sering tidak menyajikan skema konseptual atau kode sumber firmware, tidak hanya secara keseluruhan, tetapi setidaknya di bagian penting, dan tidak menunjukkan masalah khusus, timbul dalam proses dan yang mungkin menarik bagi orang lain ("pada awalnya saya tidak tahu cara menyolder komponen SMD, tetapi saya belajar dari waktu ke waktu" bukan masalah yang menarik bagi orang lain).

Meskipun artikel seperti itu terlihat dangkal karya teknis yang mendalam, pada kenyataannya itu adalah esai sekolah "Bagaimana Aku Menghabiskan Musim Panas", tidak menarik bagi siapa pun kecuali penulis sendiri.

Hindari ini jika memungkinkan.

PS Karena harus ada beberapa ilustrasi dalam artikel, saya akan memberikan contoh yang orang tidak suka mengklaim bahwa gambar dari Fritzing adalah rangkaian listrik penuh:

gambar

Cobalah untuk memahami apa yang terjadi pada gambar ini.

Source: https://habr.com/ru/post/id454532/


All Articles