Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Kapan Insinyur Listrik Dapat Menggunakan Python? Aplikasi untuk Bahasa Pemrograman Python

Di mana EE dapat menggunakan Python dalam kesehariannya? Berikut adalah tampilan aplikasi di mana Python unggul.

Di mana EE dapat menggunakan Python dalam kesehariannya? Berikut adalah tampilan aplikasi di mana Python unggul.

Pada artikel sebelumnya, kami mengajukan pertanyaan "Mengapa seorang insinyur harus repot-repot mempelajari Python?"

Sekarang, mari kita bahas bagaimana Python bisa relevan dalam pekerjaan seorang insinyur listrik.

Insinyur Pisau Swiss-Army

EE tidak hanya berurusan dengan desain sirkuit. Kami juga menghadapi banyak tugas lain yang harus kami tangani. Ada pemrograman firmware, debugging, pengujian perangkat keras dan perangkat lunak prototipe, pengujian sampel produksi, bekerja pada kontrol kualitas, dan jumlah pengumpulan, evaluasi, dan analisis data yang tampaknya tidak pernah berakhir.

Bagaimana Python dapat membantu dengan semua ini?

Masukkan Python, bahasa pisau tentara Swiss

Python sangat pandai menjadi bahasa pemrograman serba guna. Bahasa seperti HDL (bahasa deskripsi perangkat keras seperti VHDL, Verilog) melakukan satu hal spesifik seperti menyintesis ke perangkat keras. C/C++ berjalan ramping dan sangat cocok untuk pemrograman tertanam. Tetapi memiliki bahasa pisau tentara Swiss di sabuk alat Anda dapat membantu tugas-tugas tujuan umum yang sering kali menjadi mayoritas dari hal-hal yang kami tangani.

Biasanya, tugas-tugas ini adalah hal-hal seperti pengujian, pengumpulan data, atau otomatisasi, yang merupakan sebagian besar waktu seorang insinyur. Dalam pengalaman saya, desain hanya membutuhkan sekitar 5-10% dari waktu seorang insinyur. Sekitar 90% lainnya digunakan oleh hal-hal seperti meneliti, menguji prototipe, men-debug, membuat jig dan program uji, uji produksi, kontrol kualitas, dan tentu saja, dokumentasi kata “D” yang ditakuti.

Banyak hal yang datang sebelum desain (seperti meneliti bagian dan implementasi dan menghasilkan arsitektur sistem) tidak dapat benar-benar diotomatisasi. Itulah tugas-tugas yang membuat kami menjadi insinyur artisanal yang kreatif. Namun, setelah desain diimplementasikan (yaitu, bagian yang menyenangkan), masih banyak pekerjaan membosankan yang harus ditangani.

Berikut adalah beberapa jenis tugas yang membosankan dan bagaimana Python dapat membantu menyelesaikannya secara efisien.

Pemrosesan File untuk Pengiriman File Gerber

Salah satu aplikasi yang paling sering membutuhkan otomatisasi adalah pemrosesan file. Alur kerja proses berbeda tergantung pada perangkat lunak, vendor, pelanggan, dll. Sebagian besar waktu, ini termasuk memproses file dalam beberapa format. Vendor PCB saya mengharuskan saya untuk mengirimkan file Gerber saya dengan ekstensi file tertentu sehingga pekerja mereka dapat mengurai, memeriksa, dan mengonfirmasi bahwa mereka sesuai dengan persyaratan desain.

Karena alat CAD PCB saya tidak menampilkan Gerber dalam format yang diperlukan, saya perlu mengubah ekstensi file saya setiap kali saya mengirimkan PCB. Ini bukan tugas besar, tetapi karena saya mengulangi banyak desain dan revisi desain setiap tahun, mengubah ekstensi file Gerber pada sekitar 10 file berbeda setiap kali saya mengirimkan desain ke fab akan melelahkan.

Contoh pemrosesan file yang lebih penting adalah ketika Anda memiliki file dalam satu format (mis., XML) dan pelanggan memerlukannya dalam format lain (mis., CSV). Ini adalah situasi umum yang biasanya akan sangat memusingkan, jika bukan penghalang bagi beberapa pelanggan. Tetapi menggunakan beberapa perpustakaan dan beberapa kode Python sederhana, dimungkinkan untuk mengubah file teks di antara berbagai format.

