From bd33d48b504e9f781eea9234b133e20bdb33217f Mon Sep 17 00:00:00 2001 From: Nis Wechselberg Date: Thu, 21 Jun 2018 17:18:00 +0200 Subject: [PATCH] Draft of next reverse engieneering blog post --- ...018-06-20-Reverse-Engineer-a-Saike-858D.md | 2 +- ...018-06-21-Saike-858D-Original-Schematic.md | 59 + .../posts/images/858D/858D_Schematic-big.png | Bin 0 -> 599241 bytes content/posts/images/858D/858D_Schematic.png | Bin 0 -> 96163 bytes content/posts/images/858D/858D_Schematic.svg | 25685 ++++++++++++++++ .../858D/858D_Schematic_Mains_Heater-big.png | Bin 0 -> 54887 bytes .../858D/858D_Schematic_Mains_Heater.png | Bin 0 -> 31898 bytes .../images/858D/Reverse-Engineering-big.jpg | Bin 0 -> 2753890 bytes .../posts/images/858D/Reverse-Engineering.jpg | Bin 0 -> 241503 bytes 9 files changed, 25745 insertions(+), 1 deletion(-) create mode 100644 content/posts/2018-06-21-Saike-858D-Original-Schematic.md create mode 100644 content/posts/images/858D/858D_Schematic-big.png create mode 100644 content/posts/images/858D/858D_Schematic.png create mode 100644 content/posts/images/858D/858D_Schematic.svg create mode 100644 content/posts/images/858D/858D_Schematic_Mains_Heater-big.png create mode 100644 content/posts/images/858D/858D_Schematic_Mains_Heater.png create mode 100644 content/posts/images/858D/Reverse-Engineering-big.jpg create mode 100644 content/posts/images/858D/Reverse-Engineering.jpg diff --git a/content/posts/2018-06-20-Reverse-Engineer-a-Saike-858D.md b/content/posts/2018-06-20-Reverse-Engineer-a-Saike-858D.md index 06aa69b..e27b8cc 100644 --- a/content/posts/2018-06-20-Reverse-Engineer-a-Saike-858D.md +++ b/content/posts/2018-06-20-Reverse-Engineer-a-Saike-858D.md @@ -30,7 +30,7 @@ room for improvement. That is what I am trying to do here. This first post will not cover everything so here is a Table of Contents where I can link the next posts: * Mission Statement and Teardown (This) -* Reverse Engineering (WIP) +* [Reverse Engineering]({{}}) * ... ## Problems diff --git a/content/posts/2018-06-21-Saike-858D-Original-Schematic.md b/content/posts/2018-06-21-Saike-858D-Original-Schematic.md new file mode 100644 index 0000000..e9c09ea --- /dev/null +++ b/content/posts/2018-06-21-Saike-858D-Original-Schematic.md @@ -0,0 +1,59 @@ +--- +title: "Saike 858D Rework Station - Original Schematic" +date: 2018-06-22T14:50:00+02:00 +author: eNBeWe +type: post +categories: + - Allgemein + - Bastelkram +tags: + - 858D + - DIY + - Arduino +--- +Recently, [I posted the teardown]({{}}) of my Saike 858D SMD rework station. +Now it is time to really reverse engineer the main PCB. +Some of the parts are similar to other "flavors" of the 858D, but some seem to be different. + + +## Approach + +My process of reverse engineering can be seen in the following picture (click for large version). + +[![Saike 858D Reverse Engineered](/posts/images/858D/Reverse-Engineering.jpg)](/posts/images/858D/Reverse-Engineering-big.jpg) + +I started with a picture of the copper side of the PCB which I flipped horizontally, +so this view is kind of an "X-Ray" view through the front side of the PCB. + +Then I started with marking most of the copper traces in different colors. +Most of the colors are just randomly chosen, but the yellow area is the +5V VCC line and the 0V areas are marked blue. + +Afterwards I added all the components on a second layer. Due to the mirrored back side graphics, +I can match the position to the image of the front side of the PCB and still read parts numbers. + +Lastly, I added all part references and as much part information as possible, i.e. part names, pin names, etc. +I took the values from resistors from their marking visible on the images. However I am not entirely sure +that all values are correct, because at some places I have the nagging feeling that the values are not matching my expectations. + +## Schematics + +I rebuilt the schematics of the PCB in KiCad. Here is the complete schematic in all it's glory. + +[![Saike 858D Schematic](/posts/images/858D/858D_Schematic.png)](/posts/images/858D/858D_Schematic-big.png) + +Let's go through the parts one by one. + +### Mains connection and Heater driver + +[![Saike 858D Mains Heater](/posts/images/858D/858D_Schematic_Mains_Heater.png)](/posts/images/858D/858D_Schematic_Mains_Heater-big.png) + +The left part of the schematic is about as simple as possible. +The mains power is bridged over to the connector for the transformer. +The only notable part is a big suppression capacitor (0.1uF 275V) by Tenta. + +The right part of the schematic is the heater control circuit. +The microcontroller can control the NPN-transistor Q1 through the limiting resistor R4. +This pulls down the cathode potential and activates the optocoupler U2 which is a MOC3041. +The MOC3041 is a triac driver and that it does. It contains a zero-crossing detection +circuit and controls the triac U1, which in my device is a BTA16. + diff --git a/content/posts/images/858D/858D_Schematic-big.png b/content/posts/images/858D/858D_Schematic-big.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7aae5dc640b68ff68d7cd5c1ae2d64511e9cee GIT binary patch literal 599241 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®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