Frecuencimetro receptor hall esquema y programa pbp 28 pag

Page 1

VS S VD D VE E RS RW E D0 D1 D2 D3 D4 D5

1 2 3 pas 0 4 pas 0 5 pas 0 6 pas 0 7 pas 0 8 pas 0 9 pa1 s 0 0 pas1 0 1 pa1 s 0 2 pa1 s 0 3 pa1 s 0 4 pa1 s 0 5 pa1 s0 6 pas 0

pas 0

pas 0

JP1

1 0 0

;En modo GENERACIÓN (conmutador LED_ROJO Encendido) permite generar una ;señal Hall variable para ver si el indicador del cuadro de instrumentos actúa.

pas 2

+5V

pas 1

; En modo RECEPCIÓN (conmutador LED_VERDE ENCENDIDO) permite ver ;si el sensor proporciona señal. lo que sería indicado en pantalla en Hz y rpm

pas 0

;INSTRUCCIONES QUE EMPLEO: pas 1

;COUNT portb.0,1000,puls ;contar pulsos en el puerto B.0 y los guarda en la suppa0s 3

;variable 'pulsos' durante 1000ms = 1sg ;el periodo podemos variarlo de 1 a 65535 ;si la cantidad supera los 254 HZ Mensaje para que bajemos la Hz, ;Si la Frecuencia llega a 2 Hz mensaje para que subamos la HZ

+5V

IC1

16 15 4 io 0 3 io 0 2 io 0 1 io 018 io 017 io 0 io 0 in 0

RB7/T1OSI/PGD VDD RB6/T1OSO/1ICKI/PGC RB5 RB4/PGM RB3/CCP1 RB2/TX/CK RB1/RX/DT RB0/INT RA7/ASC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR/VPP RA4/TOCKI/CMP2 RA3/AN3/CMP1 RA2/AN2/VREF RA1/AN1 VSS RA0/AN0

14pwr 0

sup 0

GND

; B0 -> Como entrada lectura de pulsos ; B1 -> como Salida de señal Hall generada por el Pic ( para sustituir ; la señal del generador que vamos a comprobar) ;B2 -> conectada al conmutador de selección para actuar como Generdador Hall 'o como Lector de pulsos Hall ;B4 -> Pulsador que nos permite SUBIR los Hz al actuar como Generador Hall ;B5 -> Pulsador que nos permite BAJAR los Hz al actuar como Generador Hall ;B6 -> Capta los pulsos del RECEPTOR HALL . Debe encontrarse el ;Selector (RB") en (0) modo LECTOR HALL ;La frecuencia máxima está pensada para 254 hz * 30 = 7620 rpm ; la frecuencia mínima está pensada para 2 hz * 30 = 60 rpm INSTRUCCIONES QUE USO: CONTADOR DE PULSOS por PORTB.0 al ser por cada segundo corresponde a HZ

5

pwr 0

sup 0

pas 1

obligatorio poner a pull-up RA4/tock para poder ver en la LCD

pas 1 sup 0

+5V

10K

sup 0

in

9

in 0

8

in 0

7

RA0 RA1 RA2 RA3 +5V GND

in 0

6

in 0

5

in 0

4

in 0

2 1

4MHZ

COUNT PORTB.0,1000,pulsos

(pag 85 3ª Edicion)

PIC16F628P

la tensión HALL puede ser >= 5V. al disponer del limitador Zener 5.1V 500 mW

RESET

FREQOUT PORTB.1,2000.50 --> saca 50 ciclos durante 2 segundos (pag 90 3ª edición)

pas 2

3 4

1 2

pas 1

S3 pas 2

pas 1 pas 1

GENERADOR DE PULSOS (HZ) Saca la frecuencia espedificada por un pin del micro en este caso por PORTB.1 Puede contar desde 0 a 32767 HZ

passu1p 0

+5V

GND

10K

Q1

-

330 pas 1

13 12 io 0 11 io 010 io 0 9 io 0 8 io 0 7 io 0 6

MCLR RA4 RA3 RA2 RA1 RA0

+

Q3 BC548A

io 0

RB6 RB5 RB4 RB3 RB2 RB1

F/TMB pas 0

io 0

sup 0

ZPD

3

GND VCC CON TR RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 NC NC pas 1

C4

passu1p 0 pas 0

D1 suppa0s 0

in 0

pas 1

RB6

150

2

pas 1

RB4

1 2

pas 1

pas 1

RB6 capta los pulsos del receptor Hall para representarlo en el display Debe encontrarse el SELECTOR RB2 en (0) modo LECTOR HALL

pas 1

pwr 0

RB4 (S5) Pulsador Subir HZ RB5 (S4) Pulsador Bajar HZ

pas 0 pas 1

1

pwr 0

GND +5V GND RA4 GND RB3 pas 1

pas 1

; LO UTILIZARÉ PARA COMPROBAR: SENSORESS TIPO HALL ; LO PUEDO PONER EN MODO CAPTADOR DE PULSOS. O BIEN EN MODO GENERADOR DE PULSOS. ; Ello me permitirá conocer si lo que falla es el Sensor Hall ; del coche o bien el indicador del cuadro de instrumentos.

BUZZER AL60P Suena al pulsar S5 (RB4) S4 (RB5) SG1

10K

+5V 10K

pas 1 pas 1

22pf 22pf

C3 sup 0

pas 1

Cuando el PIC genera los pulsos HALL Llegan al (0) del conector HALL y a su vez al PIN RB0 para el contaje

LED5

