Es gab im Winter 2015 eine Aktion des Discounters REWE bei der man eine Tchibo Cafissimo Picco für ca. 20€ bekommen hat, wenn man genügend Treuepunkte gesammelt hatte. Diese Maschine bietet die Möglichkeit Kaffee oder Tee mittels Kapseln aufzubrühen. Außerdem kann zwischen zwei Tassengrößen gewählt werden deren Füllmenge jeweils frei einstellbar ist. Ziemlich schnell wurde mir klar, dass diese Aufgaben von einem Mikrocontroller erledigt werden. Es muss ja, dass Wasser aufgekocht, der Wasser-Durchfluss erfasst wie auch die Tasteneingaben eingelesen werden.
Hardware
Durchflusssensor
- Digmesa 932-9505-B
- 09/09/13
- 1,00mm
Heizspirale
- KANETA 0913 XH06-AL1002
- 230V / 1600W
Pumpe
- CEME E50501EN00240G4
- 220 - 240V / 50Hz / 47W
- TA 50°C
- TF 25°C
- ID 2/1min
Leiterplatte
Bei der Tchibo Cafissimo Picco scheint es sich um eine umgelabelte Severin Maschine zu handeln. Zumindest steht auf der Leiterplatte:
Severin Picco 5288 LT_Ver1.1 20130311
- ATtiny1634-SU - 8-Bit µC
- BTA12-600CW3G - Triac (Heizspirale)
- BT131-600 - Triac (Pumpe)
- LNK304GN - Step-Down-Wandler
Anschlüsse
Bezeichnung | Ziel \ Quelle | Leitungsfarbe | µC-Pin | Bemerkung |
---|---|---|---|---|
X102 | Durchflusssensor | rot | - | +5V |
X102 | Durchflusssensor | weiß | PA1 (PCINT1/AIN0) | - |
X102 | Durchflusssensor | schwarz | PC1 (ADC10/ICP1/SCL/USCK/XCK1/PCINT13) | - |
X103 | Kapselerkennung | schwarz | PA2 (PCINT2/AIN1) | - |
X103 | Kapselerkennung | schwarz | PA3 (PCINT3/T1/SNS/ADC0) | - |
X104 | Tastermodul (+5V) | blau | - | +5V |
X104 | Tastermodul (B1) | grün | PA7 (PCINT7/RXD0/ADC4) | - |
X104 | Tastermodul (B2) | rot | PB0 (PCINT8/TXD0/ADC5) | - |
X104 | Tastermodul (LED1) | gelb | PC0 (ADC9/OC0A/XCK0/PCINT12) | - |
X104 | Tastermodul (LED2) | schwarz | PB3 (ADC8/OC1A/PCINT11) | - |
X106 | µC->PB2 (TXD1) | - | PB2 (ADC7/DO/TXD1/PCINT10) | - |
X106 | +5V | - | - | +5V |
X106 | µC->PC1 (SCL) | - | PC1 (ADC10/ICP1/SCL/USCK/XCK1/PCINT13) | - |
X106 | µC->PB1 (RXD1) | - | PB1 (ADC6/DI/SDA/RXD1/PCINT9) | - |
X106 | µC->PC3 (!RESET) | - | PC3 (RESET/dW/PCINT15) | - |
X106 | GND | - | - | GND |
X107 | NTC-Temperatursensor (Wasser) | hell-blau | PA5 (PCINT5/OC0B/ADC2) | - |
X107 | NTC-Temperatursensor (Wasser) | hell-blau | - | GND |
X108 | NTC-Temperatursensor (Heizspirale) | schwarz | PA4 (PCINT4/T0/ADC1) | - |
X108 | NTC-Temperatursensor (Heizspirale) | schwarz | PA6 (PCINT6/OC1B/ADC3) | - |
X110 | +5V | - | - | +5V |
X110 | µC->RXD1 | - | PB1 (ADC6/DI/SDA/RXD1/PCINT9) | - |
X110 | µC->TXD1 | - | PB2 (ADC7/DO/TXD1/PCINT10) | - |
X110 | GND | - | - | GND |
X200 | N (Pumpe) | blau | - | - |
X201 | L (Zuleitung) | braun | - | - |
X202 | Heizspirale | braun | - | - |
X203 | Pumpe | weiß | - | - |
X204 | N (Zuleitung) | blau | - | - |
Stückliste
Bezeichnung | Wert |
---|---|
R101 | 1 kOhm |
R102 | 1 kOhm |
R103 | 1 kOhm |
R104 | 1 kOhm |
R105 | - |
R106 | - |
R107 | 1 kOhm |
R108 | 1,2 kOhm |
R109 | 10 kOhm |
R110 | 1,2 kOhm |
R111 | 270 Ohm |
R112 | 270 Ohm |
R113 | - |
R114 | 5,1 KOhm |
R115 | 5,1 kOhm |
R116 | - |
R117 | - |
R118 | - |
R119 | 5,1 kOhm |
R120 | - |
R121 | n.b. |
R122 | n.b. |
R123 | 100 Ohm |
R124 | 100 Ohm |
R125 | 2 kOhm |
R126 | 2 kOhm |
R127 | 5,1 kOhm |
Bezeichnung | Wert |
---|---|
R201 | 2 kOhm |
R202 | - |
R203 | - |
R204 | 1,6 MOhm |
R205 | 560 kOhm |
R206 | 82 Ohm |
R207 | 4,7 KOhm |
R208 | 2,2 kOhm |
R209 | 560 kOhm |
R210 | n.b. |
R211 | 460 Ohm |
R212 | - |
R220 | 1,6 MOhm |
- Noch nicht ermittelt n.b. nicht bestückt
Schaltplan
]
Software
Der eingesetzte ATtiny1634 läuft mit einer internen Taktrate von 8MHz. Leider ist das auslesen des Flash-Inhaltes aufgrund von gesetzten Lock-Bits nicht einfach möglich. Ein Reverse Enginnering der Software entfällt somit. Die Software wird von grund auf neu geschrieben.
Bilder
Quellen
RN-Wissen - Assembler-Dump erstellen mit avr-gcc
AVR-GCC - Archtitecure options
AVR-GCC - Memory sections