工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ネイティブADCなしでRaspberry Pi上のアナログセンサーを測定

Raspberry Piには内蔵アナログ入力がありませんが、それがアナログセンサーの読み取りを妨げるわけではありません。いくつかの抵抗とコンデンサを組み合わせることで、シンプルなステップ応答技術を用いて抵抗を測定できます。これはポテンショメーター、フォトレジスタ、サーミスタなどに最適です。

背景

このアプローチは、Adafruitのチュートリアルで普及し、Raspberry Pi Cookbookで適応されたもので、コンデンサが閾値を超えて充電するまでの時間を測定します。Raspberry PiのGPIOピンは、電圧が約1.65Vを超えた瞬間を検出できるため、接続された可変抵抗の抵抗値を推測できます。

必要なもの

Pythonコード

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
# ピン割り当て
A_PIN = 18  # コンデンサ放電/充電制御
B_PIN = 23  # 電圧閾値検出

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()

スクリプト実行時の出力例:

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

ポテンショメーターのノブを回すと、読み取り値は約10から170の間で変動し、可変抵抗を反映します。

仕組み

この技術はRC充電曲線に依存します。コンデンサが可変抵抗に接続されると、その電圧は指数関数的に上昇します。GPIOピンは、コンデンサ電圧が入力閾値(約1.65V)を超えると論理ハイを登録します。ループ反復でカウントされた経過時間は、抵抗と直接相関します:抵抗が低いほど充電が速く、カウント値が小さくなります。

Piにはアナログ-デジタルコンバーターがないため、このタイミング手法でその制限を回避し、幅広いアナログセンサーを読み取るコスト効率が良く信頼性の高い方法を提供します。

製造プロセス

  1. Raspberry PiとDS18B20によるプロフェッショナルな温度監視
  2. Raspberry Pi向けコンパクトDHT温湿度ブレークアウト – ATtiny85 & DHT22/DHT11
  3. DS1820ワンワイヤー温度センサーをGPIOでRaspberry Piに接続する方法
  4. センサーデータをRaspberry Piに統合:実践ガイド
  5. HC-SR04超音波距離センサーをRaspberry Pi 3に接続 – 完全ガイド
  6. Raspberry Piで単一GPIOピンを使ってアナログセンサーを測定
  7. Raspberry Piフォトセルログ&アラートシステム - Pythonで低消費電力光センサーを構築
  8. Java ME 8でRaspberry Pi上のIoTを構築: パート1 - GPIOセンサー統合
  9. Raspberry Piでリニアホールセンサーを読み取り: JavaガイドとADC0832の知見
  10. Raspberry PiでGPIO経由のボタン押下を読み取り - ステップバイステップガイド
  11. Raspberry PiとZabbixでアナログセンサーを読み取り - ステップバイステップガイド