Webcampista.com

mucho más que un foro

Como convertir nuestra vieja HP psc 1350 en una insoladora

joer oscar, ahora que he releido lo que estuvimos hablando lo tengo más claro, lo dicho, haber si entre esta noche y mañana tengo el esquema y lo comentamos, que este finde semana, me gustaria poder empezar a revelar un monton de placas que tengo pendientes.....
 
Toy a punto de tirar la toalla.... Tras una hora y poco mirandome esta plaquita con el tester y la lupa.

25677d1266321900-como-convertir-nuestra-vieja-hp-psc-1350-en-una-insoladora-16022010081-jpg


Solo he sido capaz de sacar esto.

attachment.php


Solo por curiosidad, el integrado enano dip 8 que esta al lado del 165, que pone solo 103, que puede ser......
 

Archivos adjuntos

  • esquema.jpg
    esquema.jpg
    25,9 KB · Visitas: 0
Vamos a ver, segun veo una de las patas (la 3) de J1 va al CLK del registro de desplazamiento, eso quiere decir que cada vez que des un pulso por ese pin vas a tener en el pin de salida (5 de J1) un bit del registro. Falta saber si alguna pata del conector va al pin SH/#LD, porque ese pin decide si el registro de desplazamiento se carga o se desplaza.

Modo de funcionamiento:

1) Se pone a masa el pin (SH/#LD)
2) Se da un pulso en el reloj del registro (CLK). Con esto hemos memorizado los 8 bits de entrada en el interior del registro.
3) Se pone alto el pin (SH/#LD)
4) Se da un pulso en el reloj del registro (CLK). Con esto obtenemos en la salida (SO) el primer bit, probablemente el estado del primero de los pulsadores.
5) Repetimos el paso 4 hasta 8 veces, pues el registro es de 8 bits y hay 8 pulsadores. Por este sistema obtenemos el estado de los 8 pulsadores.

Codico en PIC:

;==============================
; vamos a recuperar 8 bits
; la posicion de memoria 21 va a ser el contador de bits
;==============================
MOVLW 0x08
MOVWF 0x21
;==============================
; Primero cargamos el registro de desplazamiento
;==============================
BSF PORTA,1 ; ponemos a 1 el pin (SH/#LD)
BSF PORTA,2 ; Subimos (CLK)
BCF PORTA,2 ; Bajamos (CLK)
;==============================
; Ahora vamos a desplazar bits para lerrlos
;==============================
BSF PORTA,1 ; ponemos a 1 el pin (SH/#LD)
;==============================
; Y los traemos uno por uno
;==============================
BUCLE: ; Esta etiqueta marca el bucle que se repite 8 veces

BSF PORTA,2 ; Subimos (CLK)
BCF PORTA,2 ; Bajamos (CLK)
;==============================
; El estado del bit 0 del port A pasa a la bandera CY del registro de estado
;==============================
RRF PORTA,W
;==============================
; Desplazamos a la izquierda el contenido de la posicion de
; memoria 0x20 incorporando por la derecha el bit recuperado de la entrada
;==============================
RLF 0x20,F
;==============================
; Descontamos el contador de bits y salimos si ya van 8 bits
;==============================
DECFSZ 0x21
GOTO BUCLE
 
Si ya casi lo tienes, animo, opino como Dedalo, así acabo antes.

Ojo si hay dos iguales en cascada, las patas de reloj serán compartidas, pero la pata 9 de uno ira a la pata 10 del otro, concretamente la 10 de este, pues es el que tiene la pata 9 a la salida.
Este irá a las teclas ¿no? "el otro lado", el de los leds, será muy parecido, ya lo verás.

¿A que integrado 103 te refieres? si tiene 3 ó 4 patas será un transistor.
 
si el integrado es un dip 8........ pues eso tiene 8 patillas....... no?????? :D
 
Pues no, ya que pinche en la patilla que pinche tengo 10 k pero no estan todos usados, osea, que entran algunos pero no salen....

yo apostaria por uno de estos tres....

attachment.php
 

Archivos adjuntos

  • esquemas 103.jpg
    esquemas 103.jpg
    14,6 KB · Visitas: 0
Bueno, dicho y hecho, a falta de programar el pic aprovechando el teclado, la transformación ya esta hecha.

Cortando lo que sobra, para darle más profundidad.

attachment.php


Desguazandola para tener sitio dentro.

attachment.php


y haciendole la base nueva.

attachment.php


Y aqui el resultado final

attachment.php


Y funcionando

attachment.php


Mañana a rebelar las primeras placas........


Y ver si soy capaz de solucionar el tema del teclado y programo el pic
 

Archivos adjuntos

  • trans 1.jpg
    trans 1.jpg
    25,6 KB · Visitas: 0
  • trans 2.jpg
    trans 2.jpg
    28,9 KB · Visitas: 0
  • trans 3.jpg
    trans 3.jpg
    23,5 KB · Visitas: 0
  • inso 1.jpg
    inso 1.jpg
    30,4 KB · Visitas: 0
  • inso 2.jpg
    inso 2.jpg
    20,7 KB · Visitas: 0
Bueno, gracias de dedalo ya saque donde iba uno de los pones que faltaban y el otro me ha costado un huev. pero al final lo saque......

debo sacar algo más o con esto ya puedo empezar a programar......

attachment.php
 

Archivos adjuntos

  • esquema.jpg
    esquema.jpg
    29 KB · Visitas: 0
Bueno, gracias de dedalo ya saque donde iba uno de los pones que faltaban y el otro me ha costado un huev. pero al final lo saque......

debo sacar algo más o con esto ya puedo empezar a programar......

attachment.php

Mira si las patas SH_CP y ST_CP estan unidas. Si es asi el circuito se comporta como un registro de desplazamiento estandar, pues ese CI es un registro de desplazamiento con latch independiente en la salida paralelo. Si no es asi, la señal ST_CP estará casi seguro conectada la la 2 de J1 (junto con SH/LD del otro CI.
 
Mira si las patas SH_CP y ST_CP estan unidas. Si es asi el circuito se comporta como un registro de desplazamiento estandar, pues ese CI es un registro de desplazamiento con latch independiente en la salida paralelo. Si no es asi, la señal ST_CP estará casi seguro conectada la la 2 de J1 (junto con SH/LD del otro CI.

Pues va a ser el segundo caso. SH_CP está unido al CLK y ST_CP al SH/LD

attachment.php
 

Archivos adjuntos

  • esquema.jpg
    esquema.jpg
    28,5 KB · Visitas: 0
Pues va a ser el segundo caso. SH_CP está unido al CLK y ST_CP al SH/LD

attachment.php

Correcto, entonces lo tienes facil.

Suponemos que vas a utilizar el port A del PIC con la siguiente distribucion:
PA0 -> 5-J1 (SO)
PA1 -> 1-J1 (DS)
PA2 -> 3-J1 (CLK+SH_CP)
PA3 -> 2-J1 (SH/LD+ST_CP)

1) El registro TRISA lo ajustamos a 0xF1, por lo que la pata PA0 es entrada y PA1, PA2 y PA3 son salidas.

2) Suponemos que todas las salidas estan a 1.

3) Ponemos los bits de salida uno a uno en el bit 1 del port A (DS) y con cada bit bajamos y subimos la señal (CLK+SH_CP). Con esto llenamos el registro de desplazamiento del 595.

3) Bajamos la señal (SH/LD+ST_CP), el 165 se queda en modo carga.

