11 votos

Trabajando con un sensor y un motor, ¿puedo usar ambos o debo usar un motor shield?

Actualización: actualmente estoy cambiando un par de cosas con el proyecto. Tomé algunos consejos. He cambiado de un motor paso a paso para un RC servo (controlado por PWM) y si me surge algún problema y no puede figura les voy a preguntar. Gracias por la ayuda!

Estoy trabajando en un proyecto con un amigo y su primera vez usando un Arduino. Estamos usando un Arduino para tomar datos de un sensor (acelerómetro) y, a continuación, encienda el motor de 6V DC).

He estado haciendo algo de investigación y parece que la potencia de salida del Arduino no puede ser suficiente para el motor y el sensor al mismo tiempo. Tal vez un retardo de tipo podía trabajar (¿será posible?).

Estoy contemplando el uso de un motor shield. Yo todavía será capaz de controlar el acelerómetro junto con el motor?

Estoy tratando de utilizar una sola fuente de energía exterior (max: 6 baterías AA; estoy tratando de limitar la cantidad de pilas ya que estamos tratando de mantener la portátil) por lo que hay una manera de utilizar una fuente desde el Arduino y el motor shield necesitan dos diferentes fuentes de alimentación (a mi entender).

12voto

userid53 Puntos 116

Tema 1: la Conducción de un motor directamente desde un Arduino

La conducción de un motor directamente en los pines del Arduino no es recomendable por varias razones:

  • La corriente de carga, especialmente en el arranque del motor y condiciones de detención. Como acertadamente se señala en la pregunta, los pines del Arduino puede simplemente no estar calificados para suministrar suficiente corriente. El Arduino puede calentar o incluso ser dañado por una alta corriente de salida.
    Mientras que cada pin de Arduino para ATmega basado en los Arduinos está clasificado para 40 mA, yo personalmente prefiero mantener sostenida la carga a menos de 30 mA, su apetito de riesgo pueden ser diferentes. Sin ver la hoja de datos del motor en cuestión, es imposible conjeturar cuánto corriente que necesita el motor
  • Back-EMF del motor, tanto durante el motor apagado, y posiblemente durante el motor de conmutación - Como un motor DC tiradas, el contacto con los pinceles "conmutan" entre las anillas, al menos en los tipos tradicionales de los motores DC con escobillas, generando pequeñas chispas cada vez.
    EMF es básicamente inversa voltaje generado por las bobinas de motor (o cualquier carga inductiva en turn-off), los transitorios (picos) que momentáneamente puede exceden aceptable rango de tensión de los pines del microcontrolador se puede tolerar.
    De la espalda EMF sigue siendo un riesgo, aunque disminuyó, incluso si un rápido diodo está conectado en polarización inversa a través del motor lleva, recomienda la práctica.
  • Por lo tanto, un aislamiento de algún tipo entre el Arduino y el motor de accionamiento es muy recomendable. Por la sencillez de la aplicación, este sería un motor shield.
    Si usted se siente cómodo con la electrónica básica, esto también se puede conseguir directamente en la conexión de un motor adecuado controlador IC y flyback diodos. (Edit: Esto está muy bien descrito en la respuesta por Manishearth)
    El conductor del motor, ya sea un escudo o un IC, debe ser alimentado de forma independiente de la Arduino, pero con las dos fuente de alimentación de las líneas de tierra conectados juntos. Ver más abajo.

Tema 2: el Control del acelerómetro y el motor shield simultáneamente

  • Sí, el acelerómetro puede ser controlado y leer desde el Arduino con el motor escudo en su lugar, asegurándose de que los terminales seleccionados para el acceso al acelerómetro son aquellas que no están en uso por el motor shield. Todos ellos serán conectados a la placa, pero con ningún interno o de la función de conexión en el escudo. La documentación para el seleccionado escudo suelen proporcionar esta información.
    Para su comodidad, el aspecto de un motor shield con apilable encabezados, es decir, con el Arduino pines replicado en el motor de escudo para la fijación de hardware adicional, en su caso, el acelerómetro. No todos los escudos de proporcionar apilable encabezados. Por lo tanto complica el uso de los pines no utilizados por el escudo, la necesidad de cables soldados a la cabecera pastillas en el PCB, o algunos de tales acuerdos.
    En la posibilidad de que el motor shield selecciona, utiliza todos los pines GPIO, como puede ser el caso de los escudos para la conducción de varios motores, usted puede tener un problema. Desde sólo 1 motor va a ser conducido, evitar multi-motor escudos que no dejan bastante sin usar pines GPIO.

