【KiCad】Made with KiCad Ethersweep 步进电机控制器
“开源、易于使用的以太网连接步进电机控制器。由 FreeCAD、KiCAD 和 Arduino 打造。”
概览
Ethersweep 是一款适用于 NEMA17 步进电机的电机控制器,可通过普通以太网网络进行控制。这意味着您可以通过普通电脑(笔记本电脑/服务器/raspberrypi)、移动设备、微控制器、PLC 和任何其他能够发送 UDP 消息的机器来控制运动。您还可以控制任意数量的电机,因为每个电机都能从网络上的 DHCP 服务器获得一个 IP 地址。您还可以将末端和 E-Stops 连接到控制器。还可以通过网络请求获取编码器反馈、电压、运行和按钮状态等传感器数据。您所需要的只是网络和 5 至 30 伏的电源。每台电机都必须连接以太网(最好使用 DHCP)和 5...30V 的电源。USB 可用于用新固件对控制器进行编程。末端和 E-Stops 可通过 JST3 针连接器连接。要向 Ethersweep 发送指令,只需通过 UDP 向控制器的 IP 和端口发送 JSON 编码信息即可。
硬件特性W5500 以太网控制器 72MHz 的 STM32f103 微控制器 Trinamic TMC2209 步进电机驱动器 AS5600 磁性旋转编码器 XT30 电源连接器 Oled 128x32 显示器 USB 可编程 E-Stop 和 End-Stop 输入 复位按钮 适用于 NEMA17 步进电机 标准 RJ45 网络连接器
如何开始?
制作一个 Ethersweep 控制器。所有制造/组装文件均可与 JLCPCB 配合使用,电路板到货后只需进行一些简单的 THT 焊接。代码可从资源库中获取。通过以太网将 Ethersweep 控制器连接到网络,并连接到 5.5...30V 电源。在 NEMA17 电机轴上粘贴编码器磁铁(径向磁化),并将控制器连接到电机的四个 M3 螺钉上。连接电源和以太网后,控制器将使用 DHCP 搜索 IP 地址。找到 IP 地址后,控制器会在显示屏上显示出来,然后就可以使用了。如果没有找到 IP,则默认为 192.168.1.111。(建议使用 DHCP)现在可以使用 Python 脚本控制电机了。
使用 Python 控制步进电机- import socket
- import json
- IP_MOTOR = "192.168.1.185" # ethersweep IP (change to motors IP)
- UDP_PORT = 8888 # ethersweep port
- def drive_motor(steps, speed, direction, mode, motor_ip):
- json_data = json.dumps({'steps': steps, 'speed': speed, 'direction': direction, 'mode': mode})
- message = json_data.encode()
- sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
- sock.sendto(message, (motor_ip, UDP_PORT))
- drive_motor(100, 9500, 1, 32, IP_MOTOR) # this will spin the motor 100 steps
复制代码
原理图 & PCB
License Unknown
仓库 & 下载
可以在Github中获取开源仓库: https://github.com/Neumi/ethersweep
|