Autor Tema: pwm un problem  (Leído 5133 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
pwm un problem
« en: 26 de Junio de 2006, 00:27:56 »
bueno  amigos  ise  este  programita
   pero  tengo  una  problema
me  arranca  al  maximo y   despues  que  preciono  el  pulsador  recien  controla,  quisiera  que  arranque   des de    cero 
I var byte
inicio :
pwm portb.0,I,145
if porta.2=0 then
i=i+25
ifI= 255 then
I=0
endif
endif
goto  inicio
« Última modificación: 27 de Junio de 2006, 00:10:47 por liminix »

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: pwm un problem
« Respuesta #1 en: 26 de Junio de 2006, 00:37:22 »
Hola:

Prueba a inicializar en cero la variable antes de inicio.

Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
Re: pwm un problem
« Respuesta #2 en: 27 de Junio de 2006, 00:20:17 »
hola  si  lo  hice  pero  arranca  en alto  un  isntante  de  alli  se  va  a  cero
pero  el  problema  que  tengo  es  que quiero  controlar  con  dos  pulsadores
uno  que  baje  y  otro  que  suba  el  nivel asi :


i var byte
I=0
inicio:
pwm portb.0,i,145   'pwm este es ancho de pulso
if porta.2=0 then  'este es para subir
i=i+25
if i=255 then
i=0
endif
endif
pwm portb.0,i,145 'es te pwm
if portb.3=0 then  'este es para bajar
i =i-25
if i<=1 then
i=255
endif
endif
goto inicio


pero  no   me  controla la  salida  cuando  presiono  los  pulsadores  esta  mal  mi  programa  o  es  el  pic
   que  esta  mal 


Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
Re: pwm un problem
« Respuesta #3 en: 01 de Julio de 2006, 00:01:42 »
Hola:

Prueba a inicializar en cero la variable antes de inicio.
hola  aver  si  me  puede   dar  una  ayudita  con  este  programita
por  que  no  me  ovedece la  orden de  subir o  bajar  ancho  de pmw quisiera  saber  que  hice  mal

--------------------------------------------------------------------------------

i var byte
I=0
inicio:
pwm portb.0,i,145   'pwm este es ancho de pulso
if porta.2=0 then  'este es para subir
i=i+25
if i=255 then
i=0
endif
endif
pwm portb.0,i,145 'es te pwm
if portb.3=0 then  'este es para bajar
i =i-25
if i<=1 then
i=255
endif
endif
goto inicio
 

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: pwm un problem
« Respuesta #4 en: 01 de Julio de 2006, 10:35:33 »
Hola Muchachos:

Liminix
Me Parece que estás volviendo a cometer el mismo error que en la lectura del potenciómetro de otro post.
Tu código dice :

i var byte
I=0
inicio:
pwm portb.0,i,145   'pwm este es ancho de pulso
if porta.2=0 then  'este es para subir
i=i+25
if i=255 then
i=0
endif
endif
pwm portb.0,i,145 'es te pwm
if portb.3=0 then  'este es para bajar
i =i-25
if i<=1 then
i=255
endif
endif
goto inicio


Probá con esto, pero antes miralo bien, para descubrir la alteración del orden de las líneas del programa:

i var byte
I=0
inicio:

if porta.2=0 then  'este es para subir
i=i+25
if i=255 then
i=0

pwm portb.0,i,145   'pwm este es ancho de pulso

endif
endif

if portb.3=0 then  'este es para bajar
i =i-25
if i<=1 then
i=255

pwm portb.0,i,145 'es te pwm

endif
endif
goto inicio

Vamos Liminix .... no me afloje.
Y contanos que estás haciendo, si estás construyendo algo o es simplemente para aprender a usar las instrucciones.

Saludos.
« Última modificación: 01 de Julio de 2006, 19:32:19 por Marioguillote »

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: pwm un problem
« Respuesta #5 en: 03 de Julio de 2006, 14:33:08 »
Pues no te vo a aconsejar nada sobre el programa, pero si tu obtienes dos salias en PWM si vas a poder generar una onda de 50 Hz mediante PWM, muy similar a la que genran algunos UPS, pero (siempre existe un pero)tu tienes que considerar que la señal debera ir variando su ducty cicle para poder obtener un valor eficaz de igual magnitud que de una señal senoidal, y si tu pregunta es ¿Si yo conecto por ejemplo un radio pequeño funcionara?, pues si tu circuito provee la suficiente corriente si lo hara, ya que un trasformador funciona tambien como integrador de señal osea mas o menos te arreglara la señal, suerte con tu proyecto y cualuier cosa me avisas talvez en  la web puedes encontara informacion como conversor CD/CA
Casi me maté pero ahora estoy de nuevo vivo

Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
Re: pwm un problem
« Respuesta #6 en: 05 de Julio de 2006, 00:08:34 »
Hola Muchachos:

Liminix
Me Parece que estás volviendo a cometer el mismo error que en la lectura del potenciómetro de otro post.
Tu código dice :

i var byte
I=0
inicio:
pwm portb.0,i,145   'pwm este es ancho de pulso
if porta.2=0 then  'este es para subir
i=i+25
if i=255 then
i=0
endif
endif
pwm portb.0,i,145 'es te pwm
if portb.3=0 then  'este es para bajar
i =i-25
if i<=1 then
i=255
endif
endif
goto inicio


Probá con esto, pero antes miralo bien, para descubrir la alteración del orden de las líneas del programa:

i var byte
I=0
inicio:

if porta.2=0 then  'este es para subir
i=i+25
if i=255 then
i=0

pwm portb.0,i,145   'pwm este es ancho de pulso

endif
endif

if portb.3=0 then  'este es para bajar
i =i-25
if i<=1 then
i=255

pwm portb.0,i,145 'es te pwm

endif
endif
goto inicio

Vamos Liminix .... no me afloje.
Y contanos que estás haciendo, si estás construyendo algo o es simplemente para aprender a usar las instrucciones.

Saludos.


hola  amigo  es que  estoy  aprendiendo  a  utilisar  las  instruciones bueno  me gustaria aver  si pudieramos  charlar  en  el  msn mi  correo  es  jorge_ciber_82hotmail.com aver  si  me  agregas y  asi podemos  charlar  un  poco  mas sobre  pics gracias  por  tu  ayuda

Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
Re: pwm un problem
« Respuesta #7 en: 11 de Julio de 2006, 00:17:28 »
hola  a  todos   ya me  solucione  el  problem ,pero  tengo  otra  inquietud alli  se  las  mando
ES TE  EL PROGRAMA PARA PWM CON  DOS PULSADORES
UNO PARA SUBIR OTRO  PARA BAJAR

J var byte
j=0
inicio:
if porta.3=0 then
j= j-25
endif
if j=1 then
j=255
endif
if porta.2=0 then
j=j+25
endif
if j=255 then
j=0
endif
pwm portb.0,j,145
goto inicio

asi  sle  con   2  pulsadores  como  uno  para  disminuir  y  otro   para  subir

pero   ahora  quiero  que  cuendo  llegue  asu  maximo  se  quede  alli por  decir  sigo  pulsando y  se  reinicia
tanto  cuando  se  disminuye  o  cuando  aumenta,si pues  aver  si  en  eso  me  ayudan  amixxxxxxxxxxxxxxxxx

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: pwm un problem
« Respuesta #8 en: 11 de Julio de 2006, 08:47:50 »
Hola Liminix:
Entonces lo que tienes que hacer es sacarle al programa las líneas que te mandan a reestablecer los valores máximos y mímimos.
Quedaría algo así, si es que entendí lo que querés hacer:

------------------------------------------------------------

J var byte
j=0

inicio:

if porta.3=0 then
j= j-25
endif

if j=1 then inicio

 Cuando llega al mínimo, vuelve a "inicio" y se queda siempre en este lazo condicionante, hasta ver si pulsas de aumentar, antes pasaba al otro extremo, se "reiniciaba", como vós decís

if porta.2=0 then
j=j+25
endif

if j=255 then inicio

 Cuando llega al máximo vuelve a "inicio" y se queda siempre en este lazo condicionante, hasta ver si pulsás de disminuir, antes pasaba al otro extremo, se "reiniciaba", como vós decís.

pwm portb.0,j,145

goto inicio

---------------------------------------------------------

Probá ese código a ver si te sirve, para lo que querés hacer.

Saludos

Mario
« Última modificación: 11 de Julio de 2006, 08:51:39 por Marioguillote »

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: pwm un problem
« Respuesta #9 en: 11 de Julio de 2006, 11:03:36 »
Solo una cosita:

0+25=25
25+25=50
50+25=75
75+25=100
100+25=125
125+25=150
150+25=175
175+25=200
200+25=225
225+25=250
250+25=275

en que momento se ejecutará:

if j=255 then inicio

Cuando llega al máximo vuelve a "inicio" y se queda siempre en este lazo condicionante, hasta ver si pulsás de disminuir, antes pasaba al otro extremo, se "reiniciaba", como vós decís.[/i]


que tal si :

if j=250 then inicio

Saludos

A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: pwm un problem
« Respuesta #10 en: 11 de Julio de 2006, 11:43:33 »
Genial KALLITOS.

Eso pasa por mi apuro de siempre.
Nunca me puse a calcular si 255 / 25 daba un número entero.

Gracias por la ayuda.

Saludos

Mario

Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
Re: pwm un problem
« Respuesta #11 en: 20 de Julio de 2006, 23:33:00 »
ya  probe  lo  que  me  digiste  y  me  sale  error
aqui te  dejo  una  idea 
j var byte
j=0
inicio:
if porta.2=0 then
j=j+51
endif
if j=255 then
j=j max 255
 
 endif
if porta.3=0 then
j=j-51
endif
if j=0 then
j=j min 0
endif
pwm portb.0,j,145
goto inicio
 

lo  intente  asi  pero  se  resetea   igual   aver  si  me  ayudas  probe  con  esas  intrucciones max y  min

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re: pwm un problem
« Respuesta #12 en: 21 de Julio de 2006, 06:54:04 »
Hola Liminix, no es que mis conocimientos de basic sean muchos pero creo que será algo así

Código: QBasic/QuickBASIC
  1. j var byte
  2. j=0
  3. inicio:
  4. IF j<>255 THEN      'Si no ha llegado al valor máximo
  5.   IF porta.2=0 THEN   ' y el botón ha sido pulsado
  6.   j=j+51                  'podemos sumar
  7.  endif
  8. endif
  9.  
  10. IF j<>0 THEN      'Si no ha llegado al valor mínimo
  11.   IF porta.3=0 THEN   ' y el botón ha sido pulsado
  12.   j=j-51                  'podemos restar
  13.   endif
  14. endif
  15.  
  16. pwm portb.0,j,145
  17. GOTO inicio
« Última modificación: 21 de Julio de 2006, 06:56:56 por Manofwar »
Saludos desde Almería, España

Desconectado liminix

  • PIC12
  • **
  • Mensajes: 58
Re: pwm un problem
« Respuesta #13 en: 21 de Julio de 2006, 23:30:41 »
CON UN PULSANTE

j var byte
j=0
trisb=0
subir :
if porta.2=0 then
j=j+51
endif
while j=255
j=255
wend
pwm portb.0,j,145
goto subir
 
me  sale  con  un  pulsante  pero   no  me  sale  cuando  quiero  con  dos  uno  para  subir  y  otro  para  bajar

AHORA CON  2 PULSANTES
j var byte
j=0
trisb=0
subir :
if porta.2=0 then
j=j+51
endif
while j=255
j=255
wend
pwm portb.0,j,145
goto subir
bajar:
if porta.3=0 then
j=j-51
endif
while j=0
j=0
wend
pwm portb.0,j,145
goto bajar
  bueno  creo que  con  esta  ayudita aver  si  me  dan  una  luz


 

anything