Oscilloscope Design - Diseño Osciloscopio

Hola, quizá alguno se le ocurra una mejor idea de como encarar este tema, por que la idea original que tenia, se me quemaron los papeles y me quede estancado por haber comenzado el proyecto invertido, osea, arranque desde el hardware hacia la rutina del microcontrolador y ahora, se me complicaron las cosas jajaja.
Estoy creando un sencillo visor de señales, semejante a un osciloscopio casero, con salida a TV PAL.
La salida al TV, no es cosa de otro mundo, ya que implementando un IC SV2000 (click para ver hoja de datos), se resuelve este tema...


El tema esta en que no se me ocurren maneras de generar el gráfico con sencillos puntos en la pantalla; Osea, en el ADC, acondicionamos por ejemplo una señal alterna con un Amplificador Operacional donde 1 es el punto máximo del pico negativo, 127 es el punto cero y 255 el punto máximo de la cresta positiva.
En un principio, creí que una matriz con puntos me serviría, ya que la idea inicial era solo mover un punto en los ejes x-y y cuando refrescaba la imagen, pensé que iba a tener el efecto visual de una señal sinusoidal; pero la idea no fue correcta, y fracase en casi todas las ideas siguientes y no quiero desistir y terminar haciéndolo este proyecto en Assembly, por que la idea es sacarlo si o si con un microcontrolador PICAXE.
Este circuito integrado (el SV2000), implementando el comando serout, podemos enviar los comandos para poder manejar este CI, osea, mi idea inicial rondaba justamente en llevar el punto mencionado anteriormente a una posición dada según la lectura análoga leída.
Para explicar mas gráficamente lo que les decia, mi idea era enviar por el comando serout estos comandos standar del SV2000 para llevar el punto a la posicion que yo quiera

Set Cursor Position ESC S x y - 27,83,x,y (Move cursor to position X, Y)

Vista de la matriz que tenia en un principio implementar:


Code:
;*******************************************************************
;*******************************************************************
               
	   ;0>
	   ;1>
	   ;2>
           ;3>
	   ;4>
	   ;5>	     
	   ;6>
	   ;7>
	   ;8>
	     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	      0  1  2  3  4  5  6  7  8  9  10  11  12  13  15	

;*******************************************************************
;****************************Fin************************************
;*******************************************************************
Alguien quiere sumarse al proyecto? a alguien se le ocurre una mejor idea? Tengan en cuenta, que esto seria el pie inicial para la elaboración de un osciloscopio casero a futuro; Osea, si podemos crear una manera de como graficar la señal, despues se podria mejorar y tener la base de otro gran proyecto....
Saludos
 

Andrew Cowan

Senior Member
Google translate.

