# ¿ Cóomo puedo hacer un convertidor A/D para RS232?



## igua (Dic 21, 2008)

Hola soy Roberto y...

Me gustaria ver algun diseño o kit de un convertidor A/D 12 Bits serie con 8 entradas analogicas, con salida puerto serie.
He visto algo por ahi con un solo convertidor y un conmutador que va con un clock conmutando una entrada y despues otra en un ciclo.

Tambien para empezar me puede valer uno de 2 o 3 entradas analogicas.

Para el de 8 me imagino que para saber en un pc cual de las entradas esta conectada en ese instante tendria que dar el siguiente numero binario:

1ª Entrada: 000 xxxxxxxxxxxx y para terminar un bit de paridad o para empezar. (las x es el valor digital del convertidor)
2ª Entrada: 001 xxxxxxxxxxxx
3ª Entrada: 010   ""
4ª Entrada: 011   ""
5ª Entrada: 100   ""
6ª Entrada: 101   ""
7ª Entrada: 110   ""
8ª Entrada: 111   ""

Si esto es asi y no de otra forma (decidmelo si me equivoco), necesito primero el convertidor ( ya he visto algunos) luego el "conmutador" que seguro que tiene otro nombre y luego una controladora que valla sincronizada al "conmutador" que cuando valla saltando ciclicamente de una entrada a la otra meta delante el codigo que he puesto arriba que corresponde a cada una de las entradas, y despues lo envie por el pueto serie con la paridad si es que hace falta.

Igual me estoy haciendo un lio porque no tengo ni idea de comunicaciones serie. Esto no lo he leido ni visto solo me lo imagino y uso mi sentido comun, seguro que hay otra forma mejor ya que en programacion habria que hacer una tabla con todas y cada una de las posibilidades dando un valor.

Muchas gracias.


----------



## Moyano Jonathan (Dic 21, 2008)

igua yo te puedo ayudar pero usando un microcontrolador que tiene conversor de 10 bits. El tema de la comunicación serie la vas a tener que leer aunque sea por que sinó como vas a saber como se comunica.


----------



## igua (Dic 21, 2008)

10 bits se me queda corto de resulucion, no se a que te refieres con lo de que me lo tengo que leer, dime donde para leermelo. Gracias y si puedes se un poco mas preciso.


----------



## Moyano Jonathan (Dic 23, 2008)

leer como es el protocolo de comunicación serial , creo que vienen convertidores AD de 12 bits que tienen comunicación i2c o spi. esperame y te averiguo.


----------



## igua (Dic 24, 2008)

Venga he mirado en que rango de tension que me voy a mover y la resolucion y puede ser que si me valga el de 10 bit pero tiene que ir de 1 a 5 Vcc.
Creo que el otro circuito que me hace falta es un multiplexor, si es que se llama asi un conmutador electronico por un reloj. Por ahora este ultimo puede ser de 3 entradas, pero luego, si todo funciona igual tengo que ampliar la circuiteria para que sea compatible para varias convinaciones, me explico:

1ª convinacion:  3 entradas analogicas a un "multiplexor" -> converitidor A/D -> controladora Rs232

2ª convinacion: Igual que el 1º pero con 2 entradas analogicas (hasta el convertidor) + (en otro circuito) 6 entradas analogicas ya convertidas  a digital(ya que la distancia de un circuito a otro es de unos 8 mts). y luego todo ello a la controladora RS232 que esta en el 1º circuito.

Gracias.


----------



## Moyano Jonathan (Dic 24, 2008)

No te va a hacer falta un multiplexor para las entradas ya que el converor ad va a ser el pic (si te decidis a utilizarlo). Luego por software elegís la entrada analógica seleccionada, tomás el valor y lo guardas en una variable que podés mandar por rs232 o usb emulando rs232.
El tema de la distancia no lo entiendo. Cada elemento a medir está a ocho metros o son ocho metros de cable entre el convertidor y rs232?


----------



## igua (Dic 24, 2008)

te explico, tengo que coger la tension de unos sensores (2 o 3) los sensores que me venden va de 1 a 5 Vcc, hasta ahi se puede hacer con el pic, lo que no se si se puede hacer con el pic es lo siguiente.
por un lado tenemos el circuito de 2 sensores analogicos y por otro, otro circuito con 6 sensores totalmente diferentes a los primeros, este segundo circuito ya convierte la señal de los 6 sensores en digital porque va a estar alejado del primero y pueden afectarle las señales elctromagneticas (estamos hablando que de 1 a 5 Vcc vamos a meter 1024 escalones de tension eso son golpes de 3,9 mV creo)
Pero bueno es es en un segundo caso que solo hay que tener en cuenta. Ademas me valdria que el pic tubiera tambien entra o entradas digitales.

