Tabla de contenido:
- Paso 1: mira el circuito
- Paso 2: Conéctelo
- Paso 3: configurar archivos con valores PWM
- Paso 4: Juega con DOS: configura tu puerto COM y copia los archivos
- Paso 5: controlar el motor desde un programa
- Paso 6: ¡Experimenta
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
Controle la velocidad de un pequeño motor de CC con nada más que el puerto serie de su computadora, un solo MOSFET y algún software trivial. (El MOSFET y el puerto serie constituyen el "control de velocidad"; todavía necesitará un motor y una fuente de alimentación adecuada para ese motor; mientras que el puerto serie puede proporcionar el voltaje para encender y apagar un mosfet, puede ' t suministre la corriente que necesita un motor típico).
Paso 1: mira el circuito
Vamos a hacer una modulación de ancho de pulso usando un MOSFET de potencia de canal N genérico conectado al pin de transmisión de datos desde el puerto rs232 de la computadora. Cuando el puerto serie está inactivo, el pin se ubicará en el estado "1", que para cuando se traduzca a rs232, es algo así como -12V (dependiendo de los controladores, podría estar más cerca de -9V o -5V), y el transistor estará bastante APAGADO. Cuando transmitimos bits "0" en el puerto serie, el pin rs232 pasará a + 12V más o menos, lo que es suficiente para encender la mayoría de los mosfets bastante bien.
Si transmitimos muchos "0" bis seguidos, el motor estará cerca de estar completamente encendido y el motor funcionará rápidamente. Si transmitimos principalmente bits "1", el motor funcionará más lentamente.
Paso 2: Conéctelo
Dado que solo hay un componente y solo unas pocas conexiones, puede agregar cables de "forma libre".
Los MOSFET son sensibles a la estática, así que tenga un poco de cuidado, pero muy poco es crítico.
Paso 3: configurar archivos con valores PWM
Una forma de controlar el motor sin tener que escribir NINGÚN software es preparar algunos archivos que contengan los bytes apropiados (con más o menos 0 bits), y simplemente COPIARlos al puerto COM donde tiene el motor conectado. Preparé varios archivos (usando emacs, pero lo que sea que funcione para ti está bien):
- 0.pwm:: contiene 5000 caracteres NULL (espacio de control en la mayoría de los teclados) [br] Esto es lo más cercano a la "velocidad máxima" que podremos conseguir con esta técnica.
- 1.pwm:: contiene 5000 caracteres de control A (ascii 01) (un bit "1" por carácter)
- 3.pwm:: contiene 5000 caracteres de control-C (ascii 03) (dos bits "1" por carácter)
- 7.pwm:: contiene 5000 caracteres de control-G (ascii 07) (tres bits "1" por carácter)
- 15.pwm:: contiene 5000 caracteres de control-O (ascii 15) (cuatro bits "1" por carácter)
- 31.pwm:: contiene 5000 caracteres de control-_ (ascii 31) (cinco bits "1" por carácter)
- 63.pwm:: contiene 5000 "?" caracteres (ascii 63) (seis bits "1" por carácter)
- 127.pwm:: contiene 5000 caracteres DEL (ascii 127) (siete bits "1" por carácter)
(Ahora que he hecho dibujos, notará que los patrones de bits reales no son ideales. Dado que la serie rs232 transmite LSB primero, realmente queremos cambiar a ceros en lugar de unos. ¡Un ejercicio para el estudiante!)
Paso 4: Juega con DOS: configura tu puerto COM y copia los archivos
9600 bps es una tasa de bits común. Coincide muy bien con "aproximadamente" un byte por milisegundo, por lo que en este caso corresponde a una frecuencia PWM de 1000Hz, que creo que debería estar bien para motores más pequeños. Puede experimentar con diferentes velocidades de bits para ver cómo funcionan las cosas, que es una de las ventajas de este método. Cree una ventana de DOS (o "Símbolo del sistema") (suponiendo que esté utilizando un sistema operativo Windows) y configure su puerto com como: mode com1: 9600, n, 7, 1 "Eso le dice al puerto de comunicaciones que se ejecute a 9600bps y envíe 7 bits en cada carácter (para que coincidan con nuestras 7 longitudes de bits diferentes). La" n "significa SIN paridad, así que esos serán los únicos bits de datos. El "1" significa que habrá un bit de "parada", lo que evitará que encienda el motor por completo (bueno). Así que ahora puede encender el motor con comandos like: copy 0.pwm com1: dado que estamos enviando 5000 caracteres a aproximadamente 1 por milisegundo, el motor debe encenderse casi a la velocidad máxima durante aproximadamente 5 segundos. Si desea menos de 5 segundos, haga un archivo más corto. De manera similar, puede hacer: copiar 127.pwm com1: para hacer funcionar el motor a la velocidad más baja posible. Con la configuración que tenía, el motor no giraba en absoluto con nada "más lento" que 31.pwm, pero YMMV (creo k Tenía un motor de 12 V que funcionaba con 5 V de baterías). El comando COPY te permite unir archivos, así que si quieres que tu motor acelere y luego vuelva a disminuir la velocidad, puedes hacer algo como: copiar 31.pwm + 15. pwm + 7.pwm + 0.pwm + 7.pwm + 15.pwm + 31.pwm com1:
Paso 5: controlar el motor desde un programa
Si está escribiendo un programa, probablemente pueda abrir COM1: como un archivo y simplemente escribir en él como si fuera cualquier otro archivo. Ser capaz de cronometrar los períodos en los que el motor está encendido mediante la salida de un número particular de caracteres parece ser muy útil. No olvide que es muy probable que el sistema almacene en búfer los caracteres que envía al puerto serie, por lo que solo porque regrese una llamada WRITE no significa que el motor haya terminado de hacer lo que le indicó. Dado que no hacemos nada "sofisticado" con las señales del puerto de comunicaciones, no debería tener que investigar las opciones arcanas que podría admitir. (aunque, si puede averiguar cómo enviar una secuencia BREAK al puerto com, ese es un estado continuo de "0" y hará que el motor funcione TODO el camino; más que enviar 0 caracteres continuos).
Si su lenguaje de programación no le permite enviar salida a COM1:, es posible que aún pueda controlar el motor "llamando" a DOS para que realice comandos de copia. (De acuerdo. Descargué Visual Basic Express 2005 de Microsoft (que es gratis) y logré atar una barra de desplazamiento horizontal a la velocidad del motor, controlada a través del puerto serial. Zip adjunto. Probablemente tenga más de lo necesario para duplicar el programa en su sistema, pero no pude averiguar exactamente qué bits se necesitaban. El programa se simplifica y se hace más difícil de entender (lo siento) al ser multiproceso. Un subproceso no hace nada más que la salida al puerto serie, y el el hilo principal lee la barra de desplazamiento y actualiza la información utilizada por el hilo en serie).
Paso 6: ¡Experimenta
Si las cosas están funcionando básicamente, esto proporciona una gran cantidad de espacio para la experimentación.
- ¡Arregla mis patrones de bits!
- ¿Importa mucho la tasa de bits?
- ¿Tiene que controlar el ancho de los pulsos de "encendido" y "apagado", o simplemente controlar su proporción es suficiente?
- Si solo tiene que controlar la proporción, puede considerar secuencias de varios caracteres a velocidades de bits más altas para obtener más niveles de velocidad. La salida de 0 seguido de 127 estaría aproximadamente a la mitad.
- Esto también debería funcionar para atenuar las bombillas de las linternas.
Recomendado:
Controlador de velocidad variable del motor: 8 pasos
Controlador de velocidad del motor variable: en este proyecto, le mostraré cómo hice el controlador de velocidad del motor & También demostraré lo fácil que puede ser construir un controlador de velocidad de motor variable con la ayuda de un IC 555. ¡Comencemos
Máquina de grabado con velocidad variable: 9 pasos
Máquina de grabado con velocidad variable: en este tema, nos gustaría compartir sobre cómo hacer una máquina de grabado para uso personal. Tuvimos esta idea cuando queríamos hacer un sistema mínimo para ATMega328p. El paso más aburrido para imprimir un diseño de PCB cuando hacemos el paso de grabado. Está desperdiciando
Motor de 24 V CC a motor universal de alta velocidad (30 voltios): 3 pasos
Motor de 24 V CC a motor universal de alta velocidad (30 voltios): ¡Hola! En este proyecto, voy a enseñarle cómo convertir un motor de juguete normal de 24 V CC en un motor universal de 30 V. Personalmente, creo que una demostración en video describe mejor un proyecto . Así que chicos, les recomendaría que vean el video primero. Proyecto V
Knight Rider de velocidad variable: 3 pasos
Caballero de velocidad variable: este es mi primer Instructable, ¡así que dale me gusta! Se inspiró en el programa de televisión de la década de 1980 llamado Knight Rider, que tenía un automóvil llamado KITT con un escáner LED que iba y venía como este
Cómo ejecutar un motor de CC sin escobillas Quadcopter Drone mediante el controlador de velocidad del motor sin escobillas HW30A y el probador de servo: 3 pasos
Cómo hacer funcionar el motor de CC sin escobillas de Drone Quadcopter mediante el controlador de velocidad de motor sin escobillas HW30A y el probador de servo: Descripción: Este dispositivo se llama Probador de servomotor que se puede usar para hacer funcionar el servomotor simplemente enchufando el servomotor y la fuente de alimentación. El dispositivo también se puede utilizar como generador de señales para el controlador de velocidad eléctrico (ESC), entonces no puede