Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Integrasi Data Sensor dengan Mikroprosesor Raspberry Pi

Abstrak


Untuk mengimplementasikan berbagai sensor pada sistem robot terintegrasi, diperlukan lingkungan pemrograman dan metode komunikasi yang valid yang mampu memasukkan data sensor digital, dan menggunakan data tersebut dalam loop kontrol.

Kata kunci:komunikasi I2C, komunikasi UART, Adafruit Ultimate GP Breakout, Sparkfun MPU-9150 Breakout, Raspberry Pi Setup


Pengantar


Akuisisi dan asosiasi data sensor merupakan bagian penting untuk sistem kontrol digital. Karena pengontrol digital tertanam digunakan untuk memproses semua input data sensor, antarmuka komunikasi, yang membuat data tersebut dapat dibaca dan digunakan pada mikroprosesor, adalah prioritas pertama pada tingkat pemrograman. Sistem navigasi
otonom, untuk proyek tim, memerlukan pelacakan terus menerus pada lokasi gps dan pengukuran yang konsisten pada sudut lintasan. Oleh karena itu, kelompok tersebut memutuskan untuk menggunakan modul gps untuk merasakan lokasi robot saat ini (dalam garis lintang dan bujur) dan menggunakan magnetometer untuk mengukur lintasan. Data yang diperoleh oleh kedua modul akan dapat dilihat pada antarmuka pengguna jarak jauh dan juga dapat digunakan dalam perangkat lunak kontrol.

Tujuan

Ini adalah tutorial lanjutan yang mengasumsikan pengguna mengetahui beberapa manipulasi dasar dalam sistem operasi Raspbian, misalnya, menginstal perpustakaan atau membuat file skrip menggunakan terminal Unix dalam perintah bash di baris perintah. Tujuan dari catatan aplikasi ini adalah untuk memandu metode agar pengguna dapat membaca data akselerometer dan data gps dari antarmuka komunikasi yang berbeda dengan Raspberry Pi secara nyata. Selain instruksi baris perintah, tutorial ini juga mencakup detail dalam pengkabelan sensor ke Pi dan konfigurasi perangkat keras untuk sensor.

Informasi

Perangkat Keras
○ Sparkfun 9 Derajat Kebebasan Breakout MPU9150

Sensor pengukuran inersia yang digunakan untuk proyek ini adalah Invensense MPU-9150 dengan papan breakout yang dirancang oleh sparkfun. MPU-9150 adalah modul multi-chip yang terdiri dari dua cetakan yang terintegrasi ke dalam satu paket. Satu dadu adalah MPU-6050 dengan giroskop 3-sumbu dan akselerometer 3-sumbu. Die lainnya menampung kompas/magnetometer digital 3-sumbu AK8975 dari Asahi Kasei Microdevices Corporation. Chip ini dirancang untuk daya rendah, biaya rendah, dan kinerja tinggi dan saat ini digunakan di banyak tempat termasuk ponsel cerdas dan tablet.

Penerobosan GPS Ultimate Adafruit

Breakout dibangun di sekitar modul berbasis MTK3339 generasi ketiga yang memiliki dukungan antena eksternal dan output Pulse-Per-Second. Ini memiliki tingkat pembaruan 10 Hz dan dapat melacak hingga 22 satelit di 66 saluran. Modul gps ini dibuat untuk sistem tertanam yang menawarkan input daya rendah (3,3 – 5V) dan pin ENABLE dapat digunakan untuk mematikan modul menggunakan pin mikrokontroler apa pun. Ada juga LED merah kecil yang mampu menunjukkan status sinyal. LED berkedip pada 1 Hz saat mencari satelit dan berkedip sekali setiap
15 detik saat perbaikan ditemukan. GPS ini hanya bekerja di lapangan terbuka ketika tidak ada bangunan di sekitarnya. Setiap kali memperoleh sinyal FIX, data jalur, garis bujur, garis lintang, dan ketinggian akan diperbarui pada
frekuensi yang ditentukan pengguna.

Standar komunikasi


○ Komunikasi I2C
I2C adalah singkatan dari Inter-Integrated Circuit Bus. I2C menggunakan mikrokontroler sebagai master dan terhubung dengan beberapa budak dengan alamat unik melalui bus komputer ujung tunggal. Ini hanya menggunakan dua jalur opendrain dua arah:Serial Data Line (SDA), dan Serial Clock (SCL). SDA mengatur bit yang ditransfer saat SCL rendah dan data diterima saat SCL tinggi.
○ Komunikasi UART
UART adalah singkatan dari penerima/pemancar asinkron universal. Ini mentransmisikan/menerima data secara serial dari satu byte (5-8 bit) data yang ditulis/disimpan ke register. Semua data akan dibaca pada baud rate tertentu yang telah ditentukan oleh programmer. Transmisi UART memerlukan tiga jenis sinyal:Transmit Data (TxD), Receive Data (RxD), dan Signal Ground (SG). Karena jenis transmisi ini tidak dua arah, diperlukan dua jalur penerimaan dan transmisi yang terpisah.

