bascula adc 16f877a pic

4
Nombres: Oscar Hernández Guerrero Leopoldo Granados Chávez Profesor: Ing. Marisol Castañón Elizalde Materia: Instrumentación Horario: Lunes 07:00-09:00 Miércoles 07:00-09:00 Viernes 07:00-08:00 Grupo: 7E1

Upload: yevgeni-smith

Post on 08-Apr-2016

309 views

Category:

Documents


11 download

DESCRIPTION

bascula mecanica salida a lcd 16x2 con pic 16f877a

TRANSCRIPT

Page 1: Bascula adc 16f877a pic

Nombres: Oscar Hernández Guerrero

Leopoldo Granados Chávez

Profesor: Ing. Marisol Castañón Elizalde

Materia: Instrumentación

Horario: Lunes 07:00-09:00

Miércoles 07:00-09:00

Viernes 07:00-08:00

Grupo: 7E1

Page 2: Bascula adc 16f877a pic

Bascula digital

Materiales:Pic 16f877a2 Capacitores 22pF1capacitor de cristal 4MhzResistor 10kohmBotón na Lcd 16x2Sensor óptico cny70Resistor 68ohmResistor 22kohmBascula mecánica para digitalizar

Explicación:

Digitalizar una báscula es tarea compleja debido al ajuste mecánico que el sistema necesite debe ser minucioso y se revisa muy periódicamente 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 pequeño una variación de voltaje, en cuanto su arreglo de circuito de ganancia, ajustando el convertidor analógico digital para su etapa de visualización en la lcd.

SimulaciónD7

14D6

13D5

12D4

11D3

10D2

9D1

8D0

7

E6

RW5

RS

4

VSS

1

VDD

2

VEE

3

LCD1LM016L

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40RB6/PGC 39RB5 38RB4 37

RB3/PGM 36RB2 35RB1 34RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24

RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

U1

PIC16F877A

C1

22pFC2

22pF

X1CRYSTAL

VDD

4%

RV1

100k

R1

10k

VDD

RV1(2)RV1(3)V=0.199992

ADC

Page 3: Bascula adc 16f877a pic

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 operablevoid 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; pp=(p*14)*9; lib=pp*2.2; if(pp>38){ printf(lcd_putc, "\f Capacidad=%4ld", qp); //salida ala lcd para vizualizar printf(lcd_putc, "\n %01.2f Kg %01.0f Lb", pp,lib); delay_ms(800);} else printf(lcd_putc, "\f Instrumentacion"); //salida ala lcd para visualizer que no hay nada que pesar printf(lcd_putc, "\n No hay peso"); delay_ms(800); } }