PSoC® 1. Cursos de los módulos

Quería ademas comentarte que el filtro funciono muy bien con la señal biológica (EMG) a pesar que la teoria recomendaba un filtro pasabanda de 20 a 500 Hz.
Me alegra que halla salido bien, y ahora tú me has aportado un dato interesante del cuál yo tenía dudas y no conocía :
Te digo a pesar, ya que por mas que ensaye estos 2 dias, no pude bajar la frecuencia inferior a menos de 100 Hz. es lo minimo que permite el Psoc antes de bloquearse.
Gracias y para eso estamos para colaborarnos.

Saludos :)
 
Buenos Días

Que pena yo otra vez molestando por aquí, pero la verdad es que me surgieron nuevas dudas. Ahora con el conversor analogo-digital ADCINC12.

La señal a la que anteriormente le realice el filtrado (100 - 500 Hz) necesito ahora enviarla por el puerto serial para comunicarme por medio del Hyperterminal al Pc.

Según el teorema de Nyquist deberia plantear un A/D con una frecuencia de muestreo por encima de 1 KHz en este caso utilizare 2 KHz.

En el Data Sheet determinan una ecuacion para la frecuencia de muestreo. que depende directamente del Data Clock.

Pero como configuro el Data Clock? si las unicas opciones son el TMR Clock y el CNT Clock. Debo multiplicar las 2 para dividir al reloj principal?
Ademas el resultado de SampleRate en los ejemplos del datasheet dan en (sps)

Y por ultimo ¿La resolucion ya esta definida en los 12 bits sino es así como la configuro?

Te envio lo ultimo que le adapte al sistema

Muchas gracias
 

Adjuntos

  • Sistema_Completo.rar
    156.2 KB · Visitas: 52
buenas a todos

hacia tiempo no volvia por aca, pero es que estuve ocupado y se me da~o el pc, perdi toda la info,....

en cuanto a la duda de dftrejos, si mal no recuerdo, para ajustar la frecuencia de reloj del ad debes indicarle cual es la fuente, la cual puede venir directamente del sysclock que en mi caso es de 24Mhz o puedes realizar cualquier tipo de division con vc1, vc2 en fin, tiene muchas opciones, calcula la frecuencia que necesitas y realizas las divisiones necesarias, recuerda que la frecuancia maxima recomendada para una mejor linealidad es de 2Mhz y la maxima es de 8Mhz.

en cuanto a variar la resolucion de 12 bits, puedes utilizar entonces el adcinc que puede estar de 6 a 14 bits, tambn recuerda que segun la resolucion, varia la capacidad de muestras por segundos, siendo la maxima de 46,8 ksps (6 bits), ya que el adcinc12 esta fijo y ademas solo alcanza 480 sps, .......

hasta luego, cualquier duda estamos para ayudarnos
 
Hola, ante todo muchas gracias por los tutoriales de psoc, son estupendos.
Me gustaria preguntarte una duda que tengo, espero que no sea una molestia.
Quiero hacer una practica con psoc, usando un pulsador, pero no se como evitar los revotes. Como lo harias. Muchas Gracias.
 
Buenos Dias a todos los miembros del foro..

Tengo una pequeña dudita con respecto a mandar un caracter en el LCD... Quiero mandar este caracter " ° " es el del grado centigrado.. Pero no se como hacerlo, ya intente inicializar una variable char y despues utilizar el LCD_PrString y nada, utilizando LCD_PrCString " ° " y tampoco... Tambn intente hacerlo con LCD_PrHexByte y tampoco... Si alguno de ustedes sabe como, porfavor hacermelo saber..

Gracias
 
Muchachos cuales son las diferencias entre las 3 familias de PSoC??? a parte del microprocesador embebido que utilizan??... y que diferencias hay entre PSoC Designer y PSoC Creator...

Muchas Gracias si alguien me colabora
 
Última edición:
Hola a todos, estoy frente a un problema y quisiera saber si alguien me puede ayudar. Resulta que necesito usar las funciones de la API de alto nivel de la UART para recibir string's a traves del puerto y la verdad es que no puedo hacerlo funcionar. "Depurando" el programa puedo ver que mi problema radica cuando llamo a la función UART_CmdCheck(), pues esta no devuelve ningun valor distinto de cero, como si no llegaran los datos. Alguien puede explicarme como funciona esa funcion, si tienen algun ejemplo hecho con el 466? Muchas gracias!
 
Hola a todos, estoy frente a un problema y quisiera saber si alguien me puede ayudar. Resulta que necesito usar las funciones de la API de alto nivel de la UART para recibir string's a traves del puerto y la verdad es que no puedo hacerlo funcionar. "Depurando" el programa puedo ver que mi problema radica cuando llamo a la función UART_CmdCheck(), pues esta no devuelve ningun valor distinto de cero, como si no llegaran los datos. Alguien puede explicarme como funciona esa funcion, si tienen algun ejemplo hecho con el 466? Muchas gracias!
Como configuraste el módulo? si has activado las interrupciones?, está bien calculada la velcidad de trasmición/recepeción? una imagen de como configuraste el módulo, será mas ilusrtativa.
Saludos :)
 
Como configuraste el módulo? si has activado las interrupciones?, está bien calculada la velcidad de trasmición/recepeción? una imagen de como configuraste el módulo, será mas ilusrtativa.
Saludos :)

