Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

08/07/2012 #21

Avatar de carlitosferar

F A N T A S T I CO ! ! !


Un millón de gracias es exactamente lo que pretendía hacer.
Ahora son las 2 de la mañana pero no pude resistirme a abrirlo.
No tenía ni idea de esa manera de tx el estado de los puertos (que burro soy)
Mañana me dedico a estudiar toooodos mis errores.
Y a aprender como se hace correctamente.

Como siempre los comentarios de linea son excelentes y con absoluto sentido didáctico.
De nuevo Infinitas Gracias .

Un Cordial Saludo desde el otro lado del charco.
11/07/2012 #22

Avatar de carlitosferar

Hola:
Por temas ajenos no lo puedo armar hasta dentro de 15 dias, y no me parece correcto dejar pasar tanto tiempo para dar parte:
 
1*_ Agradecimiento: Jamás hubiese encontrado el error sin la ayuda de D@rkbytes
(Programa + Simulación) Dado que el error estaba precisamente en la simulación.
Y lo expongo, por si alguien como yo, va a pelo por internet, sin maestro, profesor ,
colega, conocido o pariente…....y quiere hacer dos Tx simultaneas, es probable: Que le
pase lo mismo:
No es suficiente determinar y especificar la segunda Tx en el programa, tambien hay
que hacerlo en la simulación; allí estaba la madre del borrego y por eso entraban
en conflicto. (Casulamente se ve en las imagenes que había puesto anteriormente).

2*_ Ahora trabajando sobre el poy. de D@rkbytes.

a*_ Falla siempre la primera Tx al slave (Solo la primera). He probado mandar algo
antes o después del inicio, he mandado 0s, 1nos, el puerto b completo pero las
ignora. He cambiado las pausas y darle mas tiempo al slave pero todavía no logro
solucionarlo. Por eso quería armarlo no sea que fuese también problema de
simulación.

b*_ No me permite cambiar ni la oscilación del xtal , ni la velocidad de Tx .
Directamente deja de funcionar, como si tuviese copyright . He leído que 10 MHz
es lo recomendable para Tx RF, pero era solo para ejercitar.

Bueno, he recuperado las ganas que ya es mucho, en cuanto lo arme comento,
será lo primero después de un buen tiempo en huelga de soldadores caídos.

Un Saludo y Muchas Gracias.
11/07/2012 #23
Moderador

Avatar de D@rkbytes

Saludos nuevamente carlitosferar.
carlitosferar dijo: Ver Mensaje
1*_ Agradecimiento: Jamás hubiese encontrado el error sin la ayuda de D@rkbytes
(Programa + Simulación) Dado que el error estaba precisamente en la simulación.
Y lo expongo, por si alguien como yo, va a pelo por internet, sin maestro, profesor ,
colega, conocido o pariente…....y quiere hacer dos Tx simultaneas, es probable: Que le
pase lo mismo
Pues de nada, que bueno que te sirvió el proyecto.
Hay veces que un programa no funciona debido a errores de hardware por mal diseño.
carlitosferar dijo: Ver Mensaje
2*_ Ahora trabajando sobre el poy. de D@rkbytes.

a*_ Falla siempre la primera Tx al slave (Solo la primera). He probado mandar algo
antes o después del inicio, he mandado 0s, 1nos, el puerto b completo pero las
ignora. He cambiado las pausas y darle mas tiempo al slave pero todavía no logro
solucionarlo. Por eso quería armarlo no sea que fuese también problema de simulación.
Esta causa tampoco la pude solucionar, intente de varias formas pero no se dejó.
Lo que si noté es que a veces al iniciar el programa, funciona normalmente y otras no.
Y si, el primer envío de datos es el que no es bien reconocido o simplemente no lo acepta.
Lo bueno es que solamente es el primero, los consecutivos no tuvieron problemas.
carlitosferar dijo: Ver Mensaje
b*_ No me permite cambiar ni la oscilación del xtal , ni la velocidad de Tx .
Directamente deja de funcionar, como si tuviese copyright . He leído que 10 MHz
es lo recomendable para Tx RF, pero era solo para ejercitar.
Pues no tiene copyright... Por el momento. "No lo tendrá, es un aporte para F.D.E"
Si se puede cambiar tanto la selección de oscilador como la velocidad de Tx/Rx
Algo debes de estar haciendo mal en la programación.
O tienes que verificar que en la interfaz también hayas actualizado los parámetros.
Puedes trabajar con el oscilador interno del 16F628A a 4MHz, pero recomendable solo a 2400 bps.
carlitosferar dijo: Ver Mensaje
Bueno, he recuperado las ganas que ya es mucho, en cuanto lo arme comento,
será lo primero después de un buen tiempo en huelga de soldadores caídos.

