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

Avatar de reyvilla

Buenas por fin tuve algo de tiempo libre, por acá les dejo el sistema de los dos pic que se comunican vía serial y controlan los servos por HPWM, revisen y cualquier cosa me avisan saludos.
21/05/2013 #2522


inspector gadget dijo: Ver Mensaje
hola xpertos, como sigo experimentando con contadores con displays 7 segmentos y gracias a la ayuda de ustedes he entendido el concepto de la multiplexacion. Ahora tengo la duda sobre las interrupciones en el pic 16f628, si estoy empleando todo el puerto b para manejar atravez de un deco cuatro displays (unidades,decenas,centenas,millares mas los cuatro transistores para multiplexar), ¿puedo trabajar con las interrupciones pero con pulsadores conectados en el puertoa? sucede que necesito emplear las interrupciones en un contador, ya que mientras el contador corre descendentemente, quiero tener la posibilidad de aumentar el tiempo de conteo, pero sin esperar que el tiempo llegue hasta 00:00, gracias por su tiempo y espero alguna respuesta para ponerme manos a la obra y postear los avances en el codigo y seguir la politica de no pedir ayuda sin antes no habeer al menos intentar resolverlo por mi cuenta.
Hola...para trabajar con interrupciones debes consultar donde se pueden usar en cada pic en particular en la hoja de datos correspondientes...en el caso del pic 16F628 es en el puerto B exclusivamente.
Saludos.

Ric.
21/05/2013 #2523

Avatar de inspector gadget

ricbevi dijo: Ver Mensaje
Hola...para trabajar con interrupciones debes consultar donde se pueden usar en cada pic en particular en la hoja de datos correspondientes...en el caso del pic 16F628 es en el puerto B exclusivamente.
Saludos.

Ric.
gracias por tu respuesta, si eso estaba viendo, lo que intentare hacer es multiplexar con el puerto a y usar las interrupciones por cambio de estado de RB.0 a RB.4...a ver como me va y ya subire avancs en el codigo y las dudas que seguro se me presentaran, ojala me pudan ayudar.
23/05/2013 #2524

Avatar de ugt

hola amigos del foro, quiero pedirles su ayuda por favor, yo soy radio aficionado y quiero implementar este
frecuencimetro a mi equipo casero, he encontrado parte de este codigo el cual abria que agregar lineas para
que cuente hasta 20mhz ò tal vez mas.. de ante mano gracias
pd: yo solo entiendo ò estoy mas familiarizado con pbp, tengo 2 tipos de pic el pic16f84a y el 16f628a
Archivos Adjuntos
Tipo de Archivo: rar FRECUENCIMETRO PBP.rar (13,0 KB (Kilobytes), 74 visitas)
23/05/2013 #2525

Avatar de ferdy575

reyvilla dijo: Ver Mensaje
Buenas por fin tuve algo de tiempo libre, por acá les dejo el sistema de los dos pic que se comunican vía serial y controlan los servos por HPWM, revisen y cualquier cosa me avisan saludos.
hola Rey te cuento que entusiasmado por el progreso que tuviste con este proyecto y viendo que en el proteus funciona perfectamente lo monte en el protoboard y que crees NO funciona lo he revisado por todos lados y no simplemente no funciona no se que estara pasando con este bicho
24/05/2013 #2526


ugt dijo: Ver Mensaje
hola amigos del foro, quiero pedirles su ayuda por favor, yo soy radio aficionado y quiero implementar este
frecuencimetro a mi equipo casero, he encontrado parte de este codigo el cual abria que agregar lineas para
que cuente hasta 20mhz ò tal vez mas.. de ante mano gracias
pd: yo solo entiendo ò estoy mas familiarizado con pbp, tengo 2 tipos de pic el pic16f84a y el 16f628a
OFF TOPIC:
Hola...hay un problema y es que no es posible medir frecuencias altas de esa forma...lo que buscas lo encontrás NO EN BASIC y sí en asembler en la pagina de OM3CPH busca en el Google.
Saludos.

Ric.
24/05/2013 #2527

Avatar de reyvilla

