Isi kandungan:

Pemantauan GPS Dengan Projek Paparan OLED: 5 Langkah (dengan Gambar)
Pemantauan GPS Dengan Projek Paparan OLED: 5 Langkah (dengan Gambar)

Video: Pemantauan GPS Dengan Projek Paparan OLED: 5 Langkah (dengan Gambar)

Video: Pemantauan GPS Dengan Projek Paparan OLED: 5 Langkah (dengan Gambar)
Video: Project 5.1 : OLED Display (Write Text) 2024, Disember
Anonim
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED
Pemantauan GPS Dengan Projek Paparan OLED

Halo semua, dalam artikel ringkas ini saya akan berkongsi dengan anda projek saya: modul GPS ATGM332D dengan mikrokontroler SAMD21J18 dan paparan SSD1306 OLED 128 * 64, saya membina PCB khas untuknya di Eagle Autodesk, dan memprogramkannya menggunakan Atmel studio 7.0 dan ASF4 sehingga dalam artikel ini saya akan berkongsi dengan anda perjalanan ini dan fail yang saya gunakan sekiranya anda menarik untuk melakukannya sendiri.

Sekiranya anda memprogram MCU / papan pengembangan menggunakan Arduino, projek ini semestinya agak mudah bagi anda, tetapi di sini saya akan menggunakan ASF4 (Rangka kerja perisian lanjutan 4) dari Atmel / Microchip yang berdasarkan bahasa C dan akan memberi anda idea untuk bagaimana membaca mesej GPS NMEA menggunakan pemacu Asinkron USART (Panggilan Balik) dan memberi anda perpustakaan mudah yang boleh anda gunakan dengan pengawal Mikro dan platform lain dengan hanya menambah Pemacu yang sesuai yang anda gunakan untuk menerima mesej dari GPS (mesej NMEA).

Saya akan membahagikan artikel ini kepada:

  1. Reka Bentuk PCB.
  2. BOM anda perlu memasang PCB
  3. Lihat perisian dan kodnya dengan cepat dan ujian untuk perkakasan dan perisian.
  4. akhir sekali tetapi tidak mustahaknya sedikit peningkatan untuk projek ini.

Anda akan menemui semua bahan yang berkaitan dengan projek ini diGithub (Di Sini)

Langkah 1: Reka Bentuk PCB Menggunakan Eagle

Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang
Reka Bentuk PCB Menggunakan Helang

Projek ini berpusat di sekitar Modul GPS ATGM332D, GPS mudah digunakan kerana ia hanya memerlukan beberapa komponen pasif untuk berfungsi, dan kami dapat menambahkan bateri sandaran untuk menjimatkan masa / tarikh jika kami mematikan sumber kuasa utama dari modul.

dan untuk mengawal semua isyarat di litar, saya menggunakan mikrokontroler ATSAMD21J18B, pakej TQFP64 kerana ia mempunyai penyimpanan memori program 128KByte dan memori data 32KByte (dan saya mempunyai banyak isyarat di sekitar meja kerja saya).

litar akan dikuasakan oleh sumber USB 5V, juga USB boleh bertindak sebagai port COM maya (CDC USB) dan anda boleh menambahkan kod untuknya jika anda ingin berkomunikasi dengan peranti melalui USB.

untuk paparan saya memilih paparan OLED SSD1306 0.96 'dengan bas SPI, ia kecil tetapi sesuai untuk ukuran PCB yang saya mahukan, dimensi papan 100x31 mm.

pengaturcaraan Microcontroller akan melalui pengaturcara SWD (saya menggunakan Atmel ICE) dan akan menghubungkannya melalui header pin 1.27mm 10p.

juga saya menggunakan Fusion360 untuk mendapatkan paparan 3d untuk papan dan anda juga dapat melihat beberapa gambar yang diberikan untuknya.

Langkah 2: Memateri PCB

Memateri PCB
Memateri PCB
Memateri PCB
Memateri PCB
Memateri PCB
Memateri PCB

Anda mempunyai pilihan untuk memesan stensil dengan PCB anda, lebih mudah untuk menggunakan solder paste di papan menggunakan stensil, saya menggunakan plat panas untuk menyolder komponen bersama-sama, menggunakan udara panas juga OK tetapi berhati-hati semasa menyolder LED sejak mereka sangat sensitif terhadap panas.

pematerian di bahagian bawah sedikit lebih mudah kerana hanya mempunyai header pin SWD dan bateri sandaran, yang mana anda dapat menyoldernya menggunakan besi pematerian.

sebelum anda menyambungkan litar dengan sebarang sumber kuasa USB, periksa sebarang litar pintas.

sambungkan antena GPS anda dan pastikan anda memasangkan penyambungnya dengan betul, saya memasang antena di bahagian bawah papan.

Langkah 3: Perisian … Fungsi … hasil

Image
Image
Perisian… Fungsi… hasil
Perisian… Fungsi… hasil
Perisian… Fungsi… hasil
Perisian… Fungsi… hasil