Un Saludo y Muchas Gracias.
OK. Esperamos los resultados, esperando que todo funcione bien y logres corregir errores.

Suerte y hasta luego.
09/08/2012 #24
Moderador

Avatar de D@rkbytes

Termómetro RS232 con sensor DS18B20
Saludos.
Después de algún tiempo de esperar a que surtieran el sensor DS18B20 por fin lo conseguí.
Implemente un sistema sencillo de prueba, con un LCD 16x2 y transmisión de datos via puerto serie.
El PIC que utilice fue un 16F628A configurado con oscilador interno (4MHz),
y un solo transistor BC548 para la adaptación de niveles RS232 del puerto serie.

El programa está escrito en PICBasic Pro y simulado en Proteus.
La interfaz para leer los datos en la PC está escrito en VB6, y es similar a la usada para el LM35

Características:
.- La transmisión de datos se realiza mediante el módulo USART del PIC a 9600bps.
.- El sistema es muy estable y con una granularidad de .5°
.- El programa también puede leer la temperatura negativa.
.- La temperatura es mostrada en grados centígrados en un LCD 16x2 (Use un JHD 162A)
.- La temperatura en mostrada en grados centígrados y grados Fahrenheit en la interfaz.
.- Cuenta con aviso de desconexión del sensor (Solo por LCD)

El sistema es una base piloto que puede servir para otros proyectos.
Y solo se implementaron los comandos básicos de inicialización y conversión de temperatura.
Incluyo los programas, esquema y simulación.

Espero sea de utilidad.

Suerte y hasta luego.
Archivos Adjuntos
Tipo de Archivo: rar Termómetro RS232 DS18B20.rar (69,8 KB (Kilobytes), 265 visitas)
09/08/2012 #25

Avatar de Meta

Hacerlo en ASM es cosas de pegarte media vida, pero lo haces. En cuando al a programar PBP, por qué ese lenguaje si el C es ESTANDAR y puedes meterte con más microcntroladores diferentes casi sin problemas como AVR, FreeScale, Rabbit, PIC, ARM, etc?

Por cierto, buen trabajo.
09/08/2012 #26
Moderador

Avatar de D@rkbytes

Meta dijo: Ver Mensaje
Hacerlo en ASM es cosas de pegarte media vida, pero lo haces. En cuando al a programar PBP, por qué ese lenguaje si el C es ESTANDAR y puedes meterte con más microcntroladores diferentes casi sin problemas como AVR, FreeScale, Rabbit, PIC, ARM, etc?

Por cierto, buen trabajo.
Gracias Meta.
Así es, hacerlo en ensamblador se llevaría mucho tiempo y varias librerías.
Hacerlo en C, de todos modos es hacerlo en lenguaje de alto nivel. Y solo tengo PICs.

Como ya tenia la base para PBP, pues solo me dedique a realizar las adaptaciones para el DS18B20
Que por cierto, es diferente al DS18S20. (Yo pensé que eran iguales, pero no.)
También lo empecé a escribir en C, pero hace tiempo tuve problemas con la librería LCD.C,
y deje el programa sin terminar. Ahora ya tengo ese caso resuelto,
y me daré un tiempo para retomar el programa.

Hasta luego.
09/08/2012 #27

Avatar de Meta

