From a1f44e41de17cd5e63e5e7204e5c864e08f6f9c3 Mon Sep 17 00:00:00 2001 From: notes Date: Tue, 9 May 2023 10:35:31 +0000 Subject: [PATCH] Snapshot --- Media/index.md | 9 ++---- Notes/index.md | 2 +- Resources/index.md | 5 +++- .../Proportional Integral Derivative.md | 30 +++++++++++++++++++ Resources/mechanics/I2C.md | 20 +++++++++++++ .../mechanics/gaggia-baby-millenium-pid.md | 12 ++++++++ Resources/mechanics/gaggia-baby-millenium.md | 6 ++-- index.md | 8 +++-- 8 files changed, 79 insertions(+), 13 deletions(-) create mode 100644 Resources/mathematics/Proportional Integral Derivative.md create mode 100644 Resources/mechanics/I2C.md create mode 100644 Resources/mechanics/gaggia-baby-millenium-pid.md diff --git a/Media/index.md b/Media/index.md index 79c0285..0104cab 100644 --- a/Media/index.md +++ b/Media/index.md @@ -2,9 +2,6 @@ ## Series -### [[Media/series/The Queens Gambit|The Queens Gambit]] - not seen -not yet rated - ### [[Media/series/Dark|Dark]] - not seen not yet rated @@ -29,6 +26,9 @@ not yet rated ### [[Media/movies/Ponyo|Ponyo]] - not seen not yet rated +### [[Media/movies/We Almost Lost Bochum|We Almost Lost Bochum]] - not seen +not yet rated + ### [[Media/movies/Magnolia Tree|Magnolia Tree]] - not seen not yet rated @@ -46,9 +46,6 @@ not yet rated by _Peter Greenaway_ ### [[Media/movies/Pi|Pi]] - not seen not yet rated - -### [[Media/movies/We Almost Lost Bochum|We Almost Lost Bochum]] - not seen -not yet rated ## Recipes diff --git a/Notes/index.md b/Notes/index.md index 3b133f3..da5b4a2 100644 --- a/Notes/index.md +++ b/Notes/index.md @@ -2,7 +2,7 @@ type: notes protected: true --- - +️ [[Notes/habits]] ```mermaid diff --git a/Resources/index.md b/Resources/index.md index 4f3d0b9..64f8851 100644 --- a/Resources/index.md +++ b/Resources/index.md @@ -1,7 +1,9 @@ # Resources ## 🛠️ Mechanics -- [[Resources/mechanics/gaggia-baby-millenium|Gaggia Baby Millenium]] +- [[Resources/mechanics/gaggia-baby-millenium|Gaggia Baby Millenium]] +- [[Resources/mechanics/gaggia-baby-millenium-pid|Gaggia Baby Millenium PID]] +- [[Resources/mechanics/I2C]] ## 🏛️ History @@ -20,6 +22,7 @@ - [[Resources/mathematics/geometry/euclidean|Euclidean]] - [[Resources/mathematics/derivation/lim-proof|Lim Proof]] - [[Resources/mathematics/derivation/index|Derivation]] +- [[Resources/mathematics/Proportional Integral Derivative|PID]] ## ⌨️ DEV - [[Resources/dev/tmux|TMUX]] diff --git a/Resources/mathematics/Proportional Integral Derivative.md b/Resources/mathematics/Proportional Integral Derivative.md new file mode 100644 index 0000000..072b0d8 --- /dev/null +++ b/Resources/mathematics/Proportional Integral Derivative.md @@ -0,0 +1,30 @@ +# Proportional-Integral-Derivative + +PID `(Proportional-Integral-Derivative)` is a type of control algorithm commonly used in engineering and industrial applications to regulate a system's output based on its error or deviation from a desired setpoint value. The PID controller works by continuously measuring the system's output and comparing it to the setpoint value. It then uses a combination of proportional, integral, and derivative terms to adjust the system's input in order to minimize the error and bring the system closer to the desired setpoint. + +The proportional term provides a direct relationship between the system's error and the controller's output. The integral term integrates the system's error over time to provide a corrective input that accounts for long-term changes. The derivative term provides a rate of change measurement to account for the system's responsiveness to changes. + +Together, these three terms allow the PID controller to respond quickly to changes in the system's output while also providing stability and minimizing overshoot. PID controllers are commonly used in a variety of applications, such as temperature control in industrial processes, motion control in robotics, and speed control in motors. + +![](introduction-to-pid-damped-controller.webp) + +An example algorithm could look like + +```typescript +function PIDController(Kp: number, Ki: number, Kd: number, setpoint: number, dt: number) { + let error = 0; + let integral = 0; + let derivative = 0; + let lastError = 0; + + return function update(input: number) { + error = setpoint - input; + integral += error * dt; + derivative = (error - lastError) / dt; + lastError = error; + + return Kp * error + Ki * integral + Kd * derivative; + }; +} + +``` \ No newline at end of file diff --git a/Resources/mechanics/I2C.md b/Resources/mechanics/I2C.md new file mode 100644 index 0000000..9f707ea --- /dev/null +++ b/Resources/mechanics/I2C.md @@ -0,0 +1,20 @@ + +# I²C + +The Inter-Integrated Circuit (I2C) bus is a communication protocol used to transfer data between integrated circuits on a circuit board. It was developed by Philips Semiconductors (now NXP Semiconductors) in the 1980s as a way to connect peripheral devices to a microcontroller. + +I2C uses a two-wire serial interface consisting of a clock signal `(SCL)` and a data signal `(SDA)`. Multiple devices can be connected to the same bus, with each device having a unique address. The bus is controlled by a master device, which initiates all communication with the slave devices. + +Communication on the I2C bus is initiated by the master device sending a start condition, followed by the slave address and the read/write bit. The slave device then acknowledges receipt of the address, and the master device can then send or receive data to or from the slave device. + +One advantage of the I2C bus is that it uses only two wires, making it a simple and efficient way to connect multiple devices on a circuit board. Additionally, the protocol supports multiple data transfer speeds, allowing for flexibility in device communication. + +```mermaid +graph LR + A(Master Device) -- SCL --> B(I2C Bus) + A -- SDA --> B + B -- SCL --> C(Slave Device 1) + B -- SDA --> C + B -- SCL --> D(Slave Device 2) + B -- SDA --> D +``` \ No newline at end of file diff --git a/Resources/mechanics/gaggia-baby-millenium-pid.md b/Resources/mechanics/gaggia-baby-millenium-pid.md new file mode 100644 index 0000000..912b523 --- /dev/null +++ b/Resources/mechanics/gaggia-baby-millenium-pid.md @@ -0,0 +1,12 @@ + +## [[Resources/mathematics/Proportional Integral Derivative|PID]] Controller for the Gaggia Baby Millenium + +### Parts Used + +- [ESP32]() +- [Solid State Relais]() +- [I2C LCD Screen]() +- [DS18B20 Temperature Sensor]() +- [Thick Wire](https://www.amazon.de/-/en/gp/product/B089CVRX42/ref=ewc_pr_img_2?smid=ATDBGRW2TNE4V&th=1) +- [220v to 5v converter](https://www.amazon.de/-/en/Sharplace-Constant-voltage-downward-converter-White/dp/B07CTQQMMT/ref=sr_1_3?keywords=230v+to+5v&qid=1683574853&sprefix=230v+to+%2Caps%2C87&sr=8-3) + diff --git a/Resources/mechanics/gaggia-baby-millenium.md b/Resources/mechanics/gaggia-baby-millenium.md index f2a4b85..6366e91 100644 --- a/Resources/mechanics/gaggia-baby-millenium.md +++ b/Resources/mechanics/gaggia-baby-millenium.md @@ -1,11 +1,13 @@ # Fixing the Gaggia Baby Millenium - ## Broken Parts: - Probably Pump (Part No. 26) - [Cheap Amazon Version](https://www.amazon.de/Ulka-EP5-Vibration-Pump-Espresso/dp/B00JPH5YKA/ref=asc_df_B00JPH5YKA/?tag=googshopde-21&linkCode=df0&hvadid=592279452879&hvpos=&hvnetw=g&hvrand=11264119264633350806&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9044650&hvtargid=pla-829706744768&psc=1&th=1&psc=1) -- OLAB 7000-8000 +- OLAB 7000-8000 (Magnetventil) +## Wiring Diagram +![](NewBabyWiringDiagram.webp) +## Parts ![](8068980-gaggia-kaffeemaschin-1500-1500-85.jpg) \ No newline at end of file diff --git a/index.md b/index.md index 9fb5b11..a090fe2 100644 --- a/index.md +++ b/index.md @@ -8,8 +8,10 @@ ## 🚀 [[Projects/index|Projects]] -## [[Areas/index|Areas]] +## 🗺️ [[Areas/index|Areas]] -[[Notes/index|Notes]] +--- -[[Notes/tododolo]] \ No newline at end of file +### 🗒 [[Notes/index|Notes]] + +### ✅ [[Notes/tododolo|Tododolo]] \ No newline at end of file