Daftar suku cadang
Untuk pengaturan dan pemrograman perangkat keras pada Raspberry Pi, bagian berikut ini
diperlukan:
● Raspberry Pi
● Catu daya
● Dongle Wifi
● Giroskop dan Akselerometer MPU9150 Sparkfun
● Adafruit Ultimate GPS Breakout
● Kabel Adaptor USB ke TTL (opsional)
● Papan tempat memotong roti
● Kabel Jumper MF
Asumsi
Sebelum memulai tutorial ini, ada beberapa asumsi yang perlu dibuat. Karena catatan aplikasi ini hanya akan fokus pada aspek tertentu dari keseluruhan proyek, prosedur pengaturan dasar untuk Raspberry Pi baru dan pengaturan jaringan nirkabel akan diabaikan di sini. Berikut adalah beberapa asumsi yang mendasari catatan aplikasi ini berdasarkan:
● akses internet yang valid
● sistem operasi Raspian yang diinstal dan perilaku boot untuk Pi telah disetel ke mode desktop
● a mouse dan keyboard terhubung ke port usb raspberry pi, dan monitor terhubung melalui adaptor HDMI untuk memastikan tampilan grafis.

Prosedur:

  1. Mengetahui konfigurasi Raspberry Pi GPIO untuk komunikasi serial. Pin serial yang digunakan di bagian selanjutnya dari tutorial ini adalah GPIO 14&15 untuk UART, dan GPIO 2&3 untuk I2C.
  1. Menghubungkan GPS Adafruit ke Raspberry Pi
    Temukan pin Tx/Rx, Vin dan gnd pada modul gps adafruit Anda. Crossconnecting Tx dan Rx pin ke Rx dan Tx pin pada Raspberry Pi. Kemudian suplai 5V atau 3.3V dari Pi ke pin Vin dan pendekkan pin GND dengan ground Pi.
  1. Menghubungkan MPU9150 ke Raspberry Pi
    Menghubungkan empat pin teratas pada breakout MPU9150 ke Raspberry Pi. Sambungkan GPIO 2 ke SDA (Jalur data) dan GPIO 3 ke SCL (Jalur jam). Pasokan 3.3V dari Pi ke pin Vcc akselerometer dan pendekkan pin GND ke ground.
  1. Menyiapkan Pi untuk komunikasi I2C
    a. Buka terminal di Raspberry Pi dan masukkan perintah bash berikut:
    sudo apt-get update
    sudo apt-get install i2c-tools libi2c-dev
    b. WiringPi adalah pustaka C++ yang sangat kuat yang dirancang untuk RasPi yang mencakup berbagai macam alat GPIO untuk PI. Untuk menginstal WiringPi, masukkan perintah berikut:
    git clone git://git.drogon.net/wiringPi
    cd wiringPi
    sudo nano /etc/modules
    c. Tambahkan tiga baris berikut ke bagian bawah file (/etc/modules) jika belum ada
    snd-bcm2835
    i2c-bcm2708
    i2c-dev
    d . Selanjutnya, ubah parameter boot untuk mengaktifkan i2c di awal. Ketik perintah bash:
    sudo nano /boot/config.txt
    e. Tambahkan baris berikut ke bagian bawah file ini:
    dtparam=i2c1=on
    dtparam=i2c_arm=on
    f. Mulai ulang Raspberry Pi Anda
  2. Menginstal dan menjalankan perangkat lunak MPU-6050-Pi-Demo
    a. Masukkan perintah bash berikut di jendela terminal:
    git clone git://github.com/richardghirst/
    PiBits.git
    cd PiBits/MPU6050-Pi-Demo
    sudo apt-get install libgtkmm-3.0-dev
    b. Beberapa file sumber harus diedit agar berfungsi dengan Pi. Kita perlu memodifikasi file I2Cdev.cpp dan setup-i2c.sh. Gunakan perintah bash
    “nano” untuk mengedit file.
    c. Ubah semua referensi ke “/dev/i2c-0” untuk membaca “/dev/i2c-1” di file ini dan simpan.
    d. Masukkan perintah bash berikut untuk mengkompilasi sumber:
    make
    ./setup-i2c.sh
    e. Tunggu hingga sources selesai dikompilasi, lalu masukkan perintah bash berikut:
    sudo i2cdetect -y 1
    f. Anda akan melihat output berikut

