Detecção de Travamento ou Entupimento de Filamento

From RepRap
Revision as of 12:02, 21 September 2016 by RafaelEstevam (talk | contribs)
Jump to: navigation, search


[Ainda estou traduzindo...]

A intenção este documento é mostrar uma das forma de detectar travamento e fim de filamento e inclui algumas variações. O método foi desenvolvido para ter baixo custo e interferir o mínimo possível no funcionamento atual da impressora.

O método de detecção utiliza informação sobre o filamento e é independente do sistema extrusor e consegue detectar entre outras coisas: Travamento, entupimento, patinação no extrudor, perda de passos, nós no carretel e outras coisas que façam o filamento parar de se mover.

O sistema básico de detecção lê o movimento do filamento por contato e pequena fricção usando uma roda para movimentar um encoder. Se por qualquer motivo o filamento parar de se mover o sistema perceberá pois o encoder também vai parar e então o firmware pode tomar algumas atitudes.

Como a intenção é manter os custos baixos e interferir o mínimo possível no funcionamento atual da máquina o sistema de detecção é modular e independente, mesmo sendo possível integrar ao carro do extrusor para otimizar espaço.

Vou separar em três partes: Detecção Mecânica do Movimento, Leitura do Movimento e Interpretação das Leituras pelo Firmware.

Detecção Mecânica do Movimento

Mechanical detection uses some friction with the filament to detect its movement. This friction must be as low as possible to do not require more torque from the extrusion mechanism and do not change any other characteristics of the actual build of the printer.

The core function is based on a friction wheel using teeths or some plastic/rubber material which will be forced to move with the filament. This movement is transferred to an encoder wheel with or without a gear system and then read using either an optical or mechanical endstop. Also, any system which can read movement of an encoder wheel can be used.

IMAGE 01 Image 1 - Illustration of one possible approach

In above example I used an gear touching the filament in same way many extruders work and using a bearing to keep the correct pressure and then read the gear movement using an optical endstop which trigger with each gear teeth passing by it.

There are many other possible approaches such as but not limited to use a rubber or other similar material to move the wheel along with the filament and/or use gears to translate the wheel move to an encoder or yet use other methods as mechanical endstop to trigger the encoder movement.

Fazendo a Leitura do Movimento

The second part is to use the mechanical data to get some electrical signal to the firmware. This can be achieved either using an optical detector, mechanical detector or electric effect sensor, such as hall effect or electrical resistance (potentiometer/trimpot) attached to the wheel, which trigger an electrical signal to the control board.

See below various ways of detect:

  • Use an optical endstop to read the gears or the encoder wheel;
  • Use an mechanical endstop to read the gears or de encoder wheel;
  • Use hall effect sensor to detect the movement of the gear or wheel by sensing electrical current change in detriment of the wheel movement or position;
  • Use electrical voltage variation to detect the actual position or movement of the wheel (as much like some servo motors work)
  • Use position variant readers to detect physical linear position (see image 2)

IMAGE 02 Image 2 - Example of use of linear position detection

After the movement have been detect this signal must be send to the control board or its movement control section/chip/controller. This board or section will be called as “board” in the rest of this document to keep it simple to read.

Interpretação das Leituras pelo Firmware

After the signal arrives the control board the firmware must manipulate this data despite of the format of the signal, which can be either digital or analogic.

In firmware there are two possible ways to track the position. The easy way is simple compare the movement of the extruder axis with the feedback and check if they are reasonably compatible but not necessary identical. Other way is count each step of the input format and keep precise feedback control. At this point all above problems can be detected and actions be taken. Despite of different nature of all above mention problems not necessary all them are distinguishable and the firmware must consider this fact.

The first and immediate problem that can be detected is the filament stop, which can be either the end of filament, the extruder jamming, the extruder slipping or knot in the spool. This cases the print can be paused and the user can fix the problem avoiding the loss of what has been printed so far. A second problem is the extruder motor skipping steps. In that case, the precise read of the position can be used to compensate this and temporarily fix the problem and avoid the lose of what was already print. Each firmware “has” to be studied to avail the possibility of this implementation as long as its requirements and necessary considerations.

Trabalho a ser feito

Eu ainda não enviei as imagens, então por hora as manterei em outro lugar, você também as pode ver no documento original que está no link a baixo.

Sobre este documento

Este documento está licenciado duplamente sobre a licença Creative Commons de Atribuição para RafaelEstevam e foi escrito pela primeira vez em Setembro de 2016 por RafaelEstevam. A versão original pode ser encontrada neste link: [1]