标题: 请朋友们指路想做个51单片机控制步进电机 [打印本页]

作者: 434939575    时间: 2023-2-15 14:14
标题: 请朋友们指路想做个51单片机控制步进电机
现有51学习板,步进电机,想自己做个上位机,想把把51单片机程序封装成dll,外部调用,请大佬们指导下,看哪方面的资料,新人。 感谢各位了!


作者: 434939575    时间: 2023-2-15 16:18
意思想别人的 控制板一样 提供外部调取函数 这样比较方便
作者: wufa1986    时间: 2023-2-15 16:49
我做过一些简单的厂内使用程序,这电脑编程不是三言两语能说清楚的,取决于你想用什么语言做
作者: Hephaestus    时间: 2023-2-15 17:04
步进电机控制方法多了,把速度做成表格,RAM不够用要临时生成表格,什么参数都没有这个问题无解。
作者: 434939575    时间: 2023-2-15 17:11
wufa1986 发表于 2023-2-15 16:49
我做过一些简单的厂内使用程序,这电脑编程不是三言两语能说清楚的,取决于你想用什么语言做

感谢朋友指点,我是有c#做上位机界面 ,界面不搞串口这些图标。只有控制的 美观一点。
作者: 434939575    时间: 2023-2-15 17:13
Hephaestus 发表于 2023-2-15 17:04
步进电机控制方法多了,把速度做成表格,RAM不够用要临时生成表格,什么参数都没有这个问题无解。

感谢朋友们的指导,有类似的帖子没有,新手,只能慢慢来。
作者: zhuls    时间: 2023-2-15 17:28
弱弱地问一下:你是要让电脑驱动步进电机,还是单片机驱动?你这个Dll,MCU上是运行不了的。一般来说只能通过上位机与MCU通讯,再通过MCU解读上位机的指令让MCU驱动电机的。

或者是PC机插一张硬卡,通过硬卡来控制电机,但这样的系统可就是不小的工程了。
作者: 434939575    时间: 2023-2-15 17:51
zhuls 发表于 2023-2-15 17:28
弱弱地问一下:你是要让电脑驱动步进电机,还是单片机驱动?你这个Dll,MCU上是运行不了的。一般来说只能通 ...

感谢朋友的指点,我没讲清 ,目的51控制步进电机,控制轴承走到几个点位,1米,2米,3米,上位机按1米就走的1米处停下.......,这些,最终我是想想别的控制卡一样,提供DLL函数接口,这样也可以用flas动画调用。程序那些我自己慢慢研究,主要这些流程,不了解。如果有朋友们能指导私信我有感谢。
作者: 434939575    时间: 2023-2-15 18:33
本帖最后由 434939575 于 2023-2-15 19:03 编辑
zhuls 发表于 2023-2-15 17:28
弱弱地问一下:你是要让电脑驱动步进电机,还是单片机驱动?你这个Dll,MCU上是运行不了的。一般来说只能通 ...

我是单片机控制驱动 ,步进电机控制丝杠走几个点位 1, 2, 3.... 米处停止,上位机控制,想用写成dll,可以flash动画调用, 原理是不是这样的 hex写的51里面。我用c#类似上位机的不是面板,把他写成dll, 这个dll相当于上位机(只是没界面) ,生成函数,最后供其他程序调用。
作者: 434939575    时间: 2023-2-15 19:50
zhuls 发表于 2023-2-15 17:28
弱弱地问一下:你是要让电脑驱动步进电机,还是单片机驱动?你这个Dll,MCU上是运行不了的。一般来说只能通 ...

我的目的 51 控制步进电机走几个点位 1, 2, 3米,处停止..... 我想问下做成是这样的流程不
1 先把hex写到单片机。
2 c# 或c++..... 写上位机,没有界面的,把程序,(运行时自动打开串口,波特9600)封装成dll .
3 运行新的上位机界面调取 **.dll
不知道是这样的不。
作者: wufa1986    时间: 2023-2-16 07:57
434939575 发表于 2023-2-15 17:11
感谢朋友指点,我是有c#做上位机界面 ,界面不搞串口这些图标。只有控制的 美观一点。

