Selain pekerjaan utama, saya melakukan banyak proyek hewan peliharaan, tetapi saya tidak pernah menulis tentang mereka. Sekarang saya memutuskan untuk memperbaiki situasi dan menulis tentang proyek yang baru saja saya selesaikan. Karya George Hilliard ini mengilhami saya untuk membuatnya .
Tujuan proyek
Buat versi termurah kartu nama USB Flash, yang akan berisi resume saya, kode sumber, dan beberapa file lagi. Dalam melakukannya, gunakan aksesori yang tersedia yang dapat dipesan di LCSC dan JLCPCB.
Apa yang harus saya lakukan untuk ini?
Ambil komponen yang murah, tetapi tidak ramah konsumen, pisahkan papan sirkuit cetak untuk mereka, solder dan tulis firmware.
Apa yang dilakukan kartu bisnis saya pada akhirnya?
Seperti yang Anda duga, kartu nama saya meniru USB Flash drive kecil yang berisi ringkasan dwibahasa, kode sumber, firmware, file gerber, sirkuit dan papan sirkuit cetak, serta foto saya.
Node proyek utama
STM32F070F6 mikrokontroler - itu adalah versi termurah dari pengontrol dengan perangkat USB di papan dari yang saya temukan;
Winbond W25Q32 - 4 MB memori flash serial;
0805 LED - putih dan biru untuk kecantikan;
LP3992 - konverter tegangan turun untuk 3.3V, catu daya sirkuit mikro;
USBLC6-2 - melindungi "konektor" USB dari statis.
Pendekatan saya untuk mengembangkan proyek hewan peliharaan
Ada cara tertentu yang saya patuhi ketika memprogram mikrokontroler:
- Jangan gunakan SPL, HAL dan perpustakaan lain untuk peripheral pemrograman. Saya mematuhi aturan ini dalam pekerjaan utama;
- Jangan gunakan OS. Saya menemukan bahwa proyek rumah saya tidak cukup kompleks untuk menggunakan alat yang bermanfaat ini;
- . ( );
- . ( ).
Komponen
Untuk memulainya, saya perlu memilih komponen untuk ide saya. terlepas dari kelonggaran, saya tidak punya apa-apa. Untuk melakukan ini, saya memutuskan untuk menggunakan layanan LCSC sebagai pilihan yang murah dan terjangkau untuk pengembangan rumah. Ternyata, dalam banyak hal, saya memasukkan tunik ke tunik. Sebagai contoh, saya menggunakan semua kaki mikrokontroler, disimpan dalam 6kB RAM, yang 4kB saya ambil buffer untuk mentransfer data dari USB ke SPI Flash, saya menggunakan kaki untuk USB yang secara fisik tidak ada pada pengontrol ini, dll.
Sebagai hasil dari harga, yang berikut keluar:
Mikrokontroler STM32F070F6 -0,64 $
Memori flash serial Winbond W25Q32 - 0,35 $
Down converter LP3992-33B5F - 0,04 $
Perlindungan statis USBLC6-2SC6 -0,08 $
Quartz - 0,15 $
Saya menggunakan resistor dan kapasitor dalam faktor bentuk 0603, LED 0805. Saya sudah memiliki semua ini, jadi tidak mungkin untuk menghitung biaya mereka. Namun, aman untuk mengatakan bahwa untuk harga, semuanya masuk $ 1,5 dengan margin. Itu tidak terlihat murah dibandingkan dengan proyek Billiard, tetapi harga saya tidak grosir.
Papan sirkuit tercetak dan papan sirkuit Saya mendesain papan
sirkuit dan papan sirkuit tercetak pada perancang Altium, saya lampirkan tangkapan layar.
Semua komponen diikat sesuai dengan lembar data. Microcircuit memori flash dimulai dari pengontrol melalui MIS transistor.
Di sini masalahnya adalah konektor USB. Menurut spesifikasi USB, ia memiliki ketebalan 2mm. Mahal untuk memesan kartu dengan ketebalan seperti itu, dan itu tidak terlalu praktis untuk kartu nama. Saya melihat jalan keluar dari situasi ini dari satu orangyang membuat kartu nama musik. Dia menggunakan papan 1mm, dan membuat konektor tambahan di atasnya, yang terlepas dan disolder di atas yang utama. Saya melakukan hal yang sama.
Solder
Solder komponen umumnya tidak menimbulkan masalah. Saya menyegel semuanya dengan pengering rambut dan pasta solder. Satu-satunya masalah bagi saya adalah menyolder mikrokontroler. Dari pasta solder, terlalu banyak bercak diperoleh, sulit untuk menyolder kaki seperti itu dengan besi solder. Akibatnya, saya hanya melewatkan semua bantalan dengan solder, dan kemudian saya menyolder mikrokontroler dengan pengering rambut.
Pemrograman
Saya tidak memiliki sesuatu yang istimewa untuk dikatakan di sini, saya memprogram semuanya pada level rendah, dalam bahasa C ++. Saya lampirkan kode sumber . Saya mengakses register sesuai dengan artikellamerok. USB diimplementasikan menggunakan sarana mikrokontroler. Chip memori flash beroperasi pada SPI melalui DMA pada kecepatan tertinggi. Dioda berkedip pada gilirannya oleh gangguan timer pada 250ms.
Kesimpulan
Hanya itu yang saya pikirkan, poin utama yang saya jelaskan. Jika Anda perlu mengungkapkan sesuatu secara lebih detail (pemrograman USB, Flash atau sirkuit), maka tulis, saya pasti akan melakukannya.
Semua yang terbaik!