pas 1

sup 0 paspa 1s 1

RB1

GND

+5V

3 4

pas 1

RB0-> Entrada Pulsos Hall

220

pas 1 sup 0

passu1p 0 pas 1

LED2 Rojo:2Gvenerador de Pulsos Hall pas 2 pas 2

RB1-> Salida Pulsos Hall

paspa 0s 1

1 2

S4

pas 1

330

(0) Entrada Receptor Hall

3 4

RB0

pas 0

sup 0

pas 2 pas 2

GND

pas 1

X2-3

(-) Generador Hall

pas 3

ESTOS PINES NO LO CONECTO PERO SÍ LO PONGO PARA PONERSELO AL LCD DISPLAY 16X2 ya que sus pines son MÁS GRANDES para soldar.

LCD 2X16

S5

sup 0

pas 2

Q4 BC54

(0) Salida Generador Hall

pas 0

RB2

sup 0

pas 0 pas 1

6 5 pas 0

pas 0

220

+5V pas 0

GND

GND

X2-2

(--) Alimentación HALL (GND)

3

S2 TL32PO

S1

pas 0 pas 1

4

2 pas 0 pas 0

X2-4 (0) Entrada Receptor HALL permite una tensión >= 5V gracias al zener limitador 5,1V 500mW

pas 0

TUXGR_16X2_R2 LCD DISPLAY 16x2

2

Pulsar para subir/Bajar HZ Una pulsación = 3HZ --> 90 rpm

(+) HALL 12V ó 5V (+) alimentación HALL a 12V ó 5X V2-1 (0) Salida HALL a >10V ó 5V

1

pas 0

Fijo a +5V

+5V

passu0p 0 pas 0

pas 1

LED4

passu0p 0

LED3 pas 0

pas 0

330

pas 0

3

570

+5V pas 0

1

+ Bat

Para ello utilizo el potencióhmetro y el comnutador "S1"

Verde

DIS1

GND

S1

otros Sensores HALL se alimentan a 5V y su señal es de 5V.

sup 0

El potencióhmetro permite que la Tensión del Generador HALL sea ajustable hasta la tensión de la Batería. Algunos HALL se alimentan a 12V y la señal HALL es de 10V

pas 1

Rojo

Selector RB2: (1) Generador Hall (2) Lector Hall

pas 0

pas 0

sup 0

Ajustable hasta +12V +12V

GND

LED1 2V

220 uF

470 k

pas 0

+

Realizada: Enero 2014 C2

pas 0

IC2 7805

pas 1

220 uF

C5

Verde: Lector de Pulsos Hall

GND

C1

FRECUENCIMETRO_RECEPTOR_HALL

pas 0 sup 0

pas 1

pas 0

+

pas 0

IN OUT

in 0

+12V

sup 0

1

X1-2 -- BAT El diodo D2 evita daños si se invierte la Tensión de Batería

pas 0

pas 0

pas 0

R1 2K2 D pas2 0 pas 0 A E 1N4004 S

paspa 0s 0

in 0

pas 0

+ BAT X1-1

pas 0

>=9 Vcc

JP 2

Jumper para anular al diodo en caso de baja Tensión de Bat.

+5V

Nota el potenciómetro no está bien conectado. Se debe conectar a Masa y su cursor móvil con la entrada IN del 7805

MCLR

pas 1

pas 1

100

GND

GND NOTA: Aunque en el esquema esté puesto el modelo BC 548A (NPN) Da 100mA pot 500mW los transistores son NPN BC 337-25 (Dan 500 mA y Pot >800 mW) Lo hago así por tener su PACKAGE en línea en lugar de forma de triangulo la conexión es la misma Visto de frente: C-B-E

Autor: Joaquín Berrocal Piris



C2

X2

R9 220

1

2

TUXGR_16X2_R2

I- O IC2 7805 JP2 R10 10K

DIS1 JP1

1

220 uF

2

470 k

3

220 uF

4

C5

X1

LED5 10K R11

C1

100 FRECUENCIMETRO_RECEPTOR_HALL (100 X 75 mm)

S5

3

1 2

1N4004

4 220 R5

R4 570

LED4

330 R6

LED3

S1

2V LED1

1

2v LED2

2

BC548A

2K2

S2

BC548A Q3

R1

TL32PO

1 2

S3 F/TMB

Q4

10K R2 D2

4M

3 4

22pf

SG1 330 R12

100

330 R7

R14 10K

C 223pf Q1

ZPD 150 R8

D1

C4

PIC16F628P

S4

2

75

4

3

IC1 1


1

220 uF

2

470 k

1

-- 0 + -- +

TUXGR_16X2_R2

I- O IC2 7805 JP2 R10 10K

JP1

2

3

220 uF

4

C5

X1

LED5 10K R11

C2

X2

R9 220

DIS1

C1

100 FRECUENCIMETRO_RECEPTOR_HALL (100 X 75 mm)

S5

3

1 2

1N4004

4 220 R5

LED4

330 R6

LED3

S1

2V LED1

1

1 2

R4 570

2v LED2

2

BC548A

2K2

S2

BC548A Q3

R1

TL32PO

3 4

S3 F/TMB

Q4

10K R2 D2

4M

Q1

22pf

SG1 330 R12

100

C 223pf

330 R7

R14 10K

C4

PIC16F628P

D1

ZPD 150 R8

2

75

4

S4

3

1

IC1


75

100


100

75

-- 0 + -- +


C:\ELECTRONICA\EN PBP\Proyecto 5.5.4.1 Frecuencimetro