那就是微软全家桶啊,下载个vs,我记得里面可以直接生成dll项目吧
作者: a185980800    时间: 2023-2-16 08:34
434939575 发表于 2023-2-15 18:33
我是单片机控制驱动 ,步进电机控制丝杠走几个点位 1, 2, 3.... 米处停止,上位机控制,想用写成dll,可以f ...

而你的描述就应该是串口与mcu通讯,现在就看你的上位机能不能把串口通讯的发送接收,直接写成dll。上位机不太懂,我觉得应该是可以的
作者: zhuls    时间: 2023-2-16 08:57
434939575 发表于 2023-2-15 19:50
我的目的 51 控制步进电机走几个点位 1, 2, 3米,处停止..... 我想问下做成是这样的流程不
1 先把hex写 ...

这样可以是可以的,麻烦!
倒不如写一个写个专用的串口EXE,主程序通过命令行参数的方式调用这个EXE。
如: uart.exe  m1 s6000 y
m1是串口的基本设置:9600,8,n,1//m2=115200,8,n,1 、、、、
s6000是电机要运行的距离、步数、、、
y是电机运行到位后是否返回0位,==
这样子即便没有主程序,人工也能通过命令行启动这个exe做调试用的
作者: xuyaqi    时间: 2023-2-16 10:43
我用delphi做过上位机通过单片机控制步进电机,用的modbus协议,无非是在上位机界面上有一些功能图标,按那个图标,上位机软件根据modbus协议通过串口向单片机发出指令和参数,单片机根据指令和参数完成控制任务,并把执行情况通过串口发回上位机。
作者: 434939575    时间: 2023-2-16 11:08
xuyaqi 发表于 2023-2-16 10:43
我用delphi做过上位机通过单片机控制步进电机,用的modbus协议,无非是在上位机界面上有一些功能图标,按那 ...

感谢朋友们的指导!!
作者: 434939575    时间: 2023-2-16 11:12
zhuls 发表于 2023-2-16 08:57
这样可以是可以的,麻烦!
倒不如写一个写个专用的串口EXE,主程序通过命令行参数的方式调用这个EXE。
...

感谢朋友们的指导!我现在不考虑具体程序,主要是这个总体流程,流程对了,后面也不会错。看到市场上得行程控制卡确实是装EXE驱动,外部调用他的函数。
作者: 434939575    时间: 2023-2-16 11:13
a185980800 发表于 2023-2-16 08:34
而你的描述就应该是串口与mcu通讯,现在就看你的上位机能不能把串口通讯的发送接收,直接写成dll。上位机 ...

感谢朋友们指导,慢慢学习中。
作者: 434939575    时间: 2023-2-16 11:16
wufa1986 发表于 2023-2-16 07:57
那就是微软全家桶啊,下载个vs,我记得里面可以直接生成dll项目吧

感谢朋友们指导,是的。正在学c#中....... 毕竟我门外汉,总体思路没错,不会浪费太多时间。
作者: ankangyu    时间: 2023-2-17 13:40
我做过类似的,大概思路还是控制程序在单片机中,用C#做一个上位机软件,利用串口通讯,或者其他的通讯,传输命令给单片机,然后单片机解析命令,然后执行控制电机运行。
作者: 434939575    时间: 2023-2-17 13:52
ankangyu 发表于 2023-2-17 13:40
我做过类似的,大概思路还是控制程序在单片机中,用C#做一个上位机软件,利用串口通讯,或者其他的通讯,传 ...

感谢朋友们的指点,漫漫学习中。
作者: nsush    时间: 2023-3-13 16:20
直接买运动控制卡吧,雷赛的最基本的三轴卡就几百块。PCI的,提供各种DLL。
作者: geigeimmhh    时间: 2023-3-13 22:08
电机驱动可以使用tb6612芯片,调节pid来控制转速




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1