ferdy575 dijo: Ver Mensaje
hola Rey te cuento que entusiasmado por el progreso que tuviste con este proyecto y viendo que en el proteus funciona perfectamente lo monte en el protoboard y que crees NO funciona lo he revisado por todos lados y no simplemente no funciona no se que estara pasando con este bicho
Hola exactamente que no funciona, no lee el adc no se mueven los motores, no envia la señal serial? Especifica un poco, yo lo montaría en físico pero no cuento con un servo motor. Por lo tanto no tengo como saber que es lo que no funciona, tal vez mañana compre un servo para probar. Pero igual indícame que no te funciona.

PD: Cuales son las especificaciones de los servo motores que estas usando.
25/05/2013 #2528

Avatar de ugt

gracias ricbevi !! por el dato me sirvió de mucho, entiendo y hasta cuanto podría contar ò medir con
un pic16f628a en pbp?? gracias saludos
26/05/2013 #2529

Avatar de ferdy575

reyvilla dijo: Ver Mensaje
Hola exactamente que no funciona, no lee el adc no se mueven los motores, no envia la señal serial? Especifica un poco, yo lo montaría en físico pero no cuento con un servo motor. Por lo tanto no tengo como saber que es lo que no funciona, tal vez mañana compre un servo para probar. Pero igual indícame que no te funciona.

PD: Cuales son las especificaciones de los servo motores que estas usando.
hola Reyvilla te cuento, los motores no se mueven probé con un frecuencimetro y los pics no dan señales de salida, cambie los pics y tampoco y los servos son HT500 HEXTRONIK no se que faltara a la hora de configurar los pics
te agradezco por estar ayudandome
27/05/2013 #2530


ugt dijo: Ver Mensaje
gracias ricbevi !! por el dato me sirvió de mucho, entiendo y hasta cuanto podría contar ò medir con
un pic16f628a en pbp?? gracias saludos
No recuerdo...deberias consultar la ayuda del PBP para el comando que uses pero seguramente no pasaras los 100Khz.
Saludos.

Ric.
27/05/2013 #2531

Avatar de reyvilla

ferdy575 dijo: Ver Mensaje
hola Reyvilla te cuento, los motores no se mueven probé con un frecuencimetro y los pics no dan señales de salida, cambie los pics y tampoco y los servos son HT500 HEXTRONIK no se que faltara a la hora de configurar los pics
te agradezco por estar ayudandome
Hola, me imagino que cuanto te refieres a frecuenciometro te refieres a osciloscopio o algo similar con lo cual puedas ver la señal de salida ya que no le veo el uso del frecuenciometro para ver la señal.
Por otro lado coloca el código que estas programando en los pics y coloca si puedes una imagen del circuito y el esquema para ver que es lo que esta sucediendo.
02/06/2013 #2532

Avatar de ferdy575

hola a todos de nuevo ando por estos lados con la molestadera, a ver les cuento un poco de historia hace ya casi 11 años tuve un accidente y estuve incapacitado 3 meses por lo cual tuve bastante tiempo para mi, así que me puse en la tarea de hacerme un frecuencimetro que tambien fuera capaz de contar pulsos o eventos y lo hice totalmente con tecnología TTL y aunque hoy día aun funciona perfectamente ya creo que está obsoleto y quiero hacerlo ahora con un pic en aquella época utilice para este fin la gran cantidad de integrados de 13 en total, 12 para contadores y divisores y un 74c925 para el control de los 4 display de cátodo común; ya hice un prototipo en proteus y escribí un programa, pero como suele pasar no me funciono como yo quiero, en frecuencimetro funciona perfectamente pero no en la función contador, se supone que en esta función debe ser capaz de contar los pulsos que lleguen a su entrada con la misma velocidad que entren pero esto no lo he podido conseguir, creo que lo mejor sería usar interrupciones pero no se como usarlas para este fin, aquí les subo los archivos para que los vean.

este era mi antiguo frecuencimetro
media frecuencias hasta de 100 MHz como verán ya se ve muy anticuado pero aun funciona perfectamente
estaré muy agradecido por su ayuda
Archivos Adjuntos
Tipo de Archivo: rar frecuencimetro.rar (31,7 KB (Kilobytes), 81 visitas)
03/06/2013 #2533


