Bagaimana saya belajar bekerja dengan mikrokontroler - pengalaman pemula

Halo semuanya. Dalam artikel ini saya ingin berbicara tentang bagaimana saya belajar bekerja dengan mikrokontroler
(selanjutnya disebut sebagai MK) dan perangkap apa yang saya terbangi. Saya harus mengatakan segera - artikel itu tidak mengklaim sebagai eksklusif, karena setiap orang yang bekerja dengan MK telah melalui apa yang saya alami. Saya meminta Anda untuk tidak menghakimi secara ketat, tetapi membacanya sebagai sebuah cerita.



Alih-alih bergabung


Ketertarikan pertama saya pada MK muncul ketika saya di kelas 10. Saat itu 2009. Saya tahu bagaimana memprogram sedikit pada PC dalam QBasic dan Visual Basic - program sekolah, tetapi itu terjadi sehingga saya tidak tahu banyak tentang pemrograman, dan kurangnya orang yang berpengetahuan dalam bidang elektronik dan MK melakukan pekerjaan mereka - bagi saya itu adalah ceruk baru. Meskipun sejak kecil saya bermain-main dengan papan dan sirkuit mikro yang ditemukan di tong sampah, tetapi saya benar-benar tidak mengerti cara kerjanya - tidak ada yang bisa menjelaskannya. Bagaimana cara kerja transistor secara normal, saya baru tahu beberapa tahun setelah kejadian yang dijelaskan. Ketika saya memilih MK pertama, saya melihat karakteristik di situs web CHIP-DIP. Terus terang - bagi saya itu seperti hieroglif. Jadi jangan takut. Dan ya, tidak ada yang tahu tentang Arduino saat itu.

Bagaimana semuanya dimulai


Mulai memetik di Yandex dan Google. Saya mengerti bahwa controller itu sendiri setengah pertempuran, saya juga butuh program. Dan seperti yang dikatakan dalam pengantar, saya tidak punya banyak hal dengan pemrograman. Pada akhirnya, saya sampai di beberapa situs. Seperti yang menjadi jelas nanti, saya benar-benar "mengerti" dengan situs ini. Pencipta situs ini juga menulis buku teks pemrograman, saya dengan senang hati mengunduh buku teks itu dan hal pertama yang saya lihat adalah "Saya menggunakan PIC16F84A sebagai model untuk bekerja". Sebenarnya, ini adalah bagaimana saya memilih MK pertama saya. Sekarang pertanyaannya adalah mengapa saya "mendapatkannya". Dan saya sampai di sana karena pembuat buku dan situs web ini menyarankan pemrograman MK di ASSEMBLER. Tidak semua programmer yang berlatih tahu, tapi ini adalah seorang pemula ... Saya sudah memesan controller, dan baru kemudian saya mulai membaca buku pelajaran, sayangnya.

Bagaimana saya keluar dari posisi


Setelah saya menyadari bahwa saya tidak mengerti apa-apa, saya meninggalkan MK selama beberapa tahun, tetapi pada saat yang sama saya mencari-cari di forum-forum seperti Scheme.net dan yang lainnya, dan secara bertahap pemahaman tentang masalah itu datang kepada saya. Saya memutuskan untuk belajar dengan cara pada model PIC16F877A.

Jadi, apa yang perlu diketahui pemula:


Mikrokontroler adalah komputer kecil, ia juga memiliki perangkat aritmatika-logika - prosesor sebenarnya, dan RAM dan sejenis hard disk - program dan memori data, tetapi semuanya dilakukan dalam satu chip. Dengan demikian, tergantung pada model dan pabrikan, ia memiliki karakteristik sebagai berikut (untuk sementara):

  • Frekuensi operasi dari unit ke ~ 100 MHz, saya pribadi gunakan di perangkat saya, sebagai aturan, frekuensi 20 MHz, yaitu MEGAhertz, dan bukan GIGAhertz. Frekuensi diatur oleh sumber jam eksternal - resonator kuarsa atau keramik.

  • RAM - unit dan puluhan kilobyte
  • Jumlah memori untuk data dan program ini mencapai beberapa puluh kilobyte. Jika diinginkan, Anda dapat memperluas memori untuk data menggunakan chip memori. Untuk menggunakan sirkuit mikro ini untuk memperluas memori untuk suatu program, seorang pemula harus lupa, tidak setiap profesional dapat melakukannya dengan benar, dan tidak setiap mikrokontroler memungkinkan Anda untuk mengubah firmware Anda selama operasi.
  • Tegangan pengoperasian dari 1 hingga 5 volt, tergantung pada model dan pabrikannya.

Mikrokontroler dirancang untuk bekerja di papan tulis, katakanlah, dalam perangkat keras tertentu, di papan, di perangkat. Jadi jangan berpikir bahwa Anda dapat memainkan CS di dalamnya :)

Bahasa pemrograman