RECEPTOR HALL\FRECUENCIMETRO_GE

'*************************************************** '* Nombre : FRECUENCIMENTRO_GENERADOR_HALL * '* Autor : Joaquín Berrocal Piris * '* Copyright : Copyright (2013) * En PicBasicPro '* Fecha : Diciembre 2013 * '* Versión : 1.0 * '*************************************************** ; Proyecto con pic 16f628A a 4 MHZ ; LO UTILIZARÉ PARA COMPROBAR: GENERADORES TIPO HALL ; LO PUEDO PONER EN MODO CAPTADOR DE PULSOS. O BIEN EN MODO GENERADOR DE ; PULSOS. Ello me permitirá conocer si lo que falla es el Generador Hall ; del coche o bien el indicador del cuadro de instrumentos. ; En modo RECEPCIÓN (conmutador LED_VERDE ENCENDIDO) permite ver si el sensor ; proporciona señal. lo que sería indicado en pantalla en Hz y rpm ;En modo GENERACIÓN (conmutador LED_ROJO Encendido) permite generar una ;señal Hall variable para ver si el indicador del cuadro de instrumentos actúa. ;instrucciones que empleo: ;COUNT portb.0,1000,puls ;contar pulsos en el puerto B.0 y los guarda en la ;variable 'pulsos' durante 1000ms = 1sg ;el periodo podemos variarlo de 1 a 65535 ;si la cantidad supera los 254 HZ Mensaje para que bajemos la Hz, ;Si la Frecuencia llega a 2 Hz mensaje para que subamos la HZ ; B0 -> Como entrada lectura de pulsos generados por el pic por RB1 en LCD ; B1 -> como Salida de señal Hall generada por el Pic ( para sustituir ; la señal del generador que vamos a comprobar) ;B2 -> conectada al conmutador de selección para actuar como Generdador Hall 'por RB1 o como Lector de pulsos Hall por RB6 ;B4 -> Pulsador que nos permite SUBIR los Hz al actuar como Generador Hall ;B5 -> Pulsador que nos permite BAJAR los Hz al actuar como Generador Hall ;B6 -> Capta los pulsos del RECEPTOR HALL . Debe encontrarse el ;Selector (RB2) en (1) modo LECTOR HALL ;B7 -> Ppara la activación del buzzer al pulsar para subir o bajar la Hz ;La frecuencia máxima está pensada para 250 hz * 30 = 7500 rpm ; la frecuencia mínima está pensada para 1 hz * 30 = 30 rpm define Osc 4

' Define el Oscilador para un Cristal

CMCON = 7 ;convierte en digitales el puerto A. NOTA EL A5 no puede ;actuar como salida es siempre entrada ver pag 43 apuntes basic v3 GENER_LECTOR var PORTB.2 ; Patilla para seleccionar que actúe como: ;Generador, o bien, receptor de pulsos BOTSUBIR var PORTB.4 ;Nombre para el PIN B.4 Al pulsar aumentan los HZ BOTBAJAR var PORTB.5 ;Nombre para el PIN B.5 Al pulsar disminuyen los HZ revo var word ;para el contaje de rpm revo = 30 ;valor inicial revo_Lectura var word ;para el contaje de rpm al actuar como lector pulsos var word ;variable pulsos con capacidad de 0 a 65535 base var word ;variable BASE tamaño máx 62532 base = 50000 ; VALOR inicial que corresponde a 1 HZ --> 30 rpm si ;la señal fuese dada por un distribuidor ;(SEÑAL HALL) de un motor de 4 cilindros valor_base var word

Page 1 of 6

; Valor inicial para calulos de subir /bajar Hz

12/04/2014 13:04


C:\ELECTRONICA\EN PBP\Proyecto 5.5.4.1 Frecuencimetro

valor_base = 50000

RECEPTOR HALL\FRECUENCIMETRO_GE

; aquí corresponde con 500 ms 10us x 50000= 500 ms

1Hz

espera var word espera = 500 ; Valor inicial para conseguir 1 hz 500 ms + 500 ms divisor var byte divisor = 1

; porque cuenta hasta 255 aunque yo lo tengo limitado ;para incrementar hasta 250 que corresponden con 7500

