Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Smart Blinds

Componentes e suprimentos

SparkFun Arduino Pro Mini 328 - 5 V / 16 MHz
× 1
Arduino UNO
× 1
Sensor de temperatura
× 1
PN2907A transistor PNP
× 1
LDR
× 1
Resistor 10k ohm
× 1
Resistor 1k ohm
× 1
painel solar
× 1
Booster Dc-Dc
× 1
Conectores JST
× 1
porta-bateria 4xAA
× 1
Servos (Tower Pro MG996R)
× 1
Bateria recarregável de lítio 3,6 V
× 1
Acoplamento servo motor
× 1
Capacitor 100 nF
× 1
PCB fabricado sob encomenda do OSH Park
× 1
Fios de conexão diversos
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Drill
SolderWire
Tesouras de barbear
Decapador de fio
Multímetro
Dremel
Placa de circuito / placa de montagem de solda
Envoltório termorretrátil

Aplicativos e serviços online

Arduino IDE

Sobre este projeto




Olá!

Este projeto apresenta as melhorias feitas no meu projeto original (e primeiro), as cortinas horizontais automatizadas com energia solar. O projeto original publicado atendeu aos requisitos da época. Ele funcionou corretamente por quase 4 meses antes que algumas falhas de design se tornassem aparentes.

Para recapitular, o objetivo das cortinas é abrir e fechar com base nos níveis de luz, para permitir a entrada de luz ou fechar para privacidade. E também as cortinas devem fechar quando fica "muito quente", o que é uma designação completamente arbitrária.

Importei este projeto de outro lugar, e a seção de hardware / ferramentas aqui simplesmente não estava me dando as opções que eu queria, então você terá que lidar com a lista detalhada como ela está, em vez de no formato Hackster.io bacana. Desculpe.

O novo design faz o seguinte:
  • Abra (gire a 85 graus) pela manhã para deixar entrar luz
  • Fechar (girar para 0 grau - cortinas apontadas para baixo) à noite para fornecer privacidade
  • Feche (gire a 165 graus - cortinas apontadas para cima, contra o sol) se a temperatura exceder a temperatura de 30 C (~ 86 F) - esta temperatura é arbitrária, seu nível de conforto pode variar.
  • Execute todas essas atividades sem fiação externa, caixas, dispositivos, etc. Em outras palavras, passe o fator de aceitação de esposa.
  • Seja sustentável o suficiente para que eu não abandone o projeto porque tenho que substituir as baterias com muita frequência.
  • Não custe muito. Acho que o resultado final é que as cortinas podem ser construídas por cerca de US $ 50. O dinheiro investido em novas ferramentas e o tempo gasto em programação, teste, soldagem e ajustes, é claro, não contam.

A razão para esses requisitos de projeto é que a janela para a qual foram projetados é uma janela do segundo andar sobre a porta da frente da casa. Esta janela está voltada para o sul (na verdade, SSE), o que significa que há muita luz solar (e calor potencial) no inverno com as cortinas abertas, mas o potencial para muito calor no verão.

Como afirmado, as cortinas funcionaram perfeitamente por cerca de 4 meses (instalação em janeiro, elas voltaram a funcionar por volta de junho). As falhas descobertas foram:
  • A casa não está virada para o sul ..... Portanto, no inverno, o sol incide na janela durante a maior parte do dia, deixando a janela apenas no final da tarde. Isso fornece muita carga solar durante o inverno. Durante o verão, porém, o sol se põe sobre a casa ao meio-dia, o que significa que não há sol suficiente para cobrar por grande parte das horas do dia. E a colocação original do painel solar na janela fica sombreada nas primeiras horas do dia, além disso. Solução:melhor posição do painel solar.
  • O servo motor usado para controlar as cortinas consome 13 mA contínuos. Isso me chocou. Em minha primeira tentativa, não medi a corrente com o servo no lugar porque meu multímetro não conseguia suportar o grande empate do servo e fornecer a precisão para ver isso quando em "sono". Solução:switch high-side usando um transistor PNP.
  • Meu painel solar de 6 V de design original realmente funciona contra o módulo de carregamento LiPo. O módulo de carregamento tem uma entrada nominal de 4,5 V a 5,5 V. Quando o painel recebeu pleno sol e gerou 6 V ou mais de eletricidade, o módulo de carregamento desligou. Só descobri isso depois que as cortinas foram instaladas. Solução:painel de tamanho correto.
  • Sem registro / coleta de telemetria. Isso tornou muito difícil diagnosticar as cortinas quando elas começaram a funcionar mal. Solução:função de registro EEPROM.
  • Não havia como conectar / desconectar para diagnosticar / consertar. Isso se aplica ao painel solar e à bateria. Solução:Conectores JST entre bateria e circuito, painel solar e circuito.
  • As medições (temperatura e luz) precisam ser feitas contra uma tensão de referência sólida de 5 V (saída VCC no Arduino), NÃO a saída de 5 V do booster DC-DC. Essa tensão pode variar um pouco, o que afeta as medições da conversão analógico-digital. No meu primeiro projeto, a linha "5V" que usei era na verdade a linha não regulamentada saindo do booster DC-DC. Solução:parece óbvio, não é? Use a saída de 5 V * regulada * do Arduino Pro Mini.