Dia mulai memilih bahasa pemrograman dan lingkungan di mana Anda dapat memprogram. Karena entah bagaimana saya tahu Basic, saya pikir akan baik untuk melewatinya. Ya, itu tidak terlalu sempurna dan masih banyak kekurangan, tapi untuk awalnya itu sangat cocok. Saya beruntung, ternyata ada bahasa PIC-Basic. Menurutnya ada buku teks, penulis Chuck Helibike dan diterjemahkan ke dalam kepemimpinan Rusia, benar-benar melangkah lebih jauh melalui buku teks dan manual. Lingkungan berfungsi dari bawah DOS, tetapi Anda dapat mengacaukan CodeStudio dan semuanya akan bekerja dari bawah Windows.

Programmer


Masalah berikutnya yang menghalangi saya adalah bagaimana menulis program ke chip. Jelas bahwa Anda memerlukan seorang programmer, saya memutuskan untuk menyimpan, saya mencoba mengumpulkan beberapa sirkuit dari ini dari Internet Anda. Satu skema saja tidak cukup, kita juga memerlukan program yang, dengan menggunakan programmer (perangkat keras), akan menyimpan kode dalam memori. Semua percobaan saya berakhir dengan kegagalan, karena sedikit pengalaman. Saya memutuskan untuk tidak melihat asap yang datang dari chip lagi dan memesan PICKit3, setelah itu saya tidak tahu masalah, saya bermain dengannya selama beberapa hari dan itu berhasil.



Apa yang perlu diketahui seorang pemula:



  • Saat ini, ada bahasa pemrograman yang disesuaikan untuk MK, Basic yang sama, SI dan lainnya.
  • Setelah menulis program, itu dikompilasi ke dalam kode mesin - file dengan ekstensi HEX, itu harus di-flash ke memori MK.
  • Untuk "flash MK" - untuk menulis kode yang dapat dieksekusi ke dalamnya, Anda memerlukan dua hal:

    1) papan programmer, yang merupakan perangkat antara antara konektor komputer dan chip itu sendiri
    2) Program programmer yang akan tahu cara bekerja dengan programmer yang dirakit sesuai dengan skema tertentu.
    Artinya, program di PC harus tahu sirkuit mana yang terhubung ke PC agar dapat mem-flash chip dengan benar. Dalam kasus saya, ini adalah solusi pabrik - bersama dengan programmer PicKit ada disk dengan program yang diperlukan.
  • Ada jumlah terbatas memori di MK, ini harus diperhitungkan, kadang-kadang Anda harus memotong setiap byte firmware, hanya untuk masuk ke memori chip. Juga harus dipahami bahwa tidak ada sistem operasi di MK, dan firmware Anda adalah satu-satunya data yang diketahui oleh MK.

Beberapa kata tentang pinggiran


Untuk koneksi dengan dunia luar dan kenyamanan pekerjaan dan pengembangan, berbagai sirkuit periferal dibangun ke dalam MC, misalnya, ADC - konverter analog-ke-digital, sehingga Anda dapat mengukur tegangan yang dipasok ke output MK tanpa pengikatan yang tidak perlu, tetapi tidak boleh lebih tinggi dari tegangan suplai, jika tidak chip akan terbakar. Menggunakan pembagi tegangan, Anda dapat membuat voltmeter, misalnya. Periferal, jumlah fungsi built-in dan karakteristiknya juga tergantung pada model, sebagai aturan, semakin mahal model, semakin kaya bundel paket. Juga, jangan lupa bahwa pengontrol memiliki jumlah kaki terbatas yang dapat Anda sambungkan.

Sebagai contoh, PIC16F877A memiliki 40 di antaranya, dan 7 buah langsung terbang, karena digunakan untuk menyalakan, menghubungkan resonator dan mengatur ulang darurat. Anda juga perlu hati-hati melihat dokumentasi untuk chip tersebut. Misalnya, ADC yang sama - di PIC16F877A, ia hanya dapat mengukur tegangan pada 8 kaki chip tertentu, pada yang lain tidak. Yaitu, untuk setiap fungsi bawaan, kesimpulan khusus diberikan dan tidak dapat diubah.

Inti dari dongeng ini adalah ini


Untuk menguasai MK benar-benar bahkan dari awal, tetapi ada tempat-tempat yang tidak terlalu jelas. Jika Anda belum pernah mengalami pemrograman, maka pertama-tama pelajari setidaknya dasar-dasar pemrograman dan tulis "Hello World" di komputer Anda. Setelah itu akan lebih mudah. Jika Anda tidak ingin terlalu repot - Arduino adalah segalanya bagi Anda. MK dirancang untuk digunakan pada perangkat keras - unit kontrol, papan, pengontrol, dll. Dll., Ini bukan komputer lengkap, melainkan pengontrol. Dan berharap dari dia, masing-masing. Keuntungannya sekarang penuh dengan contoh di YouTube, dan saya berharap pengalaman saya memulai dari awal tidak akan begitu pahit dan artikel saya akan membantu seseorang.

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


All Articles