Perisian ini akan dibahagikan kepada 4 bahagian:

  1. USART untuk berkomunikasi dengan modul GPS ATGM332.
  2. SPI untuk berkomunikasi dengan OLED.
  3. CDC USB.
  4. GPIO untuk mengawal LED

pertama-tama sambungkan penyambung USB untuk menghidupkan Litar dan kemudian sambungkan kabel pita dengan penyambung SWD.

Muat turun Kod dari github (Pautan di sini).

untuk mendapatkan Lokasi Geo, anda mempunyai 3 pilihan mesej NMEA yang berbeza:

  1. GPGGA
  2. GPRMC
  3. GPGLL

Saya menggunakan ayat GPRMC untuk mendapatkan lokasi, waktu dan tarikh (waktu adalah 0.0 GMT) jadi dalam kod anda akan dapati:

GPRMC. Enable = 1; / * 0 jika tidak memerlukan mesej ini * /

GPGGA. Aktifkan = 0; / * 0 jika tidak memerlukan mesej ini * /

GPGLL. Aktifkan = 0; / * 0 jika tidak memerlukan mesej ini * /

anda boleh mengaktifkannya semua dan membacanya sekaligus mendapatkan data yang anda perlukan.

setelah ada kalimat GPRMC yang sah, theGPRMC. Ready akan menjadi 1 dan anda dapat memperoleh semua data yang tersedia dalam kalimat ini, periksa pautan ini untuk melihat data yang ada dalam kalimat ini.

hanya jika Fix adalah 'A' yang bermaksud Lokasi tersedia, jika Fix adalah 'V' itu bermaksud lokasi tidak tersedia.

perhatikan bahawa ATSAMD21 mempunyai RTC dalaman, tetapi di sini saya tidak menggunakannya dan sebaliknya saya menggunakan masa dan Tarikh terus dari GPS, jadi jika anda tidak mahu menggunakan bateri Sandaran CR1220, setelah anda memutuskan sumber kuasa USB, anda akan kehilangan Masa / Tarikh dan untuk kali berikutnya anda menghidupkan litar kawasan waktu / tarikh pada paparan akan kosong sehingga GPS mempunyai nilai masa / tarikh yang sah.

paparan akan menunjukkan kepada anda status GPS terkini dan akan menunjukkan lokasi Geo setelah tersedia, namun terdapat 3 LED di Papan:

  1. LED hijau disambungkan ke PA06, dan akan berkelip sekiranya terdapat nilai Geo-lokasi yang sah.
  2. LED oren disambungkan ke PA07 dan akan berkelip sekejap jika tidak ada lokasi Geo yang sah.
  3. LED merah yang ini disambungkan ke pin PPS Modul GPS dan akan berkelip hanya apabila terdapat isyarat yang sah berkaitan dengan Lokasi.

Keputusan

Litar berfungsi dengan baik dengan saya, mendapatkan lokasi Geo dari GPS mengambil masa 20-30 saat di luar dengan pemandangan yang jelas ke langit dan di antara bangunan tanpa masalah walaupun dengan antena di bahagian bawah papan.

Langkah 4: Sarung Bercetak 3D … Jenis

Sarung Bercetak 3D … Sebilangan
Sarung Bercetak 3D … Sebilangan

Saya menyediakan kotak mudah (pemegang yang lebih tepat) untuk litar ini tetapi kerana wabak COVID-19 dan pengunciannya sekarang, saya tidak dapat mencapai pencetak 3d saya untuk mencetaknya, jadi saya akan mengemas kini bahagian ini dengan stl fail dan gambar untuk pemegangnya setelah tersedia.

Langkah 5: Perkara yang Perlu Ditingkatkan …

Perkara yang perlu diperbaiki …
Perkara yang perlu diperbaiki …
Perkara yang perlu diperbaiki …
Perkara yang perlu diperbaiki …
Perkara yang perlu diperbaiki …
Perkara yang perlu diperbaiki …
  1. Menggerakkan penyambung SWD ke bahagian atas kerana lebih mudah menghubungkannya dengan pengaturcara anda.
  2. Menghidupkan litar dari bateri Lithium, saya melakukannya dengan menyolder jumper dan berfungsi dengan baik, ingat bahawa pengatur Linear (LDO) mempunyai voltan penurunan V jika (Vbat - Vout) kurang daripada had Vdrop litar mungkin tidak berfungsi dengan betul.
  3. menjadikan butang pengguna sedikit lebih besar sehingga akan lebih senang ditekan.
  4. menambahkan kod CDC USB supaya anda dapat berkomunikasi / merancang program khas untuk MAC / PC / linux.
  5. Untuk antena GPS, saya menggunakan antena aktif untuk projek ini, menggunakan antena pasif adalah mungkin, dengan menambahkan op-Amp kebisingan rendah seperti AT2659 (periksa juga skema pada Lembaran Data ATGM332 P.14).
  6. untuk OLED 0.96 'SSD1306, perpustakaan rasmi dari microchip pada asalnya untuk paparan 128 * 32, untuk mengubah kod agar berfungsi dengan 128 * 64 anda harus pergi ke ssd1306.c dan mengubah kod (periksa gambar).

Disyorkan: