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

Mengukur Sensor Analog pada Raspberry Pi Tanpa ADC Bawaan

Raspberry Pi tidak memiliki input analog bawaan, namun hal itu tidak mencegah Anda membaca sensor analog. Dengan menggabungkan beberapa resistor dan kapasitor, Anda dapat menggunakan teknik step-response sederhana untuk menentukan resistansi—ideal untuk potensiometer, fotoresistansi, termistor, dan lainnya.

Latar Belakang

Pendekatan ini, dipopulerkan oleh tutorial Adafruit dan disesuaikan dalam Raspberry Pi Cookbook, mengukur waktu yang dibutuhkan kapasitor untuk melewati ambang. Pin GPIO Raspberry Pi dapat mendeteksi saat tegangan melebihi ~1.65 V, memungkinkan Anda menyimpulkan resistansi dari resistor variabel yang terhubung.

Yang Anda Butuhkan

Kode Python

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# Pin assignments
A_PIN = 18 # Kontrol pengosongan/pengisian kapasitansi
B_PIN = 23 # Deteksi ambang tegangan
def discharge():
    GPIO.setup(A_PIN, GPIO.IN)
    GPIO.setup(B_PIN, GPIO.OUT)
    GPIO.output(B_PIN, False)
    time.sleep(0.005)
def charge_time():
    GPIO.setup(B_PIN, GPIO.IN)
    GPIO.setup(A_PIN, GPIO.OUT)
    count = 0
    GPIO.output(A_PIN, True)
    while not GPIO.input(B_PIN):
        count += 1
    return count
def analog_read():
    discharge()
    return charge_time()
try:
    while True:
        print(analog_read())
        time.sleep(1)
except KeyboardInterrupt:
    GPIO.cleanup()

Menjalankan skrip menghasilkan output mirip dengan:

$ sudo python pot_step.py
101
210
101
623
435
367
728
610
512
314
317
0

Bacaan fluktuasi antara sekitar 10 dan 170 saat Anda memutar knob potensiometer, mencerminkan resistansi variabel.

Cara Kerja

Teknik ini bergantung pada kurva pengisian RC. Saat kapasitor terhubung ke resistor variabel, tegangannya naik secara eksponensial. Pin GPIO mendaftarkan logika tinggi saat tegangan kapasitor melebihi ambang input (~1.65 V). Waktu yang berlalu—dihitung dalam iterasi loop—secara langsung berkorelasi dengan resistansi: resistansi yang lebih rendah berarti pengisian lebih cepat, menghasilkan count yang lebih kecil.

Karena Pi tidak memiliki konverter analog-ke-digital, metode waktu ini mengatasi keterbatasan itu, menawarkan cara yang hemat biaya dan andal untuk membaca berbagai macam sensor analog.

Proses manufaktur

  1. Pemantauan Suhu Raspberry Pi Profesional dengan DS18B20
  2. Breakout Suhu & Kelembaban DHT Kompak untuk Raspberry Pi – ATtiny85 & DHT22/DHT11
  3. Cara Menghubungkan Sensor Suhu One-Wire DS1820 ke Raspberry Pi Menggunakan GPIO
  4. Mengintegrasikan Data Sensor ke Raspberry Pi: Panduan Praktis
  5. Menghubungkan Sensor Ultrasonik HC-SR04 ke Raspberry Pi 3 – Panduan Lengkap
  6. Mengukur Sensor Analog pada Raspberry Pi dengan Satu Pin GPIO
  7. Sistem Pencatatan & Peringatan Photocell Raspberry Pi – Membangun Sensor Cahaya Hemat Daya dengan Python
  8. Membangun IoT dengan Java ME 8 pada Raspberry Pi: Bagian 1 – Integrasi Sensor GPIO
  9. Membaca Sensor Hall Linier dengan Raspberry Pi: Panduan Java & Wawasan ADC0832
  10. Membaca Tekanan Tombol melalui GPIO pada Raspberry Pi: Panduan Langkah demi Langkah