desktop

Curso de programación de PIC en PICBasic Pro

holaa!! disculpen la molestia soy nuevo en este tema y e estado haciendo los primeros programas con leds pero luego me tope con lo de los display no se como configurarlo ya que al descargar los archivos en zip
para luego abrir la de simulacion de proteus ".DSN" no lo abre me dice que tiene que ver algo con la version q por eso no lo abre
mi pregunta es que version del proteus rekiero para abrir estos archivos???
espero su ayuda graciasss y saludoss
 
hola amigos...

puedo adaptar un cargador de celular que me da en la salida 5V para utilizarlo en mis circuitos de practicas..???
 
como puedo hacer por medio de PIC16f877 software o componentes hacer que leds...enciendan gradualmente y a pagen gradual

puedes hacerlo con dos metodos PWM mediante software o con condensadores mediante Hardware....

puedo adaptar un cargador de celular que me da en la salida 5V para utilizarlo en mis circuitos de practicas..???
para que adaptarlo???
solo conectalo a tu circuito... y dependiendo del circuito puede que te funcione... o sea si tu circuito consume 500mA y tu cargador entrega 100mA No te sirve pero si tu circuito consume 100mA y tu cargador entrega 500mA si te sirve... (leer esto mas de una vez)

mi pregunta es que version del proteus rekiero para abrir estos archivos???

Adquiere la ultima version y quitate de problemas seguro que con esa se puede abrir cualquiera que este en la red.. creo que es la 7.0 SP2
 
Última edición:
buenas en el foro he visto proyectos con matrix de leds y me dio curiosidad para del desarrollo de uno a través de teclado como este:


he logrado esto con un pic 182550( dejo simulación en proteus me falta la comunicacion pc -pic o teclado-pic), vere como puedo avanzar :LOL:
 

Adjuntos

  • matrix.rar
    33.8 KB · Visitas: 207
que tal amigos
este es el codigo para controlar un servomotor con encoder de un canal que le quite a una copiadora (el servomotor), el programa tiene 2 posiciones 650 pulsos y 2600 pulsos del encoder, si esta en 650 pulsos y presionas el pulsador se cambia a la posicion de 2600, y si esta en 2600 y presionas el pulsador se cambia a la posicion de 650... esta parte trabaja muy bien...
el problema es con la comunicacion serial...le envio un "1" y le digo al pic que me regrese lo que recibio y me regresa una "q", si le envio un "2" me gregresa una "r"

que creen que pueda ser?..... estoy usando el modulo USART del micro
ya probe con un programa que si funciona que publico Lubeck y me pasa lo mismo
cheque conexiones en el pic, en el max232, utilice otro....

Código:
CLEAR
INCLUDE "modedefs.bas"
DEFINE OSC 4
TRISC = %10000001
TRISB = %00000000
'Initialize USART
'TRISC = %10111111 ' Set TX (PortC.6) to out, rest in
'SPBRG = 25 ' Set baud rate to 2400
'RCSTA = %10010000 ' Enable serial port and continuous receive
'TXSTA = %00100000

'DEFINE HSER_RCSTA 90h
'DEFINE HSER_TXSTA 24h
'DEFINE HSER_BAUD 2400

INTCON = %11000000 ' activamos las interrupciones y las de periféricos
ON INTERRUPT GoTo serie ' Declare interrupt handler routine
PIE1.5 = 1 ' activamos la interrupción de recepción de la USART

SPBRG = 25              ' Set baud rate to 2400
RCSTA = %10010000       ' Enable serial port and continuous receive
TXSTA = %00100000       ' Enable transmit and asynchronous mode

OPTION_REG =%11100000   'TMR0 EN MODO CONTADOR

ADCON1=7                'PUERTO A DIGITAL
TRISA = %111111         'PUERTO A COMO ENTRADAS
DEFINE CCP1_REG PORTC
DEFINE CCP1_BIT 2
DEFINE CCP2_REG PORTC
DEFINE CCP2_BIT 1
DEFINE HPWM2_TIMER 2  '

VTMR1 VAR WORD             'variable para acumular captura del timer1
CAPTURA VAR WORD
SENTIDO VAR BIT            'sentido de giro
FRENADO VAR BIT
MOV VAR BIT
FPWM VAR WORD              'frecuencia del pwm 
VEL VAR BYTE               'velocidad de gigo del motor 0-255
POS VAR WORD               'set point
ACUM VAR WORD
DESCONTAR VAR WORD
SENT2 VAR BIT

DATOE VAR WORD          'VARIABLE PARA CAPTURAR ENTRADA DEL RS232
DATOS VAR WORD          'VARIABLE PARA ENVIAR DATAOS POR RS232
DATOE=0
INTCON.2=0              'bandera que se activa cuando se desborda el TMR0

