Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use zk-smc02: Examples, Pinouts, and Specs

Image of zk-smc02
Cirkit Designer LogoDesign with zk-smc02 in Cirkit Designer

Introduction

The ZK-SMC02 is a compact, high-performance motion controller designed for precise control of stepper and servo motors in automation applications. It is widely used in industrial automation, robotics, CNC machines, and other systems requiring accurate motor control. The ZK-SMC02 offers advanced features such as multi-axis control, programmable motion profiles, and compatibility with various communication protocols, making it a versatile choice for engineers and hobbyists alike.

Explore Projects Built with zk-smc02

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32 Smart Socket with Energy Monitoring and OLED Display
Image of Energy Meter: A project utilizing zk-smc02 in a practical application
This circuit is a smart socket for energy monitoring, utilizing an ESP32 microcontroller to read voltage and current from ZMPT101B and ACS712 sensors. The readings are displayed on a 0.96" OLED screen, and a relay module is used to control a connected load, such as a bulb, remotely. The system is powered by a 220V AC source, converted to DC by an HLK-PM01 module.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Smart Environmental Monitoring System with Relay Control
Image of SOCOTECO: A project utilizing zk-smc02 in a practical application
This is a smart environmental monitoring and control system featuring an ESP32 microcontroller interfaced with a PZEM004T for power monitoring, relay modules for actuating bulbs and a fan, and an LCD for user interface. It includes flame, gas, and vibration sensors for safety monitoring purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Bluetooth Robotic Vehicle with Ultrasonic Navigation
Image of BOAT 2: A project utilizing zk-smc02 in a practical application
This circuit is designed to remotely control two DC gearmotors using an Arduino UNO and an L298N motor driver, with an HC-05 Bluetooth module for wireless communication. It includes a JSN-SR04T ultrasonic sensor for distance measurement and a TM1637 display for output. Power management is handled by an 18650 Li-Ion battery and rocker switches.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Bluetooth-Controlled Obstacle-Avoiding Robot with Servo and Ultrasonic Sensor
Image of 자동차: A project utilizing zk-smc02 in a practical application
This circuit is a Bluetooth-controlled robotic vehicle with obstacle avoidance capabilities. It uses an Arduino UNO to control two DC motors via an L9110 motor driver, a servo motor for directional control, and an ultrasonic sensor for distance measurement. The HC-06 Bluetooth module allows for remote control, while the power is supplied by a combination of a 9V battery and a 4xAA battery pack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with zk-smc02

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Energy Meter: A project utilizing zk-smc02 in a practical application
ESP32 Smart Socket with Energy Monitoring and OLED Display
This circuit is a smart socket for energy monitoring, utilizing an ESP32 microcontroller to read voltage and current from ZMPT101B and ACS712 sensors. The readings are displayed on a 0.96" OLED screen, and a relay module is used to control a connected load, such as a bulb, remotely. The system is powered by a 220V AC source, converted to DC by an HLK-PM01 module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SOCOTECO: A project utilizing zk-smc02 in a practical application
ESP32-Based Smart Environmental Monitoring System with Relay Control
This is a smart environmental monitoring and control system featuring an ESP32 microcontroller interfaced with a PZEM004T for power monitoring, relay modules for actuating bulbs and a fan, and an LCD for user interface. It includes flame, gas, and vibration sensors for safety monitoring purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of BOAT 2: A project utilizing zk-smc02 in a practical application
Arduino-Controlled Bluetooth Robotic Vehicle with Ultrasonic Navigation
This circuit is designed to remotely control two DC gearmotors using an Arduino UNO and an L298N motor driver, with an HC-05 Bluetooth module for wireless communication. It includes a JSN-SR04T ultrasonic sensor for distance measurement and a TM1637 display for output. Power management is handled by an 18650 Li-Ion battery and rocker switches.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of 자동차: A project utilizing zk-smc02 in a practical application
Arduino UNO Bluetooth-Controlled Obstacle-Avoiding Robot with Servo and Ultrasonic Sensor
This circuit is a Bluetooth-controlled robotic vehicle with obstacle avoidance capabilities. It uses an Arduino UNO to control two DC motors via an L9110 motor driver, a servo motor for directional control, and an ultrasonic sensor for distance measurement. The HC-06 Bluetooth module allows for remote control, while the power is supplied by a combination of a 9V battery and a 4xAA battery pack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • CNC machines for precision cutting and milling
  • Robotic arms for industrial automation
  • Conveyor belt systems in manufacturing
  • 3D printers for accurate layer deposition
  • Automated testing equipment

Technical Specifications

Key Technical Details

Parameter Value
Input Voltage 12V to 48V DC
Maximum Current Output 5A per motor channel
Motor Compatibility Stepper motors (2-phase, 3-phase), Servo motors
Communication Protocols RS485, CAN, UART
Control Modes Position, Velocity, Torque
Operating Temperature -20°C to 60°C
Dimensions 100mm x 60mm x 25mm