Então vamos começar!





Etapa 1:Lista de peças


Optei por usar um Arduino para este projeto. É o que eu sei. Você pode usar outro micro controlador, o que for mais adequado para você. Você notará que compro muito da SparkFun - eles são locais para mim. O que é ótimo nisso é que posso fazer um pedido de manhã e ir buscá-lo à tarde.

Outros links que você verá são de banggood.com - eles têm muitos componentes baratos e uma grande variedade de peças eletrônicas. Se você se sentir confortável em esperar até um mês ou mais por suas peças, pode conseguir as coisas por um preço baixo. E em taydaelectronics.com. Se você puder comprar várias coisas ao mesmo tempo, os preços são MUITO bons. O envio é bastante razoável. Portanto, algumas das peças que você verá na minha lista, na verdade, encomendei 5, 10 ou 20 itens para obter o mínimo de pedido. Quem sabe, talvez eu construa vários deles.
  • Arduino Pro Mini ($ 10 - SparkFun)
  • Arduino Uno, para programar o Mini - você pode usar cabos especiais, mas essa configuração funciona para mim.
  • Sensor de temperatura LM35DZ (US $ 1,23 - Tayda)
  • PN2907A transistor PNP ($ 0,05 - Tayda)
  • Resistor dependente de luz (LDR) (US $ 1,24 para um pacote de 10 unidades em banggood.com) -
  • Um (1) resistor de 10K Ohm ($ 0,01 - Tayda) - embora eu tenha comprado um pacote de resistores da SparkFun por $ 8.
  • Um (1) resistor de 1K Ohm
  • Painel solar 5V 1,5W ($ 4,07 - banggood.com)
  • 5 V DC-DC Booster ($ 1,38 - banggood.com)
  • Módulo de carregamento de bateria de lítio (US $ 2,89 para um pacote de 3 unidades da banggood.com)
  • Conectores JST (US $ 3,33 para um pacote de 60 em banggood.com)
  • Bateria de lítio recarregável de 3,6 V (US $ 15,39 para um pacote de 4 da Amazon, inclui um carregador de verruga na parede)
  • porta-bateria 18650 ($ 1 - SparkFun)
  • Servo motor (usei um Hitec HS-325HB que encontrei em uma loja local) (aqui está um equivalente) Tive que adivinhar que tipo de torque era necessário. Não consegui encontrar uma chave de torque com preço razoável para fazer uma medição.
  • Acoplamento do servo motor. Porque eu usei um Hitec Servo, eu precisava disso. ($ 5 - SparkFun)
  • capacitor 100 uF ($ 0,03 - Tayda)
  • Fios de conexão diversos (comprei este kit - US $ 17,79 na Amazon)
  • PCB (US $ 2,74 por um pacote de 10 da Amazon)





Etapa 2:Ferramentas


Itens úteis para ter:
  • Exercício
  • Ferro de soldar
  • SolderWire
  • Tesouras de barbear
  • Decapador de fio
  • multímetro
  • Dremel ou ferramenta de corte pequena semelhante
  • Placa de circuito / placa de ensaio de solda
  • Envoltório termorretrátil





Etapa 3:protótipo do projeto


OK. Agora que você tem todos os seus componentes e uma área de trabalho, é hora de juntar tudo e ver o que acontece.

No projeto original, a primeira coisa que fiz foi conectar duas baterias AA ao amplificador 5V DC-DC e verificar se obtinha 5V de saída. Desta vez, fiz o mesmo, apenas com a bateria de verdade, a bateria recarregável de lítio 3,6V. Totalmente carregado, ele fica em 4,1-4,2V. De acordo com meu multímetro, obtenho 5,04 V do booster. Bom o bastante.

