Potenciómetro digital Aiwa (???)

Dr. Zoidberg

Well-known-Papá Pitufo
Si bien hay varios temas con el titulo "potenciometro digital", no tienen nada que ver con lo que quiero preguntar, así que creo este tema nuevo :oops:
El asunto es el siguiente: estaba buscado un codificador óptico para controlar digitalmente el volumen de un nuevo preamplificador que estoy diseñando, pero cuando averigué algunos precios casi me caigo de espaldas. En eso se encendió la lámpara y pensé: si los estéreos digitales de los autos vienen con una "perilla" multifunción que debe laburar parecido a un encoder, pues mejor salgo y busco este control en la casa de electrónica y veo que me encuentro. Pues bueno, resultó que solo encontré algo que se llama "potenciómetro digital AIWA" :confused:, que claramente no es un potenciómetro :(. Lo que compré es muuuy similar a esto:
PoteDigitalAiwa.JPG
Y si bien el coso tiene tres terminales, aparentemente el terminal común es el central y los de los costado son unos interruptores que cierran cuando giro el pote para un lado u otro. Algo así:
PoteDigitalSch.JPG
El problema es que cuando giro para cualquier lado se activan AMBOS contactos :confused: :confused: :confused:
Alguien tendrá alguna idea como funciona ese "potenciómetro"? Digo, si los contacto se activan en cuadratura (con 90º de desfasaje) para saber para cual lado está girando, o algo por el estilo?????
Por que no me parece muy cuerdo lo de activar ambos contactos cuando gira a menos que lo haga tal como supongo (en cuadratura). No creo que esté palmado el coso por que acabo de comprarlo :eek:.
Si no saben como funca, les agradecería algún manual de servicio de algun equipo AIWA que traiga estos potes, por que tratar de mirar la fase con la que se activan (en el osciloscopio) girando el pote con la mano me puede demorar un rato, y la verdad es que prefeririía una hoja de datos de ese aparatejo, pero a quien se lo compré no lo tenía identificado con código comercial o algo que me permitiera encontrar información.

Saludos!!!
 
OK. Lo que quería saber era precisamente si operaba con ambas señales en cuadratura o nó, por que tengo bastante experiencia procesando este tipo de señales, pero no tengo ni idea como trabaja el "potenciómetro digital".

Saludos!
 
Eso de potenciometro digital es un termino usado por los chapuceros vendedores o seudotecnicos, aca tambien lo llaman asi pero nada que ver su funcion con su nombre,
Lo vas a usar con un micro???
chauuuuuu
 
los equipos que dices no traen potenciometros de ningun tipo en el mejor de los casos
el sonido es controlado por un integrado que controla el volumen y los tonos
y este se maneja por i2c
por lo tanto necesitas un micro para controlarlo
 
Eso de potenciometro digital es un termino usado por los chapuceros vendedores o seudotecnicos, aca tambien lo llaman asi pero nada que ver su funcion con su nombre,
:LOL: :LOL: Si... así es. Yo le pedí un "codificador" y me miraron así :eek:... y finalmente me dieron esto.

Lo vas a usar con un micro???
Sí, lo voy a enlazar a un PIC 18F2550, pero tengo que meter un par de flip-flops D para limpiar las transiciones y una XOR para aumentar la resolución...y hay que ver como minimizar la cantidad de hard sin recargar la CPU del micro... :confused:



los equipos que dices no traen potenciometros de ningun tipo en el mejor de los casos el sonido es controlado por un integrado que controla el volumen y los tonos y este se maneja por i2c
por lo tanto necesitas un micro para controlarlo
Si, eso lo sé ;). El chip de control de volumen que voy a usar (el PGA2310) no emplea I2C sino un protocolo serie sincrónico convencional, así que es más simple aún manejarlo.
 
Última edición:
Sí, lo voy a enlazar a un PIC 18F2550, pero tengo que meter un par de flip-flops D para limpiar las transiciones y una XOR para aumentar la resolución...y hay que ver como minimizar la cantidad de hard sin recargar la CPU del micro... :confused:

