Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Simulador de carreras de movimiento 2D DIY

Componentes y suministros

Arduino Nano R3
× 1
Micro-servo motor SG90
× 2

Herramientas y máquinas necesarias

Soldador (genérico)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

SimTools es un software de simulación de movimiento genérico capaz de controlar múltiples interfaces de hardware, incluido Arduino. Esta combinación se utiliza en el proyecto presentado en el video. La parte del hardware consta solo del microcontrolador Arduino Nano y dos micro servomotores SG90 baratos. Solo necesitamos cargar el código que se proporciona a continuación.

Los datos requeridos del juego con la ayuda del software SimTools se transmiten a través del puerto serie al Arduino. A continuación, Arduino activa los servomotores que mueven la plataforma de simulación en consecuencia. Esta es una pequeña escala de un simulador de dos ejes. Para hacer un simulador real, necesita agregar controladores de motor y servomotores grandes.

Hay muchos ejemplos de estos simuladores de bricolaje, así como dibujos de construcción y consejos en la página "https://www.xsimulator.net/". El procedimiento de configuración de SimTools se describe en el video, pero también puede descargar el manual del usuario en PDF en:https://simtools.us/wp-content/uploads/2019/06/SimToolsUserManual-v2.4.pdf

SimTools se ejecutará en modo "Demo" hasta que se registre una licencia válida. El complemento de Live for Speed ​​está en pleno funcionamiento para realizar pruebas mientras SimTools está en modo de demostración. (La demostración de Live for Speed ​​también funcionará para probar SimTools). Puede encontrar más información y descargar Live for Speed ​​en https://www.lfs.net/downloads

Enlace de descarga de SimTools:

https://www.xsimulator.net/community/marketplace/motion-simulation-software-simtools.63/

Código

  • Código
Código C / C ++
 // ******************************************* ********************************************* // RC Model Servo // Código original de EAOROBBIE (Robert Lindsay) // Completamente destrozado por aarondc // Para uso gratuito del software Sim Tool Motion // ******************** *********************************************** ********************* # incluir  // # definir DEBUG 1 // comentar esta línea para eliminar la depuración Serial.print linesconst int kActuatorCount =2; // cuántos actuadores estamos manejando // las letras ("nombres") enviadas desde Sim Tools para identificar cada actuador // NB:el orden de las letras aquí determina el orden de las constantes restantes kPins y kActuatorScaleconst char kActuatorName [kActuatorCount] ={'R', 'L'}; const int kPins [kActuatorCount] ={4, 5}; // pines a los que están conectados los actuadoresconst int kActuatorScale [kActuatorCount] [2] ={{0, 179}, // Escala del actuador derecho {179, 0} // Escala del actuador del lado izquierdo}; const char kEOL ='~'; // Fin de línea:el delimitador de nuestros valores de acutator const int kMaxCharCount =3; // algún seguro ... Servo actuatorSet [kActuatorCount]; // nuestra matriz de Actuatorsint actuatorPosition [kActuatorCount] ={90, 90}; // posiciones actuales del actuador, inicializadas a 90int currentActuator; // realiza un seguimiento del Actuador actual que se lee desde el puerto serieint valueCharCount =0; // cuántos caracteres de valor hemos leído (debe ser menor que kMaxCharCount !! // configurar algunos estados para nuestra máquina de estado // psReadActuator =siguiente carácter del puerto serie nos dice el actuador // psReadValue =próximos 3 caracteres del puerto serie nos dice el valor TPortState {psReadActuator, psReadValue}; TPortState currentState =psReadActuator; void setup () {// adjuntar los actuadores a los pines para (int i =0; i  0) .void serialEvent () {char tmpChar; int tmpValue; while (Serial.available ()) {// si estamos esperando un nombre de actuador, tómalo aquí si (currentState ==psReadActuator) {tmpChar =Serial.read (); // busca nuestro actuador en la matriz de nombres de actuador que configuramos #ifdef DEBUG Serial.print ("leer"); Serial.println (tmpChar); #endif for (int i =0; i  9)) tmpValue =0; actuatorPosition [currentActuator] =actuatorPosition [currentActuator] * 10 + tmpValue; valueCharCount ++; } más romper; } // si hemos leído el delimitador de valor, actualice el actuador y comience a buscar el siguiente nombre del actuador if (tmpValue ==kEOL || valueCharCount ==kMaxCharCount) {#ifdef DEBUG Serial.print ("leer"); Serial.println (actuatorPosition [currentActuator]); #endif // escala la nueva posición para que el valor esté entre 0 y 179 actuatorPosition [currentActuator] =map (actuatorPosition [currentActuator], 0, 255, kActuatorScale [currentActuator] [0], kActuatorScale [currentActuator] [1]); # ifdef DEBUG Serial.print ("escalado a"); Serial.println (actuatorPosition [currentActuator]); #endif updateActuator (currentActuator); currentState =psReadActuator; }}}} // escribe la posición actual del Actuador a la pasada en Actuator void updateActuator (int thisActuator) {actuatorSet [thisActuator] .write (actuatorPosition [thisActuator]);} 

Esquemas


Proceso de manufactura

  1. Sistema de sensor de movimiento por infrarrojos de bricolaje para Raspberry Pi
  2. Visualizador de música DIY LUMAZOID Arduino
  3. Voltímetro de bricolaje con Arduino y un teléfono inteligente
  4. Patineta de realidad virtual DIY
  5. Pistola de agua con sensor de movimiento
  6. Máquina de tratamiento DIY Arduino RADIONICS
  7. Idea de bricolaje con RFID
  8. DIY CNC VMC de 3 ejes
  9. DIY Arduino + Termómetro infrarrojo GY-906
  10. Pedales de timón de bricolaje para Flight Simulator
  11. Máquina de medición de altura DIY Arduino