Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

06/06/2012 #2101

Avatar de Nano24

Darkbytes dijo: Ver Mensaje
En el ejemplo USB_Test.rar que adjunte viene como hacer eso.
El programa que se adjunta en VB6 es la interfaz, y el diseño de prueba es el *.DSN de PROTEUS.

Suerte.
Muchas gracias Darkbytes, tendré que ojear muy bien el proyecto de prueba que adjuntaste porque la verdad para ser el inicio lo hiciste muy complejo, no lo entiendo nada pero bueno te agradezco mucho el aporte porque por fin pude solucionar el problema para compilar.
06/06/2012 #2102

Avatar de torres.electronico

megatecpower dijo: Ver Mensaje
...por cierto como es eso de triac activo
El triac tiene una arquitectura interna por la cual se lo puede diferenciar en dos tipos; Se lo llama activo a todo aquel que tenga internamente el detector por cruce por cero, y pasivo, al que estas implementando justo en este momento... Date una vuelta por el buscador del foro, hay un par de temas que explican detalladamente como es el funcionamiento del triac, y como controlarlo tambien
Te doy un consejo? cuidado por que estas jugando con tensiones peligrosas para tu salud... no valla a seer cosa que por no leer primero, mañana no me puedas responder este mensaje

PD: Si no desacoplas bien el triac del pic, vas a seguir presentando problemas de reinicio o peor aun... quizas te qeudes sin pic ...
06/06/2012 #2103

Avatar de J2C

Torres.electronico

Tendrias alguna Datasheet de ejemplo de esos triac's activos, así no quedan dudas para nadie. Por que puede suceder que no los consigamos comercialmente!.

Por que en definitiva son todas variantes del Triac como por ejemplo los que son SnubberLess (según ST) y los Alternistores (según Littelfuse) que son exactamente iguales.



Saludos, JuanKa.-

P.D.: Creo/noto que de esta manera estamos confundiendo más a quienes no tienen los conocimientos que nosotros llegamos a adquirir con estudio o experiencia.
06/06/2012 #2104

Avatar de megatecpower

ok aunque llego tarde el consejo porque ya me dio una sacudida y casi quedo pegado jaja... pero podrias mencionar algun tipo de triac activo para buscarlo?
07/06/2012 #2105

Avatar de torres.electronico

megatecpower dijo: Ver Mensaje
ok aunque llego tarde el consejo porque ya me dio una sacudida y casi quedo pegado jaja... pero podrias mencionar algun tipo de triac activo para buscarlo?
jajaja, tene cuidado que esto no perdona... a ver... vamos nuevamente... tenemos dos tipos de triacs... uno es el que requiere el disparo para conducir, y el otro, tansolo requiere de una señal presente para que funcione... Al primero se los denomina pasivos y al segundo activo... aca te dejo un archivo del foro donde ejemplifican como elaborar un relay de estado solido... basicamente, es lo que tenes que implementar vos en tu circuito para no tener que jugar en tu programa del pic, la deteccion del pasaje por cero...

http://www.forosdeelectronica.com/at...6&d=1268141129

J2C dijo: Ver Mensaje
...P.D.: Creo/noto que de esta manera estamos confundiendo más a quienes no tienen los conocimientos que nosotros llegamos a adquirir con estudio o experiencia.
:enfadado: No, yo creo o noto que estas tratando de confundir vos a las personas... :enfadado:
Por que no implementas google o simplemente, buscas libros sobre semiconductores? Yo realmente no tengo ganas de dar catedra ni de salirme de tema para que despues sean borrado los comentarios...
Yo hasta ahora, no te vi aportar nada en el topico referente al tema, solo note un grado de interes en generar mas offtopic, que otra cosa... Quizas sea mejor que te remitas a leer, aprender y no se... poner quizas la pava en el fuego asi tomamos unos mates? No se, hablamos por el msn, por MP, o por telefono si queres, pero tatemos de no irnos del tema original...
Saludos
07/06/2012 #2106

Avatar de megatecpower

excelente el rele de estado solido pero me gustaria disminuir la cantidad de componentes, , ¿como podria detectar con el pic el cruce por cero para que no siga conduciendo la carga?
07/06/2012 #2107

