“开源、易于使用的以太网连接步进电机控制器。由 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 编码信息即可。
硬件 Spec
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
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !