Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ry
Ganancia = G = ( 2)
Rx
Al observar la Figura N° 3 se puede establecer una relación entre Figura N° 5 – Señal de Referencia 𝟏𝟎𝑽𝒑𝒑 v/s señal de salida del circuito
las variables que existen, para la cual se plantea la siguiente ecuación: restador, simulado en Proteus.
III. EXPERIENCIA AVANZADA Figura N° 8 – Representación gráfica del registro de 12 bit del
MPC4822.
1) Transformar una señal de voltaje de 10Vpp y de 200Hz
desde un generador de funciones a una señal digital dentro La comunicación que tiene Arduino con el MCP4822 es por medio
del microcontrolador y transformar esa señal digital a una del protocolo SPI, cumpliendo con este protocolo se utiliza lo mostrado
señal análoga de 5Vpp usando un MCP4822, de manera de a continuación:
visualizar ambas señales en el osciloscopio (una la copia de
la otra). 𝑊ℎ𝑒𝑟𝑒:
̅ / 𝑩 ∶ 𝐷𝐴𝐶𝐴 𝑜𝑟 𝐷𝐴𝐶 𝑆𝑒𝑙𝑒𝑐𝑡𝑖𝑜𝑛 𝑏𝑖𝑡
𝑏𝑖𝑡 15 𝑨
Antes de comenzar la experiencia avanzada se presenta el circuito 1 = 𝑊𝑟𝑖𝑡𝑒 𝑡𝑜 𝐷𝐴𝐶𝐵
montado experimentalmente para ambas experiencias: 0 = 𝑊𝑟𝑖𝑡𝑒 𝑡𝑜 𝐷𝐴𝐶𝐴
2.048 ∗ 4095 ( 5)
𝑉𝑜𝑢𝑡_𝑚𝑎𝑥 = ∗ 2 = 4,096 [𝑉] Figura N° 10 – DAC MCP4822 más el amplificador inversor
4095 simulado en Proteus.
𝑉𝑜𝑢𝑡_𝑚𝑖𝑛 = 0
Luego de implementar el circuito se obtuvieron los mismos
resultados vistos en la simulación en Proteus, los resultados de la
Como el voltaje máximo del DAC no cumple con lo pedido en la
experiencia avanzada se presentan a continuación, tanto en Proteus
experiencia se necesita que el voltaje de salida del MCP4822 alcance
como los resultados experimentales:
los 5𝑉, para lograr esto se realizó un circuito amplificador inversor de
señal, para lo cual utilizaremos la siguiente ecuación:
𝑅1 + 𝑅2 ( 6)
𝑉𝑜𝑢𝑡 = ∗ 𝑉𝑖𝑛
𝑅1
𝑅1 + 𝑅2 ( 7)
𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎 =
𝑅1
𝑅1 + 𝑅2 ( 8)
1.25 =
𝑅1
IV. CONCLUSIONES
[4] http://www.alldatasheet.com/datasheet-pdf/pdf/17871/PHILIPS/LM324.html
VI. ANEXOS
#include <SPI.h>
const float DAC_CS = 10; //pin para habilitar transferencia de datos
float voltaje = 0; //lectura analoga en 10 bits
float volt = 0; // lectura en 12 bits
int salida = 0;
int DACprimero = 0;
int DACsegundo = 0;
float Ref = 0;
float dif = 0;
void setup()
{
Serial.begin(115200);
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV128);
pinMode(DAC_CS,OUTPUT);
}
void loop()
{
voltaje = analogRead(A0); //lectura de señal sinusoidal
volt = map(voltaje,0,1023,0,4095); //transformación de datos de 10 a 12 bits
DAC(volt); //llamado de función de envió de datos a chip MCP4822
}