Avatar de Nano24

Alguien tiene algún ejemplo de como enviar datos de VB a PIC por USB? Es extraño que en Internet no hay ni un ejemplo que le diga a uno como iniciar así sea encendiendo un solo LED, ya tengo todos los programas listo y me compilan y todo, pero no entiendo nada que hacer con esto:

Código:
INCLUDE "USBDEMOdesc.bas"
DEFINE OSC 20          
DEFINE LOADER_USED 1

USBBufferSizeMax   con 8  ' maximum buffer size
USBBufferSizeTX    con 8  ' input 
USBBufferSizeRX    con 8  ' output

' the USB buffer...
USBBuffer        Var Byte[USBBufferSizeMax] 
USBBufferCount   Var Byte 

' ************************************************************
' * main program loop - remember, you must keep the USB      *
' * connection alive with a call to USBService every couple  *
' * of milliseconds or so...                                 *
' ************************************************************
usbinit ' initialise USB...
ProgramStart: 
   GOSUB DoUSBIn
   gosub DoUSBOut
   goto ProgramStart  

' ************************************************************
' * receive data from the USB bus                            *
' ************************************************************
DoUSBIn:
   USBBufferCount = USBBufferSizeRX              ' RX buffer size
   USBService                                    ' keep connection alive
   USBIn 1, USBBuffer, USBBufferCount, DoUSBIn   ' read data, if available
   return
   
' ************************************************************
' * wait for USB interface to attach                         *
' ************************************************************
DoUSBOut:
   USBBufferCount = USBBufferSizeTX              ' TX buffer size
   USBService                                    ' keep connection alive
   USBOut 1, USBBuffer, USBBufferCount, DoUSBOut ' if bus available, transmit data
   return

Por lo menos donde le digo que si recibe un dato "x" desde VB el PIC lo verifique en un bloque IF, THEN, ENDIF ?

Y como autorizo desde VB por ejemplo cree un TextBox y le diga que al ser Tetx1.Text = "x" envie el dato por el USB?

Solo con eso me seria una gran ayuda.
08/06/2012 #2109


Hola que tal, ando usando el convertidos analogico digital del pic, ya elabore un programita, lo que quiero es leer el estado de un potenciometro haciendo un divisor de voltaje con el mismo, y mi resultado visualizarlo a tráves de todo el puerto b con leds. por cierto el pic es el 16f877A


Este es mi programa

Define ADC_BITS 8 ;Numero bits del resultado=10
Define ADC_CLOCK 3 ;fuente del Reloj 3 (3=rc)
Define ADC_SAMPLEUS 50 ;tiempo de muestreo del ADC en useg
Resultado var word ;Historia de la conversion
TRISA = %11111111 ; PORTA configurado como entradas
ADCON1 = %10000010 ; PORTA analog y justificacion del resultado

;Programa Principal
inicio:
ADCIN 0, Resultado ;lee Ra0 y guarda en resultado
Portb=Resultado
goto inicio
end


Pero tengo el gran problema de que no me funciona, alguna sugerencia???
Algun tutorial?? aun no entiendo al 100% como funciona este comando.
salu2
08/06/2012 #2110

Avatar de reyvilla

GoX F4yCk3r DB dijo: Ver Mensaje
Hola que tal, ando usando el convertidos analogico digital del pic, ya elabore un programita, lo que quiero es leer el estado de un potenciometro haciendo un divisor de voltaje con el mismo, y mi resultado visualizarlo a tráves de todo el puerto b con leds. por cierto el pic es el 16f877A


Este es mi programa

Define ADC_BITS 8 ;Numero bits del resultado=10
Define ADC_CLOCK 3 ;fuente del Reloj 3 (3=rc)
Define ADC_SAMPLEUS 50 ;tiempo de muestreo del ADC en useg
Resultado var word ;Historia de la conversion
TRISA = %11111111 ; PORTA configurado como entradas
ADCON1 = %10000010 ; PORTA analog y justificacion del resultado