Mengotomatiskan Peralatan Uji

Sebagai EE, salah satu keuntungan besar menggunakan Python adalah mengontrol dan mengotomatisasi peralatan pengujian. Sudah menjadi semakin umum untuk menemukan peralatan uji berbiaya rendah yang dilengkapi dengan keluaran USB yang dapat mengumpulkan data dan menyimpannya dalam format umum seperti CSV.

Python awalnya dibuat untuk penguraian teks sehingga sangat berguna untuk menyaring sejumlah besar data teks untuk mengekstrak informasi yang berguna. Misalnya, salah satu osiloskop portabel yang saya bawa di lapangan adalah osiloskop penyimpanan digital Hantek DSO5202P tua yang terpercaya. Ini tidak mahal dan dapat menampilkan bentuk gelombang sebagai data CSV mentah.

Osiloskop penyimpanan digital Hantek DSO5202P dengan antarmuka USB

Ini berarti Anda benar-benar dapat menangkap data dari beberapa bentuk gelombang, menguraikannya, memprosesnya, dan memplot outputnya. Ini adalah data fisik langsung yang sekarang dapat Anda mainkan di dalam komputer Anda dan lihat bagaimana perilakunya dengan filter digital Anda. Lebih baik lagi, Anda dapat memformatnya untuk diumpankan ke generator bentuk gelombang arbitrer dan membuat ulang bentuk gelombang yang tepat untuk pengujian di sirkuit.

Antarmuka GPIB di bagian belakang multimeter digital Keysight. Gambar dari Farnell

Jika Anda menggunakan peralatan uji yang mendukung antarmuka GPIB, Anda juga dapat menggunakan pustaka Python seperti pyVISA untuk mengontrolnya. Dulu Anda perlu membeli penyiapan Instrumen Nasional untuk melakukan semua itu, membatasinya pada perusahaan besar yang mampu membelinya. Sekarang, Anda dapat mengotomatiskan penyiapan peralatan pengujian dengan harga komputer dan sedikit pengetahuan Python.

Setelah Anda dapat mengotomatiskan peralatan pengujian Anda, Anda akan merasa seperti seorang pesulap. Anda dapat mengatur pengujian loop tertutup seperti menstimulasi perangkat yang sedang diuji dengan generator bentuk gelombang arbitrer dan mengumpulkan data tentang bagaimana perangkat merespons melalui osiloskop, multimeter, atau datalogger. Kemungkinannya tidak terbatas.

Flask, sebuah Microframework Python

Itu tidak hanya berhenti dengan mengotomatisasi peralatan uji. Saat ini, menjadi lebih umum untuk merancang produk yang terhubung ke beberapa layanan internet atau berkomunikasi dengannya melalui REST API. Saat Anda mengembangkan perangkat keras dan menulis firmware pengujian, Anda juga dapat menggunakan Python untuk menyiapkan server pengujian dengan REST API untuk terhubung.

Anda tidak memerlukan pengembang web yang bagus atau mempelajari bahasa lain untuk ini karena cukup mudah untuk menyiapkan REST API menggunakan kerangka kerja Python/Flask. Anda benar-benar dapat menyiapkan REST API khusus dalam waktu satu jam.

Sebagai seorang insinyur listrik profesional, Anda mungkin akan terlibat dalam manufaktur di beberapa titik dan kemampuan untuk mengotomatisasi pengujian untuk produksi sangat berguna. Semakin konsisten dan menyeluruh pengujian, semakin baik untuk keuntungan perusahaan, apakah penghematan tersebut berasal dari lebih sedikit kegagalan lapangan, lebih sedikit stok yang dikembalikan, atau lebih sedikit kerusakan reputasi akibat kontrol kualitas yang buruk.

Untuk desain sirkuit saya, saya mendapatkan jig uji khusus yang dibuat dengan probe bed-of-nails, wiring harness, dan mekanisme penjepitan. Jig uji ini dapat dihubungkan dengan papan khusus seperti Arduino atau Raspberry Pi dan dikendalikan dari komputer. Sistem uji produksi standar saya terdiri dari sesuatu seperti ini dengan rangkaian kabel yang dihubungkan ke Arduino yang menjalankan firmware protokol Firma.