Gracias por contestar, sí, el modulo tiene activadas sus interrupciones y transmite lo pude comprobar por medio de la transmision en ambos sentidos con las funciones relacionadas al envio de datos tipo CHAR ( getchar, putchar, etc) y tambien envio sting (CPutString, PutString, etc), mi problema radica con la funcion especicamente UART_cmdCheck(). Ahora en este momento estoy en otra compu y no cuento con el programa, si necesitas mas especificaciones entonces durante la semana la subo, pero paso a comentarte:

Pude leer que la funcion UART_CmdCheck() comprueba dos cosas para determinar si un dato valido a sido recibido; si ha llegado el "CommandTerminator" que en el editor de propiedades figuar como "13" o si el buffer ha sido completado, el cual esta seteado en "16". He probado ambas cosas, mandando datos con el "CommandTerminator" y tambien string que superan los 16 caracteres, pero no logro que la funcion "se active". Alguien tendra algun ejemplo en el cual utilize esta funcion? Gracias.
 
Hola,

¿alguien ha implementado alguna vez la eeprom en un psoc evalukit1?Es que estoy intentando implementar un sistema de adquisición de biopotenciales, en el cual los valores que salgan del amplificador guardarlos en la eeprom. Después de esto, poder leerlo y visualizarlo en labview...

El problema lo tengo, en los tipos de variable...El valor que tengo que guardar en la eeprom es un float, y por lo que he visto tengo que hacer un "cast" a char... Yo lo que tengo hecho es cuando tengo el valor digital de la muestra, hago un "ftoa" para tener el float en un valor ascii y así, poderlo guardar en la eeprom. No obstante, esto no me ha funcionado...

¿Alguien tiene alguna idea de como lo puedo hacer?¿Alguien a implementado un muestreo de señales y las ha guardado en la eeprom?

Mchas Gracias!
 
Buenas noches

Quisiera saber si alguno de ustedes sabe como borrar la lcd para que cuando mande una cadena de caracteres no se me imprima el ultimo bit del ultimo caracter...Estoy mandando 16 mensajes por medio de un teclado 4x4 y cuando la cadena es muy larga, cuando mando una cadena corta se me quedan bits de la cadena larga... Por ejemplo, en la tecla 7 esta "segundo tiempo" y en la tecla 2 esta "gol". Cuando presiono la tecla 7 me manda "segundo tiempo", pero cuando presiono la tecla 2 me manda "gol" y se me queda el "undo tiempo" de la anterior cadena....

Muchisimas gracias por si alguien me puede colaborar..
 
Tiempo de no entrar, saben que se me jodió el disco y se me borró TODO, ah que dolor....

De eso hace meses, pero la información de la U, toda se perdió.........

Voy a empezar abajr de acá para conseguir un poco.
 
OUCH Que dolor Alekvasb...

Les recomiendo a todos los miembros del foro hacer un back up cada 15 o 30 dias... Y cualquier cosa que necesites nos avisas y si te podemos ayudar con mucho gusto...

Que viva PSoC!!!
 
Y lo delñ backup, pues el disco ens del 1TB y ya iba por el 40% lleno.... me muero comparando dVD, y no he tenido para un disco de respaldo...


Pues dolor es poco, porque se me perdió todo mi software bajado de Internet, 7 Gigas de música, la info de la universidad, fotos, videos de la family..

Los juegos y los programas que había hecho, pero bueno qué se le va a hacer....


Alguien sabe si vendes plataformas para robtos, ya hechas? o sea la base con las llantas y los motores??? cosa que uno le ponga la electrónica...
 
Necesito hacer un control PID para un sistema de 1er orden, ej. la carga de un condensador o control de temperatura, alguien me puede colaborar dandome alguna luz????
 
Hola,

¿alguien ha implementado alguna vez la eeprom en un psoc evalukit1?Es que estoy intentando implementar un sistema de adquisición de biopotenciales, en el cual los valores que salgan del amplificador guardarlos en la eeprom. Después de esto, poder leerlo y visualizarlo en labview...

El problema lo tengo, en los tipos de variable...El valor que tengo que guardar en la eeprom es un float, y por lo que he visto tengo que hacer un "cast" a char... Yo lo que tengo hecho es cuando tengo el valor digital de la muestra, hago un "ftoa" para tener el float en un valor ascii y así, poderlo guardar en la eeprom. No obstante, esto no me ha funcionado...

¿Alguien tiene alguna idea de como lo puedo hacer?¿Alguien a implementado un muestreo de señales y las ha guardado en la eeprom?

Mchas Gracias!


Yo tengo un problema similar , y es que debo almacenar 3000 muestras de una señal (Biopotencial) en un registro, pero la memoria del Psoc no da para tanto
Por eso pienso utilizar una Eprom 2464 de 32 K.

Pero no se como utilizar el bloque I2CHw para almacenar las muestras en cascada sin sobreescribirlas.

Aqui les envio el sistema de adquisicion basico con un ADCIN12 con una UART ¡y funciona!

Y un ejemplo que encontre del I2CHW , pero no se como adaptarlo.

Espero que me puedan colaborar GRACIAS.
 

Adjuntos

  • Example_EEPROM_24C256.zip
    178.4 KB · Visitas: 43
  • Adquisicion_Serial.rar
    92.3 KB · Visitas: 71
Atrás
Arriba