Paso 10: Integrar los bocetos - parte 1 (Atmega 1)
Este paso es específicamente para el 1 de Atmega que controlará el Motor de pasos bosquejo cada única pasó a través, todos ellos son aplicados y divididos en 3 microcontroladores, para hacer algunas tareas específicas. Por favor, siga el diagrama de 1. Su el diagrama más importante de todos.
La función millis(); hace toda la magia. Ir a ayuda > referencia > millis(), para saber más sobre él.
Nota:- Los pasos pueden llegar a ser sucio, solo estar tranquila, y si ha seguido todos los pasos, la codificación se suba a ser complicado.
Objetivo 1:- Para el seguimiento del tiempo real necesario para que los pasos girar una vez
Cosas necesarias:-
- 1 x Arduino UNO o lo que sea con Atmega y una USB conectada al ordenador
- Método unitario algunas matemáticas básicas necesarias como una distancia = velocidad / tiempo.. .very simple
Nota:- para esta tarea particular el microcontrolador sólo da salida por lo que no es necesario conectar el ULN 2003 o el Motor de pasos y la entrada que se requiere del Atmega 2 al iniciar a sí mismo directamente se inicializa en el sketch llamado ATMEGA_1_test .txt.
Procedimiento:-
- Abierto el bosquejo en IDE de analizarlo muy bien. su muy simple, hay muchos función no deseados y líneas comentaron que puede parecer un poco confuso pero créeme cuando te digo que el boceto final que se subirá a 1 ATMEGA tendrá cada líneas no deseadas
- Subir el Sketch
- Rápidamente abra al Serial Monitor y desactivar el desplazamiento automático y compruebe que la velocidad en baudios se establece en 4800 en el abajo - derecha.
- Luego desconecte el USB.
- Cerrar al Monitor serie. [Pero no cierre el IDE de Arduino]
- Conecte el USB otra vez
- Espere unos segundos para el IDE detectar el puerto COM nuevo
- Continuación, pulse Mayús + Ctrl + M.
- Se verá después de algún tiempo numerosos valores aparece uno por uno.
- Solo tenemos la primera lectura. Que es el tiempo tomado por el Atmega para girar el paso a paso desde 0 - 4096 (una rotación), la lectura debe ser 5150, es decir 5150 milli segundo para girar una vez
Lo que podemos ver en el bosquejo:-
- velocidad máxima = 1000 pasos/seg.
- máxima aceleración = 1000 pasos/seg.
- velocidad = 1000 pasos/seg.
- se mueve (distancia) = 0 - 4096 paso [1 rotación]
Preguntas:-
- tiempo = distancia/velocidad = 4096 / 1000 = 4,096 segundos para una rotación... pero del monitor serie tenemos 5,150 segundos ¿cómo?
Respuesta:-
Hay muchas líneas de código que debe ejecutar no sólo la función run() en el bosquejo del tiempo bucles if declaraciones variables asignando y muchas cosas más, por lo que el tiempo adicional necesario es para que ellos ejecutar...
Velocidad cambiado:-
Inicialmente la velocidad se establece en 1000 pasos / seg en el bosquejo, pero según los datos de la serie Monitor el tiempo para una rotación en 5,150 segundos pero la distancia a cubrir es el mismo, es decir de 0 4096 paso
Por lo tanto,
tiempo = 5,150 seg; pasos para ser cubierto (distancia) = 4096 pasos
Velocidad = distancia / tiempo = 795,34 pasos / seg.
Véase, de 1000 pasos / seg vino a 795,34 pasos / seg
Realización:-
Imaginar qué habría sucedido si hubiera utilizado 4,096 segundos en lugar de 5.150 para sincronizar los sensores de proximidad para enviar datos al ATMEGA 2... sería que un error el robot actuaría como una persona loca.
Objetivo 2:- Subir el boceto real al Atmega 1.
Cosas necesarias:-
- A los mismos requisitos.
Procedimiento:-
- Subir el código, después de alterar o cambiar la configuración de pines si es necesario, y por favor, lea los comentarios, he trabajado mucho para hacer comentarios más simples como medida de posible
- por favor, comprenda el programa en primer lugar, que es más importante que ejecuta con éxito
- Desenchufe el USB
- Extracto del Atmega 1, en la parte posterior de lo Atmega escribir ATMEGA -1
- Reparar el Atmega 1 hasta la posición deseada.
- Compruebe todas las conexiones una vez más...
Inferencia:- Entiende cuán importante es calcular el tiempo de ejecución del programa. El tiempo 5,150 segundos por rotación será de gran importancia para el siguiente paso
Pasemos al siguiente paso para programar el Atmega 3 para transmisión de datos inalámbrica... espero que todos disfrutado...