4) Bajamos y volvemos a subir la señal (CLK+SH_CP), con eso la informacion de los pulsadores se carga en el 165

5) Volvemos a subir la señal (SH/LD+ST_CP). Con esto los datos que hemos metido en el 595 se transfiere a sus salidas y el 165 queda en modo desplazamiento.

Damos 8 pulsos (bajada + subida) en la señal (CLK+SH_CP) y detras de cada uno de los pulsos recuperamos un bit de un pulsador en el bit 0 del port A (SO).
 
Pues no, ya que pinche en la patilla que pinche tengo 10 k pero no estan todos usados, osea, que entran algunos pero no salen....

yo apostaria por uno de estos tres....

attachment.php

Precisamente porque pinches donde pinches da 10k, es por lo que creo que es un paquete de resistencias, de 10k, lo que no puedo decirte es si es con un punto común o sueltas.

Me arriesgo, dado que están en un circuito con pulsadores, es posible que tengan un punto común, que vaya a positivo o negativo y el resto sean las resistencias pull-up o pull-down de los pulsadores. Puedes comprobarlo dejando una punta del polímetro en uno de los pines de las esquinas y probando los otros 7.

Ah, ya lo tienes casi, :cheers::cheers::cheers: te lo explica Dedalo.

¿no había dos integrados iguales? ¿cuantos leds y pulsadores hay? lo pregunto porque con un solo integrado solo tienes 8 entradas y/o 8 salidas.
 
Creo que con este codigo podria sacar la tablas de las verdades, que pensais????