;Programa Principal
inicio:
ADCIN 0, Resultado ;lee Ra0 y guarda en resultado
Portb=Resultado
goto inicio
end


Pero tengo el gran problema de que no me funciona, alguna sugerencia???
Algun tutorial?? aun no entiendo al 100% como funciona este comando.
salu2
Una sugerencia , si, puedes sube una diagrama para simularlo y ver porque no funciona, de momento todo lo veo bien, ahora, lo unico seria declarar los fuses, y definir la variable como byte, pero asi como esta deberia de funcionar, pero como te digo si tienes una simulacion mucho mejor...
08/06/2012 #2111


Hola que tal gracias por responder, lo tengo simulado en proteus, solo que este es una versión muy vieja muy muy vieja.
bueno dejo adjunto el archivo de proteus y mi archivo en Microcode asi como el Hex.
Archivos Adjuntos
Tipo de Archivo: rar ADC.rar (13,5 KB (Kilobytes), 64 visitas)
08/06/2012 #2112

Avatar de Nano24

chapin dijo: Ver Mensaje
esto te puede ayudar http://www.neoteo.com/conecta-tus-pr...-al-puerto-usb
De verdad que me rindo, me canso eso de tratar de hacer conexiones por USB, son un total fastidio, lleva mucho proceso y es complicadisimo para hacer la comunicacion del PIC con el PC o viceversa, me quedo con el puerto serie, mas rapido y menos complicado.
08/06/2012 #2113


Yo ya he logrado hacer comunicacion en serie con labview via usb...
Si gustas te puedo ayudar.
No es mucho lo que he hecho pero si lo basico y de ahi parte todo
08/06/2012 #2114

Avatar de reyvilla

GoX F4yCk3r DB dijo: Ver Mensaje
Hola que tal gracias por responder, lo tengo simulado en proteus, solo que este es una versión muy vieja muy muy vieja.
bueno dejo adjunto el archivo de proteus y mi archivo en Microcode asi como el Hex.
Mira la cosa esta en el adc del pic, la resolución es de 10bit para el 16f877A, por lo cual no podras trabajarlo a 8bits directamente, tendrías que leer los 10bits y luego llevarlo a ocho pero no tendria mucho sentido, en fin, por otro lado te recomiendo leer sobre configuraciones de fuses y tener en cuenta que debe declararse todos los puertos así no se utilicen, esto para garantizar que todo esta bien configurado, aparte igual ocurre para el oscilador debe indicarse a que frecuencia se va a trabajar, eso aplica tanto para el código como para la simulación. entonces si no configurar como salida el puerto b por ejemplo no te va a funcionar de manera correcta, acá te dejo el código arreglado...

Código:
@ DEVICE PIC16F877A   ;Seleccion del Microcontrolador PIC16F877A
@ DEVICE XT_OSC       ;Seleccion del Tipo de oscilador XT de Cristal
@ DEVICE WDT_Off      ;Seleccion del Watchdog Timer Apagado
@ DEVICE PWRT_OFF     ;Seleccion del Power-on Reset Apagado
@ DEVICE BOD_Off      ;Seleccion del Brown-out Reset Apagado
@ DEVICE LVP_OFF      ;Seleccion del Low-Voltage Programming Apagado
@ DEVICE WRT_OFF      ;Seleccion del Flash Program Memory Write Apagado
@ DEVICE DEBUG_OFF    ;Seleccion del In-Circuit Debugger Apagado
@ DEVICE CPD_OFF      ;Seleccion del Data EEPROM Memory Code Protection Apagado
@ DEVICE PROTECT_Off  ;Seleccion del Flash Program Memory Code Protection Apagado

Define OSC 4  'Definicion de oscilador a 4MHZ



CMCON=0  'Desabilita los comparadores

Define ADC_BITS 10                 ;Numero bits del resultado=10
Define ADC_CLOCK 3             ;fuente  del Reloj 3 (3=rc)
Define ADC_SAMPLEUS 50    ;tiempo de muestreo del ADC en useg
Resultado var byte                  ;Historia de la conversion
'******************************DECLARACIONES DE I/O*****************************
TRISA = %11111111


