Jump to content

Recyclebot v4.0dc/pt

From Appropedia

Esta página descreve a extrusora de filamento alimentada por CC que foi projetada pela MOST.

Observe que a calibração (descrita abaixo) requer um sistema GNU/Linux e conhecimento avançado razoável de hardware e software. Em particular, você precisa saber como editar um programa, como compilar um programa para um microcontrolador AVR autônomo e como carregar esse programa para o microcontrolador. Esta página explica brevemente como fazer essas coisas, mas as explicações não são voltadas para iniciantes.

Montagem da placa de controle

Lista de materiais

  • Placa de circuito impresso do controlador (1)
  • ATMega 328p, 32-TQFP (1 - cpu1)
  • Resistor smd 100k, 0805 (3 - R1, R2, R3)
  • Resistor smd de 4,7k, 1206 (1 - R4)
  • Cristal de 16 MHz, HC49/SD (1 - Y1)
  • MOSFET, IRLR2905PBFCT, TO-252, 2 pinos (3 - Q1, Q2, Q3)
  • Capacitor smd 22pF, 0805 (2 - C1, C2)
  • Capacitor eletrolítico smd 10mF, 3x5.3 (1 - C3)
  • Diodo smd 5V 1A, DO-214AC (3 - D1, D2, D3)
  • Dois terminais de parafuso de poste, passo de 0,2" (3 - P8, P10, P13)
  • Fonte de alimentação DC-DC, 7-28 V (1, PSU1)
  • Cabeçalho de pino de passo 2x3 0,1" (2 - P14, P15)
  • Cabeçalho de pino de passo 2x3 blindado de 0,1" (1 - P12)
  • Cabeçalhos de pino de passo 1x2 0,1" (6)
  • Cabeçalhos de pino de passo 1x3 0,1" (2)
  • Cabeçalhos de pino de passo 1x4 0,1" (3)
  • OPCIONAL 1 pino para acesso aos pinos 11, 19 e 26 do ATMega

Conjunto

A placa de controle requer soldagem cuidadosa. O ideal seria usar um forno de refluxo (uma torradeira pode ser usada se o cuidado adequado for exercido). Como muitos dos componentes são de montagem em superfície, a soldagem manual é desafiadora. O seguinte pressupõe que a solda será refluída.

  1. Defina a tensão de saída da fonte de alimentação DC-DC para 5V. Isso DEVE ser feito antes de soldar a fonte de alimentação DC-DC à placa de controle. Tentar definir a tensão depois que ela for soldada no lugar destruirá o ATMega AVR.
  2. Frente do painel de controle
    Parte traseira do painel de controle
    Observe que os componentes serão soldados na parte traseira e frontal da placa.
  3. Frente com componentes SMD soldados no lugar.
    Preencha todos os componentes SMD na parte frontal da placa com pasta de solda e retorne a solda.
  4. De volta com componentes preenchidos.
    Preencha a parte de trás da placa com componentes passantes.
  5. Crie e atualize o firmware do controlador ( aqui ).
  6. Monte a placa na estrutura da extrusora (ainda não há placa de montagem projetada).
  7. Conecte os vários componentes aos seus respectivos pinos rotulados na placa controladora (tela LCD, codificador, aquecedor, etc.)
  8. Quando a placa do sensor estiver instalada, seu cabo de comunicação será conectado ao cabeçalho icsp na placa controladora.

Placa de sensor

Lista de materiais

  • Placa de circuito impresso do sensor (1)
  • Conjunto de sensores lineares AMS-Taos TSL1406R (1)
  • Atmel ATTINY45-20SU 8 pinos SOIC (1)
  • Resistor SMD de 133-150 ohms, 1206 (1)
  • Cabeçalho de pino blindado 2x3 (1)
  • 1 x 2 pinos de cabeçalho (1)
  • Fio de cobre sólido 28-30 AWG (para sensor TSL)
  • LED vermelho de 3 mm e cabo de conexão com alojamento de pino fêmea 1x2
  • Cabo de fita de seis condutores com 1 m de comprimento e invólucros com chave
  • Parafuso M2 x 12mm (2)
  • Arruela M2 (2)

