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


Respuesta: Curso programacion de pic en bsic pro
gracias cripty, lo que no me queda claro tambien es donde pongo el on interrupt, al principio o al final del programa. O sea que tengo que poner un disable antes del on interrupt y despues del resume un enable, no ? En e l caso de una alarma me comviene usar el on interrupt para la activacion y desactivacion, vos que me decis ? Desde ya muchas gracias cripty y disculpe mi ignorancia. Saludos...
22/11/2009 #142

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
hola chicos.
les cuento que ya solucione el problema que tenia. al final cambie de instruccion y envez de usar serin/serout utilce pulsin/pulsout y quedo de maravillas XD... por fin he cumplido mi sueño de diseñar mi propio control remoto proporcional!!!
saludosss.
22/11/2009 #143


Respuesta: Curso programacion de pic en bsic pro
Dario contame como quedo eso ahora que no entiendo...
22/11/2009 #144

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
claro... probalo vos mismo. aca te dejo la simulacion en proteus
Archivos Adjuntos
Tipo de Archivo: zip proporcional.zip (28,4 KB (Kilobytes), 739 visitas)
23/11/2009 #145

Avatar de cripty

Respuesta: Curso programacion de pic en bsic pro
emilos; el ON INTERRUPT GOTO va una linea antes de la rutina principal, asi cuando tu programa comienza ya se esta esperando por una interrupcion, ahora en la subrutina a la que salta cuando ocurre una interrupcion tiene que ser antecedida con un disable esto para que se detenga la espera de una interrupcion (por que aunque ocurra el micro no se dara cuenta pues tiene que ser atendida la pimera interrupcion) y despues de terminar la subrutina se activa la espera de la interrupcion con un enable
el siguiente ejemplo utiliza una interrupcion por cambio de estado del porb.0 de 1 a cero logico (interrupcio externa); el micro mantiene encendido un led, cuando cambiamos el estado de la patita B.0 de 1 a 0 logico se apaga el led por un segundo y luego se prende

Código:
led  var PORTB.7

   OPTION_REG = $7f        
    INTCON = $90              ' habilita el registro de interrupciones externas 
 
  On Interrupt Goto myint  ' define a donde dirigirse al ocurrir una interrupcion
loop:                             ' rutina principal
   High led                      ' enciende el led
   Goto loop                    ' lo hace por siempre

' subrutina que se realizara al ocurrir una interrupcion
Disable                    ' no se verifica las interrupciondes desde aqui en adelante
myint:  
   Low led                    ' apaga el led
   Pause   500              ' epera medio segundo
   INTCON.1 = 0            ' setea el bit de interrupcion
   Resume                    ' retorna a la linea del programa principal 
                                ' donde ocurrio la interrupcion
   Enable                      'habilita la verificacion de las interrupciones
las interrupciones se utilizan para hacer algo en el momento que ocurren; es decir si tengo un micro que esta programado como un cronometro y quiero que cuando ocurra una interrupcion como la del ejemplo se reinicie la cuenta deberia utilizar interrupciones.

espero haber ayudado en tu duda; cualquier otra cosa no dudes en preguntar

Bye
23/11/2009 #146

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
tienes razon amigo cripty. acabo de comprobar en mi circuito que cuando el pic receptor deja de recibir señal, los servos se quedan talcual estavan cuando la tenian. supongo que eso no seria bueno en un modelo r/c ya que no habria forma de controlarlo y hacer algo. no lo habia tenido en cuenta :O .
voy a modificar el programa para que cuando no tenga señal, el micro haga algo al respecto. saludosss
23/11/2009 #147


Respuesta: Curso programacion de pic en bsic pro
Ahora entiendo... gracias por sacarme la duda. Otra duda, y que pasa cuando existe una interrupcion justo e n el momento que en el programa esta corriendo un PAUSE y solo sirve para el pin portb.0 en el caso del 16f84 ? espero no sea una pregunta boluda jeje. Cripty me diste un manon al sacarme de este dilema, me pasa que por ahi no entiendo solo leyendo el manual, a veses me hace falta que me lo expliquen de otra forma. Pero ahora resumi vastante el programa.

