(34 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
== Hardware == | == Hardware == | ||
=== Durchflusssensor === | |||
* Digmesa 932-9505-B | |||
* 09/09/13 | |||
* 1,00mm | |||
=== Heizspirale === | |||
* KANETA 0913 XH06-AL1002 | |||
* 230V / 1600W | |||
=== Pumpe === | === Pumpe === | ||
Line 17: | Line 28: | ||
=== Leiterplatte === | === Leiterplatte === | ||
Bei der Tchibo Cafissimo Picco scheint es sich um eine | Bei der Tchibo Cafissimo Picco scheint es sich um eine umgelabelte Severin Maschine zu handeln. Zumindest | ||
steht auf der Leiterplatte: | steht auf der Leiterplatte: | ||
Line 34: | Line 45: | ||
{| class="wikitable" style="float:left; margin-right:1em" | {| class="wikitable" style="float:left; margin-right:1em" | ||
! Bezeichnung || Ziel \ Quelle || Leitungsfarbe | ! Bezeichnung || Ziel \ Quelle || Leitungsfarbe || µC-Pin || Bemerkung | ||
|- | |- | ||
| X102 || Durchflusssensor || rot | | X102 || Durchflusssensor || rot || - || +5V | ||
|- | |- | ||
| X102 || Durchflusssensor || weiß | | X102 || Durchflusssensor || weiß || PA1 (PCINT1/AIN0) || - | ||
|- | |- | ||
| X102 || Durchflusssensor || schwarz | | X102 || Durchflusssensor || schwarz || PC1 (ADC10/ICP1/SCL/USCK/XCK1/PCINT13) || - | ||
|- | |- | ||
| X103 || Kapselerkennung || schwarz | | X103 || Kapselerkennung || schwarz || PA2 (PCINT2/AIN1) || - | ||
|- | |- | ||
| X103 || Kapselerkennung || schwarz | | X103 || Kapselerkennung || schwarz || PA3 (PCINT3/T1/SNS/ADC0) || - | ||
|- | |- | ||
| X104 || Tastermodul (+5V) || blau | | X104 || Tastermodul (+5V) || blau || - || +5V | ||
|- | |- | ||
| X104 || Tastermodul (B1) || grün | | X104 || Tastermodul (B1) || grün || PA7 (PCINT7/RXD0/ADC4) || - | ||
|- | |- | ||
| X104 || Tastermodul (B2) || rot | | X104 || Tastermodul (B2) || rot || PB0 (PCINT8/TXD0/ADC5) || - | ||
|- | |- | ||
| X104 || Tastermodul (LED1) || gelb | | X104 || Tastermodul (LED1) || gelb || PC0 (ADC9/OC0A/XCK0/PCINT12) || - | ||
|- | |- | ||
| X104 || Tastermodul (LED2) || schwarz | | X104 || Tastermodul (LED2) || schwarz || PB3 (ADC8/OC1A/PCINT11) || - | ||
|- | |- | ||
| X106 || µC->PB2 (TXD1) || - | | X106 || µC->PB2 (TXD1) || - || PB2 (ADC7/DO/TXD1/PCINT10) || - | ||
|- | |- | ||
| X106 || +5V || - | | X106 || +5V || - || - || +5V | ||
|- | |- | ||
| X106 || µC->PC1 (SCL) || - | | 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 || - || - | |||
|- | |||
|} | |||
<div style="clear:both"></div> | |||
==== Stückliste ==== | |||
{| class="wikitable" style="float:left; margin-right:1em" | |||
! 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 | ||
|- | |||
|} | |||
{| class="wikitable" style="float:left;" | |||
! 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 | |||
|- | |- | ||
|} | |} | ||
<div style="clear:both"></div> | <div style="clear:both"></div> | ||
<pre> | |||
- Noch nicht ermittelt | |||
n.b. nicht bestückt | |||
</pre> | |||
=== Schaltplan === | |||
Der Schaltplan ist durch Reverse Engineering entstanden. | |||
[[File:Cafissimo_Picco_Schematic_1.jpg|300px|thumb]] | |||
[[File:Cafissimo_Picco_Schematic_2.jpg|300px|thumb]] | |||
== Software == | == 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. | |||
<!-- | |||
Konvertieren des Hex-Dumps in Assembler-Code: | Konvertieren des Hex-Dumps in Assembler-Code: | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
avr-objdump -m | avr-objdump -m avr3 -j .sec1 -d caffisimo_picco.hex | ||
</syntaxhighlight> | </syntaxhighlight> | ||
--> | |||
== Bilder == | == Bilder == | ||
Line 121: | Line 241: | ||
File:Cafissimo_Picco_Hack_Leiterplatte_Unterseite_ohne_Epoxy.jpg | File:Cafissimo_Picco_Hack_Leiterplatte_Unterseite_ohne_Epoxy.jpg | ||
File:Cafissimo_Picco_Hack_Leiterplatte_Oberseite_ohne_Epoxy.jpg | File:Cafissimo_Picco_Hack_Leiterplatte_Oberseite_ohne_Epoxy.jpg | ||
File:Cafissimo_Picco_Hack_Leiterplatte_Unterseite_ohne_Mikrocontroller.jpg | |||
</gallery> | </gallery> | ||
== Quellen == | |||
[http://rn-wissen.de/wiki/index.php/Assembler-Dump_erstellen_mit_avr-gcc RN-Wissen - Assembler-Dump erstellen mit avr-gcc] <br> | |||
[http://www.nongnu.org/avr-libc/user-manual/using_tools.html AVR-GCC - Archtitecure options] <br> | |||
[http://rn-wissen.de/wiki/index.php?title=Avr-gcc/Interna#Speicherverwaltung AVR-GCC - Memory sections] |
Latest revision as of 12:25, 18 December 2016
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
Der Schaltplan ist durch Reverse Engineering entstanden.
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