Control de retroalimentación de la carga de un actuador (2 / 5 paso)

Paso 2: Codificación básica

El objetivo de este código es comprobar los botones y dependiendo del estado de ellos mueva el motor para extender o retraer. Una vez que el motor se está extendiendo, se monitorea constantemente la corriente, para ver si supera el límite máximo de corriente. Si ha pasado el límite, entonces el motor se detiene y ya no se extenderá, hasta que se retraiga.

Puesto que los motores tienen un pico de corriente grande cuando empiezan, el código tiene una pequeña demora antes de que comience a tomar lecturas de corriente. Esto puede cambiar dependiendo del motor. El valor de cambio es firstfeedbacktimedelay.

El código también controla cuando los actuadores han alcanzado los fines de carrera. Cuando la corriente cae a 0, el actuador sabe que ha llegado a los límites. El sensor de corriente sólo detiene el motor si ha leído 0 un par de veces en una fila, más una lectura falsa dejaría el motor media stroke.

Se adjunta el código, el código pegado por debajo ha comentarios más detallados. El código utiliza un montón de funciones, para que cada parte se puede cambiar individualmente.

! rightlatch; / / si el motor es if movimiento, parada, parada, Inicio movimiento firstRun = true; / / set firstRun bandera ignorar actual punto lastButtonpress = millis (); //store tiempo de la última pulsación de retorno; {}} //end si} //end btnRIGHT} latchButtons //end void moveMotor() {si (leftlatch == HIGH) motorForward(255); //speed = 0-255 si (leftlatch == LOW) motorStop(); si (rightlatch == HIGH) motorBack(255); //speed = 0-255 si (rightlatch == baja) motorStop();} fin moveMotor void motorForward (int speeed) {mientras que (dontExtend == false & & leftlatch == HIGH) {digitalWrite (EnablePin, alto); analogWrite (PWMPinA, speeed); analogWrite (PWMPinB, 0); if motor //move (firstRun == true) delay(firstfeedbacktimedelay); / / mayor demora ignorar actual punto más delay(feedbacktimedelay); //small demora para llegar a velocidad getFeedback() firstRun = false; latchButtons (); //check botones otra vez} //end mientras} //end motorForward void motorBack (int speeed) {mientras que (rightlatch == HIGH) {digitalWrite (EnablePin ALTO); analogWrite (PWMPinA, 0); analogWrite (PWMPinB, speeed); if motor //move (firstRun == true) delay(firstfeedbacktimedelay); / / mayor demora ignorar corriente spike delay(feedbacktimedelay) otra cosa; pequeño retraso para llegar a velocidad getFeedback(); firstRun = false; latchButtons (); //check botones otra vez} //end mientras dontExtend = false; //allow motor para ampliar otra vez, después se ha retraído} //end motorBack void motorStop() {analogWrite (PWMPinA, 0); analogWrite (PWMPinB, 0); digitalWrite (EnablePin, LOW); firstRun = true; //once ha detenido el motor, volver a habilitar firstRun a picos corriente de inicio} //end stopMotor void getFeedback() {CRaw = analogRead(CPin1); / / if actual leer (CRaw == 0 & & hitLimits < hitLimitsmax) hitLimits = hitLimits + 1; otro hitLimits = 0; / Compruebe para ver si el motor está en los límites y la corriente ha dejado de si (hitLimits == hitLimitsmax & & rightlatch == HIGH) {rightlatch = bajo; / / stop motor fullyRetracted = true;} terminar si else if (hitLimits == hitLimitsmax & & leftlatch == HIGH) {leftlatch = bajo; hitLimits motor //stop = 0;} final si si (CRaw > maxAmps) {dontExtend = true; leftlatch = bajo; //stop si la regeneración es en máximo} //end si lastfeedbacktime = millis (); //store tiempo anterior para recibir retroalimentación} //end getFeedback			

          

Artículos Relacionados

LÍNEA de producción automatizada, con sistema de CONTROL de retroalimentación de llenado de botella

LÍNEA de producción automatizada, con sistema de CONTROL de retroalimentación de llenado de botella

El uso de estaciones automáticas de llenado utilizando un sistema de cinta transportadora es más económico, rápido y utiliza el sistema utilizado en casi todas las bebidas y las industrias farmacéuticas (líquidas). Este proyecto funciona como un prot
Añadir carga inalámbrica controlador de PlayStation 3

Añadir carga inalámbrica controlador de PlayStation 3

