Autor Tema: Touch Rotary MPR083 y Touch Pads MPR084  (Leído 191911 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Touch Rotary MPR083
« Respuesta #30 en: 08 de Enero de 2009, 18:38:15 »
Hola,
Por la experiencia con los Quantum y los mTouch, apuesto por la primera. :-/
Esto es seguir un proyecto en directo ¿eh?
Sigo a la expectativa....
Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #31 en: 08 de Enero de 2009, 19:27:28 »
listo ya estoy por acá de nuevo.... ya tengo todo , listo.... pongo primera y acelero.....
apenas tenga la PCB lista les muestro el paso a paso.
saludos y gracias Droky nuevamente.-
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #32 en: 08 de Enero de 2009, 22:10:06 »
hola muchachos.... bueno les comento que hice,... tengo la placa lista, ahora sin flux,... simplemente el cobre,... hice el PRIMER modelo que les mostré anteriormente,... la que tiene los electrodos de sensado solamente, sin plano de masa.

en el bus i2c coloqué un DS1307 (RTC) para ver que el bus me funcione correctamente y muestro la hora en un LCD...
en el mismo bus i2c coloco el Touch Rotary pero con un dividor en la linea SDA y SCL para acondicionar los niveles a la logica TTL reducida. (supuestamente el micro a un valor alto de 2.8v del touch rotary tambien lo tomará como un alto, por favor corrijanme si no es asi)...

el diagrama es el siguiente,...




en la imagen se observa el par de resistencias de 4.7k como resistencias de pull ups y el conjunto doble  de 2.2k y 4.7k como resistencias de acondicionamiento.-

una vez ensamblado el circuito anterior, realizo la lectura del reloj (ya tenia cargada una hora)... y muestro en pantalla,.... todo perfecto...
luego... sigue el turno del touch rotary,...

//Inicia Configuracion del Touch Rotary  MPR083

//ESCRIBE//

   I2C_Init(100000);              // configura el reloj del micro
   I2C_Start();                      // inicia condicion de start
   I2C_Wr(0b10011010);       //manda direccion del esclavo 0x4D ya que el pin 7 está en alto. BIT0=0 (ESCRITURA)
   I2C_Wr(0b00001010);       // comando de configuracion
   I2C_Wr(0b00010101);       // resetea, modo2 (escaneo contínuo), habilita escaneo electrodos
   I2C_Stop();                      // termina, genera condicion de stop

   Delay_ms (100);               // hace un delay y lee el registro escrito

//LEE//

   I2C_Init(100000);             // configura el reloj del micro
   I2C_Start();                     // inicia condicion de start
   I2C_Wr(0b10011011);      // manda direccion del esclavo en modo lectura. BIT0=1 (LECTURA)
   I2C_Wr(0b00001010);      // escribe direccion del comando a leer
   Dato=I2C_Rd(0);             // espera que el esclavo mande el byte de dato leido
   I2C_Stop();                     // termina, genera condicion de stop

hasta la rutina de escritura aparentemente fue exitosa... cuando ingresa en la segunda parte "LEE"...  el micro se queda esperando salir de la funcion  Dato=I2C_Rd(0)... es como si nunca el MPR083 le respondiera....

Éste es el conflicto muchachos.... si alguien me da una mano se lo agradecería.
Saludos
 
« Última modificación: 08 de Enero de 2009, 22:12:24 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #33 en: 08 de Enero de 2009, 22:21:05 »
acá les dejo las secuencias tanto de escritura como de lectura....

ESCRITURA



LECTURA



Saludos
« Última modificación: 08 de Enero de 2009, 22:29:57 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7871
Re: Touch Rotary MPR083
« Respuesta #34 en: 08 de Enero de 2009, 22:34:18 »
Dos preguntas:

Para que vuelves a configurar la velocidad del bus con la lectura??
No deberia configurarse una sola vez si los dispositivos son de la misma velocidad??

Que significa el (0) en la lectura del Dato ??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #35 en: 08 de Enero de 2009, 22:43:21 »
Para que vuelves a configurar la velocidad del bus con la lectura??
supuestamente con una sola vez basta,... pero lo puse por las dudas jejeje... de tdas formas probé con inicializar una sola vez y es lo mismo...


Que significa el (0) en la lectura del Dato ??

la funcion Dato=I2C_Rd(0); Lee un byte desde el esclavo, si el parámetro  ACK es 0  envía un not acknowledge , de lo contrario envía acknowledge alto...

acá está el diagrama donde se observa el ACK

« Última modificación: 08 de Enero de 2009, 22:58:11 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7871
Re: Touch Rotary MPR083
« Respuesta #36 en: 08 de Enero de 2009, 22:53:54 »
Y para que sirve la espera de 100 mseg antes de leer??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #37 en: 08 de Enero de 2009, 22:58:59 »
el delay de 100ms lo puse para simular alguna rutina en el medio de la secuencia de escritura y lectura del touch rotary...
« Última modificación: 08 de Enero de 2009, 23:02:13 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Touch Rotary MPR083
« Respuesta #38 en: 09 de Enero de 2009, 04:38:13 »
Hola NANO1985,
No puedes unir lógica de 3,3v con 5v en un bus I2C de esa manera. necesitas o bien usar unos Mosfet o acondicionar los niveles de tensión.
Una forma posible, sería usar un ADUM1250 de Analog Devices, que te optoaislaría las tensiones y te acondicionaría el MPR083 o el DS1307 a la tensión de trabajo del bus I2C.
Este es el chip:


Podrías, tener el uC a 5v y el DS1307 conectado directamente al I2C de 5v, entonces entre el bus y el MPR083 deberías poner el ADUM1250 para optoaislar las tensiones y adaptar los 3,3v ( que alimentarían al MPR083 a través por ejemplo de un AMS1117/3,3v ) al bus I2C de 5v

O podrías poner uC y MPR083 a 3,3v y así el bus I2C sería de 3,3v siendo necesario convertir los niveles del DS1307 a 3,3v.

Yo inicialmente probaría el circuito alimentándolo a 3,3v el uC y el MPR083 para igualar niveles y prescindiría del DS1307 hasta tener operativo el MPR083. Después adaptaria el DS1307 a niveles de 3,3v bien con este ADUM1250 o con unos Mosfet, pero no los pongas todos juntos porque te puedes cargar el MPR083.

Una solución con transistores para un bus I2C bidireccional con dispositivos de 3,3v y 5v:



Mírate esta appnote sobre acondicionamiento de bus I2C para niveles de 5v y 3,3v:
http://www.standardics.nxp.com/support/documents/i2c/pdf/an97055.pdf

Dispones de otro acondicionador de niveles para I2C de Philips, el PCA9306:


Espero que no te hayas cargado el bus I2C del MPR083 si lo has conectado como en el dibujo, porque no creo que sea tolerante a los 5v.
Por cierto, ¿has obtenido señal en la patilla de sounder con la nueva PCB?

Salu2
« Última modificación: 09 de Enero de 2009, 04:41:32 por droky »
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #39 en: 09 de Enero de 2009, 14:24:33 »
que buena data que me acabas de pasa! droky!! muchas gracias hermano.... con la nueva placa tampoco tengo señal en el pin Sounder... voy a ver donde consigo el chip ADUM1250 o algun equivalente que tambien comentas.... si no tengo suerte voy a hacerlos con unos mosfet y a pelarse....
Saludos !!! y muchisima gracias por tu tiempo.-
« Última modificación: 09 de Enero de 2009, 15:23:55 por NANO1985 »
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #40 en: 09 de Enero de 2009, 15:24:54 »
hola droky, ya hice el pedido a la gente de TI del reemplazo de analog devices... el PCA9306,... en 4 días lo tengo en manos... mientras tanto voy a probar con los mosfet...
seguramente el antiguo MPR083 ya falleció.... asi que voy el por el otro...
Saludos.-
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7871
Re: Touch Rotary MPR083
« Respuesta #41 en: 09 de Enero de 2009, 15:28:40 »
Precisas que pida mas muestras del MPR083 por si las liquidas a todas?? :mrgreen:
Puedo hacerte esa asistencia...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Touch Rotary MPR083
« Respuesta #42 en: 09 de Enero de 2009, 15:38:53 »
jejejejejeje naaa está bien con esa nomas..... bueee tampoco soy tan ácido muchachos.... quien no rompio algo alguna vez??
Saludos
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Touch Rotary MPR083
« Respuesta #43 en: 09 de Enero de 2009, 16:09:39 »
hola nano estoy siguiendo sigilosamente tu trabajo  :lol: , porque tengo pensado hacerme un tecladito con un mpr084 dentro de unos varios... varios dias....
Saludos   :)
LAS MALVINAS SON ARGENTINAS!

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7871
Re: Touch Rotary MPR083
« Respuesta #44 en: 09 de Enero de 2009, 16:10:21 »
En serio te ofrecia pedirlos, ya que por Ley de Murphy, toda vez que coloques el ultimo chip de un pedido, seguramente lo soldaras girado 180º o lo conectaras a una tension que no soporte.. :D :D
Si dispones de mas muestras seguro no pasa nada de eso!!! :lol: :lol:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.


 

anything