Skip to content

Commit 614f99c

Browse files
committed
added lasercut info
1 parent db21551 commit 614f99c

File tree

12 files changed

+310
-13
lines changed

12 files changed

+310
-13
lines changed

docs/boards/HS_laser.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Lasercut version
2+
3+
4+
The goal of this development board is to make it easy to test and debug different situations.
5+
This board is not optimised for size or functionality, but for easy of use for development.
6+
7+
<img src="/img/handheldscanner/lasercut_main.jpg" alt="development board 2.3" width="200"/>
8+
9+
First handheld lasercut version in development
10+
11+
| Item | Description|
12+
| ----------- | ----------- |
13+
| 🌈 Codename | Cyan |
14+
| 📆 Release date| February 2024 |
15+
| 🦄 People | Jerry de Vos |
16+
| 🔗 Source files | Can be found [here](https://github.com/Plastic-Scanner/DB2.x-Hardware/releases/tag/v2.3) |
17+
| ⌚ Development time | 6 months |
18+
| 🎉 The Good | - All in one solution <br></br>|
19+
| 👹 The Bad | - Based on "old" development board |
20+
21+
## 3D print
22+
### Top
23+
### Bottom
24+
### Sleeve
25+
26+
## PCB
27+
### Schematics
28+
<div>
29+
<div>
30+
<embed src="https://drive.google.com/viewerng/viewer?embedded=true&url=https://github.com/Plastic-Scanner/DB2.x-Hardware/raw/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20Schematic.pdf" width="100%" height="600px"></embed>
31+
</div>
32+
</div>
33+
34+
[Download PDF](https://github.com/Plastic-Scanner/DB2.x-Hardware/blob/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20Schematic.pdf)
35+
36+
37+
### Pinout
38+
<img src="https://raw.githubusercontent.com/Plastic-Scanner/DB2.x-Hardware/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20Pinout.svg" alt="pinout" width="100%"/>
39+
40+
[Download PDF](https://github.com/Plastic-Scanner/DB2.x-Hardware/blob/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20Pinout.pdf)
41+
42+
43+
### Bill of Materials
44+
<div>
45+
<div>
46+
<iframe width="100%" height="800px" src="https://htmlpreview.github.io/?https://github.com/Plastic-Scanner/DB2.x-Hardware/blob/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20interactive%20BOM.html" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
47+
</div>
48+
</div>
49+
50+
51+
[Download CSV](https://github.com/Plastic-Scanner/DB2.x-Hardware/blob/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20BOM.csv)
52+
[Open in new tab](https://htmlpreview.github.io/?https://github.com/Plastic-Scanner/DB2.x-Hardware/blob/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/PCB/PCB%20interactive%20BOM.html)
53+
54+
55+
### Technical drawing
56+
<div>
57+
<div>
58+
<embed src="https://drive.google.com/viewerng/viewer?embedded=true&url=https://github.com/Plastic-Scanner/DB2.x-Hardware/raw/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/CAD/PCB%20Technical%20Drawing.pdf" width="100%" height="600px"></embed>
59+
</div>
60+
</div>
61+
62+
[Download PDF](https://github.com/Plastic-Scanner/DB2.x-Hardware/blob/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/CAD/PCB%20Technical%20Drawing.pdf)
63+
64+
65+
### PCB renders
66+
<div style={{textAlign: 'center'}}>
67+
<img alt="Front View" src="https://raw.githubusercontent.com/Plastic-Scanner/DB2.x-Hardware/99f2dc68cb89160b4caa13e6ed7a91d153f14f7c/Media/PCB%20KiCad.svg" width="100%"/>
68+
</div>

docs/boards/HS_laser_build.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Build instructions
2+
3+
## Before you begin
4+
5+
Please know the current status of the project.
6+
Currently we are working hard to make new developments for the Plastic Scanner.
7+
The first item we are releasing is a development board, this needs to be taken quite literally, it is for developing purpose. With this board you can help develop the Plastic Scanner further and do tests to see if it fits your usecase.
8+
9+
### Tools required
10+
<!-- <div style={{textAlign: 'center'}}>
11+
<img alt="" src="/img/tools/flush_pliers.jpg" width="130px"/>
12+
<img alt="" src="/img/tools/forceps.jpg" width="130px"/>
13+
<img alt="" src="/img/tools/screwdriver.jpg" width="130px"/>
14+
<img alt="" src="/img/tools/solder.jpg" width="130px"/>
15+
<img alt="" src="/img/tools/copper_wick.jpg" width="130px"/>
16+
<img alt="" src="/img/tools/solder_iron.jpg" width="130px"/>
17+
<img alt="" src="/img/tools/usb_microscope.jpg" width="130px"/>
18+
</div> -->
19+
In order to replicate the development board you need the following tools:
20+
21+
* Flush cutters
22+
* Forceps
23+
* Screwdriver
24+
* Solder
25+
* Patients
26+
* Copper wick
27+
* Good eyes or a cheap usb microscope.
28+
* Themperature controlled soldering iron
29+
* 3D printer
30+
* flux (optional)
31+
<div style={{textAlign: 'center'}}>
32+
<img alt="" src="/img/tools/tools.gif" width="400px"/>
33+
</div>
34+
35+
36+
### Material required
37+
In order to replicate the development board you need the following materials:
38+
39+
* The PCB
40+
* PCB Components
41+
* 3D printed parts
42+
* Microcontroller
43+
* Push button
44+
* Battery
45+
* On/Off switch
46+
* Screen
47+
48+
49+
## PCB Assembly
50+
51+
This pages walks you through all the soldering and testing of the PCB.
52+
All components can be soldered with a reflow oven or hot air station, but with some patience you can also solder it by hand.
53+
The board consist of 0805 SMD components which are rather easy to solder by hand. the chips can be a bit more difficult to solder but with some solder and solderwick you will manage.
54+
55+
The board will be soldered in 4 area's after soldering each area you can test to see if the board gives the desired results.
56+
57+
<!--
58+
59+
### Area 1 - Power
60+
61+
<div style={{textAlign: 'center'}}>
62+
<img alt="" src="/img/developmentboards/2.1/board_front_power-01.jpg" width="400px"/>
63+
</div>
64+
65+
We start by soldering the power components, once this area is complete we can measure the voltages to check if they are correct.
66+
67+
1. Solder C11, C12, C13, C14, C15, C16 in place
68+
2. Solder FB1, U3, U4, R20, R17 and D3 in place
69+
3. Solder U3, U4 in place
70+
71+
<!-- your board should now look something like this: -->
72+
73+
Supply 5 volts and ground to the 5v pin and the ground pin where the Arduino Uno will be placed. The LED's in the lower right corner should now light up. You can measure if they have the correct voltages by measuring on the test pads for 2.5v, 3.3v and 5.0v.
74+
If all is correct you can proceed to the second area!
75+
76+
### Area 2 - ADC
77+
78+
<div style={{textAlign: 'center'}}>
79+
<img alt="" src="/img/developmentboards/2.1/board_front_adc-01.jpg" width="400px"/>
80+
</div>
81+
82+
We continue by soldering the ADC related components in place.
83+
84+
1. Solder the ADC in place (personally I use the copper wick method)
85+
2. Make sure all connections are properly soldered and there are no bridges (I check with a cheap usb microscope)
86+
3. Solder R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,15,R21,R22,R23,R24 in place
87+
4. Solder C6,C7,C8,C9,C10,Y1 in place
88+
5. Solder the pinheaders for the arduino in place
89+
6. Place the Arduino Uno upside down on the headers with the USB port facing the left side
90+
91+
<!-- your board should now look something like this: -->
92+
93+
Once you have reaced this stage you are very well on your way! It is now time to see if all connections are good and if the Arduino Uno can communicate to the ADC. Upload the **selftest.ino(fix this)** file onto the arduino and open the serial monitor for see the responce.
94+
if the response says: **All good!** that you are ready for the next step!
95+
96+
### Area 3 - Analog frontend
97+
98+
<div style={{textAlign: 'center'}}>
99+
<img alt="" src="/img/developmentboards/2.1/board_front_analog-01.jpg" width="400px"/>
100+
</div>
101+
102+
The next step is being able to measure infrared light. The analog frontend converts infrared light into a voltage source so that it is possible to measure small changes.
103+
104+
1. Solder the U1 in place
105+
2. Make sure all connections are soldered and there are no bridges
106+
3. solder R1,R2,R3,R4 in place
107+
4. Solcer C1,C2,C3,C4,C5 in place
108+
5. Solder the InGaAs photodiode in place (with the green notch facing left)
109+
110+
<!-- your board should now look something like this: -->
111+
112+
If all is correct you now have a very sensitive infrared brightness meter. To check if it is working you can upload the **irtest.ino(fix this)** and use a TV remote and see the responsitivity on the serial plotter!
113+
114+
### Area 4 - LEDs
115+
116+
<div style={{textAlign: 'center'}}>
117+
<img alt="" src="/img/developmentboards/2.1/board_front_led-01.jpg" width="400px"/>
118+
</div>
119+
120+
The second to last step in the process is the most expensive part, we want to make sure the PCB is good before we continue with this section.
121+
122+
1. Solder U5 in place
123+
2. Make sure all connections are soldered and there are no bridges
124+
3. Solder C17,R25,R26,R27,R28,R29,R30,R31,R32 in place
125+
4. Solder D4 to D11 in place, these are the specific wavelength LEDs, start with the lowest value at D1 (850nm) all the way to the highest value at D8 (1650nm), Make sure to LED is nice and flat on the PCB and only solder for 3 seconds before cooling down the PCB again.
126+
127+
128+
This was the most nerve racking part, but all should be smooth sailing from here.
129+
130+
<!-- your board should now look something like this: -->
131+
132+
### Area 5 - IO
133+
134+
<div style={{textAlign: 'center'}}>
135+
<img alt="" src="/img/developmentboards/2.1/board_front_io-01.jpg" width="400px"/>
136+
</div>
137+
From here it is just a final stretch home, the last things to solder up are the input and outputs, it gives you a button to start the scan, a connect for i2c, and a programmable LED!
138+
139+
1. Solder the switches, SW1 and SW2 in place
140+
2. Solder R16,R18,R19 and D2 in place
141+
3. Solder J1, J2 and J3 to the board.
142+
143+
144+
That is it! You just soldered the whole development board by yourself! Great job! -->
145+
146+
## 3D print
147+
### orientation
148+
### finishing
149+
150+
## Assembly
151+
### electrical connections
152+
### mechanical connections
153+
154+

docs/boards/HS_laser_firmware.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: Firmware installation
3+
---
4+
5+
## Requirements
6+
7+
Firmware runs on DB2.x (tested on DB2.1), powered by Arduino.
8+
Requires **PlatformIO**, a cross-platform embedded development toolset. See installation instructions [here ](https://platformio.org/install/)it can be as easy as one-click-plugin-installation (PlatformIO IDE).
9+
10+
In order to build and upload the firmware to DB2.x, connect the board to computer and find the *Build* and *Upload* buttons in the PlatformIO IDE OR use the following commands:
11+
12+
```
13+
$ pio run -t upload # build and upload fw image
14+
```
15+
16+
The compiled firmware image is placed in `.pio/build/<board>/firmware.hex`.
17+
Compilation options can be tweaked in *platformio.ini* file (see [build options](https://docs.platformio.org/en/latest/projectconf/section_env_build.html)).
18+
19+
## Different IC's
20+
There are differenet branches in the Github repository for different IC's. For the LED driver there is a branch for the TLC59209 and one for the PCA9551.
21+
22+
## Usage
23+
24+
Connect your DB2.x to your computer, build and flash the firmware and open the serial console with `$ pio device monitor` or your favourite app (e.g Putty, screen, minicom, picocom...). Enable local echo in order to see commands you're typing by adding `--echo` to command above, or pressing CTRL+T followed by CTRL+E while running it.
25+
26+
27+
## Development
28+
Feedback on architecture and implementation is welcome. Firmware currently controls an Arduino, which "talks" to an ADC chip and a LED driver, communicating via the serial interface. In directory `app` are the main sources, `test` is for unit tests (which needs much more love and actual tests), `drivers` contains custom drivers for componments on board.
29+
30+
## Contributing
31+
Feel free to improve, modify and contribute to this project. You can find the lastest open source code here [Github Repo](https://github.com/Plastic-Scanner/DB2.x-Firmware/).

docs/boards/HS_laser_software.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Scanner Usage
3+
---
4+
If you want the plastic scanner to identify material for you, it needs to know what measurements corrospond to which material. This is done by taking a measurement of a known material and then taking measurements of unknown materials. The software will then compare the measurements and try to find the best match. In practice the workflow looks something like this:
5+
First scan plastic of known types, Upload these scans and train a machine learning model on these scans, upload the trained model to the scanner, scan plastic of unknown types, identify plastic!
6+
The goal is to make a general model that can be distributed to other plastic scanners. this would make step 1 and 2 redundant for the end user.
7+
8+
### Step 1: Scan plastic of known types
9+
The firmware has a feature to enter the collection mode. To enter this mode press and hold the button for longer than 1 second when the scanner is turned on and asks to press the button for calibration. In this collection mode known samples of plastic are scanned and the data is uploaded to google sheets. This data is then used to train the machine learning model.
10+
### Step 2: Train machine learning model on these scans
11+
In this Google Colab [file](https://colab.research.google.com/drive/1wfOuVHbrcoFD7YLNErialoZrMzzZKGtq#scrollTo=7Yi6WbVLPnDz) we import the scans from the google sheets and train a machine learning model. This model is then saved to the computer
12+
### Step 3: Upload model to scanner
13+
The model is a .h header file and can be included in the original firmware and thus can be uploaded to the scanner using PlatformIO.
14+
### Step 4: Scan plastic of unknown types
15+
The scanner is now ready to scan plastic of unknown types. When the scanner is turned on it will ask to calibrate, and buttonpress shorter than 1 second puts it in the scanning mode.The scanner will take a measurement and compare it to the model. It will then output the most likely type of plastic. This will be done continously until the button is pressed for longer than 1 second.
16+
### Step 5: Identify plastic!
17+
The scanner will output the most likely type of plastic. This is not always correct, but it is a good indication. If your situation asks for other plastics you can follow steps 1 and 2 to build your own model. Note: this is only tested with lasercut plastic types, so no guarentees for other types of plastic.

docs/research.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ Dylan had a look at the analog frontend of the development board 2.1. The setup
5555
Original file: [link](/files/GraduationThesis_QRijke_PlasticScanner.pdf)
5656
Queena worked on the Characterisation of the LEDs and InGaAs detector of the handheld plastic scanner as her applied physics thesis. She did a lot of measurements on the LEDs and the InGaAs detector of the development board 2.1., as well as made the comparisment to industry standard spectroscopes.
5757

58+
---
59+
## Thesis Kyle - December 2023
60+
61+
To be added
62+
5863
---
5964
## Data analysis Hendrik - April 2023 (ongoing)
6065
Hendrik (dataworm on discord) is contantly looking for the best methods to analyse and interprete the measurements coming from the plastic scanner.

docs/revision_history.md

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,25 @@ title: Revision history
55
This page is made to show which previous versions have been made. It gives you an idea where we came from, what we changed and what worked and what didn't.
66
Entries are listed from new to old.
77

8+
## Hand Scanner - Lasercut edition
9+
10+
<img src="/img/handheldscanner/lasercut_main.jpg" alt="development board 2.3" width="200"/>
11+
12+
First handheld lasercut version in development
13+
14+
| Item | Description|
15+
| ----------- | ----------- |
16+
| 🌈 Codename | Cyan |
17+
| 📆 Release date| February 2024 |
18+
| 🦄 People | Jerry de Vos |
19+
| 🔗 Source files | Can be found [here](https://github.com/Plastic-Scanner/DB2.x-Hardware/releases/tag/v2.3) |
20+
| ⌚ Development time | 6 months |
21+
| 🎉 The Good | - All in one solution <br></br>|
22+
| 👹 The Bad | - Based on "old" development board |
23+
24+
[Schematics, pinout, Bill of Material, Technical drawing](boards/HS_laser)
25+
[Build instructions](boards/HS_laser_build)
26+
827
## Development board 2.3 (DB2.3)
928

1029
<img src="/img/developmentboards/developmentboard2.3.jpg" alt="development board 2.3" width="200"/>
@@ -21,8 +40,8 @@ PCB with IC's that are actually in stock!
2140
| 🎉 The Good | - seperate sensor part <br></br>- Mounts for Daugther board <br></br>|
2241
| 👹 The Bad | - Board requires a computer to work |
2342

24-
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.3.md)
25-
[Build instructions](boards/DB2.3_build.md)
43+
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.3)
44+
[Build instructions](boards/DB2.3_build)
2645

2746
## Development board 2.2 (DB2.2)
2847

@@ -40,8 +59,8 @@ PCB with IC's that are actually in stock!
4059
| 🎉 The Good | - New ADC <br></br>- Mounts for Daugther board <br></br>|
4160
| 👹 The Bad | - Board requires a computer to work |
4261

43-
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.2.md)
44-
[Build instructions](boards/DB2.2_build.md)
62+
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.2)
63+
[Build instructions](boards/DB2.2_build)
4564

4665
## Development board 2.1 (DB2.1)
4766

@@ -59,8 +78,8 @@ Well documented, easy to contribute PCB, ready for tests and improvements!
5978
| 🎉 The Good | - KiCad documentation <br></br>- Mounts for LED test <br></br>|
6079
| 👹 The Bad | - Board requires a computer to work <br></br> - Components not available anymore|
6180

62-
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.1.md)
63-
[Build instructions](boards/DB2.1_build.md)
81+
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.1)
82+
[Build instructions](boards/DB2.1_build)
6483

6584
## Development board 2.0 (DB2.0)
6685

@@ -78,8 +97,8 @@ Proper version of the breakout board, with Arduino!
7897
| 🎉 The Good | - Good debugging, like the logic analyzer actually plugs directly in <br></br>- Proper schematics |
7998
| 👹 The Bad | - Marking on the PCB can be better <br></br>- Board required a computer to work |
8099

81-
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.0.md)
82-
[Build instructions](boards/DB2.0_build.md)
100+
[Schematics, pinout, Bill of Material, Technical drawing](boards/DB2.0)
101+
[Build instructions](boards/DB2.0_build)
83102

84103

85104

sidebars.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
3838
slug: '/DB2.3_overview',
3939
// id: 'boards/DB2.2'
4040
},
41-
collapsed: false,
41+
collapsed: true,
4242
//collapsible: false,
4343
items: [
4444
'boards/DB2.3',
@@ -49,18 +49,21 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
4949
},
5050
{
5151
type: 'category',
52-
label: 'Handheld scanner',
52+
label: 'Handheld Scanner',
5353
link: {
5454
type: 'generated-index',
5555
title: 'Handheld Scanner',
56-
description: 'To be added in the future!',
56+
description: 'First lasercut version in development!',
5757
slug: '/HS_overview',
5858
// id: 'boards/DB2.2'
5959
},
60-
collapsed: true,
60+
collapsed: false,
6161
//collapsible: false,
6262
items: [
63-
'boards/HS',
63+
'boards/HS_laser',
64+
'boards/HS_laser_build',
65+
'boards/HS_laser_firmware',
66+
'boards/HS_laser_software',
6467
// 'boards/HS_build',
6568
// 'boards/HS_firmware',
6669
// 'boards/HS_software'
335 KB
Loading
345 KB
Loading
312 KB
Loading

0 commit comments

Comments
 (0)