Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.
Markus Glavind edited this page May 23, 2023 · 6 revisions

Welcome to the handheld-scanner wiki!

Goal

To scan, identify and sort plastics, to make the world a better place one piece at a time.

The developed product is an affordable handheld plastic scanner, capable of gathering and processing the data necessary to identify a polymer type. This enables users to easily identify and sort plastic waste. It includes three main physical artefacts and an accompanying firmware package. The physical shape is a shell design consisting of two pieces for easy manufacturing and assembly, while including ingress protection. The shape is designed and tested to ensure both comfort and functionality. The electric functionality is driven by two separate modular PCBs: one for collecting data (called the scanner PCB) and one for computation and controlling the hardware (called the controller PCB).

Current status

The master thesis project was defended and finalised in March 2023 by Markus Glavind and Gustav Brandt Gregersen. The project has been handed over to the PlasticScanner organisation, and is now driven by the organisation.

Features

Scanner PCB

The idea of a dedicated scanner PCB is to have a small PCB, containing the IR LEDs, the InGaAs sensor, an Analogue to Digital Converter (ADC) for reading measurements, and a connector to communicate with a controller. Reducing the form factor would give the physical design greater freedom in placing the scan PCB within the scan head. Furthermore, the existing design used different protocols for the ADC, screen and LED driver, which was causing problems with the amount of physical pins needed, and several smaller design flaws which the new compact modular design aim to solve. The original LED and sensor setup was kept, to align the data output with the existing scanners and build on a verified configuration. The choices of the surrounding components were reevaluated. Furthermore, there had been discussions in the PlasticScanner OS community of a colour sensor that could help enhance the scan results by adjusting for the colour of the material, and a colour sensor was therefore implemented as a test.

How does it work?

The method of NIR spectroscopy used in the project, is based on measurements of the relative light intensity from a material caused by molecular overtones and vibrations of the material when exposed to electromagnetic radiation with a wavelength of 780 nm to 2500 nm. The typical molar absorbance is significantly weaker within the NIR spectrum than in the Midrange infrared (MIR) spectrum from 2500–25.000nm [34]. On figure 2.5, a full NIR spectrum scan is displayed with the specific wavelengths used by the PlasticScanner highlighted. These wavelengths are selected based on a combination of specific polymer reflectance at certain wavelengths, general availability of LEDs with the wavelengths, established wavelength ratios and to cover a wide area of NIR. The PlasticScanner concept uses relative reflectance, i.e. the ratio between absolute reflectance of two wavelengths measurements of the same environment, to estimate the material. This is based on Beer-Lamberts law.

Beer-Lambert Law

When light passes through an absorbing material, the intensity of the light emerging from the absorbing material is reduced. The incoming light intensity of monochromatic radiation is $I_0$ and the emitted radiation is $I$. If the material is absorbing the radiation $I_0 > I$ The transmittance ($T$) of a material exposed to a specific radiation, is described by the fraction of the original light emitted by the material [35]:

$$ T = \frac{I}{I_0} $$

$T$ remains relatively constant even if $I_0$ changes, because the emitted radiation is $I$ will increase relatively proportional to $I_0$. Therefore, the transmittance is independent of the actual intensity of the incoming radiation $I_0$, but rather a material constant that can be measured from the ratio of the input and output [35]. The absorbance of a material is the opposite of transmittance, and is described by[35]:

$$ A= log \frac{I_0}{I} = \frac{1}{T} = -log(T) $$

The Beer-Lambert Law describes the absolute absorbance of a material A is directly dependent on sample thickness $b$, the absorptivity $a$ and the concentration of the absorbent $c$, expressed as: [35]

$$ A = a * b * c $$

Beer’s law shows that there is a linear relationship between absolute absorbance of a material A, the absorptivity a and the concentration of the absorbent c, if the thickness and radiation wavelength is constant. Furthermore, by using the relative absorbance between measurements, the transmission through a finite thickness of particulate material does not formally represent reflectance due to extinction, as a result of both transmission and reflection being as a function of the thickness [35], [36]. This enables the scanner to use the relative transmittance to identify polymers based on the material specific molar extinction a and the concentration of the absorbent [37], [38].

Related work

In 1995 D.M. Scott proposed a technique for distinguishing PET from PVC, by that PET may be distinguished from PVC due to the first overtone of C-H stretching. This makes it possible to distinguish the materials based on the ratio of reflectance at 1716 nm to that at 1660 nm [39]. In the same way, M.K. ALAM proposed that it was possible to use a few strategically chosen wavelengths in combination with neural networks, to successfully identify polymer resins, without the need for the whole spectrum, enabling identification through multivariate instead of the more costly hypervariate spectroscopy [40], and similar results have been obtained by a research team led by D. Wienke [41]. Masoumi et.al. further proved that it is possible to identify the five most common types of plastic, based on spectroscopy in combination with machine learning, and normalisation and data processing via Beer-Lambert law. While the team obtained a success rate of 90%, using NIR, the use of NIR which means that it is not possible to scan transparent and black plastics since the material absorbs all or nothing [42].

How do i make it myself?

  • Be interested in solving the plastic problem
  • Get familiar with the documentation
  • Order the PCB and components
  • Order the screen, and o-rings from other sources
  • 3D print the enclosure
  • Put firmware on microcontroller
  • Follow the assembly instructions
  • Calibrate the scanner (no manual yet)
  • Go scan plastic, and make the world a better place 🎉

Sourcing

Electronics

The schematics of the scanner and controller PCB is published on this GitHub repo. The required files are located in the “Hardware” folder, where design files, libraries and bill of materials for both the controller board and scanner PCB can be found. The designs are created in KiCad and it is recommended to use this for viewing and editing the files. the full list of components needed for assembly of an PCB can be found under hardware/documentation/ibom.html. For easy ordering, we have created a Digikey List aswell for both controller and scanner:

Scanner PCB list Controller PCB list

We are working on getting a large batch manufactured for reselling, to lower the cost of one PCB - so stay updated!

Firmware

The firmware created for controlling the scanner is found in the folder called “Firmware”. Again, the main program is included with accompanying custom libraries. The remaining libraries required are downloaded through the built-in library manager in either Platform.io or Arduino IDE.

Physical shell CAD model

The full physical design is available in the CAD folder on GitHub. The CAD folder contains the shell designed in SolidWorks for the handheld scanner, as well as a complete assembly with 3D files for all components used in the handheld scanner. STL files for both parts of the shell are available for easy 3D-printing.

Assembly

The whole assembly uses 12 6x2.2mm screw in total. The assembly order is done in main steps. One for the top assembly, one for the bottom assembly and lastly a joining of the two subassemblies.

A: Top shell assembly

Place controller PCB in place.

  1. 3x screws for controller fastening
  2. Insert and fasten Push button
  3. Place Screen o-ring
  4. place Screen module
  5. 4xScrew to fasten screen module
  6. Connect screen to main board

B: Bottom Shell assembly Place scanner PCB

  1. 2x screws to fasten scanner PCB
  2. Place scanner glass after removing ad- hesive protector
  3. Place o-ring string in groove

C: Full assembly

Align bottom and top shell assemblies

  1. Snap parts in place
  2. 3x screws for fastening

Based on the teams experience from tests on prototypes, a full assembly and test if everything is placed correct takes less than 5 minutes. Figure 3.42 shows an exploded view of the assembly, with lines for illus- trating the line of assembly.

Manual for use

How do i contribute?

Join the discord or contribute here

What are the alternatives?

So far? A ThermoFischer Scientific scanner with a pricetag of roughly €30.000. Our solution? Probably €200 if you make it yourself

Acknowledgements