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

Hubungkan sensor ke Raspberry Pi Anda untuk memperingatkan Anda saat ada gas berbahaya!

o mendeteksi kentut dengan Raspberry Pi, kita perlu menggunakan sensor yang responsif terhadap satu atau lebih senyawa sulfat yang mudah menguap yang membentuk 1% dari perut kembung (yaitu senyawa yang membuat kentut berbau). Pada dasarnya, kita perlu memberi Raspberry Pi hidung. Sensor yang direkomendasikan untuk proyek ini adalah Figaro TGS2600. Ketika udara memasuki sensor, itu diberi energi oleh pemanas kecil yang memungkinkan hambatan listriknya diukur. Hal ini dilakukan dengan melewatkan tingkat listrik yang rendah melintasi celah kecil dari udara berenergi. Semakin terkontaminasi udara, semakin sedikit hambatan yang dimilikinya dan semakin baik ia menghantarkan listrik (seperti resistor variabel). Oleh karena itu, keluaran sensor adalah tegangan analog yang naik dan turun sesuai dengan tingkat pencemaran udara. Semakin banyak kontaminan, semakin tinggi output tegangan.

Analog vs Digital

Kita juga perlu memahami bahwa sensor kualitas udara memberi kita sinyal analog, dan perbedaan antara sinyal analog dan digital. Sinyal digital pada dasarnya biner:1 atau 0; hidup atau mati. Sinyal analog, di sisi lain, memiliki rentang penuh antara hidup atau mati. Pikirkan roda kemudi mobil:rodanya analog karena ada berbagai macam kemudi yang tersedia untuk pengemudi. Anda dapat menyetir dengan sangat lembut di tikungan yang panjang, Anda dapat memutar kemudi ke kunci penuh, atau di mana pun di antaranya. Jika Anda ingin mengemudikan mobil secara digital, pada dasarnya Anda hanya memiliki kunci penuh kiri dan kanan penuh.

Membaca sinyal analog dengan perangkat digital

Tantangan yang kami hadapi adalah mampu membaca sinyal analog pada komputer digital. Pin GPIO Raspberry Pi dapat digunakan sebagai input atau output. Mode keluaran adalah ketika Anda ingin mensuplai tegangan ke sesuatu seperti LED atau bel. Jika kita menggunakan mode input, pin GPIO memiliki nilai yang dapat kita baca dalam kode kita. Jika pin memiliki tegangan masuk ke dalamnya, pembacaan akan menjadi 1 (TINGGI ); jika pin terhubung langsung ke ground (tidak ada tegangan), pembacaan akan menjadi 0 (RENDAH ). Jadi pinnya digital, hanya mengizinkan 1 atau 0 .

Bagaimana kita bisa menyelesaikan ini? Salah satu caranya adalah dengan menggunakan chip ADC (Konverter Analog ke Digital), yang akan mengubah tegangan analog dari sensor ke angka digital dalam kode kami. Namun Anda hanya perlu menggunakan ADC jika pembacaan yang benar-benar akurat dari sensor diperlukan. Dalam praktiknya, kami hanya ingin membuat alarm berbunyi ketika kentut terdeteksi, sehingga semua orang bisa berlari! Jadi jika dipikir-pikir, ini adalah sebuah deteksi digital. Ada ada kentut atau tidak ada kentut:aktif atau nonaktif, biner 1 atau 0. Kita tidak perlu khawatir tentang fidelitas analog yang berasal dari sensor kualitas udara.

Kita sudah tahu bahwa sensor itu seperti resistor variabel:semakin buruk kualitas udara, semakin rendah resistansi dan semakin banyak tegangan yang dialirkan. Logikanya, ketika sensor bersentuhan dengan kentut, tegangan output harus melonjak. Oleh karena itu, kita hanya perlu mendeteksi lonjakan tegangan ini dan dapat dilakukan secara digital. Kita bisa membuatnya agar ketika terjadi lonjakan pin GPIO berubah dari LOW ke HIGH; kami kemudian dapat mendeteksi perubahan ini dalam kode kami dan memutar file suara alarm!

Ambang batas tinggi dan rendah

Bagaimana Raspberry Pi mengetahui apakah pin GPIO HIGH atau LOW?

Jawaban atas pertanyaan ini sebenarnya adalah bagian dari solusi kami. Pin GPIO bekerja pada tegangan 3,3 volt. Jadi jika Anda mengatur pin menjadi TINGGI dalam mode keluaran, pin itu akan memberi/mensuplai 3,3 volt. Namun, jika Anda menyetelnya ke output LOW, itu akan terhubung ke ground tetapi bisa membentuk jalur kembali untuk menyelesaikan sirkuit.

Dalam mode input, semuanya bekerja sedikit berbeda. Anda mungkin berasumsi bahwa pembacaan pin akan TINGGI jika terhubung ke 3,3 volt dan RENDAH jika terhubung ke ground. Sebenarnya ada tegangan ambang yang terletak di suatu tempat sekitar 1,1 hingga 1,4 volt. Di bawah ambang batas adalah RENDAH dan di atasnya adalah TINGGI; jadi misalnya 1,0 volt akan membaca RENDAH, meskipun sebenarnya ada beberapa tegangan di sana, sedangkan 1,6 volt akan membaca TINGGI, meskipun ini jauh lebih kecil dari 3,3.

Jika kita menggunakan beberapa resistor untuk menurunkan tegangan keluaran sensor kualitas udara ke tepat di bawah ambang batas ini, maka lonjakan yang disebabkan oleh kentut akan mengubahnya dari RENDAH ke TINGGI, dan kami memiliki deteksi kentut digital kami.

Menghubungkan sensor kualitas udara

Ini adalah tampilan bawah dari sensor kualitas udara. Nomor pin memiliki fungsi sebagai berikut:

  1. Pemanas (-)
  2. Elektroda sensor (-)
  3. Elektroda sensor (+)
  4. Pemanas (+)

Jadi ada dua sirkuit berbeda yang perlu kita akomodasi. Pertama adalah pemanas (pin 1 dan 4) yang digunakan untuk memberi energi pada udara, dan yang lainnya adalah sensor sendiri (pin 2 dan 3). Sisi keluaran (-) dari sensor adalah tempat kita akan menghubungkan resistor kita. Ambil papan tempat memotong roti dan dorong empat pin sensor ke dalamnya, sehingga mengangkangi celah tengah seperti yang ditunjukkan di bawah ini. Anda mungkin perlu sedikit menekuk pin, tetapi ini tidak akan merusak sensor. Pastikan tab kecil berada dalam orientasi yang sama seperti yang ditunjukkan.

penting harap dibaca
Diagram di atas menunjukkan model Raspberry Pi B, jika Anda menggunakan B+ atau Pi 2 baru, 26 pin GPIO pertama sama semua. Jadi Anda dapat menggunakan pin yang sama seperti yang ditunjukkan oleh diagram.

Sensor dapat berjalan pada 5 volt tetapi kami akan menjalankannya pada 3,3 volt di sini, karena ini lebih aman untuk digunakan dengan input GPIO. Gunakan kabel jumper untuk membuat koneksi oranye yang ditunjukkan di atas; ini akan memasok 3,3 volt ke pin 3 dan 4 sensor (keduanya elektroda positif). Warna kabel yang Anda gunakan tidak masalah. Selanjutnya, sambungkan terminal negatif (-) pemanas langsung ke ground seperti yang ditunjukkan di atas dengan kabel hitam.

Kita masih perlu melakukan sesuatu dengan sisi negatif sensor, baris 1 di sudut kanan atas papan tempat memotong roti.

Pasang pin pemicu

Matikan Raspberry Pi, jika belum dimatikan, dengan memasukkan yang berikut:

sudo halt 

Cabut daya untuk saat ini; kami akan memasangnya kembali nanti.

Selanjutnya, mari kita hubungkan output sensor ke salah satu pin GPIO:ini akan menjadi pin pemicu yang akan kita pantau dalam kode kita untuk melihat apakah telah terjadi kentut. Gunakan GPIO 4 untuk ini. Ambil kabel jumper dan buat sambungan putih seperti di bawah ini.

Selanjutnya ambil resistor 47kΩ (resistor diberi kode warna untuk membantu Anda mengidentifikasinya) dan hubungkan antara output sensor dan ground seperti yang ditunjukkan di atas. Ini akan menyedot sebagian tegangan yang berasal dari output sensor, untuk membantu menurunkannya ke wilayah 1,1 hingga 1,4 volt dari ambang GPIO untuk pin pemicu kami. Resistor tunggal ini tidak akan cukup untuk menyelesaikan pekerjaan, jadi baca terus.

Membangun sebuah resistor tangga DAC

Masalah yang kita miliki sekarang adalah meskipun resistor 47kΩ ditambahkan, sensor kualitas udara memiliki rentang tegangan output yang cukup besar. 0 volt akan menjadi apa yang akan kita temukan dalam ruang hampa, sedangkan maksimum 3,3 akan menjadi apa yang kita lihat dari kentut yang mengerikan, menggiurkan, diam-tapi-mematikan. Tergantung pada kualitas latar belakang udara, tegangan keluaran sensor dapat berada di mana saja dalam kisaran tersebut. Jadi, kami memerlukan cara yang andal untuk selalu menurunkan voltase tersebut hingga tepat di bawah ambang batas GPIO, dalam kondisi kualitas udara yang berbeda.

