First, we printed a calibration cube, and we identified that there appeared to be inconsistent layer heights, and after verifying the Z screws were moving freely and without a problem, we the first weakness of our printer, the fluctuating temperatures, so we used the PID tuning feature of Klipper (see Pranav, 2022) to solve this issue.
Fig. 1 Bed temperature fluctuations (blue) |
PID controller stands for Proportional Integral Derivative Controller and in our case, it’s a digital temperature controller application, and its job is to take and maintain a steady state for a particular function (Microcontrollerslab, n.d.). It’s a closed-loop feedback system that continuously measures the error in your system and tries to correct it (Microcontrollerslab, n.d.). An error like the one seen in Fig. 1, where the temperatures fluctuate above and below the target.
Fig. 2 Klipper PID tuning routine |
After running the PID_CALIBRATE
HEATER=heater_bed TARGET=60 and
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=210 commands in the console, as 210°C for the extruder and 60°C for the bed are the temperatures we’re usually printing at, the software runs a heat cycle routine (seen in Fig. 2) for the heated bed and the extruder that will generate the PID values and correct the fluctuations seen before while trying to hold a steady temperature (Klipper 3D Printer Firmware, n.d., b).
After saving the generated values by the commands in the configuration of the printer, we tested to see if it held a steady temperature, and it did. As that wasn’t enough proof we printed another calibration cube after the changes to see if there is any visible quality improvement.
Fig. 3 Cube before PID (left) next to cube after PID tuning (right) |
The tuning has completely removed the horizontal rings that appeared on the cube on the left, as shown in Fig. 3, but this enabled another printing error to be more visible. The repeated horizontal patterns and lines are known as ringing or ghosting. That 3D printing quality issue results from vibration in layers, too high of a printing speed, high acceleration, or a displacement in the printing area (Klipper 3D Printer Firmware, n.d., e). …
Considering the importance of the information that AllDay needs in order to fulfill its goal, the website’s database requires a number of layers of protection, resulting in the exploration and development of the cybersecurity field.
First of all, as any service that uses user authentication, it is imperative that the means in which the data transferred and stored are safe. To provide safe navigation from the session to the database the code uses JWT (JSON Web Token), which assures the database that the connection is safe, acting as a session token and a way of mapping every request. Storing passwords directly into the database can be a big security risk, which is why the back-end uses encryption before storing, so even if someone can access the information in the database, they can not exploit it. Because any risks have to be eliminated, the IP addresses are stored in the same way.
Second of all, a more complex and scientifically intriguing manner of using cybersecurity at its fullest is the way in which the algorithm acquires users’ IPs. Because of high-risk security reasons, websites can not get information about the device that is using them, so other ways had to be found to communicate with the user. For example, making a low-level session between the server and the device (by hosting a page from the website locally) can get the information needed. Of course, before taking any form of action, the users will be notified.
This shows the paths that should be followed in order to ensure the cybersecurity of this website (with tokens and encryptions), as well as some ways of displaying the capabilities of this field, by developing unique methods of communication.
…