el 05-02-2012 09:59 AM
Hola a todos, espero que alguien me pueda ayudar porque creo que no es muy dificil lo que pido.
Actualemente estoy haciendo mi proyecto de final de carrera, se trata de hacer un seguidor solar.
Por una parte recibo una consigna en grados (valor inicial=120º descendientes) la cual comparo con la posicion actual de un encoder (valor inicial=120º descendientes), si estas la consigna es menor que el valor actual del encoder el motor gira. Con esto consigo que el motor se mueva muy a menudo con pasos muy cortos.
Lo que me gustaria hacer es lo siguiente:
Dejar que la consigna siempre sea x unidades menor que el valor actual, para que el motor no tenga que ponerse en marcha y pararse tan a menudo y pueda hacer pasitos mas largos.
Lo he probado restando la consigna al valor actual y que este valor se menor o igual que -1.
119º-120º= -1º -->motor en marcha. Pero este se para en cuanto la diferencia deja de ser -1º.
Lo que quiero yo es lo siguiente:
La consigna parte de 120º, desciende hasta 119º, en este momento el encoder (120º) se mueve hasta 119º (o hasta el valor que tenga actualmente la consigna, por ejemplo, 118,9º) y que luego vuelva a dejar un grado de diferencia con la consigna respecto este ultimo valor del encoder.
La idea sería esta:
Consigna: 120º-->119º-->118,9º
Encoder: 120º------------>118,9º
Consigna: 118,9º-->117,9º-->117,8º
Encoder: 118,9º--------------->117,8º
Consigna: 117,8º-->116,8º-->116,7º
Encoder: 117,8º--------------->116,7º
y así sucesivamente.
Gracias.
el 05-02-2012 03:14 PM
Hola,
No se que motor tienes, ni como controlas su posición, pero se me ocurre que puedes utilizar algo así:
Saludos Cordiales,