
De alguna manera necesitaba una bomba de agua para futuros productos caseros. Sí, no es simple, con restricciones en las dimensiones: grosor de hasta 25 mm, ancho de hasta 50 mm (longitud, ya puede variar). De las características deseadas: una presión de 1 my un caudal de 100 l / h. Al no haber encontrado lo que quería en ventas (principalmente en términos de tamaño), en su
obstinada naturaleza obstinada, se propuso implementar su solución a este problema.
Atención, ¡muchas fotos!"Cerebros" y un poco de historia:
Estrictamente hablando, la idea de usar motores HDD para bombas no es nueva. Desde 2009, se ha mantenido toda una sucursal en
un foro conocido . Por lo tanto, originalmente estaba destinado a fabricar una bomba a partir de un disco duro "portátil" y encontrar un controlador adecuado con teclas de encendido integradas y control sin sensores.
Pero "fuera de la caja" no pude aprender de la experiencia. Una serie de pruebas con diferentes controladores (MTD6501C, DRV11873 y una serie de otras embarcaciones chinas) dieron un resultado decepcionante: los motores más grandes de unidades 3.5 funcionan perfectamente. Pero con motores pequeños, en el mejor de los casos, logran arrancar unidades y funcionan de manera extremadamente inestable. Con un resultado tan decepcionante, una vieja idea fue abandonada y estaba al borde del olvido.
Pero hace relativamente poco me encontré con un controlador bastante interesante de TI -
DRV10987 . Con sus dimensiones modestas, tiene un potencial bastante impresionante:
- Voltaje de funcionamiento de 6v a 28v.
- Convertidor reductor integrado de 5v (puede alimentar el MK para control)
- Corriente de funcionamiento constante hasta 2 A (pico - 3 A)
- Una gran cantidad de parámetros definidos por software (configuración de los valores de los registros de configuración en el bus I2C) para controlar el funcionamiento del motor
- Reinicio automático del motor después de una parada / falla de emergencia (si las condiciones para la falla han pasado)
- Sobre la protección actual
- Protección contra sobretensiones
- Detección de parada / bloqueo del rotor
- Apagar cuando el controlador se sobrecalienta
Armado con un
arduino (perdóname por esta palabra abusiva de los ingenieros electrónicos locales) para establecer los parámetros hechos por la placa LUT para este controlador, profundicé en los experimentos para arrancar motores. Bueno, este controlador no me decepcionó! A pesar del método aplicado de "búsqueda científica" en la selección de parámetros, ¡fue posible encontrar un enfoque para cualquier motor desde el HDD!
Me ayudó en este
configurador de configuración en línea hecho a sí mismo. Uso en salud!)
Aquí hay un bosquejo sobre los parámetros de vertido a través de arduino:#include <Arduino.h> #include <Wire.h> #define I2C_DRV10983_Q1_ADR 0x52 #define Fault_Reg 0x00 #define MotorSpeed_Reg 0x01 #define DeviceIDRevisionID_Reg 0x08 #define SpeedCtrl_Reg 0x30 #define EEPROM_Access_Code_Reg 0x31 #define EEPROM_EeReady_Reg 0x32 #define EEPROM_Iindividual_Access_Adr_Reg 0x33 #define EEPROM_Individual_Access_Data_Reg 0x34 #define EEPROM_Access_Reg 0x35 #define EECTRL_Reg 0x60 void setup() { Serial.begin(9600); Wire.begin(); } byte readByAdress(byte reg_adr, unsigned int &result) { //I2C write 2-byte register byte i = 0, err = 0; byte bytes[2] = {0, 0}; Wire.beginTransmission(I2C_DRV10983_Q1_ADR); Wire.write(reg_adr); err = Wire.endTransmission(); if(err!=0) return err; Wire.requestFrom(I2C_DRV10983_Q1_ADR, 2); while(Wire.available()) { bytes[i] = Wire.read(); i++; } result = ((bytes[0] << 8) | bytes[1]); return 0; } byte writeByAdress(byte reg_adr, unsigned int value) { //I2C read 2-byte register byte bytes[2]; bytes[1] = value & 0xFF; bytes[0] = (value >> 8) & 0xFF; Wire.beginTransmission(I2C_DRV10983_Q1_ADR); Wire.write(reg_adr); Wire.write(bytes,2); return Wire.endTransmission(); } boolean flag = true; void loop() { if(flag){ unsigned int onReady = 0; writeByAdress(EECTRL_Reg, 0xFFFF); writeByAdress(EEPROM_Access_Code_Reg, 0x0000); //Reset EEPROM_Access_Code_Reg writeByAdress(EEPROM_Access_Code_Reg, 0xC0DE); //Set EEPROM_Access_Code_Reg while(onReady == 0){ // Wait EEPROM ready readByAdress(EEPROM_EeReady_Reg, onReady); } Serial.println("EEPROM_Access."); onReady = 0; //Write values on shadow registers //writeByAdress(EEPROM_Access_Reg, 0x1000); //Not use EEPROM storage. Store values in shadow registers writeByAdress(0x90, 0x154F); writeByAdress(0x91, 0x042C); writeByAdress(0x92, 0x0090); writeByAdress(0x93, 0x09EA); writeByAdress(0x94, 0x3FAF); writeByAdress(0x95, 0xFC33); writeByAdress(0x96, 0x016A); writeByAdress(EEPROM_Access_Reg,0x0006); //EEPROM mass access enabled && update while(onReady == 0 ){ // Wait EEPROM ready readByAdress(EEPROM_EeReady_Reg, onReady); } Serial.println("EEPROM_Update."); writeByAdress(EECTRL_Reg, 0x0000); //Run motor flag = false; } }
Luego, se ordenaron más chales presentables en el Reino Medio:

Después del registro (bueno, esto es lo que requieren) puede descargar los archivos del proyecto de forma gratuita. O inmediatamente ordene las tablas
aquí .
Sobre el "trasplante de corazón"
Lo único que queda es sacar el motor del gabinete del HDD, que por cierto, en discos 2.5 (y en la mayoría 3.5) es una parte integral de él. Brevemente, puede describir el proceso con la famosa frase "
Saw, Shura, saw! ":
Una guía externa para una corona de metal con fijación a la caja del disco está hecha de madera contrachapada. Por seguridad, el cable del motor está pegado a su base para que no se corte con una corona.
Después de perforar, obtenemos rondas con un motor. Después del procesamiento del archivo, obtenemos un diámetro base de aproximadamente 25 mm.Preparación del receptor para trasplante:
Los cerebros y el corazón de la futura bomba se llevan bien entre sí y están listos para encontrar un nuevo hábitat. Así que es hora de pensar en la carcasa y el impulsor.
Como es necesario obtener alta presión con un volumen de trabajo pequeño, el impulsor se diseñó con 7 rayos:
Impresión 3D con policarbonatoModelo 3DEl policarbonato es una gran cosa para el caso. Pero imprimir todo el edificio es costoso para ellos. Los trozos de láminas gruesas son muy difíciles de encontrar y el fresado no es gratis (para mí). Pero gracias a los anunciantes, puede rogar por restos de hojas de 4 mm y 2 mm de espesor. Por lo tanto, el estuche fue diseñado para el corte posterior de piezas con láser y su pegado en una sola unidad sin necesidad de fresado. Solo se requieren perforaciones para accesorios y tuercas.
Vista modelo 3DModelo 3D
Un conjunto de piezas para pegar la "parte superior" de la bomba. En los lugares donde los canales de entrada y salida están conectados, las caras se cortanProgreso de la operación:
Aquí me gustaría hacer una digresión y recordar a aquellos que desean repetir, y no solo que el dicloroetano, que estaba pegado,
contiene pocas vitaminas y es necesario inhalar una sustancia bastante tóxica y volátil. El trabajo con él debe realizarse al aire libre o en un área bien ventilada.
La pila de partes "superiores" en el secado después de pegar es el rotor impulsor-separador de entrada superior. Del mismo modo, la base del motor está pegada (o hecha completamente de una pieza de policarbonato de 6 mm)
Después de pegar, se taladran los orificios para el accesorio: un tubo de latón de 8 mm a través de las muescas en la parte del "separador"
La buena composición antigua BF-4, en mi opinión, proporciona una unión fiable de latón y policarbonato.
La base del motor en la parte inferior de la bomba está pegada con el mismo pegamento. En la parte superior, se perforan agujeros (¡ no de principio a fin!) Para pegar tuercas de remache M3. Y la foto muestra una delgada junta de siliconaPrueba:
Así que ha llegado el momento de revisar el trabajo casero. Para esto, se montó rápidamente un banco de pruebas. Dado que los desarrolladores serios leen a los
niños de Habr, cuya apariencia y composición del stand pueden causar ataques de pánico, horror y desorientación, quería ocultarlo bajo un spoiler ... pero espero que todo salga bien, y luego no digo que no les advertí, queridos lectores !
Arduinka envía una señal de control PWM, cuyo ciclo de trabajo se establece manualmente mediante una resistencia variable, lee el valor de los registros de configuración y también determina la velocidad de rotación a través de los registros internos del controlador (RPMrg) y la señal FG (RPMfg). Potencia del motor - 12vArranque del motor sin carga. Control de velocidad y medición de energía.El motor arranca con éxito desde el 6% de la señal de control PWM. Y al final del video puede ver cómo a altas velocidades los valores de velocidad en el registro interno se "cuelgan" en el intervalo de 10k a 13k revoluciones, aunque la frecuencia se fija a través de la salida FG sin cambios.
Al ralentí, todo está claro: obtuvieron 13k revoluciones a un voltaje de 12v y un consumo de 0.16A. Pero estaba funcionando una bomba de agua, y aquí estoy persiguiendo el aire. Entonces, la siguiente etapa es escoltar a los miembros del hogar a la calle, para no interferir, ¡y la ocupación del baño!
Por desgracia, no pude tomar medidas y grabar videos. Así que veamos una foto general. Se agregaron un cronómetro y una lata de 3L al equipo de medición
Según los resultados de las mediciones, obtuvimos dicha tabla
Diagrama de flujoComo resultado, esta nave satisface por completo mis requisitos. Y en caso de avería, gracias al diseño plegable y la presencia de cajas con 2.5HDD muertos en cualquier taller de reparación / centro de servicio, no será difícil repararlo. ¡Y el camino hacia una mayor construcción del NWO está abierto! Así que continuará!