D@rio dijo: Ver Mensaje
claro... probalo vos mismo. aca te dejo la simulacion en proteus
Dario realmente muy bueno, yo soy de barrio jardin dario cuando quieras nos juntamos a compartir ideas y te felicito por el programita es de gran utilidad. Saludos...
23/11/2009 #148

Avatar de cripty

Respuesta: Curso programacion de pic en bsic pro
en pic basis pro las interrupciones no son atendidas inmediatamente, se espera a que termine el comando que se esta ejecutando luego se atiende la interrupcion, en el caso que se esta ejecutando un pause y ocurre una interrupcion, el programa terminara el pause y recien saltara a la sub rutina de interrupcion; si tienes la necesidad de hacer interrupciones que sean atendidas en el acto lo mejor es programarlas en assembler por que ahi las interrupciones se atienden inmediatamente.
nunca pienses que las preguntas son tontas, los tontos son los que saben la respuesta y no la comparten, todo lo que se de microcontroladores lo aprendi leyendo y rebuscando en la red, e igual que tu no entendia ni el manual del PBP pero con un poco de ingenio se comprende todo. hasta la proxima amigo emilos.
25/11/2009 #149


leds en paralelo !!
Hola a todos !! soy nuevo en este foro y tengo una pregunta sobre los led :

Bueno estoy usando el pic 16F84A para hacer una secuencia de luces, y tengo una duda !! Use todo el puerto B para formar una secuencia
de luces. Mi pregunta es: si no solo quisiera conectar un solo led
a cada salida, si quisiera conectar 20 leds en paralelo en cada salida del puerto B,
entonces el problema radicaria en saber cuanta corriente proporciona cada salida
del puerto B del pic!!! y creo que no va a ser la sufiente.

Ahora como podria hacer para que cada led tenga la suficiente corriente que necesite
para billar con toda su intencidad!????

Tendria que usar un transistor como amplificador de corriente o que es lo que deberia hacer ?????

adjunto el diagrama del cto en proteus i el codigo en HEX, para cargar al pic!!

Espero puedan ayudarme !! =D !!
Gracias de antemano!!
Archivos Adjuntos
Tipo de Archivo: rar luces.rar (79,2 KB (Kilobytes), 423 visitas)
25/11/2009 #150

Avatar de george.manson.69

Respuesta: Curso programacion de pic en bsic pro
yo usaria un integrado ULN2003A sirve para amplificar y te da un 1 A,
ahora el otro problema seria si la fuente soportara ese consumo de corriente, deberias de usar un tranformador que soporte dicha corriente.
Haz un ejemplo conecta 20 led con sus respectivas resistencias, entonces conecta un tranformador de 127volts a 9 o 5 volt a unos 2 Amperes, conecta los led y mide cuanto consume.
no se cuanto consuma un led..pero por ejemplo que cada led consumiera 20mA, entonces como estan en paralelo, multiplica 20mA x 20 = 400mA consumiria aproximadamente...entonces como estas usando el puerto B, son 8 canales, multiplica esos 400mA x 8= 3.2Amperes conusmiria en total, entonces tendrias que usar un tranformador que soportara 4 amperes aproximadamente.
El driver ULN2003A se usaria en este caso...pero a looo mejor se calentaria porque es muy fragil...puedes usar tamb el hermano ULN2803...
25/11/2009 #151


Respuesta: Curso programacion de pic en bsic pro
Tengo un problema con un programa, cuando lo simulo en el proteus a los 8 segundos me salta un error y s e detiene. que errores me puede estar tirando que no me deja seguir probando el circuito ?
26/11/2009 #152

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
te aconsejo poner aqui en el foro el archivo pbp y el circuito asi podriamos ver que es lo que esta pasando y darte una mano.
saludosss
30/11/2009 #153