Ini memungkinkan saya untuk berkomunikasi dengannya dengan Python menggunakan pyFirmata. Saya dapat mengatur setiap pin sebagai input atau output, memeriksa status setiap pin, mencatat semua data, menghasilkan nomor seri yang unik, dan menampilkan pesan PASS atau FAIL yang besar. Ketika papan berada di rumah perakitan pabrik, saya hanya perlu mengajari seseorang cara menjalankan skrip pengujian Python, menunggu LULUS atau GAGAL besar, dan data secara otomatis disimpan bersama dengan statistik untuk proses produksi itu.

SQL:Bahasa Manajemen Basis Data

Oh, apakah saya menyebutkan penyimpanan? Itu membawa saya ke subjek database. Sebenarnya bekerja dengan database adalah kesenangan di Python. Itu datang dengan SQLite3 yang, seperti namanya, adalah database ringan yang didasarkan pada satu file.

Jika Anda menginginkan opsi untuk memigrasikan kode Anda ke database yang berbeda, terutama yang berbasis server, maka saya merekomendasikan perpustakaan bernama SQLAlchemy. Ini memungkinkan Anda untuk berinteraksi dengan banyak database relasional populer seperti SQLite, PostgreSQL, dan MySQL tanpa harus mengubah kode Anda.

Sekarang bagaimana EE menggunakan database, Anda bertanya?

Nah, dalam pengaturan pengujian otomatis yang saya sebutkan sebelumnya, sistem pengujian mengeluarkan nomor seri serta data lain seperti statistik, hasil pengujian, dan catatan lain-lain. Ini semua dapat disimpan dalam database yang Anda buat sehingga ada log yang melacak riwayat setiap papan yang dihasilkan. Ketika papan dikembalikan, nomor seri dapat dicari dan sejarah papan dapat diperiksa. Mungkin itu sebelumnya dikembalikan untuk RMA atau gagal tes sekali tetapi lulus pada percobaan berikutnya.

Atau bahkan mungkin op-amp gagal di papan dan, ketika Anda melakukan pencarian sederhana dari database Anda, menemukan bahwa itu adalah kelima kalinya op-amp tertentu gagal dalam proses produksi ini. Wawasan seperti itu meningkatkan efisiensi produksi, keuntungan, dan nilai insinyur bagi perusahaan.

Kesimpulan

Saya bisa terus dan terus, dan itu benar-benar karena Python dapat membuka dunia baru bagi Anda sebagai seorang insinyur.

Landasan untuk insinyur listrik masih desain elektronik. Tapi, akhir-akhir ini, semakin sulit untuk hidup murni di dunia elektronik. Kami juga harus menulis firmware, melakukan pengujian, mengumpulkan data, terlibat dalam produksi, dan melakukan forensik pada produk yang dikembalikan atau gagal.

Seiring dengan roti dan mentega elektronik dan C/C++, pengetahuan tentang Python dapat membantu seorang insinyur yang berlatih menyempurnakan keterampilan mereka dari desain sirkuit hingga memainkan bagian dalam siklus hidup produk yang lengkap.

Jadi, bergabunglah dengan kami saat kami memulai seri ini dan melihat langsung Python dari konteks insinyur listrik.


Tertanam

  1. Bahasa Pemrograman Terbaik untuk Aplikasi Internet of Things Industri
  2. 7 Pasar dengan Pembayaran Tertinggi untuk Insinyur Cloud
  3. Cervoz:memilih penyimpanan flash yang tepat untuk aplikasi industri
  4. Apa yang dapat diberikan 5G untuk mobil yang terhubung?
  5. Bagaimana eSIM dapat mendorong pertumbuhan bagi operator
  6. Bahasa Pemrograman C PDF:Tutorial Dasar untuk Pemula
  7. Mengetahui Kapan Menggunakan Sensor untuk Pengelasan Robot
  8. Kapan Blockchain Siap untuk Rantai Pasokan?
  9. AI:Temukan Penggunaan yang Tepat untuk Kecerdasan Buatan
  10. Aplikasi Pengecoran Pasir Untuk Pasar Otomotif