Está en la página 1de 4

Nombres: Oscar Hernndez Guerrero

Leopoldo Granados Chvez

Profesor: Ing. Marisol Castan Elizalde

Materia: Instrumentacin

Horario: Lunes 07:00-09:00

Mircoles 07:00-09:00

Viernes 07:00-08:00

Grupo: 7E1

Bascula digital

Materiales: Pic 16f877a 2 Capacitores 22pF 1capacitor de cristal 4Mhz Resistor 10kohm Botn na Lcd 16x2 Sensor ptico cny70 Resistor 68ohm Resistor 22kohm Bascula mecnica para digitalizar

Explicacin: Digitalizar una bscula es tarea compleja debido al ajuste mecnico que el sistema necesite debe ser minucioso y se revisa muy peridicamente dependiendo el tipo de sensor a utilizar, este caso el sensor cny70; un sensor de tipo ptico que detecta en un rango de movimiento muy pequeo una variacin de voltaje, en cuanto su arreglo de circuito de ganancia, ajustando el convertidor analgico digital para su etapa de visualizacin en la lcd. Simulacin

LCD1
LM016L

VDD

VSS VDD VEE

RS RW E 4 5 6

1 2 3

C1
22pF

U1 X1
CRYSTAL 13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

C2

22pF

RV1(2)

RV1
ADC
4%

RV1(3) V=0.199992 VDD

R1
10k 100k

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A

Programacion Pic c (CCS compiler)


#include <16F877A.h> #device ADC=10 #FUSES XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) //capacitor de 4Mhz #include <lcd.c> #define use_portb_lcd TRUE //habilita el adc en una variable operable void main(){ int16 q; int16 qp; int16 z; float p; float pp; float lib; setup_adc_ports(AN0); setup_adc(ADC_CLOCK_INTERNAL); lcd_init(); for (;;) { set_adc_channel(0); delay_us(20); q = read_adc(); qp=q/10; z = (5 * q)*10; //variables para ajustar el adc sn mover el circuito p = z/1024.0;

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

pp=(p*14)*9; lib=pp*2.2; if(pp>38){ printf(lcd_putc, "\f printf(lcd_putc, "\n delay_ms(800);} else printf(lcd_putc, "\f printf(lcd_putc, "\n delay_ms(800); }}

Capacidad=%4ld", qp); //salida ala lcd para vizualizar %01.2f Kg %01.0f Lb", pp,lib);

Instrumentacion"); //salida ala lcd para visualizer que no hay nada que pesar No hay peso");

También podría gustarte