野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11694|回复: 3

步进电机控制

[复制链接]
发表于 2017-12-27 12:28:05 | 显示全部楼层 |阅读模式
请各位帮助写个STM32控制步进电机的程序(标准库);程序目的:将[信号ADC2]的值调整到最小(约等于0)。 有时间和兴趣的朋友,请联系我QQ:3242289681

开发板的端口不限;
57两相四线电机两个;
配套驱动器两个;

程序要求:
方法一:
0、上电时回原点,即电机在运动中要能记住位置;
1、能控制两个步进电机;(电机1,电机2)
   电机转动时要防止丢步和失步;
2、检测两路ADC输入信号;(信号ADC1,信号ADC2)
3、开发板上电后,检测到[信号ADC1]大于设定值(200mv,可调整)时,开始工作;当[信号ADC1]小于设定值时,返回原点;

3.1,[电机1]正向转动1圈,同时捕获[信号ADC2]的值;
3.2,计算出[电机1]转动在哪个位置时,[信号ADC2]的值最小;
3.3,调整[电机1]反向转回[信号ADC2]值最小的哪个位置;

3.3,[电机2]正向转动1圈,同时捕获[信号ADC2]的值;
3.4,计算出[电机2]转动在哪个位置时,[信号ADC2]的值最小;
3.5,调整[电机2]反向转回[信号ADC2]值最小的哪个位置;

3.6,[电机1]在当前位置做正向和反向转动30度(要调整)位置,同时捕获[信号ADC2]的值;
3.7,计算出[电机1]转动在哪个位置时,[信号ADC2]的值最小;
3.8,调整[电机1]转回[信号ADC2]值最小的哪个位置;

3.9,[电机2]在当前位置做正向和反向转动30度(要调整)位置,同时捕获[信号ADC2]的值;
3.10,计算出[电机2]转动在哪个位置时,[信号ADC2]的值最小;
3.11,调整[电机2]转回[信号ADC2]值最小的哪个位置;

4、储存找到的两个位置;下次工作时优先转到这个位置时,若[信号ADC2]值不约等0,则再次回到原点。


方法二:

写出电机转动(带参)函数,输入方向、角度、速度。函数中包括[信号ADC2]捕获。
停止函数。


回复

使用道具 举报

发表于 2017-12-27 13:37:41 | 显示全部楼层
这么明确的需求,可以直接找外包了
回复 支持 反对

使用道具 举报

发表于 2017-12-27 16:12:46 | 显示全部楼层
多少钱- -!怎么明确的要求,不可能白干吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-29 15:34:01 | 显示全部楼层
乱世 发表于 2017-12-27 16:12
多少钱- -!怎么明确的要求,不可能白干吧

可以啊,你给说一个数,加我QQ,我们再谈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-17 13:55 , Processed in 0.026393 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表