Untuk melakukan ini kita perlu lain resistor variabel, sehingga kita dapat memvariasikan jumlah tegangan yang kita sedot ke ground. Kami dapat menggunakan potensiometer untuk ini, tetapi Anda selalu perlu menyetelnya secara manual ke udara latar sebelum dapat digunakan. Ini tidak ideal jika Anda ingin memasang jebakan dan menunggu korban yang tidak curiga. Kualitas udara latar belakang dapat berubah secara alami sementara itu, dan membuat alarm berbunyi tanpa kentut. Canggung.

Akan jauh lebih baik untuk memiliki kendali atas ini dari dalam kode kita. Kemudian kita dapat memprogramnya untuk tetap menyesuaikan dengan kualitas udara latar belakang, dan jebakan tidak memerlukan intervensi manual jika kualitas udara berubah.

Trik pintar yang bisa kita gunakan di sini adalah resistor tangga. Di sinilah kami memiliki satu set resistor berulang yang dapat kami nyalakan dan matikan secara mandiri dalam kode kami. Jika setiap resistor memiliki nilai ohm yang berbeda, kita dapat menggunakan kombinasi yang berbeda dari mereka untuk memberi kita sesuatu yang mendekati perilaku resistor/potensiometer variabel.

Teori

Bagian berikut ini mungkin tampak sedikit membosankan, tetapi topik yang dibahas akan sangat membantu pemahaman Anda tentang proyek ini, jadi saya menyarankan Anda untuk tidak melewatkannya!

Diagram di bawah secara skema menunjukkan bagaimana tangga resistor akan dihubungkan ke sensor kualitas udara TGS2600. Tegangan keluaran sensor keluar dari nomor pin 2 , dan ini terhubung ke GPIO 4. Namun, di antara itu kami memiliki beberapa tempat di mana kami dapat menyedot tegangan untuk menurunkan tegangan ke ambang pin GPIO sesuai kebutuhan.

Sejauh ini hanya 47kΩ R0 hadir di papan tempat memotong roti Anda, yang terhubung langsung ke ground. Resistor lainnya (R1 ke R4 ) masing-masing terhubung secara paralel ke pin GPIO yang berbeda. Ini memberi kita kontrol digital atas apakah setiap resistor hidup atau mati. Jika kita mengkonfigurasi pin GPIO untuk menggunakan INPUT mode ini mematikan resistor, karena pin GPIO tidak terhubung secara internal ke apa pun. Namun, jika kita mengaturnya untuk menggunakan OUTPUT mode dan kemudian menggerakkan pin LOW, ini akan menghubungkan resistor ke ground dan beberapa tegangan akan disedot melaluinya.

Catatan tentang resistor paralel. Hambatan total tangga adalah tidak jumlah semua resistor yang dihidupkan. Itu akan terjadi jika Anda memasang resistor secara seri; itu karena tegangan harus mengalir melalui setiap resistor secara bergantian. Secara paralel, aliran tegangan akan membagi rata di antara masing-masing resistor dan efeknya adalah resistansi total lebih kecil . Jadi semakin banyak resistor yang kita nyalakan, semakin rendah resistansi totalnya, dan semakin banyak voltase yang tersedot ke ground.

Karena tangga dikendalikan secara digital dengan menghidupkan dan mematikan resistor, tetapi mempengaruhi tegangan analog dari sensor, rangkaian dapat disebut konverter digital ke analog atau disingkat DAC. Ini adalah kebalikan dari ADC yang disebutkan sebelumnya.

Idealnya, kita perlu memvariasikan resistansi secara linier dan memiliki sejumlah kemungkinan kombinasi on/off yang akan mengakomodasi kisaran tegangan output sensor kualitas udara. Pertimbangkan apa yang akan terjadi jika semua resistor memiliki nilai ohm yang sama; berapa banyak kemungkinan unik kombinasi nilai resistansi mungkinkah ada?

Untuk detail selengkapnya:Hubungkan sensor ke Raspberry Pi untuk memperingatkan Anda saat ada gas berbahaya!


Proses manufaktur

  1. Pencatat Suhu Raspberry Pi
  2. Stasiun Cuaca Raspberry Pi
  3. Sensor Ultrasonik (HC-SR04) + Raspberry Pi
  4. Sensor Gerak menggunakan Raspberry Pi
  5. Sensor Kelembaban Tanah Raspberry Pi
  6. Ubah Raspberry Pi Anda menjadi Pelacak Kebugaran Hamster
  7. Sensor Suhu dan Cahaya Raspberry Pi
  8. Sensor Pi Raspberry dan Kontrol Aktuator
  9. Cara menghubungkan Sensor Ultrasonik Lego Mindstorms NXT ke Raspberry Pi
  10. Bangun IOT Pertama Anda dengan Raspberry Pi, sensor DHT11, dan Thingspeak.