Hola! Soy bastante aficionado a la electrónica, pero sé bastante de programación y estoy estudiando ingenieria industrial superior. Os explico, mi idea principal por ahora es de hacerme con las herramientas básicas de medición y testeo pues me empiezan a hacer falta, ya no me basta con un "simple" multimetro digital..
Asi que busqué y recopilé información (y esquemas) de los aparatos y me encontré con proyectos de armado de osciloscopios un poco interesantes. Pero siempre tenian "inconvenientes" puesto que los diagramas eran muy complejos (y eso se traducia en el coste del aparato), o demasiado simples, o de especificaciones insuficientes... Asi que mis ánimos decayeron un poco puesto que el osciloscopio es bastante necesario para según qué cosas... Ya creía que hacer un "buen" osciloscopio sin ser demasiado caro era cosa imposible, me encontré con éste intento de osciloscopio. Los chicos se ve que lo consiguieron aunque no consiguieron todos los objetivos propuestos. Su idea era de un osciloscopio de 20Mhz hecho por partes (conversor ADC por un lado, pic por el otro, memoria, ...) y creo recordar que solo puedieron llegar a medir ondas de hasta 4Mhz u 8Mhz... Segun dicen uno de los problemas eran las propias interferencias que comportaba trabajar con éstas frecuencias.
Asi que me gustó la idea, si bien en un principio es bastante barato (y más si contamos que supuestamente podemos conseguir parte del material a través de SAMPLES gratuitos de webs) vi que como mínimo podria tener un osciloscopio algo decente de hasta 4Mhz. Puesto que 4Mhz ya eran bastante comparado con las tarjetas de sonido de los PCs (creo que no superan 100Khz).
Vi la fecha de publicación: Septiembre de 2006 y me propuse hacer un proyecto muy similar, siguiendo un poco el esquema, pero con componentes actuales, puesto que la electronica a avanzado un poquito más hasta el dia de hoy. Asi que he obtenido algunos resultados un tanto interesantes, para los cuales necesito de vuestra enorme sabiduría!!
Asi que propongo varias formas para armar un osciloscopio simple pero potente, aunque antes, las dudas, son bastante generales, pero ya que no dispongo de mucho tiempo (se acercan exámenes en la universidad
) voy a pediros un poco de piedad en las respuestas:
1.- No sé como encajar muy bien los conceptos de frecuencia de oscilacion interna del PIC, frecuencia de trabajo del PIC con los MIPS. Eso aplicado a un programa.
Si me traen un PIC con... pongamos una velocidad de reloj de 8Mhz y 12MIPS pudiendo llegar a una velocidad máxima de... 48Mhz, creo saber (corregidme por favor) que la velocidad en que se ejecutarán las instrucciones dentro del PIC será de Ttrabajo = Tosc/4 osea 2Mhz. Si a eso le añadimos que el PIC ejecuta 12 Millones de instrucciones por segundo, eso hace que pueda ejecutar 2M*12M = 24*10^12 instrucciones?
La ejecucion de esas instrucciones, que están en un programa, ¿son cada línia de programa o no tiene por qué?
2.- Creo recordar que si en vez de utilizar un oscilador interno (del propio PIC) utilizamos uno externo (ejemplo los 20Mhz máximos), la relacion de Ttrabajo y Tosc es diferente a la anterior, estoy en lo cierto? sabeis cúal es?
3.- Si un PIC contiene un ADC de.. pongamos 12bit@100 Ksps y además un módulo USB integrado, y quiséramos coger las muestras del ADC y enviarlas por usb al PC, a qué velocidad teórica necesitariamos enviarlas? porque... 1 muestra serian 12 bits, entonces:
100Ksps*(12bits/muestra) = 1,2Mbits/s ??? paso por alto alguna cosa? La pregunta va dirigida para saber y sopesar otras posibilidades: El puerto USB será capaz de enviar TODAS las muestras al PC? y el SPI? I2C? RS-232 ?? más adelante veréis por qué.
4.- Si por casualidad se le añadiera un LCD, se podria refrescar la pantalla "en tiempo real" o "sincronizado" (sin un retardo demasiado grande) con la adquisición de las muestras?
ESAS DUDAS son bastante cruciales. Ahora voy a deciros unas cuantas combinaciones para lo que podria ser mi futuro Osciloscopio !!! allá vamos!
1.- Siguiendo el esquema propuesto en la web: ADC + Memoria + PIC(con USB)->PC con componentes actuales: Buscando ADCs en Texas Instruments, he podido comprobar que se puede conseguir ADCs bastante buenos y con velocidades de adquisición muy altos, el ADC no es problema entonces. La memoria faltaria por determinar puesto que no domino muy bien el tema y no sé como se hace la comunicación con las memorias. Pero uno de los problemas es el PIC que transmite los datos al PC. En el supuesto caso que pudiésemos instalar y armar sin problemas de ruidos un ADC de cualquier velocidad, ésta vendria limitada por los actuales PIC que disponen de USB (máx 48Mhz) y siguiendo un criterio (que no recuerdo el nombre pero que viene a decir "la velocidad de muestreo debe ser como mínimo 2 veces la de adquisición") y teniendo en cuenta la relacion entre Ttrabajo y Tosc, la velocidad máxima teórica del ADC seria de:
48Mhz*(1/4)*(1/2) = 6 Mhz por tanto, viene limitada por la frec. de trabajo del PIC si se desea hacer "bien"..
2.-Modificando el esquema propuesto en la web: ADC + Memoria + PIC(sin USB)->PC
Como hemos visto, los PICs CON USB, no sobrepasan de 48Mhz (adelante, buscad!) y eso nos limita el ADC. Asi que otra posibilidad seria de hacer uso de otras vias de comunicación con el PC: RS-232, ... y utilizar PICs con velocidades más altas. Pero no sé que tasa de transferencia máxima soportan dichas vias de comunicación (tampoco sé si los calculos hechos por mi más arriba son correctos, de aqui preguntar primero
tan solo soy un aficionado!)
3.- Partiendo desde cero: PIC(+ADC bueno) + (USB, RS232, ...)->PC
Si, en el link que os he puesto más arriba incitandoos a buscar PICs, podeis ver que hay un PIC un poco especial (lo sé me he tragado todo el PDF...) el pic en cuestión és este: dsPIC33FJ16GS502 que tiene varias cosas a destacar:
)
Asi que ya veis por dónde van los tiros: El dsPIC33FJ16GS502 nos ofrece un ADC nada despreciable de 4Msps, que vendrian a ser 4Mhz? lo que consiguieron dentro de un chip programable !
Solo faltaria ponerle una pantalla y osciloscopio portable ! Pero de momento me conformo con poderlo transmitir al PC... y hacer un programa específico para ello.(Descargar al PIC del trabajo de procesamiento y tratamiento de la información.. si fuera el caso)
¿qué opinan? Les gusta la idea?
Asi que busqué y recopilé información (y esquemas) de los aparatos y me encontré con proyectos de armado de osciloscopios un poco interesantes. Pero siempre tenian "inconvenientes" puesto que los diagramas eran muy complejos (y eso se traducia en el coste del aparato), o demasiado simples, o de especificaciones insuficientes... Asi que mis ánimos decayeron un poco puesto que el osciloscopio es bastante necesario para según qué cosas... Ya creía que hacer un "buen" osciloscopio sin ser demasiado caro era cosa imposible, me encontré con éste intento de osciloscopio. Los chicos se ve que lo consiguieron aunque no consiguieron todos los objetivos propuestos. Su idea era de un osciloscopio de 20Mhz hecho por partes (conversor ADC por un lado, pic por el otro, memoria, ...) y creo recordar que solo puedieron llegar a medir ondas de hasta 4Mhz u 8Mhz... Segun dicen uno de los problemas eran las propias interferencias que comportaba trabajar con éstas frecuencias.
Asi que me gustó la idea, si bien en un principio es bastante barato (y más si contamos que supuestamente podemos conseguir parte del material a través de SAMPLES gratuitos de webs) vi que como mínimo podria tener un osciloscopio algo decente de hasta 4Mhz. Puesto que 4Mhz ya eran bastante comparado con las tarjetas de sonido de los PCs (creo que no superan 100Khz).
Vi la fecha de publicación: Septiembre de 2006 y me propuse hacer un proyecto muy similar, siguiendo un poco el esquema, pero con componentes actuales, puesto que la electronica a avanzado un poquito más hasta el dia de hoy. Asi que he obtenido algunos resultados un tanto interesantes, para los cuales necesito de vuestra enorme sabiduría!!
Asi que propongo varias formas para armar un osciloscopio simple pero potente, aunque antes, las dudas, son bastante generales, pero ya que no dispongo de mucho tiempo (se acercan exámenes en la universidad
1.- No sé como encajar muy bien los conceptos de frecuencia de oscilacion interna del PIC, frecuencia de trabajo del PIC con los MIPS. Eso aplicado a un programa.
Si me traen un PIC con... pongamos una velocidad de reloj de 8Mhz y 12MIPS pudiendo llegar a una velocidad máxima de... 48Mhz, creo saber (corregidme por favor) que la velocidad en que se ejecutarán las instrucciones dentro del PIC será de Ttrabajo = Tosc/4 osea 2Mhz. Si a eso le añadimos que el PIC ejecuta 12 Millones de instrucciones por segundo, eso hace que pueda ejecutar 2M*12M = 24*10^12 instrucciones?
La ejecucion de esas instrucciones, que están en un programa, ¿son cada línia de programa o no tiene por qué?
2.- Creo recordar que si en vez de utilizar un oscilador interno (del propio PIC) utilizamos uno externo (ejemplo los 20Mhz máximos), la relacion de Ttrabajo y Tosc es diferente a la anterior, estoy en lo cierto? sabeis cúal es?
3.- Si un PIC contiene un ADC de.. pongamos 12bit@100 Ksps y además un módulo USB integrado, y quiséramos coger las muestras del ADC y enviarlas por usb al PC, a qué velocidad teórica necesitariamos enviarlas? porque... 1 muestra serian 12 bits, entonces:
100Ksps*(12bits/muestra) = 1,2Mbits/s ??? paso por alto alguna cosa? La pregunta va dirigida para saber y sopesar otras posibilidades: El puerto USB será capaz de enviar TODAS las muestras al PC? y el SPI? I2C? RS-232 ?? más adelante veréis por qué.
4.- Si por casualidad se le añadiera un LCD, se podria refrescar la pantalla "en tiempo real" o "sincronizado" (sin un retardo demasiado grande) con la adquisición de las muestras?
ESAS DUDAS son bastante cruciales. Ahora voy a deciros unas cuantas combinaciones para lo que podria ser mi futuro Osciloscopio !!! allá vamos!
1.- Siguiendo el esquema propuesto en la web: ADC + Memoria + PIC(con USB)->PC con componentes actuales: Buscando ADCs en Texas Instruments, he podido comprobar que se puede conseguir ADCs bastante buenos y con velocidades de adquisición muy altos, el ADC no es problema entonces. La memoria faltaria por determinar puesto que no domino muy bien el tema y no sé como se hace la comunicación con las memorias. Pero uno de los problemas es el PIC que transmite los datos al PC. En el supuesto caso que pudiésemos instalar y armar sin problemas de ruidos un ADC de cualquier velocidad, ésta vendria limitada por los actuales PIC que disponen de USB (máx 48Mhz) y siguiendo un criterio (que no recuerdo el nombre pero que viene a decir "la velocidad de muestreo debe ser como mínimo 2 veces la de adquisición") y teniendo en cuenta la relacion entre Ttrabajo y Tosc, la velocidad máxima teórica del ADC seria de:
48Mhz*(1/4)*(1/2) = 6 Mhz por tanto, viene limitada por la frec. de trabajo del PIC si se desea hacer "bien"..
2.-Modificando el esquema propuesto en la web: ADC + Memoria + PIC(sin USB)->PC
Como hemos visto, los PICs CON USB, no sobrepasan de 48Mhz (adelante, buscad!) y eso nos limita el ADC. Asi que otra posibilidad seria de hacer uso de otras vias de comunicación con el PC: RS-232, ... y utilizar PICs con velocidades más altas. Pero no sé que tasa de transferencia máxima soportan dichas vias de comunicación (tampoco sé si los calculos hechos por mi más arriba son correctos, de aqui preguntar primero
3.- Partiendo desde cero: PIC(+ADC bueno) + (USB, RS232, ...)->PC
Si, en el link que os he puesto más arriba incitandoos a buscar PICs, podeis ver que hay un PIC un poco especial (lo sé me he tragado todo el PDF...) el pic en cuestión és este: dsPIC33FJ16GS502 que tiene varias cosas a destacar:
· Frec Interna de 7,37Mhz, Frec Máx de 120Mhz y 40 MIPS
· 2x ADC de 10 bits @ 4 Msps
· Encapsulado SPDIP !!!
· 4 DAC de 10 bits @ 640 Ksps (que no vienen al caso, pero ya que os digo lo + importante...
)
Con él podemos reducir el circuito de los chicos de la web a una "simple" funcion dentro del PIC y transmitirla al PC... ¿ cuál es el problema? que no tiene USB. Por lo que se abren de nuevo las posibilidades anteriores: Combinación con otro PIC que sí tenga, utilización de otras vias de comunicación (RS232, otro pic con Ethernet, ...), un driver de USB (existen? · 2x ADC de 10 bits @ 4 Msps
· Encapsulado SPDIP !!!
· 4 DAC de 10 bits @ 640 Ksps (que no vienen al caso, pero ya que os digo lo + importante...
Asi que ya veis por dónde van los tiros: El dsPIC33FJ16GS502 nos ofrece un ADC nada despreciable de 4Msps, que vendrian a ser 4Mhz? lo que consiguieron dentro de un chip programable !
Solo faltaria ponerle una pantalla y osciloscopio portable ! Pero de momento me conformo con poderlo transmitir al PC... y hacer un programa específico para ello.(Descargar al PIC del trabajo de procesamiento y tratamiento de la información.. si fuera el caso)
¿qué opinan? Les gusta la idea?