ADCON1 = %10000010         ; PORTA analog y justificacion del resultado

;Programa Principal
inicio: 
ADCIN 0, Resultado            ;lee Ra0 y guarda en  resultado
Portb=Resultado
goto inicio 
end
08/06/2012 #2115
Moderador

Avatar de D@rkbytes

reyvilla dijo: Ver Mensaje
acá te dejo el código arreglado...
Código:
@ DEVICE PIC16F877A   ;Seleccion del Microcontrolador PIC16F877A
@ DEVICE XT_OSC       ;Seleccion del Tipo de oscilador XT de Cristal
@ DEVICE WDT_Off      ;Seleccion del Watchdog Timer Apagado
@ DEVICE PWRT_OFF     ;Seleccion del Power-on Reset Apagado
@ DEVICE BOD_Off      ;Seleccion del Brown-out Reset Apagado
@ DEVICE LVP_OFF      ;Seleccion del Low-Voltage Programming Apagado
@ DEVICE WRT_OFF      ;Seleccion del Flash Program Memory Write Apagado
@ DEVICE DEBUG_OFF    ;Seleccion del In-Circuit Debugger Apagado
@ DEVICE CPD_OFF      ;Seleccion del Data EEPROM Memory Code Protection Apagado
@ DEVICE PROTECT_Off  ;Seleccion del Flash Program Memory Code Protection Apagado

Define OSC 4  'Definicion de oscilador a 4MHZ

CMCON=0  'Desabilita los comparadores <--- Omitir

Define ADC_BITS 10                 ;Numero bits del resultado=10
Define ADC_CLOCK 3             ;fuente  del Reloj 3 (3=rc)
Define ADC_SAMPLEUS 50    ;tiempo de muestreo del ADC en useg
Resultado var byte                  ;Historia de la conversion
'******************************
Saludos reyvilla.
La instrucción CMCON = 0 en este caso debería ser CMCON = 7 ; CM2,CM1,CM0 = b'111'
Pero no es necesario ponerla, ya que por default en el PIC16F877A los comparadores se inician en OFF

Suerte.
08/06/2012 #2116

Avatar de reyvilla

Darkbytes dijo: Ver Mensaje
Saludos reyvilla.
La instrucción CMCON = 0 en este caso debería ser CMCON = 7 ; CM2,CM1,CM0 = b'111'
Pero no es necesario ponerla, ya que por default en el PIC16F877A los comparadores se inician en OFF

Suerte.
Cierto amigo, muchas gracias por la observacion, se me paso ya que fue un copi pega de otro codigo que tenia guardado y son esos pequeños detalles que pueden causar dolor de cabeza si no se toman en cuenta...
10/06/2012 #2117

Avatar de ferdy575

megatecpower dijo: Ver Mensaje
ok aunque llego tarde el consejo porque ya me dio una sacudida y casi quedo pegado jaja... pero podrias mencionar algun tipo de triac activo para buscarlo?
hola, te cuento la mejor forma de manejar un triac con un pic es usando un optotriac usa esta configuración y veras
Archivos Adjuntos
Tipo de Archivo: pdf optotriac.pdf (98,9 KB (Kilobytes), 48 visitas)
10/06/2012 #2118

Avatar de reyvilla

yo opino igual de echo llegue a realizar un secuenciador de luces de 100W con un pic12F675, 5 bombillos, y con red snubber, para los bombillos ahorradores o blancos sin la red snubber ya que tiende a titilar, parpadear, ahora, creo que dependiendo del optotriac puedes dimmear o no los bombillos.
10/06/2012 #2119

Avatar de ferdy575

Hola a todos les cuento que ando tratando de hacer un temporizador pero no logro hacer cuenta regresiva en el reloj alguien sabe como hacer esto?
este es el código que tengo pero no funciona como debería:

Código:
'@ DEVICE pic16F84A, WDT_ON 
@ device xt_osc 
define osc 4 
Define LCD_DREG PORTB
Define LCD_DBIT 0
Define LCD_RSREG PORTB
Define LCD_RSBIT 4
Define LCD_EREG PORTB
Define LCD_EBIT 5
Symbol Horas = PORTA.0 ; AJUSTE HORA
Symbol Minutos = PORTA.1 ; AJUSTE MINUTOS
Symbol Segundos = PORTA.2 ; AJUSTE SEGUNDOS
symbol Out = PORTB.7 ; SALIDA CONTROL 
Pulsos VAR byte 
Hrs VAR byte 
Mts VAR byte 
Sds VAR byte 
Disp VAR byte 
Delay VAR byte 
 
TRISB = %00000000 
TRISA = %00001111 
PAUSE 500 
 
Hrs = 0
Mts = 0
Sds = 0
pulsos = 0
OPTION_REG = %00000101 ; prescaler = 64
ON INTERRUPT GOTO ISR ; IR A RUTINA ISR 
INTCON = %10100000 
LCDOUT $FE, 1 ;LIMPIA LCD
;INCIO DEL PROGRAMA 
LOOP:
;RUTINA PARA CHEQUEAR EL INCREMENTO DEL BOTON HORAS CUANDO ES ACCIONADO
IF Horas = 0 THEN
hrs = hrs + 1
IF hrs = 24 THEN hrs = 0
Gosub Debounce
ENDIF
;RUTINA PARA CHEQUEAR EL INCREMENTO DEL BOTON MINUTOS CUANDO ES ACCIONADO
IF Minutos = 0 THEN
Mts = Mts +1
IF Mts = 60 THEN Mts = 0
Gosub Debounce
ENDIF
;RUTINA PARA CHEQUEAR EL INCREMENTO DEL BOTON SEGUNDOS CUANDO ES ACCIONADO
if Sds = 0 then
Sds = Sds + 1
endif
IF Sds = 60 then Sds = 0
Gosub Debounce
'ENDIF
;RUTINA PARA DETECCIÓN DE CERO
IF hrs = 0 AND Mts = 0 AND Sds = 0 THEN
out = 1
else 
out = 0
endif
;RUTINA PARA MOSTRAR VLORES EN EL lcd DE H:M:S
IF Disp = 1 THEN
LCDOUT $FE, 2
Lcdout " Tiempo espera " 
LCDOUT $FE,$C4, DEC2 hrs, ":",DEC2 Mts, ":",DEC2 Sds
Disp = 0
ENDIF
GOTO LOOP
; RUTINA DE RETARDO PARA LEER BOTONES 
Debounce:
FOR Delay = 1 To 200
Pause 1 
NEXT Delay 
Disp = 1 
RETURN
; RUTINA PARA EJECUCION DE UN SEGUNDO
DISABLE
ISR:
pulsos = pulsos + 1
IF pulsos < 61 THEN NoUpdate
;RUTINA DE TIEMPO 
Retro:
pulsos = 0
Sds = Sds - 1 
IF Sds = 60 THEN
Sds = 0
Mts = Mts - 1 
IF Mts = 60 THEN
Mts = 0
hrs = hrs - 1 
IF hrs = 24 THEN
hrs = 0
ENDIF
ENDIF
ENDIF
Disp = 1 
return
; RUTINA DE LA CULMINACION DEL TIEMPO DE ACTIVACION
NoUpdate:
INTCON.2 = 0 
Resume
ENABLE 
END
END
y aqui pongo la simulación a ver sí alguno me puede ayudar
les agradezco de antemano
Archivos Adjuntos
Tipo de Archivo: rar temporizador 16f84a.rar (27,5 KB (Kilobytes), 53 visitas)
10/06/2012 #2120

Avatar de torres.electronico

Se que para muchos moderadores, este mensaje lo pueden llegar a interpretar como off-topic, pero no queria dejar pasar la oportunidad para madarle todas mis fuerzas a una de las tantas personas grosas que aporto mucho en este topic y que justamente no esta pasando por buenos momentos...
Reimy, vamos viejo...aca desde Argentina, tenes un amigo que te apoya en lo que pueda; un abrazo y fuerza para seguir adelante... La vida, continua

Vamos amigos, mandemos un me gusta para acompañar al amigo que no esta pasando por un buen momento
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

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