Entendido.
Tengo el DS1820. Algo recuerdo que entre uno y otro varía los tiempos, es decir, lo que tarda en leer la temperatura.

Saludo.
10/08/2012 #28
Moderador

Avatar de D@rkbytes

Meta dijo: Ver Mensaje
Entendido.
Tengo el DS1820. Algo recuerdo que entre uno y otro varía los tiempos, es decir, lo que tarda en leer la temperatura.

Saludo.
Me parece que los tiempos de lectura son los mismos.
Lo que cambia es la forma de leer los bits, ya que tienen diferente resolución.
Aquí el enlace con la información de las diferencias. Differences Between the Two Devices
Busque información del DS1820 y me aparece en la hoja de datos, que es igual al DS18S20.

Me pasó que al leer el DS18B20 a una temperatura de 27°C, me marcaba 216°C
Para resolver eso, dividí el resultado entre 8 y asunto arreglado.
Así qué el programa puede funcionar para los dos sensores, haciendo ese cambio.

Con respecto al programa en C, ya lo termine.
Utilice una librería GNU que ya hace todo el proceso de lectura y escritura 1-Wire
También use una librería para el LCD que esta diseñada para trabajar con LCD 16x4 Flex_LCD416
pero funciona sobre LCD 16x2 de manera muy eficaz y es fácilmente modificable.

Adjunto el proyecto completo en PICC para PCWHD de CCS

Saludos.
Archivos Adjuntos
Tipo de Archivo: rar 16F628A DS18B20 PCWHD.rar (71,2 KB (Kilobytes), 161 visitas)
Tipo de Archivo: rar 16F628A DS18B20 RS-232 II.rar (163,8 KB (Kilobytes), 75 visitas)
24/08/2012 #29

Avatar de carlitosferar

Hola: Ha pasado tanto tiempo que esto va a quedar como off-topic.
Solo comentar que no escribí antes, no por descortés si no por bruto, ya que me fue imposible hacer funcionar los módulos RF. El máster funciona a la perfección pero “ Il figlio e morto”.
En cuanto logre algún resultado comento.
Un Saludo.
Imágenes Adjuntas
Tipo de Archivo: jpg M-S 01.JPG (64,2 KB (Kilobytes), 81 visitas)
Tipo de Archivo: jpg M-S_02.JPG (87,6 KB (Kilobytes), 69 visitas)
24/08/2012 #30
Moderador

Avatar de D@rkbytes

Saludos nuevamente carlitosferar
carlitosferar dijo: Ver Mensaje
Ha pasado tanto tiempo que esto va a quedar como off-topic.
Seguimos dentro del tema, no te preocupes.
carlitosferar dijo: Ver Mensaje
Solo comentar que no escribí antes,
no por descortés si no por bruto
, ya que me fue imposible hacer funcionar los módulos RF.

carlitosferar dijo: Ver Mensaje
El máster funciona a la perfección pero “ Il figlio e morto”.
Posiblemente algo estas pasando por alto. Espero pronto des con la falla.
carlitosferar dijo: Ver Mensaje
En cuanto logre algún resultado comento.
Un Saludo.
OK. Por lo que veo ya llevas bastante avanzado el proyecto.

Te deseo suerte.
24/08/2012 #31

Avatar de carlitosferar

Gracias D@rk. Siempre al pie del cañón.
Un cordial Saludo
01/09/2012 #32

Avatar de carlitosferar

3 meses para prender un led, buen promedio NO?, voy como una moto.

He logrado que el bello durmiente abra los ojos. Trataré de contar mi experiencia en forma rápida.

1er pregunta: Por qué demonios no lograba comunicación entre pics, ni siquiera cableado?????
Respuesta: La velocidad. Primer despertar del led al bajar la velocidad a 1200 baudios. Solo entre pics ...No con en el PC.(Estoy trabajando con Osc 10MHz).