symbol B1=PORTA.0

 ACUM=0
 VTMR1=0
 SENTIDO=1
 POS=650                   '650 pulsos del encoder
 FRENADO=0
 FPWM=15000                'FRECUENCIA PARA HPWM
 SENT2=1
T2CON = %00000001     'sincroniza reloj externo, apaga oscilador, 1:1 preescaler
VEL=125
TMR0=0                'CONTADOR A CERO
portc.5=1             'SENTIDO DE GIRO
HPWM 2, VEL,FPWM        'MOTOR GIRA SENTIDO=1 CON HPWM DE CCP2
HPWM 1, 0, FPWM         'SENTIDO=0 NO GIRA VEL=0 EN EL CCP1
MOV=1

Inicio:
    IF B1=1 THEN GOTO CAM_POS  'si presiono B1 cambio la posicion a la que
    IF SENT2 <> PORTC.5 THEN    'si cambia el sentido de giro contador a cero
        SENT2=PORTC.5          'ultimo sentido de giro se actualiza
        TMR0=0                 'contador a cero
    ENDIF
 IF INTCON.2=1 THEN       'se desbordo el TMR0?
    
    IF PORTC.5 = 1 THEN   'sentido=1 acumula, si no descuenta
        ACUM=ACUM+256       
    ELSE
        ACUM=ACUM-256
    ENDIF
     INTCON.2=0           'apago bandera de desbordamiento
 ENDIF
    
    if PORTC.5 = 1 then    ' aqui esta el valor real del contador
        VTMR1=ACUM + TMR0  ' contador = acumulado mas valor actual del TMR0
    else
        VTMR1=ACUM - TMR0  ' contador = acumulado menos valor actual del TMR0
    endif

    IF vTMR1 = POS THEN 'si llegaste al set point PWM=0 y frena el motor 
        VEL=0
        goto Frenar
    ENDIF
 GOTO Inicio

Frenar:
    hpwm 2,0,FPWM    'VEL=0
    HPWM 1, 0, FPWM  'VEL=0

    IF PORTC.5=1 THEN  'lo qu esta en el TMR0 se pasa al acumulado
        ACUM=ACUM+TMR0
    ELSE
        ACUM=ACUM-TMR0
    ENDIF
    FRENADO=1
    TMR0=0
    VEL = 0
    GOTO Inicio
    
CAM_POS:
    if B1=1 THEN GOTO CAM_POS
    PAUSE 10
    IF POS=650 AND MOV=1 THEN   'gira en sentido =1
        POS=2600
        MOV=0
        portc.5=1
        VEL=160
        TMR0=0
        HPWM 2,VEL,FPWM
        HPWM 1, 0, FPWM
    ENDIF
 
    IF POS=2600 AND MOV=1 THEN  'gira en sentido=0
        POS=650
        portc.5=0
        VEL=160
        TMR0=0
        MOV=0
        HPWM 2,0,FPWM
        HPWM 1, VEL, FPWM
    ENDIF
    MOV=1
    GOTO INICIO 
 
 serie:
 DISABLE
 'PIE1.5=0
'if RCSTA.1=1 then
''gosub resetusart
'PORTB.4=1
'PAUSE 500
'PORTB.4=0
'RCSTA.4=0
'PAUSE 1
'RCSTA.4=1
'endif
'HSEROUT [12]
'PORTB.7=1
'PAUSE 100
'PORTB.7=0
'HSerin [char] ' Read USART and store character to next empty location
'HSEROUT [CHAR]

    If PIR1.4 = 1 Then  ' ' Wait for transmit register empty
        portb.7=1
        PAUSE 100
        PORTB.7=0
    ENDIF
    
    If PIR1.5 = 1 Then      ' If receive flag then...
           DATOE = RCREG      ' recibo datos del rs232 de la PC
     'hserin [datoe]
        PORTB.4=1
        PAUSE 100
        PORTB.4=0
        IF DATOE=="2" THEN PORTB.7 = 1   'esto nunca se cumple por que DATOE=r
        IF DATOE=="1" THEN PORTB.4 = 1   'esto nunca se cumple por que DATOE=q
        TXREG = DATOE         'envio lo que recibi hacia la PC
        Endif
    INTCON = %11000000
enable    
RESUME
    
END

Autotronico
esta muy bien el proyecto...en la medida de lo posible tratare de implementarlo $$$
 
Última edición:
hola que tal,

quisiera saber si me pueden ayudar con el compilador picbasic pro 2.50C, ya que no me compila porque uso una versión de windows de 64 bits, no sé si exista alguna solución para que pueda compilar sin problemas en 64 bits, gracias saludos.
 
que tal amigos....

alguien me puede ayudar con un circuito de potencia de luces de 120 v

lo que pasa es q tengo un circuito secuencial y lo qiero extender a lamparas pero no se como hacer una etapa de potencia...para esto....

espero me puedan ayudar
 