Conjunto

O sensor tem almofadas e furos menores do que os pinos de encaixe típicos de 0,1" (2,54 mm). NÃO tente usar um pino de encaixe padrão e perfurar o sensor; eles custam US$ 30.

  1. Solde os componentes SMD na parte frontal da placa do sensor.
    Coloque os componentes SMD e reflua. Solde os pinos headers 2x3 e 1x2 na parte frontal da placa.
  2. Solde o conjunto linear na placa.
    Solde pequenos pedaços de fio de cobre na parte de trás da placa e solde o conjunto de sensores TSL1406R aos fios de cobre.
  3. Crie e atualize o firmware para o AVR do sensor ( aqui ).
  4. LED na cobertura.
    Instale o LED na cobertura com epóxi.
  5. Sensor na cobertura.
    Instale o sensor na cobertura impressa com dois parafusos M3 x 12 mm e arruelas. Conecte o LED ao conector de pino 1x2 e conecte o cabo de fita de 6 condutores ao conector de pino 2x3 coberto. Conecte a outra extremidade do cabo de fita no conector icsp na placa controladora.

Como calibrar a extrusora de filamento DC

Isso requer um sistema GNU/Linux e conhecimento avançado razoável de hardware e software. Em particular, você precisa saber como editar um programa, como compilar um programa para um microcontrolador AVR autônomo e como carregar esse programa para o microcontrolador. Esta página explica brevemente como fazer essas coisas, mas as explicações não são voltadas para iniciantes.

Visão geral das etapas

  1. Obtendo dependências
  2. Crie firmware de depuração.
  3. Carregue o firmware de depuração na placa do sensor.
  4. Carregue o firmware de monitoramento para um Arduino.
  5. Verifique a saída do sensor.
  6. Ajuste o firmware de depuração e repita até que a saída seja satisfatória.
  7. Carregue o firmware regular ajustado para a placa do sensor.
  8. Ajuste o firmware e repita até que a saída seja satisfatória.
  9. Carregue o firmware de produção na placa do sensor.
  10. Crie o firmware da placa principal e carregue-o na placa principal.

Como funcionam essas etapas

Aqui estão algumas informações sobre como essas etapas funcionam.

Obtendo dependências

Você precisará obter a biblioteca para seu display lcd e colocá-la nas bibliotecas em sua pasta de sketch book. Você precisará de bibliotecas Arduino do nosso GitHub e colocá-las em sua pasta de sketch book. Aqui está um link para bibliotecas Arduino [1] . A biblioteca para seu display pode precisar ser encadeada dependendo do que ela está fazendo.

Construindo firmware

O repositório do github contém todas as fontes no diretório do firmware. O firmware para a placa principal está em extruder, para o sensor está em sensor. O código em sensor-graph é para o Arduino de monitoramento que é usado para mostrar os dados medidos na tela.

Se todos os requisitos estiverem instalados, tudo poderá ser construído usando o comando make. (A instalação do pacote arduino-mk deve trazer tudo o que você precisa.) O código no extruder e no sensor-graph também deve ser compilável a partir da interface do usuário do Arduino, mas isso pode não funcionar.

Carregando firmware

O firmware é carregado usando ICSP. Usamos um Beaglebone que conecta quatro de seus pinos digitais e a energia de 3,3 V ao conector ICSP. Um arquivo de configuração avrdude é necessário para fazer isso funcionar. Além disso, a versão avrdude do Debian Jessie (e anteriores) tem um bug que a impede de funcionar. Isso foi corrigido no Stretch. Para um exemplo de como isso é feito, veja flash-bbb e avrdude.conf em https://github.com/mtu-most/franklin/tree/master/server/ .

Ao carregar o firmware, o conector ICSP na placa que está programada deve ser usado. Este é o cabeçalho blindado de 6 pinos. A chave do cabeçalho está sempre na lateral da energia.