Este hack consiste en abrir el dualshock 3 y comprar una parte de Walmart para ~ $30. Bueno, le he advertido sobre la parte mala, ahora, a los negocios.Paso 1: Compra de suministrosUsted necesita comprar una estación de carga inalámbrica por i-CON. C
Sistema de control de temperatura usando Labview (Atmega32)

Sistema de control de temperatura usando Labview (Atmega32)

RESUMENEste trabajo describe un marco de encendido, sistemas de control de temperatura proporcional y lineal. El diseño e implementación de este proceso se realiza utilizando LABVIEW, el software de banco de trabajo virtual. El proyecto incluye la ad
PCB cuadrotor (sin cepillo)

PCB cuadrotor (sin cepillo)

Quadrotors están los Segways nuevos: una plataforma auto estabilizador, algo mágica y fascinante que cada persona tecnología quiere tener. Usted no puede montar un cuadrotor (bueno, tal vez usted puede), pero vuelan, y se puede construir uno mismo de
Fuerza de regeneración con pantalla LCD

Fuerza de regeneración con pantalla LCD

En Instructable de hoy, te va sobre cómo controlar la corriente de un actuador y ajuste los valores con una pantalla LCD. Este Instructable es una continuación a la supervisión la regeneración de la carga de un actuador Instructable. Se va añadiendo
Sr. Compost: Cómo hacer un turbocompresor de compost en la cocina!

Sr. Compost: Cómo hacer un turbocompresor de compost en la cocina!

Sr. el Compost es un aparato que calienta y agita los restos de comida en su cocina. Esto acelera la descomposición antes de poner el compost fuera (en una pila de depósito o abono de gusano) para terminar rompiendo.Mi objetivo era construir algo que
Primeros pasos con Arduino

Primeros pasos con Arduino

En este Instructable, va aprendiendo los conceptos básicos del microcontrolador Arduino. Ya hay toneladas de recursos en la web para comenzar, por lo que se trata más de un hub para conectar a todo lo que. En primer lugar, vamos a hablar sobre lo que
Para construir un regulador de voltaje y medir voltaje AC usando arduino

Para construir un regulador de voltaje y medir voltaje AC usando arduino

Tensión cuando se mide utilizando un micro controlador es una tarea bastante difícil como la onda consigue fácilmente distorsionada debido a numerosos ruidos presentes en el ambiente. Por lo tanto, para el adecuado diseño del hardware es muy necesari
Seg... stick.

Seg... stick.

Hágalo usted mismo uno mismo-equilibrio... cosas... han dado la vuelta casi tanto tiempo como las cosas uno mismo-equilibrio comerciales. Obviamente las versiones caseras no son tan suave y fiable, o a prueba de fallos como la cosa real, pero siguen
Primeros pasos con RFID

Primeros pasos con RFID

¿Te has preguntado cómo funciona su etiqueta de identificación?En este tutorial, podremos mostrar cómo leer un botón RFID o etiqueta, si se lleva a cabo contra el lector RFID ID-12 o cualquier módulo de 125 KHz. También este proyecto es una manera fá
Turbina de viento de eje vertical $30 de materiales de desecho

Turbina de viento de eje vertical $30 de materiales de desecho

Se trata de una turbina de viento de eje Vertical que utiliza energía eólica para cosas del disco como aire y bombas de agua para la refrigeración, irrigación y similares o un alternador/generador para producir electricidad.Nota: este tutorial tambié
Auto Solar portátil, sistema de seguimiento

Auto Solar portátil, sistema de seguimiento

por: Dave WeaverEsta construcción se realiza con extrusión de ranura en t de aluminio. Elegí este material porque es limpio, ligero e ideal para trabajar con. Esto podría ser muy fácilmente construido con madera pero no es tan resistente a la humedad
250 to 5000 watts PWM DC/AC 220V Power Inverter

250 to 5000 watts PWM DC/AC 220V Power Inverter

Este es un diseño de servicio pesado de un inversor modulador de anchura de pulso DC/AC con el chip SG3524.Lo he estado usando como una copia de seguridad para alimentar mi casa cuando las interrupciones se producen desde aprox. sin parar de 6 años.S
Color de Pixybot Robots de seguimiento

Color de Pixybot Robots de seguimiento

Este proyecto de Pixybot comenzado poco después de que entré en un espacio de hacker/fabricante en el centro de Saint Louis. El espacio se llama Reactor de arco y ha sido un gran lugar para mí rebotar ideas de otras personas con similares intereses y