HOLA AMIGO MIRA ES SUPER FACIL el control de potencia lo puedes hacer son reles o con opto o con triacs seria bueno que pongas un ejemplo de tu ckto y pues te aseguro que te podriamos ayudar
 
Última edición:
aqi agrego el circuito en proteus para ver si me pueden ayudar con un control de potencia de 110/220V y 12V....

espero me puedan ayudar...

saludos
 

Adjuntos

  • Luces fantasticas.rar
    161.6 KB · Visitas: 188
control de potencia de 110/220V y 12V....


especifica mas este punto como 110v y12v????

los 110v son CA y los 12v son CC???
necesitas dos circuitos independientes o uno solo para los 2 (110vAc y 12Vcc)???
o sera alimentado con 12v y la etapa esde 110...???

a segun lo que imagino lo podrias hacer con reles para no complicarlo Tanto...
 
disculpen por no haber especificado jejeje:unsure:

la etapa de potencia lo quiero alimentar a 12 volts con focos de 6 volts

espero me puedas ayudar....con el diseño en proteus....

necesito dos circuitos independientes, la etapa de circuito de control es alimentado por 5Vcc y la etapa de potencia quiero qe sea a 12Vcc para focos de 6Vcc, la etapa de conttrol es el archivo que les deje en proteus...
 
Última edición:
aa ok ai te van las especificaciones de los focos....

Foco miniatura de bayoneta, de 6,3 Volts,
0,94 Watts,
150 mA
52 candelas.
Mide 9,8 mm de diámetro

te sirve esto???

agrego una foto del foco....
 

Adjuntos

  • Foco Miniatura de Bayoneta.jpg
    Foco Miniatura de Bayoneta.jpg
    10.2 KB · Visitas: 13
te sirve esto???

sip.. espera...

A ver....

Yo lo haria asi...

supongo que es para instalar en un auto asi que sobraria decirte que necesitarias una fuente de 2A o mayor... pero bueno...

segun mis calculos la suma de los consumos de las lamparas es de 1.2A y los reguladores como el 7806 normlmente son de 1A asi que qedaria muy justo por lo que te sugiero que metas dos reguladores o que consigas uno de 2A creo que su codigo es el 78S06 (si lo hay)...
(u otra alternativa seria poner unos transistores pero es mas complicado que poner 2 reguladores)

bue sin tanto preambulo revizalo y a ver que opinas...
 

Adjuntos

  • Luces del Auto Fantastico.rar
    20.2 KB · Visitas: 129
Última edición:
quedo estupendo amigo..mil gracias por tu apoyo...ya lo probe en proteus y si funciona...estupendo!!!:apreton:(y):aplauso::LOL::);)

**umm tengo una pregunta....las lamparas que pusistes en el diseño estan configuradas a 12Vcc y la qe te comente es de 6Vcc, para el diseño con mis lamparas hay qe cambiarle el valor de resistencia o se puede dejar tal y como me lo marcas con los valores q me pusistes...???

**Otra Pregunta: No entiendo muy bien el simbolo de tierra, estas van conectadas al polo negativo de la fuente? o hay que conectarlas a algun aditamento q sea tierra fisica???
 
las lamparas que pusistes en el diseño estan configuradas a 12Vcc y la qe te comente es de 6Vcc, para el diseño con mis lamparas hay qe cambiarle el valor de resistencia o se puede dejar tal y como me lo marcas con los valores q me pusistes...???

asi dejalo sirve con esas resistencias....

No entiendo muy bien el simbolo de tierra, estas van conectadas al polo negativo de la fuente? o hay que conectarlas a algun aditamento q sea tierra fisica???

si es el polo negativo de la fuente... no no hay que poner nada a tierra fisica... (imagino que te refieres a la tierra o sea el planeta)
 
y por ejemplo si quiero dejarle los leds,
¿tengo qe derivar de las salidas del PIC una resistencia de 330 para los leds???
afectaria en algo a los focos??

podrias derivarlo como dices.... o estaria mas relajado el pic, si los pusieras en paralelo con el foco...

con respecto a las lamparas en el simulador dale click derecho y en las propiedades ponle 6v y una resistencia de 42 Ohms... veras que funciona igual....
asi como en la imagen...
 

Adjuntos

  • Captura.JPG
    Captura.JPG
    35.2 KB · Visitas: 36
Última edición:
ya le puse los valores que me diste y jala excelente..

solo para comprender bien
por que defines una resistencia de 42ohms al foco?? ay alguna razon o calculo??
 
ay alguna razon o calculo??

es calculo

el voltaje es de 6.3
y el consumo es de 150mA o sea .150A segun la info que me diste...

por ley de ohm V=I*R y despejando r=V/I donde r=6.3/.150=42 Ohms
si tu mides con un tester la resistencia interna del foco debe rondar por esos Ohms

por otro lado creo que en la R1 puse 220 Ohms por error pero las resistencias de R1 a R8 deben ser de áprox. 1k
 
Atrás
Arriba