G. Sekarang jalankan contoh program “demo_raw” di folder ini dengan mengetikkan perintah bash berikut:
./demo_raw
h. Demo ini akan menampilkan nilai gyro dan accel mentah di terminal
a/g:Ax Ay Az Gx Gy Gz

  1. Untuk mendapatkan data dari modul GPS Adafruit, Adafruit memiliki software yang dikembangkan sendiri bernama GPS Daemon (gpsd). Tutorial tersedia di link:https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi
  2. Karena gpsd bukan perangkat lunak sumber terbuka, lebih baik menggunakan perangkat lunak pihak ketiga yang memungkinkan pengguna untuk memodifikasi dan membuat file mereka sendiri untuk dibaca dari gps. "libgps" adalah perpustakaan gps open-source yang dibuat untuk digunakan terutama pada papan Raspberry ARM, dan telah diuji dengan Adafruit Ultimate GPS Breakout. Kami menggunakan perpustakaan ini dalam proyek kami.
  3. Menginstal dan mengkompilasi paket libgps.
    a. Untuk menginstal libgps, ketik perintah berikut:
    git clone git://github.com/wdalmut/libgps.git
    cd libgps
    b. Setelah mengarahkan ke folder libgps, buat file untuk mendapatkan libgps.a dengan mengetik:
    make
    sudo make install
  4. Anda dapat menemukan kode sampel di folder contoh bernama “position_logger.c” untuk menguji koneksi
    a. Kompilasi dengan
    gcc -o position_logger position_logger.c -lgps
    -lm
    b. Jalankan dengan
    $ ./position_logger
    c. Ketika ada sinyal gps yang valid (LED perbaikan tidak berkedip pada 1 Hz),
    Anda akan melihat derajat desimal untuk garis lintang dan garis bujur
    langsung di konsol, sebagai berikut:
    45.071060 7.646363
    45.071082 7.646385
    45.071078 7.646387
    45.071060 7.646373
    45.071048 7.646358
    45.071052 7.646372
    45.071057 7.646392
    45.071062 />45.071060
    45.071073 7.646395
    45.071082 7.646403
    Kesimpulan
    Catatan aplikasi ini mengambil dua sensor sebagai contoh dan memandu pengguna cara mengatur komunikasi serial antara sensor dan Pi dari langkah pertama. Itu juga menjelaskan secara singkat metode baris perintah untuk mengedit, mengkompilasi dan menjalankan file. Namun, untuk menulis data sensor tersebut ke dalam algoritme membutuhkan lebih banyak upaya daripada sekadar melihatnya. Tujuan akhir, atau dengan kata lain, derivasi yang lebih maju dari catatan aplikasi ini harus menangani pustaka sensor yang berbeda dari satu
    file skrip. Hal ini membutuhkan pemahaman yang lebih mendalam tentang prinsip pengkodean di balik setiap paket perangkat lunak sensor.
    Referensi:
  5. Kevin Townsend. Adafruit Ultimate GPS di Raspberry Pi, 15 Juli 2014.
    Web. https://learn.adafruit.com/downloads/pdf/adafruit-ultimate-gps-on-theraspberry-pi.pdf
  6. Walter Dal Mut. Pustaka UART NMEA GPS untuk Raspberry Pi. 08 September 2014.
    Web. https://github.com/wdalmut/libgps
  7. InvenSense. Lembar Data MPU-9150, 18 September 2013. Web. http://
    www.invensense.com/mems/gyro/documents/PS-MPU-9150A-00v4_3.pdf

Sumber:Integrasi Data Sensor dengan Mikroprosesor Raspberry Pi


Proses manufaktur

  1. Ukur suhu dengan sensor DS18B20 1-kawat dan Raspberry Pi
  2. Pemantauan Suhu di Raspberry Pi
  3. Memantau Suhu Dengan Raspberry Pi
  4. Sensor Gerak menggunakan Raspberry Pi
  5. Sensor Kelembaban Tanah Raspberry Pi
  6. Pan / Miringkan pelacakan wajah dengan raspberry pi
  7. Cara menghubungkan Sensor Ultrasonik Lego Mindstorms NXT ke Raspberry Pi
  8. HC-SR04 Ultrasonic Range Sensor pada Raspberry Pi
  9. Bangun IOT Pertama Anda dengan Raspberry Pi, sensor DHT11, dan Thingspeak.
  10. Aeroponik dengan Raspberry Pi dan sensor kelembapan