
De alguma forma, eu precisava de uma bomba de água para futuros produtos caseiros. Sim, não é simples - com restrições de dimensões - espessura até 25 mm, largura até 50 mm (comprimento - você já pode variar). Das características desejadas - pressão de 1m e vazão de 100l / h. Não tendo encontrado o que queria em vendas (principalmente em termos de tamanho), em sua natureza
obstinada e teimosa, começou a implementar sua solução para esse problema!
Atenção - muitas fotos!"Cérebros" e um pouco de fundo:
A rigor, a idéia de usar motores HDD para bombas não é nova. Desde 2009, todo um ramo foi mantido em
um fórum conhecido . Portanto, o objetivo original era fabricar uma bomba a partir de um disco rígido para “laptop” e encontrar um driver adequado com teclas de força integradas e controle sem sensor.
Mas "pronto para uso" não pude aprender com a experiência. Uma série de testes com diferentes drivers (MTD6501C, DRV11873 e vários outros produtos chineses) deu um resultado decepcionante: motores maiores de 3,5 inversores funcionam perfeitamente. Mas com motores pequenos, na melhor das hipóteses, eles conseguem iniciar as unidades e trabalham extremamente instável. Com um resultado tão decepcionante, uma idéia antiga foi abandonada e estava à beira do esquecimento.
Mas, recentemente, me deparei com um driver bastante interessante da TI -
DRV10987 . Com suas dimensões modestas, possui um potencial bastante impressionante:
- Tensão de operação de 6v a 28v
- Conversor step-down integrado de 5v (você pode alimentar o MK para controle)
- Corrente de operação constante até 2A (pico - 3A)
- Um grande número de parâmetros definidos por software (definindo os valores dos registros de configuração no barramento I2C) para controlar a operação do motor
- Reinício automático do motor após uma parada / falha de emergência (se as condições para a falha tiverem passado)
- Sobre a proteção atual
- Proteção contra sobretensão
- Detecção de parada / bloqueio do rotor
- Desligar quando o controlador superaquece
Armado com um
arduino (perdoe-me por essa palavra abusiva dos engenheiros eletrônicos locais) para definir os parâmetros estabelecidos pela placa LUT para esse driver, eu me aprofundou nas experiências de partida de motores. Bem, este controlador não me decepcionou! Apesar do método aplicado de "cutucada científica" na seleção dos parâmetros, foi possível encontrar uma abordagem para qualquer motor a partir do HDD!
Ajudou-me neste
configurador de configurações on -
line feito por você. Use na saúde!)
Aqui está um esboço dos parâmetros de vazamento no 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; } }
Então, xales mais apresentáveis foram encomendados no Reino do Meio:

Após o registro (bem, é isso que eles exigem), você pode baixar os arquivos do projeto gratuitamente. Ou encomende imediatamente as placas
aqui .
Sobre o "transplante de coração"
A única coisa que resta é tirar o motor do gabinete do HDD, que, a propósito, em 2,5 discos (e na maioria dos 3,5) é parte integrante dele. Resumidamente, você pode descrever o processo com a famosa frase "
Saw, Shura, saw! ":
Um guia externo para uma coroa de metal com fixação à caixa do disco é feito de madeira compensada. Por segurança, o cabo do motor é colado à sua base para que não seja cortado por uma coroa
Após a perfuração, fazemos rondas com um motor. Após o processamento do arquivo, obtemos um diâmetro base de cerca de 25 mm.Preparação do destinatário para transplante:
O cérebro e o coração da futura bomba se dão bem e estão prontos para encontrar um novo habitat. Então é hora de pensar na carcaça e no impulsor.
Como é necessário obter alta pressão com um pequeno volume de trabalho, o impulsor foi projetado com 7 raios:
Impressão 3D com policarbonatoModelo 3DO policarbonato é uma grande coisa para o caso. Mas imprimir todo o edifício é caro para eles. Pedaços de folhas grossas são muito difíceis de encontrar e o fresamento não é gratuito (para mim). Mas, pelos agradecimentos aos anunciantes, você pode pedir pedaços de folhas de 4 mm e 2 mm de espessura. Portanto, o gabinete foi projetado para o corte a laser subsequente de peças e a colagem em uma única unidade sem a necessidade de fresamento. Somente furos para conexões e porcas são necessários.
Vista de modelo 3DModelo 3D
Um conjunto de peças para colar o "topo" da bomba. Nos locais onde os canais de entrada e saída estão conectados, os rostos são cortadosProgresso da operação:
Aqui eu gostaria de fazer uma digressão e lembrar aqueles que desejam repetir, e não apenas que o dicloroetano, que foi colado,
contém poucas vitaminas e você precisa inalar uma substância bastante tóxica e volátil. O trabalho com ele deve ser realizado ao ar livre ou em uma área bem ventilada.
A pilha de partes "superiores" na secagem após a colagem é o rotor do separador de entrada de entrada superior. Da mesma forma, a base do motor é colada (ou feita inteiramente de um pedaço de 6 mm de policarbonato)
Após a colagem, os furos do acessório são perfurados - um tubo de latão de 8 mm através dos entalhes na parte “separadora”
A boa e velha composição BF-4, quanto a mim, proporciona uma ligação confiável de latão e policarbonato
A base do motor na parte inferior da bomba é colada com a mesma cola. Na parte superior, são feitos furos ( não completamente!) Para colar as porcas de rebite M3. E a foto mostra uma junta de silicone finaTeste:
Chegou a hora de verificar o trabalho caseiro. Para isso, uma bancada de testes foi montada às pressas. Como desenvolvedores sérios leem os
filhos de Habr, cuja aparência e composição do estande podem causar ataques de pânico, horror e desorientação, eu queria escondê-lo sob um spoiler ... mas espero que tudo dê certo e depois não diga que não avisei, queridos leitores !
Arduinka envia um sinal de controle PWM, cujo ciclo de trabalho é definido manualmente por um resistor variável, lê o valor dos registros de configuração e também determina a velocidade de rotação através dos registros internos do driver (RPMrg) e do sinal FG (RPMfg). Potência do motor - 12vPartida do motor sem carga. Controle de velocidade e medição de energiaO motor arranca com sucesso a partir de 6% do sinal de controle PWM. E no final do vídeo, você pode ver como, em alta velocidade, os valores de velocidade no registro interno “travam” no intervalo de 10k a 13k revoluções, embora a frequência seja fixa sem alterações na saída FG.
Em marcha lenta, tudo está claro - eles obtiveram 13k rotações a uma tensão de 12v e um consumo de 0,16A. Mas uma bomba d'água estava funcionando, e aqui estou eu perseguindo o ar. Portanto, o próximo estágio é escoltar os membros da família para a rua, para não interferir e a ocupação do banheiro!
Infelizmente, não consegui fazer medições e gravar vídeos. Então vamos lá com uma foto geral. Um cronômetro e uma lata de 3L foram adicionados ao equipamento de medição
De acordo com os resultados das medições, temos uma tabela
FluxogramaComo resultado - esta embarcação satisfaz inteiramente meus requisitos. E em caso de avaria, graças ao design dobrável e à presença de caixas com 2.5HDD morto em qualquer oficina / centro de serviços, não será difícil reparar. E o caminho para a construção adicional do NWO está aberto! Então, para continuar!