rpm ; cada incremento 1Hz que son 30 rpm trisb=%01110101 ;PORTB.0 como entrada PARA EL CONTAJE DE PULSOS que ;proporciona RB1 ;PORTB.1 como Salida;Para generar los pulsos ;pulsout portb.1,base ( cda pulso en un con un oscilador ; de 4 Mhz es de 10 us . si fuera de 20 Mhz sería de 2 us ;PORTB.2 ->como entrada;NIVEL BAJO GENERADOR de pulsos Rojo ;con NIVEL ALTO LECTOR DE PULSOS con COUNT Verde ;PORTB.3 como Salida;Para (E) Enable del LCD ;PORTB.4 --> como entrada; para SUBIR la frecuencia ;PORTB.5 --> como entrada; para BAJAR la frecuencia ;PORTB.6 --> como entrada; para LECTURA HALL ;PORTB.7 como Salida;Para activar buzzer al pulsar RB4-5

PORTB=0

; Inicializa el puerto B con todas sus puertas que estén ;configuradas como salidas a nivel 0 ;++++PULL-UP DEL PUERTO B PORTB+++++++ ;NOTA: si lo pongo antes de PORTB = 0 NO ACTÚA pull-up y no sé por qué ;probado en el PROTEUS OPTION_REG.7=0 ;para poner pull-up el puerto B ;+++++++++++++++++++++++++++++++++++ pause 200 lcdout $FE, 1

; algunas LCD precisan de este tiempo ;limpiar pantalla LCD

PROG: ; Primero verifica como se encuentra el conmutador conetado a PORTB.2 ;y que hemos llamado "GENER_LECTOR" Si está a nivel bajo,(led rojo activo) ; se encargará de producir una frecuencia de 1 Hz que corresponden a ; 1 HZ * 30 = 30 rpm si la señal la diera un hall del distribuidor ; de encendido de un motor de 4 cilindros y 4 tiempos. ; Esta frecuencia puede aumentarse o disminuirse de Hz en Hz lo que supone ; aumentar o disminuir las rpm en 30 rpm. ; Para ello utilizamos los pulsadores conectados a RB4 (para aumentar) ; y RB5 (para disminuir) ; Si el conmutador conectado a PORTB.2 está a nivel ALTO (led verde activo) ; lo que hará será leer los pulsos que le entran por RB1. ; esa entrada esta limitada por un diodo zener de 5V1 para que acepte ; entrada de señal hall mayor o igual a 5 Voltios y no afecta al PIC ; Lo utilizará para ver si el sensor HALL que se quiera probar funciona ; o no. Si dá señal Hall se verá en pantalla y su conversión a rpm ' +SI (RB2) ESTÁ A "NIVEL 1" (led VERDE)HACE LECTURA DE PULSOS POR EL PIN RB6 ' +SI (RB2) ESTÁ A "NIVEL 0" (led ROJO)ACTÚA COMO GENERADOR HALL POR RB1 'que a su vez está conectado con RB0 para lectura en LCD. if GENER_LECTOR = 0 then

lcdout $FE,$80,"

Page 2 of 6

;GENERAR_FRECUENCIA ; Genera pulsos por RB1 ; y si es = 1 hacer Lectura de los pulsos

GENERANDO:

" ;cursor en la 1era línea

12/04/2014 13:04


C:\ELECTRONICA\EN PBP\Proyecto 5.5.4.1 Frecuencimetro

RECEPTOR HALL\FRECUENCIMETRO_GE

'/* LCDOUT $FE,$C0, DEC frec," Hz ",DEC revo," rpm" 'lo hago mejor así para que no haya problemas de verse mal el display al 'cambiar mucho de frecuencia o rpm valores en el display como "rpmmm" */ lcdout $FE,$C0," " ; para limpiar los tres posibles dígitos de Frecuencia lcdout $FE,$C0, dec divisor ;permite hasta 3 dígitos en Frecuencia lcdout $FE,$C4,"Hz" ;posición 5 para escribir: Hz lcdout $FE,$C7," " ; para limpiar los 5 posibles dígitos de rpm lcdout $FE,$C7, dec revo ; posición 8 para poner las rpm permite hasta lcdout $FE,$CD,"rpm" ; 5 digitos antes de poner "rpm" goto GENERAR_FRECUENCIA endif

; Genera pulsos por RB1 ; y si es = 1 hacer Lectura de los pulsos ;Lo pongo aquí para evitar tiempos innecesarios

'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ '+++Si GENER_LECTOR = 1 (RB2) HACER EL CONTAJE DE PULSOS ++++ '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ count portb.6,1000,pulsos

;contar pulsos en el puerto B.6 ;al contarlos por segundo = a frecuencia

revo_Lectura = pulsos * 30

;multiplico por 30 para convertir en rpm

lcdout $FE,$80,"LECTURA:

RPM: " ;cursor en la 1era línea ;en el comienzo 2da línea casilla 6 sacar ;el valor decimal de la variable pulsos '/* LCDOUT $FE,$C0, DEC pulsos," Hz ",DEC revo_Lectura," rpm" 'lo hago mejor así para que no haya problemas de verse mal el display al 'cambiar mucho de frecuencia o rpm valores en el display como "rpmmm" */ lcdout $FE,$C0," " ; para limpiar los tres posibles dígitos de los pulsos lcdout $FE,$C0, dec pulsos ;permite hasta 3 dígitos en Frecuencia lcdout $FE,$C4,"Hz" ;posición 5 para escribir: Hz lcdout $FE,$C7," " ; para limpiar los 5 posibles dígitos de rpm lcdout $FE,$C7, dec revo_Lectura; posición 8 para poner las rpm permite hasta lcdout $FE,$CD,"rpm" ; 5 digitos antes de poner "rpm" goto RECEPTOR_HALL

'para suprimir algunos lcdout ...''''' GOTO PROG

'++++SI (RB2) ESTÁ A NIVEL BAJO; ACTUAR COMO RECEPTOR HALl POR (RB6) ++++++++ RECEPTOR_HALL: '+++Si GENER_LECTOR (RB2)= 1 HACER EL CONTAJE DE PULSOS POR RB6 ++++ '+++Si GENER_LECTOR (RB2)= 0 HACER GENERAR_FRECUENCIA POR RB1 ++++ if GENER_LECTOR = 0 then PROG ; Si RB2 esta a nivel 0 ir a PROG para ;modificar la LCD y hacer GENERAR_FRECUENCIA count portb.6,1000,pulsos revo_Lectura = pulsos * 30

;contar pulsos en el puerto B.6 ;al contarlos por segundo = a frecuencia ;multiplico por 30 para convertir en rpm

'lo hago mejor así para que no haya problemas de verse mal el display al 'cambiar mucho de frecuencia o rpm valores en el display como "rpmmm" */

Page 3 of 6

12/04/2014 13:04


C:\ELECTRONICA\EN PBP\Proyecto 5.5.4.1 Frecuencimetro

RECEPTOR HALL\FRECUENCIMETRO_GE

lcdout $FE,$C0," " ; para limpiar los tres posibles dígitos de los pulsos lcdout $FE,$C0, dec pulsos ;permite hasta 3 dígitos en Frecuencia lcdout $FE,$C7," " ; para limpiar los 5 posibles dígitos de rpm lcdout $FE,$C7, dec revo_Lectura; posición 8 para poner las rpm permite hasta goto RECEPTOR_HALL

;Seguir chequeando si actúa como LECTOR o GENERADOR HALL

'++++SI ESTÁ A NIVEL ALTO; GENERAR FRECUENCIA ++++++++ 'VARIABLE POR LOS PULSADORES RB4 (aumentar) y RB5 (disminuir) ;Se parte de un valor inicial de 1Hz que corresponde con 30 rpm ;si la señal se produjese de un distribuidor de un motor de 4 cilindros GENERAR_FRECUENCIA: ; genera pulsos por RB1 ; ; ; ; ; ;

(pulsout Genera un pulso en un pin con un periodo especificado. la resolución de Pulsout depende de la frec. del oscilador. Si se usa uno de 4Mhz, el periodo del pulso generado estará en incremento de 10 us. Si se uso uno de 20 Mhz el periodo será de 2 us. si quiero generar 1 ms pulsout portb.1,100 --> 10us x100=1000 us = 1 ms genera una onda cuadrada de periodo 1 ms .

pulsout portb.1,base pause espera

;base = 50000 valor inicial equivale a 500ms ;después con pause igual la F = 1Hz ; se inicia a 500 ms para poder partir de una F= 1Hz ; alto 500ms + bajo 500 ms = 1Hz

'++++HAY QUE DEJAR PULSADO EL BOTON APROX 1 SEGUNDOS++++ if BOTSUBIR = 0 then goto SUBIR_HZ ;Si se pulsa el boton B.4 ir a SUBIR_HZ if BOTBAJAR = 0 then goto BAJAR_HZ ;Si se pulsa el boton B.5 ir a BAJAR_HZ if GENER_LECTOR = 1 then goto PROG

;LEER_HALL por RB6 y mostrarlo por LCD ; y si es = 0 Sigue generando pulsos

;RECPTOR_HALL

; Ir a leer HALL

por RB6

endif ;Seguir chequeando si actúa como LECTOR o GENERADOR HALL goto GENERAR_FRECUENCIA ;-------------------------------------------------------SUBIR_HZ: ;pause 30 ; para estabilizar el rebote de contactos 30 msg call ANTIREBOTE ;suena el buzzer (100ms) y espera se suelte el pulsador if divisor >= 250 then AVISO_BAJAR ; Si se supera ir a AVISO_BAJAR divisor = divisor +1 ;INCREMENTA desde 1 hasta 250 de 30 a 7500 rpm base = valor_base/divisor ;para incrementando la Hz 1hz = 1000 ms 2hz-> T=500 ms espera= base/100 ; para que salga en ms. eje 50000/100=500 ms revo = divisor * 30 ; 1 Hz -> 1 x 30 = 30 rpm goto PROG

;multiplico por 30 para convertir en rpm 2Hz -> 2x 30 = 60 rpm 50Hz -> 50 x 30 = 1500 rpm

;Para reflejar en lcd y chequear si debe actuar como lector

BAJAR_HZ: ;pause 30 ; para estabilizar el rebote de contactos 30 msg call ANTIREBOTE ;suena el buzzer (100ms) y espera se suelte el pulsador

Page 4 of 6

12/04/2014 13:04


C:\ELECTRONICA\EN PBP\Proyecto 5.5.4.1 Frecuencimetro

RECEPTOR HALL\FRECUENCIMETRO_GE

if divisor <= 1 then AVISO_SUBIR ; Si se supera ir a AVISO divisor = divisor - 1 'divisor - 1 ;DECREMENTA desde 1 hasta 250 de 30 a 7500 rpm base = valor_base/divisor 'valor_espera/divisor 'ej 500/2 = 250 ms corresponde a 2hz-> T=500 ms espera = base/100 revo = divisor * 30 ; 1 Hz -> 1 x 30 = 30 rpm goto PROG AVISO_BAJAR: ;pause 30

;multiplico por 30 para convertir en rpm 2Hz -> 2x 30 = 60 rpm 50Hz -> 50 x 30 = 1500 rpm

;Para reflejar en lcd y chequear si debe actuar como lector ;****se podría poner intermitente el mensaje++******* ; para estabilizar el rebote de contactos 30 msg

divisor = 250 ; Para mantenerlo en el mayor valor medible que es 250 Hz revo = divisor * 30 ;multiplico por 30 para convertir en rpm lcdout $FE,$80,"Alcanzado maximo"'"Pulsar Bajar_HZ " ;cursor en la 1era línea ''''' if botBAJAR <> 0 then AVISO_BAJAR ; Cuando se pulse salir a PROG ;Seguir chequeando si actúa como LECTOR o GENERADOR HALL lcdout $FE,$C0," " ; para limpiar los tres posibles dígitos de Frecuencia lcdout $FE,$C0, "0"''DEC divisor ;permite hasta 3 dígitos en Frecuencia lcdout $FE,$C4,"Hz" ;posición 5 para escribir: Hz lcdout $FE,$C7," " ; para limpiar los 5 posibles dígitos de rpm lcdout $FE,$C7, "0" 'DEC revo ; posición 8 para poner las rpm permite hasta lcdout $FE,$CD,"rpm" ; 5 digitos antes de poner "rpm" pause 1000

'tiempo para leer el mensaje

goto PROG AVISO_SUBIR: ;pause 30

; para estabilizar el rebote de contactos 30 msg

divisor = 1 ; Para mantenerlo en el menor valor medible que es 1 Hz revo = divisor * 30 ;multiplico por 30 para convertir en rpm lcdout $FE,$80,"Alcanzado minimo"'"Pulsar Subir_HZ " ;cursor en la 1era línea '''''if botsubir <> 0 then AVISO_SUBIR ; Cuando se pulse salir a PROG ;Seguir chequeando si actúa como LECTOR o GENERADOR HALL lcdout $FE,$C0," " ; para limpiar los tres posibles dígitos de Frecuencia lcdout $FE,$C0, "0"''DEC divisor ;permite hasta 3 dígitos en Frecuencia lcdout $FE,$C4,"Hz" ;posición 5 para escribir: Hz lcdout $FE,$C7," " ; para limpiar los 5 posibles dígitos de rpm lcdout $FE,$C7, "0" 'DEC revo ; posición 8 para poner las rpm permite hasta lcdout $FE,$CD,"rpm" ; 5 digitos antes de poner "rpm" pause 1000

Page 5 of 6

'tiempo para leer el mensaje

12/04/2014 13:04


C:\ELECTRONICA\EN PBP\Proyecto 5.5.4.1 Frecuencimetro

RECEPTOR HALL\FRECUENCIMETRO_GE

goto PROG ' +++RUTINA PARA EVITAR REBOTES DE CONTACTO Y PRODUCIR SONIDO AL PULSAR +++++ '++++ RB4 (Subir Hz)- RB5 (Bajar Hz) ++++++++++ ANTIREBOTE: high portb.7 pause 100 low portb.7 ESPERA_SUELTE: if BOTSUBIR = 0 then ESPERA_SUELTE if BOTBAJAR = 0 then ESPERA_SUELTE

; Es el conectado a RB4 ; Es el conectado a RB5

return end ;FIN DEL PROGRAMA

Page 6 of 6

12/04/2014 13:04


Archivo Hexadecimal que utilizo

:020000040000FA :10000000B2012129B4008417800484133230A60081 :100010000030A700FB20A00AA50AA201A301000846 :100020003405A600640000083405A700260627054D :1000300034060319A20A0319A30A2708A600A40379 :100040000319A5030319A00B122822081C29040870 :10005000A7008611051205128316861105120512D6 :10006000F030850583122708B21854283A30A100D1 :10007000FC30CB203330A60069201030A10068305E :10008000CB2069206430CA2069202230A600692074 :10009000283053200C305320013053200630532099 :1000A000B214270854283214A600321C6228051204 :1000B000033C031C672867200730A100D030CB2009 :1000C000031408003214FE3C03191C290516A60E61 :1000D000321C32108615F030850526080F3985044C :1000E0008611A60E321869283230CA20031408007F :1000F000B400B9202008210403191C2911218413FC :1001000034088006640084288528A00A0319A10FFA :10011000822880061C29B31329080319B317053058 :10012000A8002730A3001030A1200330A300E8303E :10013000A120A3016430A120A3010A30A12024083A :10014000A828A2002508A1002408A000DF2020087C :10015000A000A8030319B31329080319B228280221 :10016000031808002008031DB313B31B0800303E1A :100170001729FF3A841780051C29A301A200FF302C :10018000A207031CA307031C1C290330A100DF30B6 :10019000CB20BF28A101E83EA000A109FC30031C30 :1001A000D428A0070318D128A0076400A10FD128E4 :1001B0002018DA28A01CDE280000DE280800A5018F :1001C000A4011030A600210DA40DA50D2208A40243 :1001D0002308031C230FA5020318F5282208A407EF :1001E00023080318230FA5070310A00DA10DA60BCC :1001F000E32820081C291030A800A101A001A70CA9 :10020000A60C031C09292208A00723080318230FA2 :10021000A107A10CA00CA50CA40CA80BFF28240876 :100220001C29A009A109A00A0319A10A0800840039 :1002300031088A003008820083130313831264009C :10024000080007309F001E30BE00BF015030B800CC :10025000C330B9005030C200C330C300F430BA001C :100260000130BB000130C400831675308600831254 :10027000860183168113C8308312BD20FE302820EA :100280000130282064000619AD29FE302820803076 :1002900028202030282020302820203028204730D7 :1002A0002820453028204E30282045302820523044 :1002B0002820413028204E302820443028204F303C :1002C00028203A30282020302820203028202030B4 :1002D0002820FE302820C030282020302820203040 :1002E000282020302820FE302820C0302820A901D6 :1002F0004408A400A5012730B000B1018B20FE30D6 :100300002820C4302820483028207A302820FE3089 :100310002820C730282020302820203028202030D6 :1003200028202030282020302820FE302820C730E8 :100330002820A9013E08A4003F08A5002730B000EE :10034000B1018B20FE302820CD30282072302820AB 1


:10035000703028206D302820782AE830A200033041 :10036000A3000630840040300220BC002308BD00FA :100370003C08A6003D08A7001E30A200A301FB20F8 :10038000C0002508C100FE302820803028204C30D5 :10039000282045302820433028205430282055304C :1003A000282052302820413028203A302820203080 :1003B000282020302820203028205230282050307B :1003C00028204D3028203A30282020302820FE30A8 :1003D0002820C0302820203028202030282020301D :1003E0002820FE302820C0302820A9013C08A40085 :1003F0003D08A5002730B000B1018B20FE30282039 :10040000C4302820483028207A302820FE30282088 :10041000C7302820203028202030282020302820D5 :100420002030282020302820FE302820C7302820E7 :10043000A9014008A4004108A5002730B000B1017F :100440008B20FE302820CD302820723028207030BC :1004500028206D3028202C2A6400061D4229E8300F :10046000A2000330A3000630840040300220BC000C :100470002308BD003C08A6003D08A7001E30A200CE :10048000A301FB20C0002508C100FE302820C03099 :100490002820203028202030282020302820FE301E :1004A0002820C0302820A9013C08A4003D08A50050 :1004B0002730B000B1018B20FE302820C730282023 :1004C00020302820203028202030282020302820CC :1004D00020302820FE302820C7302820A9014008DD :1004E000A4004108A5002730B000B1018B202C2AC0 :1004F0003808A0003908A1000630840002307820B6 :100500003B08A3003A08BE206400061A882A912AF4 :100510006400861A8C2AB92A6400061D902A422992 :10052000782AB7236400FA3044020318E12AC40A87 :100530004208A0004308A1004408A200A301DF2054 :10054000B8002108B9003808A0003908A1006430BB :10055000A200A301DF20BA002108BB004408A600C6 :10056000A7011E30A200A301FB20BE002508BF008A :100570004229B723640002304402031C4C2BC403FD :100580004208A0004308A1004408A200A301DF2004 :10059000B8002108B9003808A0003908A10064306B :1005A000A200A301DF20BA002108BB004408A60076 :1005B000A7011E30A200A301FB20BE002508BF003A :1005C0004229FA30C4004408A600A7011E30A20048 :1005D000A301FB20BE002508BF00FE30282080308C :1005E0002820413028206C302820633028206130BA :1005F00028206E3028207A3028206130282064306E :1006000028206F302820203028206D3028206130AD :10061000282078302820693028206D3028206F303D :100620002820FE302820C0302820203028202030EC :10063000282020302820FE302820C03028203030CC :100640002820FE302820C4302820483028207A3046 :100650002820FE302820C7302820203028202030B5 :100660002820203028202030282020302820FE304C :100670002820C730282030302820FE302820CD30D8 :10068000282072302820703028206D302820033038 :10069000A300E830BE2042290130C4004408A6006F :1006A000A7011E30A200A301FB20BE002508BF0049 2


:1006B000FE30282080302820413028206C3028202F :1006C00063302820613028206E3028207A3028209E :1006D00061302820643028206F30282020302820E6 :1006E0006D302820693028206E302820693028207D :1006F0006D3028206F302820FE302820C030282080 :10070000203028202030282020302820FE302820AB :10071000C030282030302820FE302820C430282047 :10072000483028207A302820FE302820C730282062 :100730002030282020302820203028202030282059 :1007400020302820FE302820C730282030302820B4 :10075000FE302820CD30282072302820703028200C :100760006D3028200330A300E830BE2042298617D0 :100770008316861364308312BD2086138316861376 :1007800083126400061EC12B6400861EC12B080064 :040790006300C82B0F :02400E006D3F04 :00000001FF

3


Archivo Hexadecimal con resistencias PULL-UP (no lo utilizo pero también es válido) :020000040000FA :10000000B2012129B4008417800484133230A60081 :100010000030A700FB20A00AA50AA201A301000846 :100020003405A600640000083405A700260627054D :1000300034060319A20A0319A30A2708A600A40379 :100040000319A5030319A00B122822081C29040870 :10005000A7008611051205128316861105120512D6 :10006000F030850583122708B21854283A30A100D1 :10007000FC30CB203330A60069201030A10068305E :10008000CB2069206430CA2069202230A600692074 :10009000283053200C305320013053200630532099 :1000A000B214270854283214A600321C6228051204 :1000B000033C031C672867200730A100D030CB2009 :1000C000031408003214FE3C03191C290516A60E61 :1000D000321C32108615F030850526080F3985044C :1000E0008611A60E321869283230CA20031408007F :1000F000B400B9202008210403191C2911218413FC :1001000034088006640084288528A00A0319A10FFA :10011000822880061C29B31329080319B317053058 :10012000A8002730A3001030A1200330A300E8303E :10013000A120A3016430A120A3010A30A12024083A :10014000A828A2002508A1002408A000DF2020087C :10015000A000A8030319B31329080319B228280221 :10016000031808002008031DB313B31B0800303E1A :100170001729FF3A841780051C29A301A200FF302C :10018000A207031CA307031C1C290330A100DF30B6 :10019000CB20BF28A101E83EA000A109FC30031C30 :1001A000D428A0070318D128A0076400A10FD128E4 :1001B0002018DA28A01CDE280000DE280800A5018F :1001C000A4011030A600210DA40DA50D2208A40243 :1001D0002308031C230FA5020318F5282208A407EF :1001E00023080318230FA5070310A00DA10DA60BCC :1001F000E32820081C291030A800A101A001A70CA9 :10020000A60C031C09292208A00723080318230FA2 :10021000A107A10CA00CA50CA40CA80BFF28240876 :100220001C29A009A109A00A0319A10A0800840039 :1002300031088A003008820083130313831264009C :10024000080007309F001E30BE00BF015030B800CC :10025000C330B9005030C200C330C300F430BA001C :100260000130BB000130C400831675308600831254 :10027000860183168113C8308312BD20FE302820EA :100280000130282064000619AD29FE302820803076 :1002900028202030282020302820203028204730D7 :1002A0002820453028204E30282045302820523044 :1002B0002820413028204E302820443028204F303C :1002C00028203A30282020302820203028202030B4 :1002D0002820FE302820C030282020302820203040 :1002E000282020302820FE302820C0302820A901D6 :1002F0004408A400A5012730B000B1018B20FE30D6 :100300002820C4302820483028207A302820FE3089 :100310002820C730282020302820203028202030D6 :1003200028202030282020302820FE302820C730E8 :100330002820A9013E08A4003F08A5002730B000EE :10034000B1018B20FE302820CD30282072302820AB 1


:10035000703028206D302820782AE830A200033041 :10036000A3000630840040300220BC002308BD00FA :100370003C08A6003D08A7001E30A200A301FB20F8 :10038000C0002508C100FE302820803028204C30D5 :10039000282045302820433028205430282055304C :1003A000282052302820413028203A302820203080 :1003B000282020302820203028205230282050307B :1003C00028204D3028203A30282020302820FE30A8 :1003D0002820C0302820203028202030282020301D :1003E0002820FE302820C0302820A9013C08A40085 :1003F0003D08A5002730B000B1018B20FE30282039 :10040000C4302820483028207A302820FE30282088 :10041000C7302820203028202030282020302820D5 :100420002030282020302820FE302820C7302820E7 :10043000A9014008A4004108A5002730B000B1017F :100440008B20FE302820CD302820723028207030BC :1004500028206D3028202C2A6400061D4229E8300F :10046000A2000330A3000630840040300220BC000C :100470002308BD003C08A6003D08A7001E30A200CE :10048000A301FB20C0002508C100FE302820C03099 :100490002820203028202030282020302820FE301E :1004A0002820C0302820A9013C08A4003D08A50050 :1004B0002730B000B1018B20FE302820C730282023 :1004C00020302820203028202030282020302820CC :1004D00020302820FE302820C7302820A9014008DD :1004E000A4004108A5002730B000B1018B202C2AC0 :1004F0003808A0003908A1000630840002307820B6 :100500003B08A3003A08BE206400061A882A912AF4 :100510006400861A8C2AB92A6400061D902A422992 :10052000782AB7236400FA3044020318E12AC40A87 :100530004208A0004308A1004408A200A301DF2054 :10054000B8002108B9003808A0003908A1006430BB :10055000A200A301DF20BA002108BB004408A600C6 :10056000A7011E30A200A301FB20BE002508BF008A :100570004229B723640002304402031C4C2BC403FD :100580004208A0004308A1004408A200A301DF2004 :10059000B8002108B9003808A0003908A10064306B :1005A000A200A301DF20BA002108BB004408A60076 :1005B000A7011E30A200A301FB20BE002508BF003A :1005C0004229FA30C4004408A600A7011E30A20048 :1005D000A301FB20BE002508BF00FE30282080308C :1005E0002820413028206C302820633028206130BA :1005F00028206E3028207A3028206130282064306E :1006000028206F302820203028206D3028206130AD :10061000282078302820693028206D3028206F303D :100620002820FE302820C0302820203028202030EC :10063000282020302820FE302820C03028203030CC :100640002820FE302820C4302820483028207A3046 :100650002820FE302820C7302820203028202030B5 :100660002820203028202030282020302820FE304C :100670002820C730282030302820FE302820CD30D8 :10068000282072302820703028206D302820033038 :10069000A300E830BE2042290130C4004408A6006F :1006A000A7011E30A200A301FB20BE002508BF0049 2


:1006B000FE30282080302820413028206C3028202F :1006C00063302820613028206E3028207A3028209E :1006D00061302820643028206F30282020302820E6 :1006E0006D302820693028206E302820693028207D :1006F0006D3028206F302820FE302820C030282080 :10070000203028202030282020302820FE302820AB :10071000C030282030302820FE302820C430282047 :10072000483028207A302820FE302820C730282062 :100730002030282020302820203028202030282059 :1007400020302820FE302820C730282030302820B4 :10075000FE302820CD30282072302820703028200C :100760006D3028200330A300E830BE2042298617D0 :100770008316861364308312BD2086138316861376 :1007800083126400061EC12B6400861EC12B080064 :040790006300C82B0F :02400E006D3F04 :00000001FF

3


CONSTRUCCIÓN Y MONTAJE DE LA PLACA Por Joaquín Berrocal Piris (Febrero 2014)

Con el diseño de la placa realizado en el EAGLE. Y desde este programa usando la “pcb-gcode-setup.ulp” convierto la placa board TOP y la BOTTOM en código G para ser mecanizada en una máquina de control numérico (CNC)

Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


SENSOR HALL UTILIZADO POR ALGUNOS VEHÍCULOS EN LA CAJA DE CAMBIOS COMO CAPTADOR DE VELOCIDAD “VELOCÍMETRO” LO UTILIZO PARA HACER PRUEBAS.

EL SENSOR HALL LLEVA DOS PINZAS PARA SU ALIMENTACIÓN Y EL CABLE VERDE ES LA SALIDA HALL.

Frecuencímetro-Generador HALL realizado feb 2014 por

Joaquín Berrocal Piris


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.