ferdy575 dijo: Ver Mensaje
hola a todos de nuevo ando por estos lados con la molestadera, a ver les cuento un poco de historia hace ya casi 11 años tuve un accidente y estuve incapacitado 3 meses por lo cual tuve bastante tiempo para mi, así que me puse en la tarea de hacerme un frecuencimetro que tambien fuera capaz de contar pulsos o eventos y lo hice totalmente con tecnología TTL y aunque hoy día aun funciona perfectamente ya creo que está obsoleto y quiero hacerlo ahora con un pic en aquella época utilice para este fin la gran cantidad de integrados de 13 en total, 12 para contadores y divisores y un 74c925 para el control de los 4 display de cátodo común; ya hice un prototipo en proteus y escribí un programa, pero como suele pasar no me funciono como yo quiero, en frecuencimetro funciona perfectamente pero no en la función contador, se supone que en esta función debe ser capaz de contar los pulsos que lleguen a su entrada con la misma velocidad que entren pero esto no lo he podido conseguir, aquí les subo los archivos para que los vean.

este era mi antiguo frecuencimetro http://youtu.be/K1LhIJD8aQ8 media frecuencias hasta de 100 MHz como verán ya se ve muy anticuado pero aun funciona perfectamente
estaré muy agradecido por su ayuda
Hola...te oriento en tu problema...no esperas el cambio de estado del pin a la hora de contar...no le indicaste al compilador que el "puertoa" sera usado de forma digital...no tienes cargada la entrada con una resistencia a GND para prevenir la entrada de señales espurias al estar siempre en alta impedancia.
Saludos.

Ric.
03/06/2013 #2534

Avatar de ferdy575

ricbevi dijo: Ver Mensaje
Hola...te oriento en tu problema...no esperas el cambio de estado del pin a la hora de contar...no le indicaste al compilador que el "puertoa" sera usado de forma digital...no tienes cargada la entrada con una resistencia a GND para prevenir la entrada de señales espurias al estar siempre en alta impedancia.
Saludos.

Ric.
Hola Ric gracias por mirar mi proyecto, ya hice lo que me dices pero igualmente sigue sin funcionar sera que habrá que usar un código basado en interrupciones? y sí es así como se haría las interrupciones no se como se usan tú me podrías ayudar?
03/06/2013 #2535


ferdy575 dijo: Ver Mensaje
Hola Ric gracias por mirar mi proyecto, ya hice lo que me dices pero igualmente sigue sin funcionar sera que habrá que usar un código basado en interrupciones? y sí es así como se haría las interrupciones no se como se usan tú me podrías ayudar?
ferdy575 Observa las modificaciones que le realice a tú programa y mejora la representación del valor de los pulsos después de un reset....evidentemente se podía!!!.

Ric.
Archivos Adjuntos
Tipo de Archivo: zip Frecuencimetro1.zip (18,0 KB (Kilobytes), 77 visitas)
04/06/2013 #2536

Avatar de ferdy575

ricbevi dijo: Ver Mensaje
ferdy575 Observa las modificaciones que le realice a tú programa y mejora la representación del valor de los pulsos después de un reset....evidentemente se podía!!!.

Ric.
Excelente te felicito funciona perfectamente te agradezco mucho, dime que función se obtiene cuando escribes:
repeat
until in = 0

y lo más importante donde la conseguiste.
04/06/2013 #2537


ferdy575 dijo: Ver Mensaje
Excelente te felicito funciona perfectamente te agradezco mucho, dime que función se obtiene cuando escribes:
repeat
until in = 0

y lo más importante donde la conseguiste.
Dicha instrucción o conjunto lo que hace es repetir lo que se encuentre después del "repeat" hasta que se cumpla la condición que enumera "until"...en este caso nada esperando a que cambie de estado bajo "int" después de haber detectado un alto en él..."conseguirlo"... LEE LA AYUDA que trae PBP que allí se encuentra descriptos los comando que soporta el compilador y como usarlos como ya te lo indique anteriormente.

Ric.
05/06/2013 #2538


le puedes añadir proteccion antirrebotes en el pulsador como 20ms por ejemplo?

mecatrodatos dijo: Ver Mensaje
Proyecto2 pulsadores


Código:
;Proyecto con 2 pulsadores y 3 leds ; cuando es accionado P1(primer pulsador) se 
;enciende un led ubicado en RB2 durante un segundo,lo mismo pasa si se acciona 
;P2 con otro led ubicado en RB3 , pero si son accionados al mismo tiempo un 
;tercer led (RB4)parpadeara 5 veces duante 300mls se uitliza pic 16F877A.