A próxima etapa que dei foi dispor todos os componentes em uma placa de ensaio sem solda, a fim de escrever o código para controlá-la, bem como fazer medições de corrente e tensão.
  • Conecte os conectores apropriados do módulo de carregamento de lítio à bateria e ao painel solar (positivo para positivo, negativo para negativo)
  • Conecte um fio do terminal positivo do painel ao A0 analógico - isso fornece a tensão do painel para registro.
  • A bateria também se conecta ao amplificador 5 V DC-DC.
  • Conecte um fio do terminal positivo da bateria ao analógico A1 - isso fornece a tensão da bateria para o registro.
  • A saída de 5 V do booster vai para a entrada RAW no Arduino.
  • O aterramento do booster de 5 V é usado em todo o processo.
  • Conecte o pino VCC do Arduino a tudo que precisa de 5V regulado.
  • O servo pode se conectar à saída de 5 V do booster DC-DC, mas passará primeiro pelo transistor PNP.
  • No LDR, conecte o resistor de 10K Ohm ao aterramento. Conecte um fio entre o LDR e o resistor para Analógico A3 - esta é a sua detecção de luz.
  • Conecte 5 V ao lado de 5 V do LM35DZ (ou do seu sensor de temperatura)
  • Conecte o aterramento do LM35DZ ao aterramento.
  • Conecte um fio do pino do meio (ou saída) do LM35DZ ao A2 - este é o seu sensor de temperatura.
  • Conecte a saída de 5 V do booster DC-DC ao pino E (emissor) do PN2907A.
  • Conecte um resistor de 1K Ohm entre o pino B (Base) do transistor e o pino 11 - este é o controle para permitir que a corrente flua para o servo motor.
  • Conecte o pino C (coletor) do transistor ao pino de alimentação do servo motor.
  • Conecte o pino de aterramento do servo motor ao aterramento.
  • Conecte o pino de sinal do servo ao pino 10 - este é o pino PWM que você está usando para controlar o servo.

Durante a prototipagem, você não precisa do painel solar e dos módulos de carregamento de lítio conectados. As instruções estão aqui para toda a montagem. Deste ponto em diante, todos os componentes, exceto o módulo de carregamento, estão no lugar para todas as medições.

Antes de adicionar o transistor nas etapas 13-16, a seguinte sequência ocorreu:
  • Dê uma olhada na corrente inativa sem o servo.
  • Agora vamos adicionar o servo motor e observar a corrente.

O que está acontecendo aqui!? Simplesmente conectando o servo, adicionamos 14 mA de corrente inativa ao sistema. Como podemos resolver isso? Nosso bom amigo, o transistor. Minha compra do kit Arduino original continha alguns transistores NPN. Depois de fazer algumas leituras sobre eles (obrigado SparkFun!), Decidi que tentaria uma configuração Low Side Switch. No entanto, isso não funcionou. Eu * ainda * tinha uma corrente ociosa muito maior do que esperava. Eu medi as tensões nos pinos do Emissor, da Base e do Coletor e descobri que o pino da Base tinha uma tensão quando eu não esperava nenhuma. Não estou 100% certo do que está acontecendo, exceto que talvez o circuito interno do servo esteja encontrando um caminho para o aterramento por meio do pino PWM usado para controlar a posição do motor. Se alguém tem ideias, sou todo ouvidos.

Então, vamos tentar um transistor PNP em uma configuração High Side Switch.

Sucesso! Agora, quando o servo não está se movendo, parece que não há servo conectado. Daí o uso do transistor nas etapas 13-16.





Etapa 4:Programação


Obviamente, depois de configurá-lo, você deve programar o Pro Mini para testá-lo. Você vai testar primeiro, certo? Tentei usar o TTL SparkFun para o cabo USB, mas não consegui fazer funcionar. Talvez eu tenha o cabo errado? Então decidi ver se isso poderia ser feito sem.

Bem, apenas neste site, existem várias instruções para programar um Arduino Pro Mini usando um Arduino Uno. É bem simples. Para mim, a parte mais assustadora foi remover o IC do Uno (isso precisa ser feito porque você não pode programar um Uno como um Pro Mini):
  • Remova o IC do Uno (anote a direção para a qual o entalhe está voltado, para que você possa colocá-lo de volta). Fiz isso usando um dispositivo do tipo faca de plástico, como o que você usa para abrir um iPhone. Comecei empurrando suavemente sob o IC, alternando dos dois lados, para evitar entortar os pinos.
  • Conecte o pino Uno 5V ao pino Pro Mini VCC.
  • Conecte o pino Uno GND ao pino Pro Mini GND.
  • Conecte o pino Uno TX ao pino Pro Mini TX0.
  • Conecte o pino Uno RX ao pino Pro Mini RXI
  • Conecte o pino Uno RESET ao pino Pro Mini RST.