Hello, maybe someone you think of a better idea of how to address this issue, because the original idea I had, I burned the papers and I get stuck on the initiation of the project investment, bone, boot from the hardware to the routine microcontroller and now, I complicated things hahaha.
I am creating a simple display of signs, home like an oscilloscope, with PAL TV output.
The output to the TV, not out of this world, and that implementing an IC SV2000 ([url = http://www.speechchips.com/downloads/sv2000.doc] click to see data sheet [/ url]) resolve this issue ...


The topic is that I can think of ways to generate the graph with simple dots on the screen; Bone in the ADC, condition such as an ac signal with an operational amplifier with 1 being the peak of the negative peak, 127 is the zero and 255 the peak of the positive peak.
At first, I thought that an array of points I would, since the initial idea was just to move a point in the xy axes and when refreshing the image, I thought it was going to have the visual effect of a sinusoidal signal, but the idea was correct, and fails in almost all the following ideas and I will not give up and finish doing this project in Assembly, that the idea is to go out if or if a PICAXE microcontroller.
This integrated circuit (the SV2000), implementing the command serout, we can send commands to handle this CI, bone, my initial idea was about right in taking the aforementioned point to a given position according to a similar reading read.
To explain more graphically what I said, my idea was to send these commands serout command standard SV2000 to bring the point to the position I want

Set Cursor Position ESC S xy - 27.83, x, y [/ i] (Move cursor to position X, Y)



Code:
;*******************************************************************
;*******************************************************************
               
	   ;0>
	   ;1>
	   ;2>
           ;3>
	   ;4>
	   ;5>	     
	   ;6>
	   ;7>
	   ;8>
	     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	      0  1  2  3  4  5  6  7  8  9  10  11  12  13  15	

;*******************************************************************
;****************************Fin************************************
;*******************************************************************
Anyone want to join the project? someone comes up with a better idea? Keep in mind that this would be the initial standing for the development of future home to an oscilloscope, Bone, if we can create a way as to plot the signal, then it could improve and be the basis of another great project ....
Regards


You might gain some information by speaking to Wolfgang (user womai)- he's designed a PICAXE powered scope which is excellent.

Andrew

Usted podría obtener alguna información hablando con Wolfgang (usuario womai ) - que ha diseñado un alcance PICAXE potencia que es excelente.
 
Adrew thank you very much for the information, right now I will look at their contributions and see how I can do to invite the topic to Mr Wolfgang, as I would like this information and development, is available for the entire community.

---- Muchas gracias Adrew por la información, ya mismo voy a mirar sus aportes y veo como puedo hacer para invitarlo al topic al señor Wolfgang, ya que me gustaría que esta información y desarrollo, este disponible para toda la comunidad. ----
 
Thanks eclectic, but as I mentioned earlier, my problem does not lies in the hardware, that I have it designed and with another microcontroller (PIC), implement the famous ping-pong game and I could confirm that this works perfectly. ..
By chance, not seen any thread which exemplify how to make graphs with this IC and a PICAXE?
Now I'm seeing if there are libraries available in proteus to properly simulate the whole design, since it does not convince me finish some things.
Thank you very much for your contribution

--- Gracias eclectic, pero como ya mencione anteriormente, mi problema no se radica en el hardware, por que este ya lo tengo diseñado y con otro microcontrolador (PIC), implemente el famoso juego ping-pong y pude corroborar que este funciona a la perfección...
Por casualidad, no vistes algún thread donde ejemplifiquen como realizar gráficos con este CI y un picaxe?
Ahora estoy viendo si hay librerías disponibles en proteus para poder simular correctamente todo el diseño, ya que no me termina de convencer algunas cosas.
Muchas gracias por tu aporte ----
 
Last edited:

womai

Senior Member
Hi,

got your PM.

My Spanish is unfortunately a "bit" rusty, but am I right to assume that the issue is how to coax that video chip into displaying pixel graphics instead of just alphanumeric characters. Is that correct? Also, do you absolutely need to use that chip and to display the graphics on a TV set? - or rather just any method of graphically displaying oscilloscope data? If the latter then maybe a standard graphical LCD (GLCD) may be the way to go. 128x64 pixels GLCDs based on Samsung KS108 controllers can be had for just a few $. Toshiba-controller based 192x128 pixel screens are a bit more pricey, but still reasonable. If the former (need to use the TV chip), you may want to see if the chip can use user-defined characters. That could be used to generate all possible combinations of e.g. half-sized pixels; still would only give 32x18 pixels resolution, since the chip only has a screen fo 16x9 characters.

Wolfgang
 
If, indeed, is very small size if the sv2000 is implemented, but given the simplicity of this (commands and hardware), I thought it would be a good idea to implement it, besides, I have just one haha ...
The idea of the project was to be able to create a small scope with video output to connect to any TV, because it would not only original, but it also would replace the costly GLCD.
At first, I was going to be based on this project ( http://www.micro-examples.com/public/microex-navig/doc/089-pic-pal-tv.html )



But then I gave up because I can not think how to create graphics as a result of reading a read signal.
I read several topics, but none shows me a practical example to guide me or direct me a little.
If or if I have to implement a video driver, or think there's any feasible way to perform without them? Thank you very much for joining and leaving us your opinion.


--Si, es verdad, es muy reducido el tamaño si se implementa el sv2000; pero dada la simplicidad de este (comandos y hardware), pense que seria buena idea implementarlo, ademas, justo tengo uno jaja...
La idea del proyecto, era la de poder crear un pequeño osciloscopio con salida de Video para poder conectar a cualquier TV, ya que no solo seria original, si no que también, reemplazaría los costosos GLCD.
En un principio, me iba a basar en este proyecto ( http://www.micro-examples.com/public/microex-navig/doc/089-pic-pal-tv.html )

Pero luego desistí por que no se me ocurre como crear los gráficos a raíz de la lectura de una señal de lectura.
Leí varios tópicos, pero ninguno me muestra un ejemplo practico para poder guiarme u orientarme un poco al respecto.
Si o si tengo que implementar algún driver de video, o crees que hay alguna manera viable de poder realizar sin ellos? Muchas gracias por sumarte y dejarnos tu opinión. --
 

womai

Senior Member
Actually a 128x64 pixel GLCD is not necessarily very expensive. Can typically be picked up for well under $20 if you shop around a bit. And 128x64 is much better than what the proposed solution would do.

On the other hand, to reduce component cost to minimum I would at least consider the route I have chosen (partially for that reason) - use a PC for display. After all, today anybody tinkering with electronic will have some PC available (you yourself for sure have, since you are programming PICs). Gives you much more computing horsepower (for graphics and things like FFT), and much higher resolution - not to mention that data is available in digital format which allows easy post-processing and automated measurements. As for the interface to the PC, the 18F series PICs can invert both drive and receive data on the USART so you can get away with a super-primitive one-resistor interface to the PC instead of the full-blown MAX232 solution - similar to what the Picaxe does: 22 kOhm between the PICs RX pin and the computer. Direct connection (or a 180 Ohm resistor to protect against accidental shorts) on the PICs TX pin.

Wolfgang
 
Last edited:

hippy

Ex-Staff (retired)
At first, I was going to be based on this project ( http://www.micro-examples.com/public/microex-navig/doc/089-pic-pal-tv.html ) ... If or if I have to implement a video driver, or think there's any feasible way to perform without them? Thank you very much for joining and leaving us your opinion.
That project uses a PICmicro with bit-banged code to produce a raw video output stream. The output signals are too quickly changing to be able to do that with a PICAXE and, if it could, it would require a PICAXE which uses an external crystal to get a stable output and require considerable amounts of memory.

The best solution is a separate chip which can output video and be instructed by the PICAXE. The SV2000 is such a chip though I don't know how suitable it is for the particular application.

I'm not sure what the issue actually is at present but the first step would be using a PC Terminal Emulator such as HyperTerm to instruct the chip, then move to the PICAXE to give simple instructions. The links given by eclectic in Post #4 would be where I would start.

The details on the SV2000 and its command set ( currently listed as out of stock ) can be found here ...

http://www.speechchips.com/shop/item.aspx?itemid=5

A simple program to show the welcome message would appear to be ...

Symbol ESC = 27
Pause 1000
SerOut pin, N9600, ( ESC, "*" )
End
 
Womai thank you very much, but in my country, a GLCD not have the same price that you mention it, Here is much more expensive almost everything is imported, in addition, the project like that where possible, the scope of most hobbyists I student-tas ... Already have available a method to bring our projects to the TV screen, as I mentioned at the beginning, this opens the door for other major projects (games such as ping-pong, arkanoid, multimeters, etc, etc) .. .
hippy, please join us and give us your opinion. I commented that I have a SV2000 available and I've been conducting some tests on a portable TV. It's great because I had to develop a source switching with 16x2 LCD display, and I made all the mini screen. It is very easy to use, IC commands, are sent as they mention, with the command serout, but I am a forum moderator and give many courses, a friend told me that these chips are discontinued. That would mean the problem that many stakeholders in this project, it would lack one of the key.
I was doing some experimental graphics but not got the results I wanted, and tonight I will read carefully I found an example of an oscilloscope with GLCD, and I'll see if I can take the idea to this project.
Of course, thank you very much for the contributions that are adding to the topic.



--- Muchas gracias womai, pero en mi pais, un GLCD no tiene el mismo precio que mencionas tu; Acá es mucho mas caro casi todo lo que es importado, ademas, el proyecto quiero que en lo posible, este alcance de la mayoría de los hobbys-tas y o alumnos... Ya con tener al alcance un método de poder llevar nuestros proyectos a la pantalla del TV, como mencione al principio, esto abre la puerta a otros grandes proyectos (juegos tales como el ping-pong, arkanoid, multímetros, etc, etc)...
hippy, gracias por unirte y dejarnos tu opinión. Te comento que tengo un SV2000 disponible y ya estuve efectuando algunas pruebas en un TV portatil. Es grandioso por que yo tenia el desarrollo de una fuente switching con display LCD 16x2, y pude llevar todo a la mini pantalla. Es muy fácil de usar, los comandos del IC, se mandan tal cual mencionas, con el comando serout, pero en un foro donde soy moderador y doy muchos cursos, un amigo me comento que estos circuitos integrados están discontinuados. Eso acarrearía el problema de que muchos interesados en este proyecto, le faltaría una de las piezas claves.
Estuve haciendo algunos gráficos experimentales pero no obtuve los resultados que quería; Esta noche voy a leer detenidamente un ejemplo que encontré de un osciloscopio con GLCD, y voy a ver si puedo trasladar la idea a este proyecto.
Desde ya, muchas gracias por los aportes que están sumando al tema. ---
 
Top