Respuesta: Curso programacion de pic en bsic pro
D@rio dijo: Ver Mensaje
te aconsejo poner aqui en el foro el archivo pbp y el circuito asi podriamos ver que es lo que esta pasando y darte una mano.
saludosss
Ahi va pa Dario de cordoba:
Código PHP:
 '****************************************************************
'
*  Name    ALARMA.BAS                                        *
'*  Author  : EMILIANO OCAMPO                                   *
'
*  Notice  Copyright (c2009 EBO INC                        *
'*          : All Rights Reserved                               *
'
*  Date    10/28/2009                                        *
'*  Version : 1.0                                               *
'
*  Notes   :                                                   *
'*          :                                                   *
'
****************************************************************
 
TRISA 1
 TRISB 
= %00000111
 key1 
var porta.0   ;activacion sonora
 key2 
var porta.1   ;activacion silenciosa
 keyoff 
var porta.2 ;desactivacion
 ctcin 
var porta.3  ;señal de contacto
 tho 
var porta.4    ;señal de thouch
 p1 
var portb.0     ;sensor puertas
 p2 
var portb.1     ;sensor capot
 s1 
var portb.2     ;sensor auxiliar
 buzz 
var portb.3   ;salida de sirena
 luz 
var portb.4    ;salida luses
 ctcout 
var portb.5 ;salida corta ignicion
 pto 
var portb.7    ;salida de piloto
 cnt 
var byte
 portb 
0
 cnt 
0
 
 inicio
:
 
on interrupt goto disparo
 intcon 
= %10010000
 activac
:
 if 
key1 1 then armando1
 
if key2 1 then armando2
 
goto activac
 armando1
:
 
HIGH pto 
 high buzz 
 high luz
 pause 100
 low buzz 
 low luz 
 armada1
:
 if 
p1 0 then disparo
 
if keyoff 1 then desarmando 
 
goto armada1
 armando2
:
 
high pto
 high luz
 pause 100
 low luz
 armada2
:          
 if 
p1 0 then disparo
 
if keyoff 1 then desarmando
 
goto armada2
 desarmando
:
 
low buzz
 pause 500
 high luz
 high buzz
 pause 100
 low buzz
 pause 100
 high buzz
 pause 100
 low buzz
 pause 2000
 low luz
 low pto
 
goto activac
 disable
 disparo
:
 
high buzz
 
if keyoff 1 then desarmando
 
goto disparo
 enable
 end 
fijense que me cuentan a ver si lo podemos resumir, de todas formas no esta terminado.
saludos...
10/12/2009 #154

Avatar de cripty

Respuesta: Curso programacion de pic en bsic pro
les tengo un reto, como programarian un control proporcional integral derivativo (PID) en un micro con picbasic pro??? o en su defecto como programarian una integral o derivada???
10/12/2009 #155


Respuesta: Curso programacion de pic en bsic pro
cripty dijo: Ver Mensaje
les tengo un reto, como programarian un control proporcional integral derivativo (PID) en un micro con picbasic pro??? o en su defecto como programarian una integral o derivada???
wikipedia me saco un poco la duda... pero decime un proyecto en particular en el que se lo pueda emplar. A mi se me ocurre un sistema de inyeccion electronica en el cual se ajusta el tiempo de inyeccion de acuerdo al valor que tira la sonda lambda, ahi hay una realimentacion, no se si estoy en lo correcto.

saludos.

Quiero hacer un programa en pbp que cuente las rpm de un engranaje y que detecte cuando encuentre donde estan los dientes que faltan. Basicamente tiene que saber el giro en RPMs y saber la posicion del engranaje por los dientes que faltan, el tema es que no se me ocurre como empesar. Espero me puedan dar una mano.
Saludos.

11/12/2009 #156

Avatar de mecatrodatos

Respuesta: Curso programacion de pic en bsic pro
Que tal veo que ha habido demasiado movimiento espero colaborar ya estoy de vacaciones por parte del estudio y estare presto a lo que necesiten y subire proyectos muy interesantes con pic de la familia 18f en pic basic, espero me dispulpen por no haber respondido algunas de las inquietudes que se les presentaban.

Amigo emilio interesante y aplicable tu proyecto podremos utilizar el sensor de las ruedas del sistema ABS, el sensor de posicion de Ciguieñal CKP o en su defecto el del eje de Levas CAM , el sensor de de velocidad el a transmision VSS lo unico que tendriamos que realizar es el acondicionamiento de señal para que el micro interprete la informacion y la podramos ver en un LCD, hablando de RPM, lo mas facil seria con un Osciloscopio medio la frecuancia en la terminal de transmision de datos del sensor del automovil que se baja a utilizar para poder empezar.

Lo siguiente es realizar el acondicionamiento de señal para visualizar lo que deseamos lo cual seria sencillo ya todos los sensores trabajan a 5VDC omitiendo los actudores que trabajan con tension de la bateria.

he mirato tambien tu codigo de la alarma y podemas hacerlo mas corto con la funcion Select Case pero seria bueno que subas todo lo que necesitas ya que mencionas que no esta terminado.

Amigo Cripty postea lo que desaeas relizar con control DIP y listo se pone interesante
12/12/2009 #157


Respuesta: Curso programacion de pic en bsic pro
Felicidades a mecatrodatos por las explicaciones.Soy un novato en estas cuestiones.
Me gustaría saber, como accionar 2 salidas del 16F84A indistintamente con 2 entradas a pulsador N.A. y otras 2 entradas accionadas con sensores N.A. teniendo prioridad las entradas manuales sobre las automáticas.
Si es necesario puedo aportar esquema.
Un saludo.
12/12/2009 #158

Avatar de mecatrodatos

Respuesta: Curso programacion de pic en bsic pro
Realiza esquema con sus requerimientos y asi te podremos colaborar mejor
12/12/2009 #159


Respuesta: Curso programacion de pic en bsic pro
mecatrodatos dijo: Ver Mensaje
Realiza esquema con sus requerimientos y asi te podremos colaborar mejor
Gracias por responder tan rápido.Un saludo y adjunto esquema.
Imágenes Adjuntas
Tipo de Archivo: jpg Esquema.JPG (42,4 KB (Kilobytes), 336 visitas)
12/12/2009 #160


Respuesta: Curso programacion de pic en bsic pro
mecatrodatos dijo: Ver Mensaje
Que tal veo que ha habido demasiado movimiento espero colaborar ya estoy de vacaciones por parte del estudio y estare presto a lo que necesiten y subire proyectos muy interesantes con pic de la familia 18f en pic basic, espero me dispulpen por no haber respondido algunas de las inquietudes que se les presentaban.

Amigo emilio interesante y aplicable tu proyecto podremos utilizar el sensor de las ruedas del sistema ABS, el sensor de posicion de Ciguieñal CKP o en su defecto el del eje de Levas CAM , el sensor de de velocidad el a transmision VSS lo unico que tendriamos que realizar es el acondicionamiento de señal para que el micro interprete la informacion y la podramos ver en un LCD, hablando de RPM, lo mas facil seria con un Osciloscopio medio la frecuancia en la terminal de transmision de datos del sensor del automovil que se baja a utilizar para poder empezar.

Lo siguiente es realizar el acondicionamiento de señal para visualizar lo que deseamos lo cual seria sencillo ya todos los sensores trabajan a 5VDC omitiendo los actudores que trabajan con tension de la bateria.

he mirato tambien tu codigo de la alarma y podemas hacerlo mas corto con la funcion Select Case pero seria bueno que subas todo lo que necesitas ya que mencionas que no esta terminado.

Amigo Cripty postea lo que desaeas relizar con control DIP y listo se pone interesante
Gracias por responder mecatrodatos. El programa que tengo en la cabeza se tiene que encargar de medir las RPMs y la posicion del engranaje, las rpm las detecta con todos los dientes y la posicion con los dientes faltantes del mismo. Fijate que hay puse una imagen del acondicionador de señal que chorie por la web, a servira ?



pd: lo de la alarma la verdad que no se bien como funciona el tema de los select case, porque en el manual pbp que yo tengo no sale nada.

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.