bath/README.md

140 lines
4.1 KiB
Markdown

# Bachelor Thesis Tex-files
## Timeline
| Date | |
| --- | --- |
| 7.6. | Start |
| 14.6. | **Table of Contents** |
| 9.8. | last possibility for "first draft"|
| 30.8. | Deadline |
| 6.9. | Kolloquium |
## Content
- I2C
- v2
- [x] Umbau
- [x] **packed** union based data structures (removes the need for magic numbers
- [ ] (safe types inside `pi2cproto.h`)
- [x] ballast
- [x] reused
- remaining compatability to v1
- [ ] new
- [x] UUID readout
- [x] r/w-ablility for both 1.8V potentiometers
- [x] raw memory mapping
- [x] why is `mon48v = 0x11`?
- missing `__attribute__((packed))` declarations
- [x] why are `digipoti` and `anapoti` only readable from `0x02` and `0x04` not partial?
- same as above
- [ ] instability on mass communication
- timebased / overflow ?
-> most likely race-condition on writing any value to (semi-)global objects
- gdb-server feasable? -> NO: only 6 registers for breakpoints and no stacktrace
- Calibration
- [x] characterize adcbehaviour
- [x] plot resulting fitted incline of $`\Delta`$V vs. num. of readcycles
- [x] see if v_pin same as v_keith_pin
- on dV of **small enough** -> adc circuit working correctly -> calib
- [x] reasoning for using a given `sampleTicks` value
- smallest gain error -> inconsistent
- smallest offset -> inconsistent
- hightst samplerate -> `sampleTicks = 1`
- pin plot -> `sampleTicks = 0` is no go
- pin plot -> `sampleTicks` in `1-7`
- [x] polynomials
- [x] polynomials rw-able
- [x] 10I calc
- [x] differences between PIts?
- if yes then we need a `PITDB` -> `pitdb.yaml`
- standard only for default
- [ ] Voltage
- [x] redo after selection of `sampleTicks` value
- [x] 48V
- [ ] 10V
- [x] 1.8V ana
- [x] 1.8V digi
- [ ] calibrate based on fit
- [ ] 48V
- [ ] 10V
- [ ] 1.8V ana
- [ ] 1.8V digi
- [ ] Current
- [ ] without calib
- [x] 48I
- [x] 1.8I ana
- [ ] 1.8I digi
- [ ] with calib
- [ ] 48I
- [ ] 1.8I ana
- [ ] 1.8I digi
- Temp
- [ ] accuracy?
- [ ] position in system
- inside chip -> on underside of board, between frame and board
- [ ] relevancy
- peace of mind if readout correct and not too high (no experience)
- 1.8V Regulation
- [ ] compare regulation concepts
- there's overshoot: less oscillation is good, as long as we don't take forever to achieve those
- [ ] stabilize
- [ ] regulate the system (with missing information)
- (possibility: unused reticles on each wafer can be used to get some feedback on initial calibration, would result into additional dynamic values for calculation and calibration o fthe 1.8V regulation)
- [ ] write / formulate approach and resulting formula / algorithm
## Table of Contents
- Introduction
- What is this about?
- What's the PowerIt Subsystem?
- Goals
- Firmware
- Calibration
- Regulation
- Theory
- Hardware Component Behavior
- ADC Calibration
- 1.8V Output Regulation
- Experiments
- Setup
- Hardware
- Softwarestack
```mermaid
graph LR;
fw[PIt Firmware] --- pot[Potentiometers];
fw --- srv["PItStop Server (RPi)"];
srv -.- agg[PItStop Aggregator];
```
- Characterization
- Voltages
- Currents
- after Calibration
- Voltages
- Currents
- 1.8V Regulation
- Characterization of Dropoff
- after Correction
- Results
- Firmware
- I$`^2`$C mapped register- Table
- Calibration
- Calibration-Table
- "How to calibrate a PowerIt"
- Regulation
- Outlook
## Notes
### 1V8
RS = 2* * 4.7k
RP = 75k
### 9V6
R1 = 30k
R2 = 10k