Eu mesmo fiz dois conjuntos de fios e os conectei a uma placa de ensaio. Prendi as duas pontas dos fios de ligação juntas para não ter que conectar os pinos individualmente, uma vez que tinha sido feito. Sou o tipo de pessoa que diz, se tiver que fazer isso duas vezes, posso automatizar ou tornar mais simples.

Agora, quando você entra no IDE do Arduino, selecione "Arduino Pro ou Pro Mini" e você pode programar a placa diretamente. Posso até reprogramá-lo sem remover todo o conjunto das persianas, se encontrar alterações que desejo fazer.

Aqui está o esboço do SmartBlinds que usei para este projeto. Acho que está bem documentado, mas se você tiver dúvidas, fique à vontade para perguntar. A classe EEPROM Logging também é necessária e está disponível nas bibliotecas do meu github.

Também adicionei uma tentativa de visualização do breadboard e da visualização esquemática do projeto. Fritzing continua interferindo em mim, entretanto, pode não parecer ótimo.





Etapa 5:iniciar a montagem


Agora que temos alguns dados sobre nosso sistema, vamos começar a montá-lo.

A adição que fiz desta vez foi usar os conectores JST e soldar o fio de núcleo sólido a eles para dar-lhes um alcance extra. Por padrão, eles são MUITO curtos. O uso dos conectores tem o benefício adicional de fornecer um ponto de interrupção fácil entre a bateria e o resto do circuito.

Observe que em meu primeiro projeto devo ter falhado nessa medição crítica, pois não descobri que o servo motor consome 14 mA o tempo todo.

Este é um bom momento para soldar também o fio de núcleo sólido ao painel solar. Eu adicionei cerca de 2 pés de fio ao conector JST para posicionar o painel solar no local apropriado na janela para maximizar a cobertura solar durante todo o ano, mas minimizar o impacto visual. Mantenha os conectores curtos (er) para soldar ao PCB. Isso minimiza o tamanho da peça que vai para o trilho superior cego. Além disso, usar fio de núcleo sólido para soldá-lo ao PCB parece (para mim) funcionar melhor do que soldar fio trançado nos orifícios. Sua milhagem pode variar.

Reduza o PCB para o tamanho que você precisa para suas cortinas. As tábuas que comprei são muito grandes em cerca de 3 fileiras de orifícios, então cortei esse tamanho. Tentei estabelecer o circuito o mais pequeno possível e o mais organizado que pude. Pré-corte os fios no tamanho que você precisa e faça uma pequena dobra para passar pelos cantos, etc. E então para baixo (ou para cima) nos orifícios do PCB. Lembre-se da altura dos pinos do conector do servo e certifique-se de que o conector não interfira na operação do servo dentro das cortinas.

Também risquei as linhas gravadas no amplificador DC-DC que conduzem ao LED indicador. Ele economiza cerca de 1 mA o tempo todo. Idealmente, o sensor de temperatura estaria desligado por si mesmo, para reduzir qualquer impacto potencial do servo ou de outros componentes. Eu falhei em fazer isso, e está bem ao lado do transistor.





Etapa 6:montagem completa, um último reprograma


A última coisa que faço depois de concluir a montagem é restaurar a classe de registro EEPROM. Eu não queria escrever na EEPROM enquanto fazia protótipos e tentava coisas diferentes, então eu fiz o comentário desse código. Mas agora que estamos prontos para implantar, é hora de habilitar o registro. A saída do log está aqui. Também está anexado abaixo, pois estava no formato original.

O Pro Mini possui 1024 KB de EEPROM. Com base em um tamanho de 22 bytes por entrada, mais 2 bytes de "padrão de sincronização", devo ser capaz de obter 42 entradas na EEPROM antes de encerrar. Isso é menos de um mês de dados, com 2 atividades por dia. Gostaria de obter mais, mas isso exigiria um cartão SD ou EEPROM maior. Talvez na próxima rotação