Yo use las INTs para eso las de cambio de estado del PORTB, guardo en un reg llamado anterior y me sale sencillo, miralo, ah yo programo en assembler, chauuuuuuu

Código:
;**************************RUTINA ATENCION A LAS INTERRUPCIONES***************************************** 
            
INTs	BCF		INTCON,7		  ;DESACTIVO INTs GLOBALMENTE
		MOVWF   w_temp            ; SALVO W
		MOVF	STATUS,w          ; MUEVO STATUS A W
		BCF     STATUS,RP0        ; BANCO 0
		MOVWF	status_temp       ; SALVO STATUS
		MOVF	PCLATH,w	  	  ; 
		MOVWF	pclath_temp	      ; SALVO PCLATCH


LEER	BTFSC	INTCON,0		;ACTIVO INT RB4-RB7?? SI ES ASI VOY A "RB4_RB7"
		GOTO	RB4_RB7

		BTFSC	PIR1,0			;ACTIVO INT TMR1?? SI ES ASI VOY A GUIÑO
		GOTO	GUIÑO

		GOTO	NADA			;NINGUNA DE LAS DOS ACTIVAS, SALGO SIN HACER NADA

RB4_RB7	BTFSS	PORTB,7			;ACTIVO CONTROL DE SALIDA??? SI=VOY A CONTROLARLO, NO=REVISO CAMBIO VOLTAJE OUTPUT
		GOTO	OUTPUT

		SWAPF	PORTB,0			;LEO EL NUEVO VALOR
		ANDLW	0X03
		MOVWF	TEMPORAL
		IORWF	ANTERIOR,0		;LO UNO PARA FORMAR 4 BITS CON EL VALOR ANTERIOR
		ANDLW	0X0F
		MOVWF	ANTERIOR		;borro los 4 bits de mayor peso y guardo como ANTERIOR


GI_DER	MOVLW	0X0B			; SI ES 0BH EL GIRO FUE A LA DERECHAA
		BCF		STATUS,2
		SUBWF	ANTERIOR,0
		BTFSC	STATUS,2
		GOTO	SUBE			;MIRO SI PUEDO SUBIR EL VOLTAJE

GI_IZQ	MOVLW	0X07			; SI ES 07H EL GIRO FUE A LA IZQUIERDA
		BCF		STATUS,2
		SUBWF	ANTERIOR,0
		BTFSC	STATUS,2
		GOTO	BAJA			;MIRO SI PUEDO BAJAR EL VOLTAJE
		GOTO	SALIR			;NO HAGO NADA Y SALGO


NADA	BCF     STATUS,RP0        	; BANCO 0
		MOVF	pclath_temp,w	  	; 
		MOVWF	PCLATH		  	  	; RECUPERO PCLATH 
		MOVF    status_temp,w     	; 
		MOVWF	STATUS            	; RECUPERO STATUS
		SWAPF   w_temp,f
		SWAPF   w_temp,w          	; RESTAURO W

		BCF		INTCON,0			;BORRO FLAG RB4-RB7
		BCF		PIR1,0				;BORRO FLAG TMR1
		BSF		INTCON,7			;ACTIVO INTs GLOBALMENTE
		RETFIE                    ; RETURN from interrupt

;****************FINALIZO ATENCION DE LAS INTERUPCIONES**********************************************************

lo hice asi porque por cada paso del encoder ese hay realmente 4 cambios de estados.
 
Última edición:
Gracias fdesergio por tu colaboración!
Voy a analizar tu código para ver si rescato algo para el mío, solo que yo programo en C y no tengo muchos pines libres del port B. Mi idea es usar uno de los timers del PIC para llevar la cuenta por hardware y crear un contador por soft actualizado UP/DOWN en base al hardware y a interrupciones temporales. Ya lo he hecho antes y es bastante simple, y solo uso una línea de un puerto para analizar el sentido de giro... también generado por hardware.

Saludos!
 
Atrás
Arriba