Estoy usando el launchpad del microcontrolador MSP430FR2311 de TI. Estoy intentando ejecutar un programa simple que configura el amplificador operacional incorporado como un amplificador operacional general, que amplifica la entrada en un factor de 3. He adjuntado el código de ejemplo proporcionado por TI. La entrada que estoy proporcionando es un voltaje de 1 V provisto por un divisor de voltaje.
El problema que tengo es el siguiente: cuando conecto el divisor de voltaje de entrada al pin P1.4 (terminal positivo del amplificador operacional), el voltaje del divisor cae a 0V. Medí esto con un multímetro. La tensión en el pin físico P1.4 también es 0V. Si desconecto el divisor y el pin, el voltaje en el divisor es 1V, lo que se espera, ya que este es el valor de Vout en el divisor de voltaje. Dado que la entrada positiva (señal que necesita ser amplificada) es 0V, la salida del amplificador es 0V (ya que 0 * el factor de 3 sigue siendo 0). ¿Alguna idea de qué puede causar esto? ¿Es un problema de impedancia? Soy nuevo en los circuitos y no sé qué podría estar causando algo como esto.
// MSP430FR231x Demo - SAC-L1, GP Mode
// Description: Configure SAC-L1 for GP mode. The "+" terminal is
// connected to OA0+ and the "-" terminal is connected to OA0-.
// OA0- and OA0O are connected as below to implement x3 amplifier.
// OPA is selected to low speed and low power mode.
// ACLK = n/a, MCLK = SMCLK = default DCODIV ~1MHz.
//
// MSP430FR231x
// -------------------
// /|\| P1.2/OA0-|----||---------R2=100Kohm---GND
// | | | R1=200Kohm
// | | P1.3/OA0O|----||
// --|RST |
// | P1.4/OA0+|<----
// | |
// | |
// | |
//
// Darren Lu
// Texas Instruments Inc.
// July 2015
// Built with IAR Embedded Workbench v6.30 & Code Composer Studio v6.1
//******************************************************************************
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1SEL0 |= BIT2 + BIT3 + BIT4; // Select P1.2 P1.3 P1.4 OA function
P1SEL1 |= BIT2 + BIT3 + BIT4; // Select P1.2 P1.3 P1.4 OA function
SAC0OA |= NMUXEN + PMUXEN; // Enable negative and positive input
SAC0OA |= OAPM; // Select low speed and low power mode
SAC0OA |= SACEN + OAEN; // Enable SAC and OA
__bis_SR_register(LPM3_bits); // Enter LPM3
}