Hola, soy nuevo en este tipo de programación Arduino.
Estoy construyendo una grúa torre a escala para un proyecto escolar y quisiera saber si alguna forma de programar limites de carrera para los motores de DC con solo código, sin utilizar sensores ni switches fisicos, tal vez por medio de algún tipo de contador de tiempo de funcionamiento o algo parecido que crezca o decrezca según el sentido de giro del motor y establecer asi los limites según el valor de dicho contador. Sé que tal vez no sería muy preciso el resultado pero quiero evitarme el uso de algo fisico por cuestiones de tiempo y espacio en la maqueta. Actualmente los motores los controlo con switches pulsadores y deseo integrar Arduino con control remoto bluetooth. Les recuerdo que soy totalmente nuevo en esto y les agradecería fueran muy básicos y explícitos en sus explicaciones. Saludos y gracias de antemano.
Se puede? Si. Será confiable con el tiempo mmm a medias.. y ahora te explico
Si lo alimentas con baterías todo dependerá de la carga de las mismas.
Baterías cargadas tendran un desplazamiento en un tiempo T1
Baterias descargadas tendrá un desplazamiento mas lento en un T2 tal que T2 > T1 y hasta me arriesgo a decir T2>>T1 lo que en matemáticas es mucho mayor (>>)
Bien..
Si usas fuente externa regulada y estabilizada
Los tiempos deberían mantenerse.
Existe un modo de autocalibrarse? Si.
Podrias cuando inicias (energizas el arduino) si usas baterías, tener una simple rutina tal que vaya de un lado para el otro y de algun modo midas el tiempo, y la manera de hacerlo sin sensores es con tu intervención. Indicandolo manualmente o ingresándolo por teclado o de algún modo.
Tambien podrias tener un sensor de corriente y cuando llegue a un extremo esa corriente aumentará y será tu umbral o indicación de que llegó al extremo.
Algunos puentes H tienen esa salida de realimentación de corriente y puede ser medida con un canal del ADC del arduino.
Ahora es tan barato poner un microswitch o un sensor óptico, cual es la razón de no hacerlo?
Gracias por tu información, la verdad es que mi placa de programación solo dispone de 14 puertos I/O y ya los utilicé casi todos, requiero al menos simular limites de carrera para 2 motores DC. El proyecto esta siendo pagado por una institución educativa y no hay más presupuesto para agrandar la capacidad de la tarjeta Arduino. No tengo experiencia en este tipo de programación por código, solo PLC lo cual es algo diferente. La tarjeta esta alimentada por una fuente estable de DC y mi idea es precisamente crear algún tipo de contador que aumente o reduzca su valor según el sentido de desplazamiento del mecanismo movido por el motor y en base a eso fijar los limites de carrera (valor=0 en limite inferior y valor= X en limite superior). Me serviría muchísimo si me apoyan con algun codigo ya prefabricado para tomarlo de base y de ahí partir para desarrollar el resto. El proyecto será presentado en un concurso en fechas muy cercanas y necesitamos implementar esto. Gracias
Esa respueta me parece vergonzoza y lo digo respetuosamente. Sin importar la realidad el pais donde vivas.
De cuanto hablas? de algunos centavos de dolar? Un par de integrados solucionan lo que te falte.
un 74hc165 por ejemplo te consume solo 2 pines y te agrega 8, y lo puedes poner en cascada aumentando entradas. Un 74hc595 hace lo mismo como salida y no tienen limite, aumentas de a 8 las salidas usando 2 pines, asi que te sobrarían todos los demás.
En fin. si se quiere se puede. No hablo de comprar mas arduinos ni siquiera un MEGA. pero con pocos $$$ logras lo que quieres.
Ahora ya te di pautas para resolverlo con lo que tengas y dispongas.
Hola, sabía que me pegarían duro y con tubo los expertos, mil disculpas, como mencioné soy totalmente nuevo en esto y me estoy auto-instruyendo con los ejemplos contenidos en la aplicación de Arduino IDE y consultas de internet, más aún estoy trabajando con simuladores porque todavía no tengo la tarjeta físicamente pero quiero adelantarme por cuestión de tiempo. Ignoraba que se podían expandir las I/O como lo mencionas tan fácilmente, aún así he logrado hacer una rutina que me incrementa y reduce el valor de una variable en respuesta al sentido de giro del motor que usaré como base para saber la posición física del mecanismo que mueve el motor y así fijar limites de carrera para el mismo. Mi problema ahora es que todos los valores se borrarán cuando se desenergice la tarjeta y no me servirán para mantener los limites reales. He leído que una forma de mantener los valores es escribiendo en la EEPROM pero aún no sé bien como hacerlo, si pudieran explicarme un poco se los agradecería bastante; estoy investigando y sé que lo lograré, pero si me ayudan mucho mejor (soy novato pero decidido, aunque sé que daré muchos tropiezos). He leído que la EEPROM tiene un limite de ciertos ciclos de escritura y no sé si me la acabaré porque según veo tendría que colocar la instrucción de escritura en el void Loop() cada vez que mueva un motor. Aún así deseo hacerlo así a menos que exista otra manera de guardar un valor sin que se borre al cortar la energía. Agradezco toda su ayuda y críticas constructivas. Saludos.
P.D. Soy de México y pues no estamos tan fregados económicamente sólo que la burocracia para obtener fondos de una institución publica es lo que mata (igual puedo comprar los chips que mencionas por mi cuenta, pero he tomado como reto hacerlo de la manera que me lo planteé sin usar dispositivos físicos para los limites de carrera). Y hecho yo no estoy cobrando absolutamente nada, lo hago por iniciativa propia ya que mi hija es quien lleva el proyecto a concurso, Soy Mecatrónico retirado y solo tengo algo de experiencia en programacion PLC´s.
@Surbyte @ramistramis
La electrónica no es mi campo pero, cuando el motor se para por que llega al final de la carrera ¿hay alguna caída de tensión que se pueda medir con ADC?
Se puede medir el aumento de corriente al llegar al tope mecánico pero quiero evitar eso porque se daña muy rápido el engranaje del motorreductor.
Hola, sabes de algun simulador gratis o de prueba que sea bueno? Estoy utilizando Wokwi pero viene muy limitado en librerías de dispositivos. Saludos
Cuando me referí a la respuesta vergonzosa no era a tu respuesta sino a la de las autoridades escolares. Quiero aclararlo porque al volver a leerme me entró la duda de a donde apuntaba.
Como te dije antes si el puente H que usas dispone de medición de corriente ahi tienes una opción sin esfuerzo.
Wokwi no viene limitado, hay que pagar jajaja para usarlo a full y es realmente bueno incluso en la versión gratis.
No se que quieres hacer porque te permite hacer todo.
Este ejemplo maneja dos servos con los A4988. Es realmente bueno y muy realista.
Se me ocurrió algo sumamente barato y que te podrá servir.
Le pones un iman debidamente orientado y usas dos sensores de puerta o reed switch para indicar los limites. Mas barato imposible.
Incluso puedes conseguir el reed switch en una tienda electrónica (son muy baratos) y armar todo por tu cuenta.

Muchas gracias por los tips, creo finalmente optaré por esas opciones... aun así me quedé trabado con lo del guardar valores en la EEPROM, lo intenté mucho basándome en ejemplos pero no logré guardar nada... el simulador si sirve para reflejar esta función o debo hacerlo en forma real con la tarjeta? Saludos
Si sirve. pero como siempre quieres abarcar demasiado y tienes muchas dudas.
Tomate las cosas con calma.
EEPROM, ensaya ejemplos con eeprom nada mas.
Reed switch lo mismo.
Luego une agrega suma pero no metas todo en la misma bolsa al principio porque solo obtienes una ensalda.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
