![]() |
|
|
|
| VHF: Canal 77 |    | ![]() |
![]() |
![]() |
![]() |
![]() |
|
#126
|
||||
|
||||
|
Cita:
Lo que vi en el blog me hizo pensar que puede (tal vez, quizas) que con un MiniMU-9 que incluye magnetometro, giroscopo y acelerometro no hagan falta mas "chismes" para que el sistema funcione. Solo necesitáis otra salida en la Pi de positivo + y negativo - invertible y se podría controlar un motor en ambos sentidos. Pero sobre todo en el enlace que os puse hay otro enlace hacia ese proyecto de usar el sensor triple para controlar la imagen en 3D que se muestra. https://github.com/DavidEGrayson/minimu9-ahrs/wiki ¿Habéis visto la suavidad del movimiento? Y eso a pesar del "ruido" aleatorio que meten esos sensores. Aqui dicen esto: The program can output the raw sensor data from the magnetometor, accelerometer, and gyro or it can use that raw data to compute the orientation of the IMU. El IMU y el barco pueden ser y de hecho son la misma cosa si el IMU (el sensor) esta fijo. Sobre todo disponéis de código. Sí. Código abierto que muestra como lo hace y que podría ser la puerta para usar el mismo sensor para indicarle a un motor si debe girar en un sentido, otro o quedarse quieto. https://github.com/DavidEGrayson/minimu9-ahrs Si ese barato sensor sirviera, y si el montaje fuera tan simple, se podría construir una especie de ordenador de control que se dedicara a manejar un motor (con los correspondientes elementos de potencia adecuados a su talla) y así obtener algo muy similar a lo que se vende en tiendas. Insisto, lo digo desde la ignorancia mas absoluta sobre el mundo Arduino. ![]() Editado por ... en 06-06-2014 a las 17:06. |
| Los siguientes cofrades agradecieron este mensaje a | ||
carcamal (07-06-2014) | ||
|
#127
|
||||
|
||||
|
Hola Pinguino..
![]() Quizá deba aclarar que no voy mas allá de ser un jubileta que echa de menos andar trasteando con cables y ordenadores como he hecho cuando estaba en actividad. No soy experto en Arduino ni en Raspberry pero me llama mucho la atención el mundillo que hay en torno a ambos dispositivos. Leo cuando puedo todo aquello que se relaciona y trato dentro de mis posibilidades de aprender porque pienso que estos trastos hacen las cosas mas faciles en la vida diaria. (en mi caso y por mi aficcion a la vela creo que pueden ayudar a mantener el rumbo mientras me bajo a por una cerveza a la nevera). El ordenador con el que escribo tiene una particion dedicada a UBUNTU que uso cuando algo no "pita" en Windows. Hace unos dias comencé a trastear con QEMU (el emulador de Frambuesas) a ver que saco en claro. En resumen, creo que este hilo creado por TAMAMOANA para intentar hacer un sistema de gobierno con Arduino, no excluye el empleo de la IMU de Pololu+Raspberry. Es simplemente una forma mas de abordar la solucion de hacer un piloto automatico (Y quizás estes en lo cierto de que la placa Rspberry puede ser mejor punto de partida que el Arduino puesto que la cartografia ya está probado que funciona). Bueno.. en el enlace siguiente hay Codigo para el sensor LSM303 de Adafruit en Pyton por si quieres echarle un vistazo. https://github.com/adafruit/Adafruit...ruit_LSM303.py Y un video menos acabado de el funcionamiento de ese chip Un cordial saludo y gracias por aguantar este ladrillo.. ![]() Editado por carcamal en 06-06-2014 a las 17:38. |
|
#128
|
||||
|
||||
|
Hola nois:
Sigo avanzando. ya tengo la caja nueva. Los botones de uso. Y hoy he recibido el magnetómetro con acelerómetro y el H bridge de muchos amperios (espero). Seguire informando. Tonitutusaus |
| Los siguientes cofrades agradecieron este mensaje a tonitutusaus | ||
Geronimo (26-06-2014) | ||
|
#129
|
||||
|
||||
|
Buenas tardes cofrades..
De vuelta a este hilo para decir que recibí los componentes para comenzar a jugar con el invento. *Placa Arduino MEGA 2560 http://www.adafruit.com/products/191 *LSM303 http://www.adafruit.com/products/1247 *LDC 16x2 http://www.adafruit.com/product/181 Aparte de miscelanea (conectores, cables, placa de ensayo, etc.,) He comprobado con el Arduino cada uno de los componentes (LSM303 y LCD), con las "demo" y todo va bien. Mas abajo cuelgo un dibujo de las conexiones para ambos dispositivos. El potenciometro me permite regular el contraste del LCD y el LSM303 me ofrece constantemente valores X/Y/Z de "Mag" y "Accel" que cambian cuando muevo el sensor. Hasta aqui todo correcto. En lo que me pierdo es en poner todo junto (que el LCD presente los valores del LSM303 p. ejemplo...) Ando en los foros del Arduino haciendo preguntas a ver si logro conjugar el invento... Saludos y ![]() Editado por carcamal en 14-11-2014 a las 00:00. |
| Los siguientes cofrades agradecieron este mensaje a carcamal | ||
TAMAMOANA (03-07-2014) | ||
|
#130
|
||||
|
||||
|
Buenos dias cofrades.
Como era de esperar, estoy atascado en la parte "software" del invento. No obstante, a base de tortazos voy sacando conclusiones que compartiré en este hilo. El pequeño sensor LSM303 (el redondo de FLORA)... y por supuesto otros Acelerometros-Magnetómetros digitales del mercado actual, cumple sobradamente con los requerimientos para el proyecto. El LMS303 ofrece valores XYZ de intensidad de flujo magnetico de la Tierra micro-Teslas (hay que tenerlo alejado de materiales ferrosos)y valores XYZ Aceleracion en metros/seg2. Para obtener el rumbo se aprovecharan los valores XY del Magnetometro y los valores del acelerometro bien pueden ser empleados en una indicacion 3D de un "clinometro" Para calibrarlos se pueden emplear programas graficos o un pequeño servo pero se puede hacer al final del proyecto. Las herramientas para hacer lo anterior estan en https://learn.adafruit.com/lsm303-ac...reakout/coding De esa pagina se pueden obtener las librerias y todo lo necesario para que un experto en "codigo" haga todo lo que hace falta. Se incluye hasta el codigo para obtener rumbo. Yo seguiré dandome cabezazos con esa parte hasta sacar algo en claro. Si alguien experto en esos temas pudiera aportar algo será más que bienvenido y ![]() Saludos y ![]() |
|
#131
|
||||
|
||||
|
Hola de nuevo.. y a estas horas...
caféee.Llevo unos dias retomando la idea del "tupayá" del cofrade TAMAMOANA. He llegado a la conclusion de que cuantos menos diplays, botones e historias mas robusto puede ser el invento. Para ello usaré el "H-Bridge" controlandolo por dos de las salidas PWM de mi Arduino MEGA 2560. Estan Ahí!!! Lo del PWM es algo así como el variador de velociadad del gatillo de un taladro. Quiero decir que se puede variar la velocidad de giro del motor (aparte del sentido de giro ... pero esto es mas de programacion) Traigo aqui de nuevo el famoso H.Bridge... ![]() Debo decir que en reposo los BC182 han de estar en LOW. El que reciba un HIGH hará girar el motor en un sentido. NO pueden recibir un HIGH ambos en ningun momento. Visto así , a partir del SKETCH de rumbo que he perfilado (Solo Rumbo magnetico), solo me hace falta un botón que al ser pulsado retuviese el valor angular del sensor LSM303 en el momento de la pulsacion y que guardado en una variable (int) me serviría para ver si los valores posteriores (que siguen llegando del sensor) aumentan/disminuyen. A partir de ahí si el valor posterior del sensor fuese mayor que el retenido habría de enviar desde el Arduno una señal PWM que iria incrementando no solo el sentido de giro... Sino tambien un valor de voltage creciente. Resumiendo: Establezcamos un valor de 0 a 9 de margen entre el valor angular guardado y el que continúa llegando del LSM303 de forma que 1 grado genere la frecuencia minima que permita girar el motor (lento) y al llegar a 9 grados de diferencia sea tan alta que al BC182 afectado le suponga un HIGH "pleno/max. velocidad de giro"... imperceptible que hará girar el motor al máximo. Si lo anterior ocurrió porque el valor angular guardado era mayor, solo hay que hacer que si fuese menor actuase al BC182 contrario (y del mismo modo). Ahora bien... Con mis achacosos conocimientos de programación creo que voy a necesitar alguna ayuda. EDITO: Si el motor incrementa la velocidad progresivamente, al disminuir la diferencia angular la velocidad disminuye hasta parase al quedar al rumbo que hemos fijado con el pulsador... Ah: Y cuando usamos PWM, el motor consume bastante menos (solo gastaría a tope si la diferencia llegase a +/-9º. En buena lógica, si hecemos los deberes con el trimado de velas para un rumbo dado, con +/5º corregidos es mas que suficiente (y pasando menos corriente por el motor). Como hay que pensar en todo, pensemos que en un "meneo", pasa de +5º a -9. No pasa nada: la velocidad del Arduino para cortarle el gas a un transistor y darle un meneo al otro es mucho mas rapida que la guiñada mas cabrona. Y algo muy importante que creo que consigo: ¿Os acordais de los maullidos del piloto de caña?. Son ni mas ni menos que el esfuerzo del conjunto motor/engranajes al recibir de golpe los 12 voltios. Creo (y creo estar en lo cierto).. que si usamos tension de CC modulada (PWM) se acabaron... Esta tarde, leyendo las caracteristicas de mi placa me dí cuenta de que tiene una docena al menos de pines con capacidad PWM y me dió por darle la vuelta y simplificar.. (aparte de que el cambio de velocidad en aumento/descenso es la guinda de todo el invento). He "pescado" esta rutina... http://arduino.cc/en/pmwiki.php?n=Tu...tsOfArduinoPWM Se usa el pin 13 (un PWM del MEGA 2560) y es algo muy "manual" pero que permite variar la salida (ON/OFF) las veces que se desee. Solo hay que asociar ese numero de veces a lo valores (0-9) que haya de diferencia entre el angulo obtenido con el unico pulsador y el que lea el LSM303 a partir de ese momento. Definitivamente voy a ponerme manos a la obra. Seguro que consigo armar el hardware antes de tener listo el programita... pero es que.. lo mío ha sido siempre el soldador y los chips...Y pensar que cuando empecé con todo esto allá por los 70, los ordenadores que reparaba eran analógicos o como mucho de memoria con nucleos de ferrita y los programas se escribian en cintas y tarjetas perforadas. ¡Que tiempos! Saludos y perdonad por mis historias de viejo "cebolleta". Muchas gracias a todos ![]() Editado por carcamal en 09-08-2014 a las 07:37. |
|
#132
|
||||
|
||||
|
Birras
e informe de progresos:Usando un solo boton he conseguido que al pulsarlo comience una comparacion angular entre el rumbo que habia al pulsarlo y los cambios que se producen a continuacion. El resultado son +/- los grados de error cuando giro el sensor (cambio de rumbo). Ahora estoy intentando usar esa diferencia con un el proceso PID de Arduino http://playground.arduino.cc/Code/PIDLibrary Si logro que el PID controle un proceso PWM tengo la señal de 12 modulada segun el error existente y por tanto el efecto amortiguador para que el motor del piloto no gruña. Si entre los cofrades hay algun experto en todo esto que avise (si quiere). El resultado: Un piloto de caña (o rueda) sin gruñidos y con menos consumo que los comerciales... Ahí es ná... (pero soy un negao en rpogramacion. Todo está saliendo a base de consultar "amistades" que saben de esto mas que yo. Saludos |
|
#133
|
||||
|
||||
|
sigo este hilo con gran atencion y alabo a sus promotores
siempre pense y pienso que un piloto, su electronica es una pachanga y los precios de las marcas habituales un desatino en mis tiempos mozos estudie electonica industrial, pero mi profesion fue por otros lares, con lo que justo pase de valvulas, a puertas , and, nor etc y actualmente bastante alejado. en poco puedo contribuir, en el meollo del asunto pero para pruebas en u cata, y tiempo libre a disposicion de los metidos animo por otro lado, creo que los que quizas de aguna manera podriaamos necesitarlo, deberiamos hacer alguna aportacion economica a modo de fondo, o similar, para los que esten metidos hasta el cuello puedan disponer de un desahogo en sus inversiones prueba - error me parece justo animo al grupo |
|
#134
|
||||
|
||||
|
Gracias por los ánimos...
NO... (insisto).. NO se trata de cuestiones económicas (por mi parte..) Se trata, como muy bien expones cofrade, de que nos están vendiendo aparatos que cada día soportan menos los esfuerzos mecánicos/eléctricos en beneficio de algun bolsillo (que no es el mio..). Harto de reparar (el cofrade TAMAMOANA sabe de esto bastante).. un aparato que tiende a estropearse cada dia con mas frecuencis. TAMAMOANA y yo (y algunos cofrades mas), nos fijamos un proyecto con una placa que se vende a precios muy asequibles y unas alternativas de captacion de señales my economicas tambien. Y lo que pretendemos es construir un piloto que nos quite el desagradable gruñido que todos sabemos y a la par reducir el consumo de bateria porque los pilotos comerciales "tiran" de corriente a tope cuando mueven el motorcito que levan los pilotos. ¿Porqué no modular la aplicacion de corriente en funcion del error?. Eso para los fabricantes está "chupao". El porque no lo implementan ni lo sé ni me importa. Yo me puedo estrellar (o no) con mis cuartos y mi tiempo. Pero muchos de nosotros sabemos que si falla el cacharro son de 600 lereles para arriba lo que viene a continuacion. Y ya estoy cansado... En fin... que como tu dices ANIMO y a ver si sacamos algo en claro. Yo apenas tengo conocimientos de programación y recurro a fuentes (amigos parientes e incluso en foros en inglés en los que voy pidiendo cosas y obtengo respuestas/soluciones que me ayudan (y mucho). Un dia conseguiré hacerme un piloto para mi velero que sera una alternativa al sablazo de los clásicos comerciales. Gracias de todos modos. AH... Y me consta que hay foros de navegantes en otras latitudes que acometen proyectos comoo este con fuentes diferentes o similares (giroscopos/GPS/ etc.,) |
|
#135
|
||||
|
||||
|
Hola de nuevo... y
a toda la barra.Dije en los progresos que usando un boton podia tomar lecturas de rumbo, almacenarlas, y observar la diferencia en cada sucesiva pulsacion. Todo bien excepto que cuando paso paso el eje del sensor por el Norte en sentido de las agujas del reloj o contrareloj, me da resultados correctos pero restados de 360º. Pero sigo insistiendo con algunos virtuosos de CODIGO a ver si salimos del atasco. Si alguien que sepa de Programacion lee esto le paso el codigo y a ver si salimos del bache.. Saludos. |
|
#136
|
||||
|
||||
|
Hola... saludos a toda la barra.
Solo un apunte con el que doy por finalizada mi participacion en este hilo. A lo largo de este hilo, hablé de un circuito "H-Bridge" para controlar el sentido de giro del motor que acciona un piloto de caña (o rueda). Los componentes accesibles por poco precio en el mercado. El objetivo planteado por el cofrade TAMAMOANA era hacer un "tupayá", y en lo que a mi concierne ya está conseguido. los materiales usados: -Una placa Arduino MEGA 2650 -Un botón estanco -Un sensor LSM303 que en mi opinión sustituye al "fluxgate". Funcionamiento: Con la placa alimentada (consumo despreciable) decido mantener un rumbo determinado por mi GPS (o por que creo que tengo el velero trimado y al rumbo que quiero). El sensor (no uso LCD), "sé" que nada mas alimentar la placa, comienza a generar señal de rumbo. En el momento elegido, pulso el boton, y el "sketch" guarda en memoria el rumbo que hay al pulsar el boton y, simultaneamente, comienza a comparar el rumbo que sigue llegando con el guardado en la memoria. El resultado son los errores (con su signo + a estribor / signo menos a babor. Se puede elegir qué "sensibilidad" quiero tener en el gobierno automático (yo le voy a poner 3 grados y dejo esa parte a gusto de cada uno retocando el programita) Asignando a dos pines de salida del Arduino (destinados al control del "H-Bridge"), cada vez que haya mas de 3º de error a una banda u otra, el motor girará en el sentido conveniente para mover la caña. ALguien puede preguntarse donde está la realimentación para que el motor pare de dar vueltas en un sentido u otro. Es fácil. Si el sensor LSM303 ha sido colocado en perfecta a lineacion con el barco y fijado en esa posición, al moverse el motor el barco+LSM303 caerán hasta que el error sea inferior a los 3 grados de sensibilidad escogidos = Motor parado.. En realidad, lo que he conseguido en términos prácticos, es sustituir los componentes electrónicos (desde el fluxgate hasta el "H-Bridge") de los pilotos de caña que conozco). O, en otras palabras el "tupayá" que se pretendía. Otra pregunta resuelta sería qué hacer para corregir el rumbo a que nos tienen acostumbrados los pilotos normales. (el +1. -1, +10, -10). Lo que propongo es: Poner botones que gobernasen directamente el "H-Bridge" de forma manual. Hasta que, de vuelta al rumbo elegido, podamos seguir en automatico. Por ultimo, si estando a un rumbo determinado, notamos que el barco navega mejor unos grados a una banda u otrs, solo basta pulsar de nuevo el boton al que hago referencia. El error pasa a cero,... se guarda el rumbo nuevo, y comienza de nuevo a hacer comparaciones para controlar el motor. Y....... esto es todo por mi parte. Si alguien está interesado en el codigo está mas abajo. Falta en el codigo designar los pines de salida del Arduino al "H-bridge" pero eso depende de la placa que tenga cada uno... Saludos y a a otra cosa. Editado por carcamal en 30-05-2016 a las 18:00. |
|
#137
|
||||
|
||||
|
Buenas y
![]() ![]() Por favor, disculpar mis ausencias en este hilo que inicié, en especial a Carcamal. ........como un buen amigo dice, que caro es el tiempo, leches. No me olvido, solo que yo, careciendo de vuestra formación y renaciendo de la prehistoria, sigo con mi cachivache electrónico mecánico. No os riais, es el principio que utiliza por ejemplo el autohelm2000 el cual la brújula se orienta manualmente y el grupo bascula, con lo que ya tienes selección de rumbo y compensación de escora, así de sencillo era en la postguerra ![]() ![]() Sigo agazapado pero activo. Y en cuanto el tiempo me lo permita, volveré. ![]() Solo le queda un poco de hervor, sazonado y una ramita de menta. Gracias por no decaer. ![]()
__________________
La vida es aquello que te va sucediendo mientras tú te empeñas en hacer otros planes. |
|
#138
|
||||
|
||||
Felicidades a Carcamal. Un trabajo finalizado reporta una gran satisfacción. Aunque sobre su trabajo tengo muchas preguntas y dudas. Y luego de ponernos la miel en los labios ¿dice Carcamal que da por terminada su participación? Expondré mi caso. Por si se anima a responder. Antes he de decir que he leído que Tonitutusaus ya tiene su H-Bridge de muchos amperios, pero que yo no sé cómo se usará. Y que Tamamoana está con un modelo distinto de sensor, el HMC5883L (3-Axis Digital Compass IC.) Y encima veo que ha colocado unos interruptores que parecen de final de carrera. No podriais poner un esquema de lo que vais haciendo?¿Trabajais sin tener el programa para el Arduino?Pués yo que no entiendo de electrónica ni programación, me compré ya hace un año lo siguiente: 1-Arduino Uno. 2-Pantalla LCD: Serial Graphic LCD 128x64 (LCD-09351) 3-“Sensor de rumbo”: Compass Module HMC6352 (SEN-07915) (Producto retirado) 4-Motor de rotacion continua de 360º (Servomotor de rotación contínua SM-S43-3R) Al final lo tengo todo en su caja y no se si lo utilitzaré. Me gustaria que Carcamal publicase un pequeño esquema de todo lo montado, hasta la salida de 12v del motor que se conecta a la caña o rueda. Si me animara a hacer un montaje, empiezo a sospechar que el Sketch (el programa para el Arduino) funcionará solo con los componentes que ha utilizado Carcamal. Encima dice que el Pin 2 es para el botón y en cambio en el dibujo veo que està ocupado por la pantalla LCD. ¿Y yo me pregunto solo un Pin para el botón? Supongo que el botón tendrá dos terminales, uno al Pin 2 ¿y otro al negativo de 5v? Carcamal, si lees esta entrada, no podries hacer un esquema de conexiones y el modelo de H-Bridge que utilizaste (en que terminales se conecta y como se introducen estos en los parametros del Sketch que has publicado en formato Word?). No sé si es mucho pedir, pero con el tiempo que lleva este foro "activo" y con la cantidad de participaciones, comentarios positivos y visitas, tampoco creo que haya impaciencia. Gracias. |
|
#139
|
||||
|
||||
|
Hola de nuevo
![]() En mi ultimo comentario puse adjunta la rutina para generar errores (en grados) por encima o debajo de un rumbo seleccionado que me llevó decenas de preguntas en los foros de ingles de arduino. Mi placa es Arduino Mega que difiere en los pines del Arduino UNO. Desdpues de aquello he estado jugando con las salidas PWM (usando solo dos salidas) que llamo A y B. Intento que el error de rumbo positivo / negativo se traduzca en corriemte continua pulsatoria... Si el error es de 5º, la salida PWM "A", conectada a uno de los BC182 del H-Bridge que colgué hace tiempo, haría conducir a dos de los transistores que hay en el circuito. Mientras tanto la otra salida PWM "B",al otro BC182 estaria a 0 voltios. El motor girara en un sentido. Salidas inferiores a 5 grados aplicarian al BC182 corriente continua pulsada. Algo parecido a lo que ocurre con los taladros portatiles cuando van a media velocidad. Si el error es de -5º, la salida PWM "B", conectada al otro BC182 del H-Bridge, haría conducir a los otros dos transistores que hay en el circuito. La salida PWM "A", estaria en este caso a 0 votios. El motor giraria en este caso al contrario y al igual que en el casi primero, valers inferiores a -5 grados hasta -1 grado, harían girar el motor a velocidades inferiores a la maxima. Sigo empeñado en usar los componentes que puse desde el principio incluso he suprimido el LCD. El dibujo de abajo es lo que estoy haciendo. Lo demas es programacion. Como entendereis, si usamos una placa distinta y componentes distintos, sería un verdadero jaleo el hacer un circuito común. Solo una cosa mas: Mirad el comando "scale" del lenguaje arduino y as aplicaciones PWM. Con un potenciometro y un par de leds pueden hacerse ensayos de control PWM. Saludos.. Ah.. y mirad las librerias de los sensores que teneis. Cada sensor tiene su libreria específica a partir de la cual se puede hacer el prototipo que buscais. Editado por carcamal en 14-11-2014 a las 00:00. |
|
#140
|
||||
|
||||
Carcamal, al final he decidido sacar el Arduino de la cajita y empezar a probar. Necesito una pequeña ayudita. Voy a repasar lo que en su día me leí sobre el Arduino. Ya lo he instalado en el ordenador. No aprenderé a programar, pero pasaré un rato entretenido. Ahora mismo estoy de baja de una operación de hérnia inguinal bilateral. Ayer aproveché para ir releyendo todo el hilo. Buf, que largo. Algunas entradas son para estudiarlas detenidamente. Pero bien, sin enrollarme, lo único que me gustaria preguntar antes de continuar es si para hacer pruebas en la mesa de mi casa, puedo prescindir de momento del H bridge y poner directamente en los mismos Pins el servomotor que tengo ya comprado para otro invento que queria hacer (Tamamoana recordará lo de la "veleta electromecánica") el servomotor que querría utilizar (se puede ver en este enlace) dice que funciona a 6V y veo que tiene 3 cables (negro, rojo y blanco) en un conector hembra de 3 pins. Y si es factible, también necesitaría saber en que lineas del Sketch del archivo Word de Carcamal, tengo que escribir los segundos de actuación y en que línea los pins donde estará conectado el servo. |
| Los siguientes cofrades agradecieron este mensaje a Geronimo | ||
TAMAMOANA (03-11-2014) | ||
|
#141
|
||||
|
||||
|
Por partes....
![]() El codigo que puse adjunto unicamente maneja la señal procedente del LSM303 y obtiene el error (+/-) que hay entre un rumbo guardado mediante un boton y los cambios que puede haber posteriores a la pulsacion. Quiero decir que en ese codigo NO hay nada relativo a salidas PWM o SERVOS u otros usos. Ese codigo SOLO es aplicable al LSM303... No se que sensor usas pero en el codigo que puse no sera muy dificil adaptarlo para el tuyo. Una vez obtengas de tu sensor un error a babor o estribor de un rumbo marcado con un boton conectado a TU placa, lo siguiente sería el traducir ese error a valores de PWM con los que hacer girar tu servo en un sentido u otro según la tolerancia del error que quieras manejar. En un dibujo mas abajo explico lo del PWM. Ya dije que es algo parecido a un taladro apilas con control de velocidad. Para explicarlo con el taladro que todos tenemos en casa: Si el error es positivo atornillamos a derechas (el taladro lleva una palanquita para ello) y la velocidad de giro la controlas con el gatillo (eso es el PWM) con velocidad de lento a maximas revoluciones. Si el error es negativo atornillamos a izquierdas (la palanquita al contrario) y de igual modo vamos de menos al tope de revoluciones. Yendo de nuevo a tu servo: Aqui hay una rutina que controla el servo http://arduino.cc/en/Tutorial/Sweep En el codigo de esa pagina hay una variable llamada "pos" que tiene un valor inicial de 0 (cero), Si ese codigo lo incorporas al de deteccion de error y sustituyes el valor de cero por el del rumbo seleccionado podría el servo moverse a un lado u otro con el error que hubiese despues de fijar el rumbo. En fin... que hay materia para entretenerse. Y no es tan complicado... Yo usé codigo copiado de varios sitios de Internet y luego pregunté y pregunté hasta llegar a tener lo que queria... Saludos y recuperate pronto. Editado por carcamal en 30-05-2016 a las 18:00. |
|
#142
|
||||
|
||||
Gracias Carcamal. No me expliqué bien. El sensor que has utilizado me parece mejor, en el sentido que creo que no va a ser necesario montarlo en un cardan. Por ello estoy dispuesto a comprarlo y creo que en cuatro dias lo tendré en casa. El servomotor que menciono solo pretendia usarlo como si fuera el que moviera la caña del timón. a modo de prueba. En principio para hacer esta prueba, quisiera prescindir de valores PWM, porque me complicaria tener que añadirle lineas a tu programa. Simplemente quisiera poder montar y experimentar con el dibujo-esquema que has hecho en tu anterior comentario (nº #139) pero poniendo un motor "pequeño", que gire unos segundos cuando, después de pulsar el botón, y yo mueva el sensor a "babor o estribor" unos 5 grados, pueda observar como gira el motor. Supongo que le faltará añadir al código, como dije antes, los los numeros de los pins donde se coloca el motor (de 6v) que imagino que seran salidas analógicas. Y también en que numero de pin "saldrá corriente" cuando el error sea (+5) y en que numero ha de salir cuando sea (-5) de manera que pueda observa como gira en un sentido u otro. Quizás he dicho alguna incongruencia. Pero es lo que me gustaria realizar para empezar. Sinó es posible, pués empezaré por ver como se ilumina un led, y si me funciona también estaré contento, pero no tanto. Gracias de nuevo. |
|
#143
|
||||
|
||||
La consulta anterior del motorcito que queria poner no puede ser. Estoy dando mis primeros pasos en arduino y he descubierto que este motor que tengo es de pasos (para otras aplicaciones). Hoy he acabado los deberes y tenido una alegria, he modificado el típico ejercicio con un led y he probado con dos(babor y estribor)....Y me ha funcionado![]() ![]() Animado por el éxito, he montado el sensor que tenia (HMC6352) solo para seguir probando. Y decepción. Me da error en la compilación ya antes de cargarlo al arduino. Creo que debo tener alguna confusión en los directorios y archivos, porque no he cambiado nada de los ejemplos que he probado. Hasta pronto. |
|
#144
|
||||
|
||||
He avanzado un pasito. ¡Una ronda para todos! Tamamoana, gracias de nuevo por abrir este hilo. Me ha motivado para aprender electrónica. Al final he encontrado un sketch que me reconoce el sensor con el cuál estoy dando estos palos de ciego, el HMC 6352. Lo he compilado y no me ha dado error. Lo he introducido en el arduino y funciona, ohhh que emoción!! pues veo la lectura en grados en el "Monitor Serial" que aparece en mi ordenador y responde a los movimentos que le doy. Ahora viene lo malo, le he añadido dos leds al sketch (para leer rumbos babor y estribor) y también me ha permitido la compilación. Pero cuando le he intentado escribir lo que queria hacer con los dos leds, entonces me ha dado el mesaje de error que veis en la imagen:![]() Llevo dias de sufrimiento. ¿Alguien sabria decirme de donde puede venir el error? Gracias |
| Los siguientes cofrades agradecieron este mensaje a Geronimo | ||
TAMAMOANA (13-11-2014) | ||
|
#145
|
||||
|
||||
|
Hola buenas...
![]() Ese "or" ahí ( y unas lineas mas abajo) no sé si lo reconoce el lenguaje de Arduino. He visto poner || (AltGr+1 del teclado) en lugar de "or". En una guia que tengo al menos lo expresa de ese modo. Es un documento con enlaces a Internet de cada palabra del Arduino Suerte Editado por carcamal en 30-05-2016 a las 18:00. |
|
#146
|
||||
|
||||
|
Acaba de presentarse un nuevo complemento para la raspberry y enseguida he pensado en este proyecto: http://www.gertbot.com/index.html
Basicamente es una placa que se conecta sobre la raspberry y que es capaz de manejar motores y maneja 30V y 3A. Teniendo en cuanta lo facil que es conectar un compas a la raspberry y la cantidad de documentaciñón que hay por ahí quizas sea una alternativa.... Por si acaso sirve yo lo lanzo ![]() |
| Los siguientes cofrades agradecieron este mensaje a sailoog.com | ||
TAMAMOANA (17-11-2014) | ||
|
#147
|
||||
|
||||
|
Cita:
![]() ![]() Gracias por el capote. Cambiaría el sentido del hilo en otra dirección pero sería paralela y de gran interés. Este hilo no tiene porque ser solo de Arduinos. ![]()
__________________
La vida es aquello que te va sucediendo mientras tú te empeñas en hacer otros planes. Editado por TAMAMOANA en 17-11-2014 a las 18:38. |
|
#148
|
||||
|
||||
Espero que sea tan fácil como dices eso de conectar un compas a la raspberry. Porque con el Arduino he pasado momentos de gran desconsuelo. Con la solución de Carcamal no conseguí nada y por no hacerme el pesado, acudí a foros especializados, después de intentos, consultas larguissimas en el foro Arduino, que no me solucionaban mi "sketch", al final esta tarde he dado un gran "palo de ciego" y doy por terminada mi segunda lección del Arduino: la solución ha sido sustituir "headingDegrees" por "headingValue".Acabo de colgar mi primera aplicación práctica con un velero de pequeña eslora: |
|
#149
|
||||
|
||||
|
Me abrumas Tamamoana
Sigo este hilo desde el principio. Me gustaría colaborar más pero no me da la vida para todo ![]() Tienes razón geronimo, lo que a priori parece facil seguro que se acabará complicando... Aquí hay un ejemplo ilustrado de una IMU (compas, gyro, accel) conectada a una raspberri http://blog.davidegrayson.com/2012/1...pberry-pi.html Aunque veo que eso ya lo teniais resuelto con el arduino y los problemas los teneis en el proceso de los datos. No suelo programar en arduino y no lo controlo lo suficiente como para poder ayudarte pero veo que vas por el buen camino, animo. Barco de pequeña eslora... ![]() |
|
#150
|
||||
|
||||
|
El componente más critico en una aplicación así (aparte de currarse la electronica para montar el servosistema y que sea suficientemente "proactivo") diría que es el actuador.
¿alguien tiene pensado un actuador? No se si existe alguna cosa industrial, yo personalmente no conozco motores lineales (o de husillo) con embrage incorporado para poder desconectar cuando se navega "a mano".
__________________
...cada uno tiene sus cadaunadas...
|
![]() |
Ver todos los foros en uno |
|
|