Por otro lado la programacion me gustaria hacerla en java ya que todo esto lo quiero procesar en un telefono movil via bluetooth, e ahi otro problema no se si el pic puede trabajar con java.

Estoy pateandome por internet a ver si encuentro o un convertidor 10 bit de 1 a 5 v o un convertidor 10 bit con tension de entrada programable, o lo que es mejor que me valga el pic que valla a 10 bit con esa tension o que se pueda programar, que por lo poco que he visto si se puede programar.
¿sabeis decirme algo de esto?
muchas gracias


----------



## Moyano Jonathan (Dic 24, 2008)

Los PIC se pueden programar en C,asm,basic,ladder,pascal y otros que no conosco.. he escuchado de compiladores de java para pic´s pero nunca he visto programa alguno. El pic18f4550 viene con 13 entradas de 10 bits y 22 entradas/salidas digitales.
El pic tambien le podes programar la tensión de entrada analógica. Esta tensión de referencia la podés programar mediante soft y unos pines especiales que tiene para dicha tarea.

los sensores mientras su salida sea de 1 a 5 volts no hay problema de conectarlo al pic.


----------



## igua (Dic 26, 2008)

Valiosa tu información, ahora solo queda que pueda rular sobre un telefono movil. Muchas cosas voy a tener que aprender, java, la programacion pic. Bueno es un reto bonito.
Al final lo que quiero es esto:


entradas analogicas -> "micro pic" rs232 -> bluetooth rs232 -> . . . .   -> telefono movil

voy a investigar un poco por ahi. Ah no se como andara de precios ese pic, pero lo veo un poco grande para mi con 3 entradas analogicas 10 bits y 6 digitales 10 bits me podria valer.
Estamos en contacto colega.


----------



## Moyano Jonathan (Dic 26, 2008)

si , el pic que necesitarías estaría mas o menos en los u$s 12, cuya designación es pic18f4550 tiene 13 entradas analógicas 22 digitales.


----------



## Gradmaster (Dic 26, 2008)

Si te hacen falta Bits de resolucion microchip tiene pic's de 8 entradas A/D de 12 bits el unico problema no se cual sea la velocidad a la que pretendes adquirir tu señal, por que con el pic solo hara un muestreo cada 16us.

exito.


----------



## igua (Dic 26, 2008)

creo que con un pic16f? me valdria ¿no?


----------



## Moyano Jonathan (Dic 26, 2008)

si te valdría pero tenés menos memoria , si tu programa no ocupa mucha memoria y no es demasiado extenso puedes usar por ejemplo un pic16f877


----------



## igua (Dic 27, 2008)

a ver, he estado mirando por ahi y el pic primero hay que programarlo, me surge una pregunta de ahi, ¿se puede programar mas de una vez? me imagino que si lleva una eprom, no se podria,pero si lleva una e2prom si se podria reprogramar. Bueno despues de programarlo, que por lo visto se puede hacer en varios lenguajes, ¿este pic podria rular sobre java en un telefono movil? y por ahora lo ultimo, segun lo que yo pienso que seguro que me equivoco solo me haria falta una tabla de equivalencias me explico:


decirle al pic que me diferncie cada una de las entradas tanto analogicas como digitales, asi nombrarlas a cada una

1ª entrada analogica: int 0 = 000 

2ª entrada analogica: int 1 = 001

3ª entrada analogica: int 2 = 010 ah esta que se pueda cambiar por una digital segun necesidades

4ª entrada digital: int 3 = 011

5ª entrada digital: int 4 = 100

6ª entrada digital: int 5 = 101

7ª entrada digital: int 6 = 110

8ª entrada digital: int 7 = 111

luego o antes tendria que dar los valores de la conversion, asi cuando tenga:

10 bits :  de 0000000000 a 1111111111 me de de 0 a 1023 en cada una de las entradas y trabajar con esos valores en java de 0 a 1023 sumar restar dividir multiplicar e imprimir los resultados en la pantalla del movil a tiempo real. (es decir que cambie cuando cambie los valores).

Si esto es posible en java para moviles con esto me conformo, no necesito complejas comunicaciones.
No se si me he explicado igual me estoy complicando.
Gracias.


----------



## Moyano Jonathan (Dic 27, 2008)

1° - Los PIC vienen con memoria FLASH, en el caso del PIC16F877 viene con 8k de memoria.
2° - Las entradas/salidas tanto analógicas como digitales son totalmente configurables, tanto al principio del programa como en tiempo de ejecución.
3° - La cantidad de bits de resolución de la conversión AD se configura con los SFR del pic.
4° - El pic puede trabajar con funciones matemáticas.


----------

