Cómo simular un sensor de salida analógica con MCP3008 ADC. ¿Puedo usar un potenciómetro 10K con Raspberry Pi 3.3v?

1

Estoy trabajando en una serie de lecciones con el Modelo B de Raspberry Pi 3 y la siguiente lección es Raspberry Pi Starter Kit Lección 10: Puertos SPI de Raspberry Pi , que consiste en conectar una salida ADC MCP3008 a varios pines en la Raspberry Pi y luego conectar dos de los pines de entrada analógica ADC al riel 3.3v y al riel GND una tensión de referencia de 3.3v desde el riel 3.3v.

LoquemegustaríahacerespodervariarlaentradaalMCP3008ADCparasimularunsensorcomounsensordetemperaturaanalógico.

Mepreguntabasipodríahacerestoagregandounpotenciómetrode10Kohmiosenconexiónentreelriel3.3vyelCH0delADCMCP3008.

Addendum:agregarunLEDimpulsadoporPWMcondiferentesniveles

Despuésdeagregarelpotenciómetro,conectarlasalidadellimpiaparabrisasaCH2yobservarloscambiosenlosnúmerosamedidaquecambiélaconfiguracióndelmando,modifiquéelcircuitoagregandounLEDaGPIO#18,elpindehardwarePWM.

Entonces,laaplicaciónmodificadautilizóunbucleparaconsultarelniveldevoltajerelativo,0a1023,desdeelMCP3008enelcanalalqueseconectóelpotenciómetro,CH2.LuegoseusóelvalorparaestablecerelCiclodetrabajodelpinGPIO#18,queseaprovisionócomoModulacióndeanchodepulso(PWM)conelrangopredeterminadode1024.AlcambiarelCiclodetrabajo,asuvez,secambióelniveldeiluminacióndelLED.Porlotanto,algirarlaperilladelpotenciómetroaunnuevoajuste,elniveldebrillodelLEDcambió.

Addendum:usefoto-resistorconMCP3008comoalternativa

Unaalternativaalusodeunpotenciómetroesusarunafoto-resistenciaconectadaatierraconunaresistenciapullupde10Kohmiosconectadaalrielde3.3v.LuegoseestableceunaconexiónentreunpindecanaldelMCP3008yunpuntodeconexiónentrelaresistenciade10Kohmiosylafoto-resistencia.

Elresultadodeestecircuitoesproporcionarnivelesdevoltajequevaríansegúnlacantidaddeluzquevealafoto-resistencia.Sepuedehacerquelosnivelesdeluzvaríenutilizandoundispositivodesombreado,comountubodepapelfísicosobrelafoto-resistenciaousandounalinternaparailuminarlafoto-resistencia.

Addendum:protocoloSPIconMCP3008

AquíhayunbuentutorialyunaexplicacióndelMCP3008ycómointeractuarconSPI. Cómo conectar un chip SPI ADC (MCP3008) a la Raspberry Pi usando C ++ (spidev) .

    
pregunta Richard Chambers

2 respuestas

3

Sí, puedes usar un potenciómetro para proporcionar una entrada variable al ADC.

Conecte un extremo de la olla a + 3.3V, el otro extremo a tierra y el limpiaparabrisas a la entrada del ADC. A medida que gire la olla, el voltaje en el limpiaparabrisas variará entre 0 y 3,3 V.

    
respondido por el Peter Bennett
2

Para ser preciso en ingeniería, hay una advertencia. El MCP3008 es un ADC simple de aproximación sucesiva con una unidad de muestra y retención desnuda (S / H) en el extremo delantero. La unidad S / H tiene una resistencia de la serie 1k y un condensador de retención de 20 pF, consulte Figura 4.1 de la hoja de datos . Esta es una impedancia de entrada bastante baja, y debe considerarse al muestrear fuentes de impedancia relativamente alta. El chip no tiene ningún búfer analógico que permita que una fuente de alta impedancia maneje este circuito S / H con buena precisión.

El problema es que la impedancia de la fuente de 10k está en el límite. Cuando el interruptor S / H se activa, la fuente intentará cargar la tapa y el voltaje tendrá una caída. El código ADC resultante puede ser ligeramente menor que el nivel de CC de voltaje de fuente. El error dependerá de la tasa de conversión.

La conclusión es que si solo quiere ver cómo cambia el código de salida y probar el comportamiento del software, el trimpot de 10k está bien. Sin embargo, si necesita cierta precisión real en la conversión, con un sensor real, necesita usar una fuente de baja impedancia, como máximo 1k o menos, o usar un amplificador de búfer frente a este ADC. Consulte la Figura 4-2 para ver la relación entre el error de conversión y la impedancia de la fuente a diferentes tasas de conversión.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas