commit 54aa4cacbda29105a89511c3b2114a185077e275 Author: Morgan 'ARR\!' Allen Date: Thu Sep 1 14:26:58 2022 -0700 notes dump diff --git a/README.md b/README.md new file mode 100644 index 0000000..eb26fb7 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# RE-TM245P +The end goal of this project is to convert a partially broken TM245P Pick and Place to OpenPNP +while replacing as little hardware as possible. The difficulty in this is that the feeders and +everything on the head are CAN bus controlled. In an effort to not replace these parts, the +protocol will need to be reverse engineered. + +# Approaches + +## Smoothieware Port +The Charmhigh conversion undertaken by others approaches leaving the controller largely intact +and flashing a Smoothieware port onto the STM32. The repo notes suggest the Charmhigh used an +STM32F4, which the TM245P also uses. Specifcally the STM32F407ZGT6. + +## 'Decap' +In this approach the entire head unit will be bypassed. Ideally this could be accomplished by +utilizing the existing IDC connector on the power/comm sub-board. + +# Reading + +https://www.eevblog.com/forum/manufacture/neoden-tm245p-teardown-and-upgrade/ diff --git a/eevblog_teardown/README.md b/eevblog_teardown/README.md new file mode 100644 index 0000000..79175b7 --- /dev/null +++ b/eevblog_teardown/README.md @@ -0,0 +1,114 @@ +Note: This is copied from a 2018 EEVBlog post by Luiz Renault for posterity. +https://www.eevblog.com/forum/manufacture/neoden-tm245p-teardown-and-upgrade/ + +# post + +Hi. + +Tired of the painful process to setup the Neoden TM245P Pick and Place, I decided to make a mod to OpenPNP to export a CSV file compatible with the Neoden machine. + +This way I can reuse component database and check if required components are present or need to be installed on free feeders. + +But that isn't enough. I really want to install a vision system and make it compatible with OpenPNP to control the machine. + +Today I opened the bottom plate and collected some information to check if the upgrade is possible using the original electronics. + +Here I share my findings... + +The guts of the TM245P consists of: + + a motherboard (model TY164) with TFT LCD and resistive touch + a power supply and control board (model TY131) + two microstep driver + two vacuum pumps + one air blower + a transformer + +![overview](./images/picture716-1.jpg "overview") + +The motherboard have a STM32F407ZGT6 and a RA8875L3N TFT LCD Controller. The SD card slot can be seen on the left side of the board. +At the center there is a 26 pin IDC connector that goes to the power supply and control board. +On the top a 3 pin SWD connector and on the right side a 2 pin connector that powers the vibration feeder can be seen. + +The board uses as power supply 24V that comes from the power supply and control board. There is a 5V step down regulator (LM2576S-5.0) that supplies the uC through a 3.3V Linear reg. +The 5V rail are sent back to the power supply and control board. + +![overview](./images/picture716-4.jpg "overview") + +This is the microstep driver: + + +![overview](./images/picture1-1.jpg "overview") + +The power supply and control board have 4 diode bridge rectifiers (GBU808 on bottom layer) with +100V, +30V, +12V and -12V labels. + +There are four step down regulators (LM2576T-ADJ): +30V->+24V, +30V->+24V, +12V->+9V e -12V->-9V + +And the following connectors: + + P1 -> Transformer (label 220V) + P2 -> air blower (connected to AC input) + P3 -> Transformer (label 110V) + P4 -> AC input and on/off switch + P5 -> Transformer taps labeled 70V, 23V, 11V, 11V + P6 -> To motherboard + P7 -> Power Supply to step controller X axis (connected to 100V labeled line) + P8 -> Power Supply to step controller Y axis (connected to 100V labeled line) + P9 -> X axis step controller signals (EN, DIR, STEP) + P10 -> Y axis step controller signals (EN, DIR, STEP) + P11 -> To DB9 connector at the back of the equipment (CAN-H CAN-L JTMS e JTCK + P12 -> Endstop Y axis switch + P13 -> Pick and place head + P14 -> Vacuum Pump A + P15 -> Vacuum Pump B + P16 -> Endstop / origin Y axis switch + P17 -> Feeder block 1 + P18 -> Feeder block 2 + +The feeders and the head are controlled through a CAN bus connection. The same bus goes to the back DB9 connector. + + +![overview](./images/picture716-2.jpg "overview") +![overview](./images/picture393-1.jpg "overview") + +This is the 26 pin connector pinout from the motherboard: + + +![overview](./images/picture476-1.jpg "overview") + +I tried to read the firmware but the uC have Level 1 Read Protection. + +The next step is to log the CAN communication while sending simple commands using the equipment GUI. + +Then I will check if the X and Y axis can be controlled through CAN messages. + +Does anybody have the CAN message specification? + +Anybody tried to mod this machine? + +Best Regards, + +Luiz Renault + + +------------------------------------------- + + +Hi today I placed a scope on the CAN_H and CAN_L signals on the DB9 back connector. + +But they are too noisy to be useful and I had open the Pick and Place head and monitor on the inner (uC) side of the CAN transceiver (SN65HVD230). + +I assumed a bit rate 512 kbit/s because the smallest pulse length. + +But the oscilloscope wasn't able to decode it. The problem is that the CAN bit stuffing is not present. + +Does anyone have any clue? + +------------------------------------------- + + +Although it uses a CAN transceiver, I could see on the Placement Head board that the CAN_TX and CAN_RX signals were connected to the USART signals of the STM32F103C8 (PA9 and PA10). + +Then I was able to decode de USART 512kbit/s signal. It uses a binary format. + +![overview](./images/picture618-1.jpg "overview") diff --git a/eevblog_teardown/images/picture1-1.jpg b/eevblog_teardown/images/picture1-1.jpg new file mode 100644 index 0000000..28595c7 Binary files /dev/null and b/eevblog_teardown/images/picture1-1.jpg differ diff --git a/eevblog_teardown/images/picture393-1.jpg b/eevblog_teardown/images/picture393-1.jpg new file mode 100644 index 0000000..d629dcb Binary files /dev/null and b/eevblog_teardown/images/picture393-1.jpg differ diff --git a/eevblog_teardown/images/picture476-1.jpg b/eevblog_teardown/images/picture476-1.jpg new file mode 100644 index 0000000..e9cb2e8 Binary files /dev/null and b/eevblog_teardown/images/picture476-1.jpg differ diff --git a/eevblog_teardown/images/picture618-1.jpg b/eevblog_teardown/images/picture618-1.jpg new file mode 100644 index 0000000..ddfd0d7 Binary files /dev/null and b/eevblog_teardown/images/picture618-1.jpg differ diff --git a/eevblog_teardown/images/picture716-1.jpg b/eevblog_teardown/images/picture716-1.jpg new file mode 100644 index 0000000..6f6f09a Binary files /dev/null and b/eevblog_teardown/images/picture716-1.jpg differ diff --git a/eevblog_teardown/images/picture716-2.jpg b/eevblog_teardown/images/picture716-2.jpg new file mode 100644 index 0000000..7e5ff30 Binary files /dev/null and b/eevblog_teardown/images/picture716-2.jpg differ diff --git a/eevblog_teardown/images/picture716-4.jpg b/eevblog_teardown/images/picture716-4.jpg new file mode 100644 index 0000000..0d85c24 Binary files /dev/null and b/eevblog_teardown/images/picture716-4.jpg differ