Estamos usando uma conexão USB para conectar ao osso do beagle, então se você não estiver usando uma conexão USB, esses comandos não funcionarão. Você precisa mover o firmware do computador para o osso do beagle com o comando " scp build-uno/extruder.hex debian@192.168.7.2: " e do osso do beagle para a máquina com " sudo avrdude -C +avrdude.conf -c bbbmelzi -p atmega328p -U lfuse:w:0xe2:m ". Este comando não será executado se você não tiver isso [2] do repositório franklin. Você pode colocá-lo no osso do beagle com este comando " scp avrdude.conf debian@192.168.7.2: ".

Executando o programa monitor

Para isso, o computador precisa tero python-websocketd instalado (o que requer python-network e python-fhs do mesmo lugar). O firmware deve ser instalado em um arduino, e um cabo deve conectar todos os pinos entre o header ICSP no Arduino e o header ISCP na placa do sensor. O Arduino não tem um header blindado; a chave deve estar do lado de fora da placa. Em caso de dúvida, meça quais pinos têm 5 V neles.

O script do servidor precisa obter os dados seriais do Arduino em sua entrada padrão. Isso significa que a porta precisa primeiro ser configurada e, então, deve ser fornecida ao servidor:

Em seguida, use um navegador para acessar http://localhost:4567/ . Você deverá ver um gráfico da medição do sensor.

Executando o programa espião

Para o segundo passo, a saída do firmware regular deve ser monitorada. Isso é feito com o programa sensor-spy. Ele é carregado em um Arduino similar ao programa sensor-graph, e ele emite o último valor recebido do sensor para a porta serial.

Para usá-lo, basta visualizar a saída da porta serial com:

Ao mover um pedaço de filamento através do sensor, seu valor deve mudar.

O que mudar

O firmware do sensor tem duas configurações definidas perto do topo que precisam ser alteradas dependendo da sua construção. Elas são chamadas de SKIP e DELAY. A saída do sensor deve ser aproximadamente horizontal. Na maioria dos sensores, é, mas perto das bordas, cai para zero. Por causa disso, as bordas não são usadas. SKIP define quantos pixels são pulados em ambos os lados. Observe que o número total de pixels é 768 e mede cada 2^EACHBITS pixels, então se você vir algo acontecer no pixel 20 e EACHBITS for 5, é realmente pixel 20*32=640.

Para monitoramento, você pode querer diminuir EACHBITS. Note que o número total de pixels medidos não pode ser maior que 255.

DELAY é o tempo de integração, em unidades arbitrárias. Defina isso para que o sinal seja o mais alto possível, mas não exponha demais.

O pixel mais baixo é usado como a posição da sombra. Mas se seu valor for maior que VALID_LIMIT, ele é descartado e nenhuma medição é enviada para a placa principal. Então, certifique-se de que ele esteja acima desse valor normalmente, e a sombra o leva abaixo desse valor.

Quando isso for feito, o firmware normal deve ser carregado. Mas inicialmente, isso é feito com uma mudança: a linha que define SEND_MAX deve ser descomentada. Isso faz com que o sensor envie o valor máximo de cada medição em vez da posição da sombra. O programa sensor-spy deve ser usado para verificar se DELAY é bom e, se não for, deve ser ajustado.

Uma vez que esteja bom, a linha SEND_MAX deve ser comentada novamente e a versão final do firmware deve ser carregada. O sensor-spy pode ser usado novamente para verificar se tudo funciona bem.

firmware scp.hex debian@athena-11.local:

fazer fazer MONITOR_PORT=/dev/ttyACM0 BOARD_TAG=mega2560 carregar sudo avrdude -C +avrdude.conf -c bbbmelzi -p attiny25 -U flash:w:firmware.hex:i stty -F /dev/ttyACM0 115200 bruto

Ícone de informação FA.svgÍcone de ângulo para baixo.svgDados da página
AutoresBas Wijnen , Jerry Anzalone
LicençaCC-BY-SA-3.0
LinguagemInglês (en)
TraduçõesEspanhol , Hebraico
Relacionado2 subpáginas , 13 páginas link aqui
Impacto713 visualizações de página ( mais )
Criado21 de abril de 2016 por Joshua M. Pearce
Última modificação14 de julho de 2023 por Felipe Schenone
Cookies help us deliver our services. By using our services, you agree to our use of cookies.