movlw b'00001000'
movlw PORTA
movlw 0xff
movwf datosalida
salida1
movlw b'00001000'
movwf contador
salida
movf datosalida,0 ;cargamos lo que tenemos en dato salida en W
movwf PORTB ;encendemos los led con lo que temenos en datosalida
btfsc datosalida,0 ;miramos que tenemos en datosalida
bsf PORTA,1 ;dependiendo de como este, cargamos un 1
bcf PORTA,1 ;o un 0
bsf PORTA,2 ;subimos el clk
bcf PORTA,2 ;bajamos el clk
rrf datosalida,f ;rotamos datosalida.
decfsz contador,f ;descendemos el contador en una unidad
goto salida
bsf PORTA,3 ;subimos el controlador
bcf PORTA,3 ;bajamos el controlador
call DEMORA
call DEMORA
call DEMORA
call DEMORA
call DEMORA ;para darme 5 segundos para ver que leds se encienden.
decfsz contador,f ;decrementamos datos salida para ver la siguiente convinación
goto salida1
clrf PORTB
call DEMORA
call DEMORA
call DEMORA
call DEMORA
call DEMORA
clrf PORTA
recogida
movlw b'00001000'
movwf contador
recogida1
bsf PORTA,2
bcf PORTA,2
btfsc PORTA,0
bsf entradadato,0
bcf entradadato,0
rlf entradadato,f
decfsz contador,f
goto recogida1
bsf PORTA,3
bcf PORTA,3
movf entradadato,0
movwf PORTB
call DEMORA
call DEMORA
call DEMORA
call DEMORA
call DEMORA
goto recogida
 
btfsc PORTA,0
bsf entradadato,0
bcf entradadato,0

asi no sirve, porque siempre sale entradadato,0 a cero.

es asi:

btfsc PORTA,0
goto label1
bsf entradadato,0
goto label2
label1:
bcf entradadato,0
label2:
Aqui continua el programa...

aunque es mas rapìdo:

rrf PORTA,W
(El bit 0 del port A pasa a STATUS.C)
RLF entradadato,F
(STATUS.C entra en entradadato por el lado derecho y se desplaza entradadato a la izquierda)
 
Jo, siempre llego cuando ya está el código... :banghead:
Las R... (rotate) suele ser más rápidas que las equivalentes.
 
btfsc PORTA,0
bsf entradadato,0
bcf entradadato,0

asi no sirve, porque siempre sale entradadato,0 a cero.

es asi:

btfsc PORTA,0
goto label1
bsf entradadato,0
goto label2
label1:
bcf entradadato,0
label2:
Aqui continua el programa...

aunque es mas rapìdo:

rrf PORTA,W
(El bit 0 del port A pasa a STATUS.C)
RLF entradadato,F
(STATUS.C entra en entradadato por el lado derecho y se desplaza entradadato a la izquierda)

pus la verdad, de 6 lines a 2 pues como que hay diferencia..... jejejeje

muy ingeniosa la idea con los rotate..... el pequeño saltamosnte no habia caido.....


Haber si en un rato el profe me graba el programa y haber si me dejan este finde sacar la table de la verdad.....

si si me lo graba el profe...... mi grabadora todavia no he sido capaz de hacer que funcione....
 
pus la verdad, de 6 lines a 2 pues como que hay diferencia..... jejejeje

muy ingeniosa la idea con los rotate..... el pequeño saltamosnte no habia caido.....


Haber si en un rato el profe me graba el programa y haber si me dejan este finde sacar la table de la verdad.....

si si me lo graba el profe...... mi grabadora todavia no he sido capaz de hacer que funcione....

¿con cual has probado? prueba las del "canal +" esas funcionan a la primera, si no lo hace es que, o has equivocado las patas del transistor, o el driver no está bien instalado (usando por ejemplo el picpgm programmer)

jdmprog.gif


PICPgm - A free and simple PIC Development Programmer for Windows and Linux

PICPgm - A free and simple PIC Development Programmer for Windows and Linux
 
Yo tengo un entorno integrado que me he hecho yo mismo. Lleva un editor de texto con sintaxis resaltada, compilador, grabador de pics y emulador todo en uno. Mañana te lo envio. El esquema es muy sencillo, por el puerto paralelo.
 
Muchas gracias Oscar y toni, pero......

attachment.php



Como dice el refrán, quien la persigue la consigue...... y como podeis ver ya funciona....

:blob5::blob5::blob5:

Ya puedo grabar mis projectos ASM en el pic.

Ahora haber si me llegan un par de piezas que me hacen falta para la entrenedora y saco las tablas de la verdad del teclado, y programo la insoladora.....
 

Archivos adjuntos

  • Conjunto Funcionando.jpg
    Conjunto Funcionando.jpg
    26,5 KB · Visitas: 0
¿Tienes el esquema del grabador de PICS?

Si es para el puerto paralelo aqui te envio mi entorno integrado. Con el puedes compilar, grabar el PIC y hacer la emulacion. No esta terminado pero funciona casi todo.

Ver el archivos adjunto IdePic.rar
 
Dedalo, lo puso en algún hilo, yo ya me lo he bajado :D , el programador es de la propia microchip, no se si ella lo sabe... :)
 
Arriba
© 2004-2024 Webcampista.com