Tema 3: distribución de la Potencia entre el Arduino y el motor shield

  • El problema con la propuesta de 6 x AA disposición (nominal de 9 Voltios como máximo) es que mientras que le proporciona el voltaje suficiente para la toma de entrada de CC disponible en varios Arduinos (generalmente clasificados de 7 a 12 Voltios de entrada), es demasiado alto para el motor para ser conducido directamente fuera de ella.
  • Hay, sin embargo, varios de motor escudos que aceptar una directa de la potencia de entrada (por ejemplo, de 7 a 25 Voltios) y, a continuación, proporcionar un bien regulada de 5 Voltios a la placa Arduino que se adjuntan. Por lo que el Arduino no necesita ser impulsado por separado a todos, y no debe ser. Esto es absolutamente el único tipo de motor shield uno debe comprar.
  • Kludgier alternativas incluyen tocar en 4 de los 6 pilas AA para alimentar el motor, y todos los 6 de las células a la alimentación de la clavija de entrada de CC (PWRIN) de la placa Arduino, o con otro de 6 Voltios buck regulador de la potencia del motor, mientras que la alimentación de 9 Voltios directamente a la placa Arduino jack de CC.
  • Tratando de alimentar el Arduino con el paquete de la batería y, a continuación, encender el motor de la Vin pin del Arduino es una mala idea porque
    • El M7 diodo entre la DC jack y Vin pin en varios Arduino diseños de referencia se considera de 1 Amperio, el motor podría dibujar más, al menos momentáneamente
    • Todo el ruido electromagnético generado por el motor, el ruido de conmutación más flyback transitorios, se va alimentando de nuevo en la placa Arduino a no ser muy rígido desacoplamiento es aplicado, no es un asunto sencillo. Esta EMI comentarios de causa intermitente, difíciles de depurar, problemas con el Arduino de la operación.

10voto

Eric Puntos 152

La mayoría de los escudos de tomar hasta un par de alfileres y dejar el resto para usted (es por eso que muchos tienen una réplica de la placa Arduino pin del sistema en la parte superior de ellos, utilizando apilable encabezados). Están diseñados para ser tan libre de problemas como sea posible, así que conseguir un escudo es la forma más fácil de ir sobre esto.

Yo personalmente no la potencia de los motores de la junta directiva directamente; en lugar de eso utiliza el motor de los controladores como el L293D para esto. Los pines no están realmente buenas para la extracción actual, y en general es mejor a la alimentación de los sensores directamente en lugar de a través de los pines del Arduino. Recuerde, los pines tienen un límite de corriente, y si la sobrecarga de ellos tienden a quemarse.

El uso de un L293D es fácil:

enter image description here

Conecta los pines 1,9,16 a su Vcc de la fuente (terminal positivo de lo 5V fuente de alimentación de la placa Arduino. Para mí es generalmente una línea extraída de un LM7805). Ahora conecta los pines 4,5,13,12 a su TIERRA (terminal negativo). Ahora, conecte el pin 8 para un mayor fuente de voltaje (6V, 12V, o lo que usted desee, para alimentar a sus motores). Tenga en cuenta que los terminales negativos de todas las fuentes de voltaje deben ser cortocircuito a TIERRA.

Ahora, conecte el motor a través de los dos pines de salida en un sitio (3,4 a la izquierda). Conecte las clavijas de entrada (2,7) a dos diferentes pines del Arduino. Cuando le dan la misma señal (ALTA o BAJA) a ambos pines, entonces el motor se detiene. Si usted da de ALTA de un pin y BAJA por el otro, el motor irá hacia la derecha o hacia la izquierda, dependiendo de que el pin tiene que de la señal.

Si quieres un motor unidireccional y desea ahorrar pines, corta uno de los pines de entrada a GND. Ahora, cuando el otro pin de entrada es BAJA, el motor se apagará, y cuando es ALTO, el motor va a ser.

Puede adjuntar otro motor utilizando el mismo procedimiento en el extremo opuesto de la viruta si usted desea.

El L293D dibuja una pequeña cantidad de corriente de la placa Arduino, y alimenta el motor de la corriente a través del pin 8, y por lo general es ideal para este tipo de situaciones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X