Pin Configuration and Descriptions

Power and Motor Connections

Pin Number Name Description
1 V+ Positive DC power input (12V to 48V)
2 GND Ground connection for power
3 A+ Stepper motor phase A+
4 A- Stepper motor phase A-
5 B+ Stepper motor phase B+
6 B- Stepper motor phase B-

Communication and Control

Pin Number Name Description
7 TX Transmit data (UART/RS485)
8 RX Receive data (UART/RS485)
9 CAN_H CAN bus high
10 CAN_L CAN bus low
11 EN Enable signal for motor control
12 DIR Direction control signal
13 PUL Pulse signal for stepper motor

Usage Instructions

How to Use the ZK-SMC02 in a Circuit

  1. Power Connection: Connect the V+ and GND pins to a DC power supply within the range of 12V to 48V.
  2. Motor Connection: Connect the stepper or servo motor wires to the corresponding A+, A-, B+, and B- pins.
  3. Control Signals: Use the EN, DIR, and PUL pins to control motor operation. These can be connected to a microcontroller or PLC.
  4. Communication: For advanced control, connect the TX and RX pins to a UART interface or use the CAN_H and CAN_L pins for CAN bus communication.

Important Considerations

  • Ensure the power supply voltage matches the motor's requirements to avoid damage.
  • Use proper heat dissipation methods, such as a heatsink or fan, if operating at high currents.
  • Verify the motor's wiring to avoid incorrect connections that could damage the controller or motor.
  • For stepper motors, configure the pulse frequency and direction signals appropriately for smooth operation.

Example: Connecting to an Arduino UNO

The ZK-SMC02 can be controlled using an Arduino UNO. Below is an example code snippet to control a stepper motor:

// Define control pins
#define EN_PIN 7    // Enable pin connected to Arduino digital pin 7
#define DIR_PIN 8   // Direction pin connected to Arduino digital pin 8
#define PUL_PIN 9   // Pulse pin connected to Arduino digital pin 9

void setup() {
  // Set pin modes
  pinMode(EN_PIN, OUTPUT);
  pinMode(DIR_PIN, OUTPUT);
  pinMode(PUL_PIN, OUTPUT);

  // Enable the motor controller
  digitalWrite(EN_PIN, LOW); // LOW to enable motor control
}

void loop() {
  // Set motor direction
  digitalWrite(DIR_PIN, HIGH); // HIGH for one direction, LOW for the other

  // Generate pulses to move the motor
  for (int i = 0; i < 200; i++) { // 200 pulses for one revolution (example)
    digitalWrite(PUL_PIN, HIGH);
    delayMicroseconds(500); // Adjust for motor speed
    digitalWrite(PUL_PIN, LOW);
    delayMicroseconds(500);
  }

  delay(1000); // Wait 1 second before reversing direction

  // Reverse direction
  digitalWrite(DIR_PIN, LOW);
  for (int i = 0; i < 200; i++) {
    digitalWrite(PUL_PIN, HIGH);
    delayMicroseconds(500);
    digitalWrite(PUL_PIN, LOW);
    delayMicroseconds(500);
  }

  delay(1000); // Wait 1 second before repeating
}

Best Practices

  • Use shielded cables for communication lines to reduce noise interference.
  • Implement proper grounding to avoid ground loops in the system.
  • Regularly inspect connections and cables for wear or damage.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Moving

    • Cause: Incorrect wiring or loose connections.
    • Solution: Double-check all motor and power connections. Ensure the EN pin is set to enable the motor.
  2. Motor Vibrates but Does Not Rotate

    • Cause: Incorrect pulse frequency or motor wiring.
    • Solution: Verify the pulse signal timing and ensure the motor phases are connected correctly.
  3. Overheating

    • Cause: Excessive current or poor ventilation.
    • Solution: Reduce the current limit or improve heat dissipation with a heatsink or fan.
  4. Communication Failure

    • Cause: Incorrect baud rate or wiring.
    • Solution: Ensure the communication settings (e.g., baud rate) match between the controller and the host device. Check TX/RX or CAN bus connections.

FAQs

  • Can the ZK-SMC02 control multiple motors simultaneously? Yes, it supports multi-axis control for stepper and servo motors.

  • What is the maximum pulse frequency supported? The ZK-SMC02 supports pulse frequencies up to 200 kHz.

  • Is the ZK-SMC02 compatible with 3.3V logic microcontrollers? Yes, but you may need level shifters if the control signals require 5V logic.

  • Can I use the ZK-SMC02 with a battery-powered system? Yes, as long as the battery voltage is within the 12V to 48V range and can supply sufficient current.

By following this documentation, users can effectively integrate the ZK-SMC02 into their projects and troubleshoot common issues with ease.