El divisor de voltaje no funciona correctamente

0

Tengo una Raspberry Pi conectada a un MCP3002. Es poder y Vref se toma de los 3.3V de los Pi

También tomé dos resistencias de 1M para formar un divisor de voltaje en la conexión de 5V para crear 2.5V. Luego, en el pi, pruebo el voltaje utilizando este código enlace pero sin la conversión de temperatura.

Sin embargo, cuando conecto el divisor de voltaje hasta el ADC obtengo 0.7-0.75V

    #!/usr/bin/python

import spidev
import time
import os

# Open SPI bus
spi = spidev.SpiDev()
spi.open(0,0)

# Function to read SPI data from MCP3008 chip
# Channel must be an integer 0-7
def ReadChannel(channel):
  adc = spi.xfer2([1,(8+channel)<<4,0])
  data = ((adc[1]&3) << 8) + adc[2]
  return data

# Function to convert data to voltage level,
# rounded to specified number of decimal places.
def ConvertVolts(data,places):
  volts = (data * 3.3) / float(1023)
  volts = round(volts,places)
  return volts

while True:

  # Read the light sensor data
  ADC_volts = ReadChannel(0)
  digital_Volts = ConvertVolts(ADC_volts,2)
  print digital_Volts

simular este circuito : esquema creado usando CircuitLab

He estado haciendo esto toda la mañana, recientemente lo volví a armar y funcionó. Estoy planeando usar esto para conectar un piezo pero necesito desviar la señal para centralizarlo. ¿Es un problema con el código o mi configuración?

    
pregunta JamesDonnelly

1 respuesta

1

La hoja de datos MCP3002 dice:

  

Idealmente, la impedancia de la fuente de señal debería estar cerca de cero. Esto se puede lograr con un amplificador operacional como el MCP601 que tiene una impedancia de salida de bucle cerrado de decenas de ohmios. Los efectos adversos de las impedancias de fuente más altas se muestran en la Figura 4-2.

La impedancia de fuente máxima representada en ese gráfico es 10KOhm. Usted está utilizando muy por encima de eso (megohms). La cita de la hoja de datos anterior también dice cómo puede arreglar eso.

    
respondido por el Fizz

Lea otras preguntas en las etiquetas