2da pregunta y gran descubrimiento: Volviendo a estudiar y montar la comunicación pic a pic, ratifico que los módulos funcionan y los circuitos también. Pongo los dos programas en pantalla para compararlos y aparece la gran diferencia. El la comunicación pic-pic solo se tx el estado de un bit y en el otro (motivo de toda esta historia) pretendíamos mandar el puerto B en su totalidad.
Por lo tanto concluyo : Estos modulitos no son capaces de tx tanta información y mucho menos de forma segura. (son para llaveros que uno los pude gatillar 100 veces hasta que emiten la señal deseada.

Bien; a menos velocidad,y transmitiendo un solo bit logré comunicación RF y Distancia.

Pero los resultados eran erráticos y nada fiables. Y lo mas grave: Un solo bit.

Otro gran problema es que en la simulación todo funciona pero en la práctica (en este caso en particular) NADA funcionaba.

Bien como con esto llevo meses , solo comento lo mas anegdótico.

He aprovechando también otro aporte tuyo
http://www.forosdeelectronica.com/f26/tutorial-microcode-studio-pro-usarlo-62636/#post559677

Y lamento Dark pero para que este bicho funcione con mis modestísimos conocimiento, he transformado tu bella “Sirenita” de 2 lineas en un “Portero de discoteca” . Que ademas de largo (Para lo que hace) es L E N T I I I C I M O.
Pero es verdaderamente fiable, ya que el objetivo final (quien sabe cuando) será usarlo vía Internet.
Probado en casa, unos 10 metros y efectividad del 100%.

Dejo una foto durante las pruebas con las placas "Cableadas" se ven los módulos RF desconectados. La proto con la prueba pic a pic se colo en la foto.

Un Gran Saludo y mil gracias por la invalorable ayuda. Ah gracias también por recomendarme MicroCode lejos mejor que MPL.
Seguiré informando avances (Si los hay).
Imágenes Adjuntas
Tipo de Archivo: jpg IMGP0118.JPG (93,9 KB (Kilobytes), 65 visitas)
Archivos Adjuntos
Tipo de Archivo: rar DARK MODIFICADA -10.rar (7,9 KB (Kilobytes), 117 visitas)
23/09/2012 #33


hola D@rkbytes.

Quisiera que me ayudara con un tema de como recepcionar una trama enviada desde un terminal de pesaje (balanza), en el hiperterminal me entrega esta trama
y estos otros datos son en hexadecimal , decimal,


espero de su ayuda gracias.
24/09/2012 #34
Moderador

Avatar de D@rkbytes

jmanuelxd dijo: Ver Mensaje
hola D@rkbytes.

Quisiera que me ayudara con un tema de como recepcionar una trama enviada desde un terminal de pesaje (balanza), en el hiperterminal me entrega esta trama http://plus.google.com/photos/113100...57146377535825
y estos otros datos son en hexadecimal , decimal,
https://plus.google.com/photos/11310...57035467711489

espero de su ayuda gracias.
¿Tendrás algún ejemplo? Ya que los enlaces que pones me dirigen a iniciar sesión en Google
y no se puede ver ninguna foto.

PD. Adjunta tu proyecto aquí mismo en el foro, para poderlo ver.

Saludos.
24/09/2012 #35

Avatar de carlitosferar

Hola: Gracias por los cumplidos.
Dejo unas fotos (Ya va tomando forma)
Saludos.

Pd1: En el espacio que queda iran 4 relay .
PD2: El miseria no quiso ni cortarle los cables a los trafos.
Imágenes Adjuntas
Tipo de Archivo: jpg ms_001.JPG (150,2 KB (Kilobytes), 58 visitas)
Tipo de Archivo: jpg ms_002.JPG (143,3 KB (Kilobytes), 60 visitas)
Tipo de Archivo: jpg ms_003.JPG (140,8 KB (Kilobytes), 56 visitas)
25/09/2012 #36


recepciona una trama en el pic rs232
hola D@rkbytes

Acá te adjunto las imágenes de lo que estoy tratando de recepcionar los datos que me entrega la balanza

gracias manuel.
Imágenes Adjuntas
Tipo de Archivo: jpg 12.JPG (107,3 KB (Kilobytes), 57 visitas)
Tipo de Archivo: jpg 11.JPG (65,7 KB (Kilobytes), 43 visitas)
26/09/2012 #37
Moderador

Avatar de D@rkbytes

jmanuelxd dijo: Ver Mensaje
hola D@rkbytes

Acá te adjunto las imágenes de lo que estoy tratando de recepcionar los datos que me entrega la balanza

gracias manuel.
A ver si es esto más o menos lo que estas buscando.
Supongamos que la trama de la balanza es como esto: @-0 36786 0000
Entonces utilizamos esta instrucción...

HSERIN 1000,MainProgram,[Skip 5,STR Datos\5]
; Si en 1 segundo (1000mS) no se reciben datos, regresa a la etiqueta MainProgram
; Salta 5 caracteres y recibe los siguientes 5, que los almacena dentro de una matriz de 5 datos.

El problema con este algoritmo, es que siempre tiene que haber 5 caracteres,
después de saltar los primeros 5. De otra forma, no son tomados en cuenta.
Pero como veo que después del peso, siguen otros más "Los espacios cuentan", puede funcionar.

Y para mostrar el resultado, haces por ejemplo...
LCDOUT $FE,$1,"Peso:"
LCDOUT $FE,$C0,Datos[0],Datos[1],Datos[2],Datos[3],Datos[4],"Kg."


Al hacer uso de este método, se logra lo que se ve en la imagen adjunta.

Espero que esto sea lo que estas buscando.
Haz tu programa, y en lo que tengas duda, consultas.

Suerte.
Imágenes Adjuntas
Tipo de Archivo: gif Balanza.gif (30,0 KB (Kilobytes), 124 visitas)
26/09/2012 #38


con el programa que estoy editando es en pic simulator ide y en la sintaxis tengo el problema.
he editado en pic simulator ide lo siguiente:

Código:
AllDigital
TRISC = 0
Dim data As Word
Dim space As Word
Dim dec As Word
Dim unid As Word
Dim dot As Word
Dim milsm As Word
Dim centsm As Word
Dim decm As Word

loop:
Serin RC7, 9600, data          'leo el 1 dato y lo guerdo en el registro data
    If data = 0x6b Then     'pregunto por el 1 dato leido 'k'
WaitMs 10                          'espero los 10
WaitUs 400                          'datos que son esos espaciops leidos
Endif

Serin RC7, 9600, space          'vuelvo a leer el 11 dato
    If space = 0x20 Then            'pregunto por el espacio q esta delant del valor del peso
Serin RC7, 9600, dec              'si leo el espacio, lee la decena del valor del peso
Serin RC7, 9600, unid      'leo la unid y la guardo
Serin RC7, 9600, dot       '  .
Serin RC7, 9600, milsm0   '  .
Serin RC7, 9600, centsm  '  .
Serin RC7, 9600, decm     'leo la decima y lo guardo
Endif

Goto loop

End
26/09/2012 #39
Moderador

Avatar de D@rkbytes

jmanuelxd dijo: Ver Mensaje
con el programa que estoy editando es en pic simulator ide y en la sintaxis tengo el problema.
Saludos.
Me parece que hacerlo con el PIC Simulator IDE va a resultar algo complejo de lograrlo.
Te recomiendo que uses PICBasic Pro o Proton que tienen un set más amplio de instrucciones.

Adjunto el programa en PBP que realice para mostrar el ejemplo que cite anteriormente.

Suerte.
Archivos Adjuntos
Tipo de Archivo: rar Balanza.rar (17,9 KB (Kilobytes), 138 visitas)
31/10/2012 #40


D@rkbytes
Saludos, gracias por el gran aporte que has hecho, tengo varias duda:
* es posible trabajar el asm del primer ejemplo que has colocado a 8 mhz
* los datos enviados en formato hexadecimal desde visual basic lo puedo grabar en una eeprom 24lc256(son aproximadente 1200 datos) como puedo hacer que esos datos en hexadecimal se graben en la eeprom
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.