TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: siniestro en 08 de Septiembre de 2014, 14:55:04
-
Buen dia amigos, nuevamente molestando con una consulta:
Estoy realizando una transmision de datos provenientes de un sensor DHT11 (humedad y temperatura) hacia una computadara, para ello estoy utilizando un modulo conversor RS-232 a TTL usando un Max 232 y la instruccion
serout PORTB.7, T9600,["Humedad: ", #hum," %",10]
como uso una laptop estoy usando un conversor USB a puerto COM (serial, DB9)
http://www.abcelectronica.net/productos/conversores/
El modulo lo fabrique yo mismo mi duda es que en la misma pagina venden otro tipo de modulo adaptador con el nombre "Conversor USB a UART TTL Serial CP2102"
http://www.abcelectronica.net/productos/conversores/conve2/
con el MAX232 tengo las siguientes conexiones GND, 5+, Tx y Rx y veo que este tiene 3.3V, RST, TXD, RXD, GND y 5V
¿Podria usar este modulo en lugar del que yo fabriqué? y asi evitar:
PIC --->Modulo Max232 --->Cable conversor RS-232 a USB --->PC
y solo usar
PIC --->Conversor USB a UART TTL Serial CP2102--->PC
y seguir usando la instruccion SEROUT.
Gracias por su apoyo
-
Si!, podes; la idea de esa cosa es que te olvides del MAX y hasta unos miliamper en 5v (3,3v) es capaz de entregarte... funcionanra como tu cable rs232 siempre y cuando no le pidas cosas esotericas, como emplearlo de programador serial.
-
Gracias AleSergi , aunque siempre que quedan algunas dudas:
Solo es de reemplazar entonces??? pero que hay con los dos voltajes que menciona en sus pines? 3.3 y 5
¿Necesita dos? o al igual a otros modulos solo son dos formas de alimentarlo segun la funte con que disponga?
y el RST???? lo podria solamente dejar sin conectar y aprovechar GND, 5V, Tx y Rx?
Estuve viendo la hoja de datos del CI que usa CP2102 y ahi solo aparece la alimentacion de 3.3 y ese integrado convierte de RS232 a USB , entonces sigue llevando un adaptador tipo MAX232 imagino para convertir el TTL a RS232
Les muestro mi modulo MAX232, le puse empeño :D
-
Se usa un MAX232 cuando existe fisicamente en el pc un puerto serie para adaptar los niveles de voltaje desde/hacia el PC. Si ya dispones de un conversor USB-serial , este crea un puerto COM virtual en el PC. Asi que puedes conectar pic----conversor USB-SERIAL--pc y las funciones para el manejo del serial son las mismas.
-
Gracias jhozate
Conversor USB-serial , este crea un puerto COM virtual en el PC. Asi que puedes conectar pic----conversor USB-SERIAL--pcEl estandar USB es serial de por si (universal Serial Bus) asi que siempre me queda la duda, yo se que tanto el cable que yo estoy usando, como el Conversor USB a UART TTL Serial CP2102 crean un puerto COM Virtual, mi duda es que si por el hecho de decir que es TTL lo puedo conectar directo al PIC, Rx y Tx pero como tiene dos pines de voltaje 3.3v y 5v, cual debo usar?? y el RST???? lo podria solamente dejar sin conectar y aprovechar GND, 5V, Tx y Rx?
-
el modulo funciona apenas lo conectas al USB.
Los pines de 3.3v y 5v estan habilitados por si quieres usarlos como fuente de alimentación para algún circuito. por supuesto, no podrás pedir de ahi poco mas de unos 500mA. Mejor usar una fuente externa para tus circuitos y te evitas cargarte el puerto de tu pc. El RST puedes dejarlo sin conexion.
-
Muchas gracias por tu respuesta jhozate
el modulo funciona apenas lo conectas al USB.
Los pines de 3.3v y 5v estan habilitados por si quieres usarlos como fuente de alimentación para algún circuito. por supuesto, no podrás pedir de ahi mas de unos 500mA. Mejor usar una fuente externa para tus circuitos. El RST puedes dejarlo sin conexion.
Entonces solo basta conectar el GND del modulo al GND del Circuito PIC, Tx y Rx del PIC y listo :) , ¿ Entonces Seria un error si conecto el Pin de 5Volt a los 5volts con que alimento al PIC?
-
Si, solo TX RX y GND.
mejor no los juntes :mrgreen:
-
Muchisimas Gracias jhozate , compraré el modulo entonces, cuando ya lo tenga funcionando lo muestro aqui mismo, gracias nuevamente. No se como no vi ese modulo antes, vale menos de la mitad de lo que gaste en el modulo MAX232 y el cable para puerto COM virtual. . al estar operativo pondre esta publicacion como resuelta y postearé mi trabajo
-
Compre el modulo y procedi a probarlo, instalé el driver y lo conecte, me lo reconocio y le asigno puerto COM8, tome la linea GND y la conecte a mi protoboard y
la linea Tx del PIC ( PORTB.7) al Tx de mi modulo, encendí todo y abri hyperterminal, el modulo empezó a destellar el LED Tx que es azul, el Hyperterminal me reconocio el puerto y cree la conexion, configure la velocidad en Baudios y no paso nada :( no recibe datos mi PC, para descartar la programacion conecte mi modulo MAX232 y el cable conversor d USB a puerto serial y realice el mismo procedimiento pero en este caso si recibo los datos en el PC, no se que pasa, que hice mal :( , no creo que haya confundido Tx y Rx del modulo porque el LED Tx del modulo destella, solo tiene dos, el de POWER y Tx. No entiendo que pasa.
El codigo que use para proba es:
include "modedefs.bas"
Valor VAR WORD
ADCON0=%11000001 'oscilador RC interno para conversion
ADCON1=%10000000 'justifico a la derecha
TRISA=%00000001
PAUSE 200
LOOP
ADCIN 0,vALOR
PAUSE 100
vALOR.HIGHBYTE=ADRESH
VALOR.LOWBYTE=ADRESL
serout PORTB.7, T9600,["Analogo= ",#Valor,10,13]
serout PORTB.7, T9600,[13]
PAUSE 1000
GOTO LOOP
Descarto codigo porque con el modulo max232 funciona
-
la conexión debe ser:
El pin TX modulo ------pin RX del micro
El pin RX modulo ------pin TX del micro
-
Gracias Amigo, esa fue la solucion. El tema de los Rx y Tx siempre me ha causado confusion. entiendo bien que uno trasmite(Rx) y otro transmite (Tx) pero a veces los modulos estan marcados "al revez" .. por ejemplo: Tengo un modulo comercial con un Max232. En mi PIC uso la instruccion SEROUT en el pin RB.7 por lo tanto para mi ese es mi Rx desde el micro. Cuando conecto el modulo Max232 en sus pines esta marcado 5+ TxD RxD Gnd supondria entonces que deberia conectar mi Tx del PIC al Rx del modulo pero esto no es asi, yo conecto Tx del PIC al Tx del modulo y asi funciona o.O interesante no???? desde hace mucho tiempo me di cuenta que a los fabricantes no se ponen de acuerdo al marcar esos pines y aparecen dos casos donde:
Rx = pin que recibe los datos desde el dispositivo segundario
Tx = pin que transmite los datos hacia el dispositivo segundario
como el caso de mi adaptador USB a UART TTL
y el segundo caso:
Tx = pin que recibe los datos desde el dispositivo segundario
Rx = pin que transmite los datos hacia el dispositivo segundario
mi otro modulo con MAX232 aunque en en ese caso particular la "D" de TxD quiza sea de "Device" :) pero aun asi si he encontrado esa curiosidad, e incluso en otros foros y con otros dispositivos hablan de ello (recuerdo una discusion sobre un modulo Bluetooth que particularmente su Tx debia conectarse al Tx del PIC)
Lo curioso es que, sabiendo esto hice el cruce de cables y no recibi nada, quiza espere muy poco tiempo o debi reiniciar lo conexion. Ahora ya no importa eso, lo importante es que funciona perfecto. Estoy muy agredecido por su apoyo. El modulo eta funcionando aunque no tiene lucesita del Tx :( y si le pongo un led al puerto se mantiene siempre encendido con luz tenue y aumeNta el brillo cada vez que envia algo. .
PS. Viendo mi modulo conversor USB a USART, tambien tiene los pines marcados como TxD y RxD por lo que mi idea de que la D signifique "Device" no va al caso
-
:mrgreen: eso de confundir los pines nos ha pasado a todos alguna vez, es normal.
El mio tambien viene con la "D" , yo lo miro desde el conversor, si en el pin de el dice "RX", es que ese es el RX del conversor.
;-)
-
Jajaj se, siempre hay confusiones pero siempre me desconcierta:
Tx PIC --> TxD Modulo Max RS232
Tx PIC --> RxD Modulo USB a USART TTL
Y asi funcionan mis modulos :shock:
Gracias a Dios que no se dañan por cruzar los cables.
Todo seria mas facil si en lugar de Rx y Tx tuviesen una flechita indicando el flujo de datos (como en mi modulo casero:lol: )
Gracias jhozate, dare por solucionado el POST