@ device xt_osc ; oscilador externo XT 
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz 

;configuracion de pines 

led1 var portb.2               ;ubicacion del primer LED en RB2 del pic 16F877A 
led2 var portb.3               ;""""                        RB3
led3 var portb.4                ;""""""""""""""""""""       RB4
p1 var portb.0                  ;"""""""del primer pulsador RB0 """"""""""""
p2 var portb.1                  ;"""""""segundo pulsador   RB1
x var byte                      ;variable x con capacidad de 255


; lectura de pulsadores
inicio
if p1=0 then encender   ; pregunta si se acciono el pulsador 1 ir a encender
PAUSE 200
if p2=0 then encender1  ;  """ pulsadodor2 ir a encender 1
PAUSE 200
if (p1=0) AND (p2=0) then encender2  ; """"pulsador1 y pulsador2 ir a encender2
PAUSE 200
goto inicio                   ; crea un bucle cerrado


encender:                    ;rutina encender
high led1                 ; enciende led 
pause 1000                   ;espera 1seg
toggle led1                ; apaga led
pause 1000
goto inicio                   ;ir a inicio

encender1:
high led2                 ; enciende led 
pause 1000                   ;espera 1seg
toggle led2                ; apaga led
pause 1000
goto inicio 

encender2:
for x=0 TO 4           ; repite cinco veces 
high led3                ; enciende led 
pause 300                   ;espera 300mls
low led3                ; apaga led utilice comando low que cumple la misma 
                         ;funcion que toggle que cambia la configuracion
                         ;de un bit es decir si esta en ALTO LO PASA A BAJO
                         ;y viceversa
pause 300
NEXT                   ; SIGUIENTE HASTA QUE SE REPITE 5 VECES
goto inicio 
end                            ;fin del programa
06/06/2013 #2539


ayuda con pick basic pro
Hola a todos.

Soy nuevo en esto, estoy haciendo un programa enciende apaga osea un pulsador en PICBasic Pro
y necesito una ayuda en el programa que he elaborado, díganme que instrucciones me faltan para lograrlo.
Estoy tratando de usar num para verificar las pulsaciones por PORTA.1

De antemano gracias por su apoyo :-)
************************************************** ******************
Código:
LED1    var    portb.0        ;designamos LED1 al portb.0
boton    var    porta.1        ;designamos boton a porta.1
num    var BYTE
num=0
Pulsar

porta.1=num
IF boton=0 THEN    encender

GOTO    Pulsar

encender:

        IF boton=0 THEN    encender;espera que suelte boton
        PAUSE    200                ;pausa de 200 milisegundos para antirrebotes
        HIGH    LED1            ;encendemos LED1
        num=2                       ;no estoy seguro si esto debe ir 
        IF num=2 THEN apagar ;contabiliza dos pulsaciones y va a apagar
apagar
        LOW        LED1

GOTO    Pulsar

END
06/06/2013 #2540
Moderador

Avatar de D@rkbytes

davo81 dijo: Ver Mensaje
Hola a todos.

Soy nuevo en esto, estoy haciendo un programa enciende apaga osea un pulsador en PICBasic Pro
y necesito una ayuda en el programa que he elaborado, díganme que instrucciones me faltan para lograrlo.
Estoy tratando de usar num para verificar las pulsaciones por PORTA.1
Te hace falta especificar que PIC estás usando, aparte así como está tu programa no lograrás ver que pase algo.
Todo sería tan rápido que no alcanzarías a ver cuando el LED se encienda.
¿Por qué?
Porque tu mismo le das valor a la variable num, y luego comparas con el mismo valor asignado.
Asignas a num el valor 2
Entonces este "If num = 2 Then encender" sale sobrando, ya que num siempre será 2
A soltar el botón haces una pausa de 200ms y prendes el LED,
pero inmediatamente después de la comparación, como num es 2, lo apagas, por eso no notarias el cambio.

Si lo único que quieres hacer es prender y apagar un LED, puedes usar la instrucción "Toggle"
Algo así...
Código:
Pulsar:
    If boton = 0 Then Encender
    GoTo Pulsar

Encender:
    If boton = 0 Then Encender
    Toggle LED1
    GoTo Pulsar
Explícanos bien ¿para que quieres contar las pulsaciones?

Saludos.
¿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 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.