Git Product home page Git Product logo

Comments (16)

swalsh11 avatar swalsh11 commented on August 18, 2024 2

Reference for Pins and board schematic here:
https://github.com/makerbase-mks/MKS-Robin-Nano/tree/master/hardware/MKS%20Robin%20Nano%20V1.2_004

My Code:
https://github.com/swalsh11/Marlin-2.0.X-MKS-Robin-Nano/tree/Sapphire-Plus/Marlin

This compiles in both hardware serial and software serial mode, but has ot been tested on my (son's) machine just yet

My Pins file: ( Where hardware or software serial mode is assigned)
https://github.com/swalsh11/Marlin-2.0.X-MKS-Robin-Nano/blob/Sapphire-Plus/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h

My References:
https://www.reddit.com/r/3Dprinting/comments/gthxb6/mks_robin_nano_v12_diagram_for_5x_tmc2209_v30/

https://www.gitmemory.com/issue/MarlinFirmware/Marlin/15873/552647130

https://www.youtube.com/watch?v=dOJbSrWVu_Q

from mks-robin-nano-marlin2.0-firmware.

Miraculix200 avatar Miraculix200 commented on August 18, 2024 1

Some youtuber managed to connect all the stepper drivers to 2 pins (PA1 and PA6, which are the Step and Dir pins of stepper driver slot #5) to setup a serial connection with TMC2209. He used jumpers to give each stepper driver a dedicated hardware address. Then it works. I'm not sure if it's UART or another type of serial connection however. And I don't understand polish, so I don't know what he did exactly. Maybe I'll figure it out within the next few days/weeks. https://www.youtube.com/watch?reload=9&v=ZK9ttGcpiC4

from mks-robin-nano-marlin2.0-firmware.

VIXIVIXIV avatar VIXIVIXIV commented on August 18, 2024 1

@Miraculix200 I had a chat with some folks in the Marlin Discord, and they said you can run 4 stepper drivers off one line in UART, just use the jumpers to set hardware addresses. Sound good, but ideally, I wouldn't have to use any of the pins from the 5th slot.

The instructable mentions the possibility of running the drivers in UART without the EN pin connected; if the EN pin isn't necessary, then I could try using that for UART instead. However, the instructable also mentions not being able to get it to work for some reason.

from mks-robin-nano-marlin2.0-firmware.

swalsh11 avatar swalsh11 commented on August 18, 2024 1

WIFI Pins method here apperently done here; https://www.reddit.com/r/3Dprinting/comments/gthxb6/mks_robin_nano_v12_diagram_for_5x_tmc2209_v30/

from mks-robin-nano-marlin2.0-firmware.

VIXIVIXIV avatar VIXIVIXIV commented on August 18, 2024 1

Got the information I needed from the Marlin discord, I should be all set.

from mks-robin-nano-marlin2.0-firmware.

khunpoum avatar khunpoum commented on August 18, 2024 1

video from Makerbase Team
How to use UART mode on MKS Robin Nano V1.2 https://youtu.be/7ShcFKXrVHo

from mks-robin-nano-marlin2.0-firmware.

VIXIVIXIV avatar VIXIVIXIV commented on August 18, 2024

Alright, done some more research:

  1. I'm thinking of using the TMC2209 instead, but the wiring and code is probably basically the same.
  2. Most of the pins made redundant by UART would not be connected to the microcontroller anyways. As such, which pins, if any, would be free to be connected for UART?

from mks-robin-nano-marlin2.0-firmware.

MKS-Sean avatar MKS-Sean commented on August 18, 2024

@VIXIVIXIV
You can configure your firmware like this๏ผš
image
You also need to define your UART pins in the pins_MKS_ROBIN_NANO.h file:
I also need to confirm whether these pins are correct.

// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI PD14
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO PD1
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK PD0
#endif
#endif

#if HAS_TMC_UART
/**

  • TMC2208/TMC2209 stepper drivers
  • Hardware serial communication ports.
  • If undefined software serial is used according to the pins below
    */
    //#define X_HARDWARE_SERIAL Serial
    //#define X2_HARDWARE_SERIAL Serial1
    //#define Y_HARDWARE_SERIAL Serial1
    //#define Y2_HARDWARE_SERIAL Serial1
    //#define Z_HARDWARE_SERIAL Serial1
    //#define Z2_HARDWARE_SERIAL Serial1
    //#define E0_HARDWARE_SERIAL Serial1
    //#define E1_HARDWARE_SERIAL Serial1
    //#define E2_HARDWARE_SERIAL Serial1
    //#define E3_HARDWARE_SERIAL Serial1
    //#define E4_HARDWARE_SERIAL Serial1

//
// Software serial
//

#define X_SERIAL_TX_PIN PD5
#define X_SERIAL_RX_PIN PD5

#define Y_SERIAL_TX_PIN PD7
#define Y_SERIAL_RX_PIN PD7

#define Z_SERIAL_TX_PIN PD4
#define Z_SERIAL_RX_PIN PD4

#define E0_SERIAL_TX_PIN PD9
#define E0_SERIAL_RX_PIN PD9

#define E1_SERIAL_TX_PIN PD8
#define E1_SERIAL_RX_PIN PD8

// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif // TMC2208 || TMC2209

from mks-robin-nano-marlin2.0-firmware.

Miraculix200 avatar Miraculix200 commented on August 18, 2024

You can probably also use some of the pins of the wifi module slot instead of using the 5th stepper slot. E.g. PA9 and PA10. Or use the PE6 pin (material detector 2). That's what le3tspeak does in his Marlin version: https://github.com/le3tspeak/Marlin-2.0.X-Sapphire-PRO/blob/2.0.5.3-EEPROM/Marlin/src/pins/stm32/pins_MKS_ROBIN_NANO.h

Edit: Actually PE6 probably won't work

from mks-robin-nano-marlin2.0-firmware.

faisalhusain007 avatar faisalhusain007 commented on August 18, 2024

Got the information I needed from the Marlin discord, I should be all set.
Care to share them, I am a bit stuck... Also using 2208 not 2209

from mks-robin-nano-marlin2.0-firmware.

swalsh11 avatar swalsh11 commented on August 18, 2024

I am working through this too, in the Marlin fork I am using, I can edit, Pins_mks_robin_nano, to #define SOFTWARE_SERIAL

this diables E1, and re-uses the communications pins for UART.
this then defines:
#define X_SERIAL_TX_PIN PA3
#define X_SERIAL_RX_PIN PA3
#define Y_SERIAL_TX_PIN PA6
#define Y_SERIAL_RX_PIN PA6
#define Z_SERIAL_TX_PIN PA1
#define Z_SERIAL_RX_PIN PA1
#define E0_SERIAL_TX_PIN PE5
#define E0_SERIAL_RX_PIN PE5

PA 3 is located in JC1_M2, EN2 Pin
PA 6 is located in JC1_M2, STEP2 Pin
PA 1 is located in JC1_M2, DIR2 Pin
(close to Xstop / E1)
PE 5 is on the TCmax31855 header near THM header
I still have a bit of figuring out to do, it is not compiling , but I Hope this helps.

Edit, Compiles in hardware_serial mode, using PA9.

I just joined Marlin Discord too, https://discord.gg/n5NJ59y

from mks-robin-nano-marlin2.0-firmware.

faisalhusain007 avatar faisalhusain007 commented on August 18, 2024

I am working through this too, in the Marlin fork I am using, I can edit, Pins_mks_robin_nano, to #define SOFTWARE_SERIAL

this diables E1, and re-uses the communications pins for UART.
this then defines:
#define X_SERIAL_TX_PIN PA3
#define X_SERIAL_RX_PIN PA3
#define Y_SERIAL_TX_PIN PA6
#define Y_SERIAL_RX_PIN PA6
#define Z_SERIAL_TX_PIN PA1
#define Z_SERIAL_RX_PIN PA1
#define E0_SERIAL_TX_PIN PE5
#define E0_SERIAL_RX_PIN PE5

PA 3 is located in JC1_M2, EN2 Pin
PA 6 is located in JC1_M2, STEP2 Pin
PA 1 is located in JC1_M2, DIR2 Pin
(close to Xstop / E1)
PE 5 is on the TCmax31855 header near THM header
I still have a bit of figuring out to do, it is not compiling , but I Hope this helps.

Edit, Compiles in hardware_serial mode, using PA9.

I just joined Marlin Discord too, https://discord.gg/n5NJ59y

Thanks for the help, I was wondering if you have a resistor between tx/rx pins on your tmc?
Also when you say ' Compiles in hardware_serial mode, using PA9 '

This is in your config_adv right? Can you share the tmc snippet of your comfig_adv too. Thank you.

from mks-robin-nano-marlin2.0-firmware.

faisalhusain007 avatar faisalhusain007 commented on August 18, 2024

Thank you @swalsh11 really appreciate your help, got it working after looking at the info and resources you posted. Thank you again.

from mks-robin-nano-marlin2.0-firmware.

1nishikawa avatar 1nishikawa commented on August 18, 2024

como configurar a placa rumba tmc 2209 v3

from mks-robin-nano-marlin2.0-firmware.

1nishikawa avatar 1nishikawa commented on August 18, 2024

71545497-efe24d80-298b-11ea-9390-ccb7618de6e5

from mks-robin-nano-marlin2.0-firmware.

1nishikawa avatar 1nishikawa commented on August 18, 2024

mks-rumba-all-in-one-mainboard-motherboard-integrado-controlador-inteligente-2560-r3-rumba-placa-do-processador-compativel-mks-d

from mks-robin-nano-marlin2.0-firmware.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.