Eu também faço uma última medição de corrente, para ter certeza de que não tenho um curto em algum lugar. A corrente que medi é de cerca de 1,5 mA. Com uma bateria de 900 mA-hora, isso deve fornecer cerca de 600 horas de operação sem carregar. Subtraia um pouco porque ele nem sempre estará dormindo e, claro, sempre que ele se mover, você estará descarregando a bateria mais rapidamente. Usando a biblioteca LowPower da rocketlabs, ele dorme a 1,5 mA. Durante a execução, é cerca de 25 mA e, ao mover as cortinas, está entre 200 mA a cerca de 500 mA ou mais. Eu gostaria de fazer a bateria durar ainda mais, mas também gostaria que os LEDs acendessem quando ela funcionar, para que eu saiba que está funcionando, então estou de acordo com uma compensação.
FEF476VIRXTB0NK.txt





Etapa 7:Instalação


OK, agora para instalar nas cortinas.
  • Primeiro, remova o saca-rolhas do cabo de tração (se houver persianas). Eles fornecem muita resistência para o servo motor funcionar corretamente. (Não tenho uma imagem disso porque estou reutilizando as cortinas originais e não consigo encontrar essa peça)
  • Faça um pequeno orifício para o LDR se destacar (eu uso o lado externo das cortinas)
  • Agora use uma Dremel ou outra ferramenta de corte para cortar um quadrado do tamanho do seu servo motor. Precisa ficar bem apertado, mas você não quer arranhar ou danificar o servo (usei o lado externo novamente - não quero vê-lo na casa, embora possa ser coberto pela decoração corte. Apenas certifique-se de que não interfira com o corte se você escolher esse lado)
  • Cubra as arestas com fita ou alise de alguma forma.
  • Insira o PCB nas persianas e certifique-se de que o sensor de luz esteja saindo do orifício que você fez na etapa 2.
  • Agora conecte o servo motor ao eixo e aperte o parafuso de fixação. Nesse ponto, o motivo da espera de 90 graus e 10 segundos no início da operação deve estar claro. Eu inicio o programa, permito que o servo se mova a 90 graus e, em seguida, desabilito a bateria. Em seguida, uso essa posição para prendê-lo às cortinas, que movi manualmente em 90 graus para combinar.
  • Agora suba na escada e instale as cortinas.
  • Anexei o painel solar em torno do painel central, no terço superior da janela. Eu passo os fios ao longo dos separadores de painel e colo o painel e os fios no lugar para minimizar a visibilidade.
  • Agora conecte o painel solar ao circuito.
  • Conecte a bateria e deslize rapidamente as cortinas no lugar. Eles devem mover-se para o centro e, após o retardo de 10 segundos, mover-se para a posição apropriada. Coloco o suporte da bateria dentro do trilho cego antes de conectar.
  • Reinstale o acabamento decorativo.
  • Tome uma cerveja (ou, no meu caso, um rum com Coca).





Etapa 8:relaxe e aproveite!


Desfrute do bom funcionamento das persianas à medida que abrem e fecham automaticamente.

Se você fizer um usando meu design, por favor me avise! Adoraria ouvir sobre isso e se você fez alterações ou melhorias. Se você tiver alguma dúvida, pergunte. Este site tem sido muito útil para aprender as muitas habilidades diferentes envolvidas neste projeto, e eu adoraria retribuir.

Atualização:Após vários meses de operação, estou feliz em dizer que eles estão se comportando EXATAMENTE como deveriam! Uma peculiaridade que descobrimos foi que, se as luzes do corredor do andar de cima E da entrada do andar de baixo estiverem acesas, as persianas permanecerão abertas depois de escurecer - o que o torna perfeito para exibir sua função com a companhia. E naqueles dias de final de verão em que ficava muito quente, as cortinas fechavam devido ao calor a uma temperatura muito confortável - a janela fica mais quente que o piso principal, então as cortinas fecham enquanto ainda está na casa dos 70 (F) .

Código

Github
https://github.com/Froz3nArcher/libraries/tree/master/EEPROMLoghttps://github.com/Froz3nArcher/libraries/tree/master/EEPROMLog
Github
https://github.com/Froz3nArcher/SmartBlindshttps://github.com/Froz3nArcher/SmartBlinds

Esquemas

Esquemas cegos inteligentes
https://github.com/Froz3nArcher/SmartBlinds/blob/master/SmartBlinds.fzz

Processo de manufatura

  1. Bartender inteligente
  2. Smart Blinds
  3. Sensor de obstáculo simples com Arduino
  4. Sapatos inteligentes (com laço automático e geração de eletricidade)
  5. Rastreador solar baseado na Internet das coisas (IoT)
  6. Braço robótico simples e inteligente usando Arduino
  7. Monitoramento de temperatura SMART para escolas
  8. Luva de mão inteligente
  9. Multiplexador de carregador de bateria inteligente com Smart Display
  10. Uma entrada analógica isolada para Arduino