历史上的今天
返回首页

历史上的今天

今天是:2025年04月14日(星期一)

正在发生

2020年04月14日 | 基于Stm32F407的步进电机的速度控制方案------初步

2020-04-14 来源:eefocus

这里跟大家分享一下我的步进电机的速度控制思路(最终初步解决了问题)


这里我选择的是 Stm32F407 作为主控芯片,我的大致速度控制思路就是通过调整PSC 和ARR的值来实现对速度的控制。对应于我的代码的定时器框图如下(我用的是TIM14)

为了实现修改定时器的频率我们需要修改对应的PSC和ARR的值、  这里的定时器模式我选择是PWM模式


对应的定时器部分的初始化代码如下

以上代码完成了定时器的IO复用和对应的时钟的初始化,这里我们不在赘述!  我们接下来就是需要通过修改 定时器对应的PSC和ARR值来实现对定时器输出的脉冲的频率进行调整

所以我考虑的是 我们写一个数组,将不同的转速下对应的PSC和ARR值都分别写入数组,每一次当我们需要设置新的速度是我们就去查找对应速度对应的PSC和对应的ARR值

这是速度设置的函数,代码部分只是简单的对数据的搬迁   查表获得对应的速度信息

接下来是 PSC和ARR的计算函数,这一部分我没有完成,

我希望可以通过我们需要的速度自动计算出比较合理的PSC和ARR值  Step_Speed[ ][ ]  第一个参数是速度我们的速度设想单位是转每分钟、我们已知的参数是 定时器所在总线的时钟频率,步进电机的细分数。这一部分的代码比较难实现,一方面是参数PSC、和ARR都是整数,且数字大小严格显示在 unsigned short范围(如果是32位定时器 另说)现在的情况是(PSC-1)*(ARR-1) = (一个关于转速,细分,系统时钟 的数字)目前还没有找到有效的算法可以对一个数字进行拆分。


经过再次的研究  问题已经得到了解决  最新的速度计算代码部分如下

这里采用了固定 PSC的方案,PSC固定 简化了运算的逻辑,在步进电机转速的低速段部分,我采用了手工计算的PSC值


这里 考虑到了可以简单的计算出速度单位 6(任意设定的一个数字没什么实际意义) 之后的所有速度,依据速度的比例关系 通过修改 PSC可以实现对 极低速度的计算。


初步测试可以使用 ,但是完整的代码必然还需要 设计加减速部分 以及 适应多路电机!


这些等以后有机会再去完善!

推荐阅读

史海拾趣

GeneSiC公司的发展小趣事

FWBELL公司在电子行业中的五个发展故事

故事一:创立与早期发展

FWBELL公司,全称F.W. Bell Inc.,由Floyd Bell于1944年在美国创立。创立之初,公司专注于设计和制造霍尔发电机,这一创新性的产品迅速在市场中获得了认可。在随后的几十年里,FWBELL始终保持着在测量电流和磁场仪器领域的领先地位。从第一批配备固态电子设备的高斯计,到后续不断迭代的产品线,FWBELL的技术革新推动了整个行业的发展。这段早期的发展历程奠定了FWBELL在电子行业中的坚实基础。

故事二:产品线扩展与全球影响力

随着技术的不断进步和市场需求的扩大,FWBELL的产品线逐渐扩展,涵盖了高斯计、特斯拉计、霍尔元件、霍尔电流传感器以及标准磁铁等多个领域。这些产品凭借其卓越的性能和极高的性价比,在全球范围内赢得了广泛的客户群体。FWBELL的产品不仅被用于商业运输、军事、公务和通用航空等高端领域,还深入到了石油和天然气、工业、医疗以及空间探索等多个行业。这种广泛的行业覆盖进一步提升了FWBELL在全球电子行业中的影响力。

故事三:技术革新与领导地位

FWBELL一直致力于技术革新,不断推出具有领先技术水平的新产品。例如,其高斯计和特斯拉计采用了特有的探头动态补偿技术,确保了量程内的基本精度,并内置软件消除了复杂的校准过程。这些技术创新使得FWBELL的产品在性能上始终保持领先地位。同时,FWBELL还积极参与国际标准的制定和推广工作,为整个行业的发展贡献了自己的力量。

故事四:加入Meggitt集团与资源整合

2010年,FWBELL成为了Meggitt PLC.的全资子公司OECO LLC的一部分。这一战略性的整合为FWBELL带来了更多的资源和支持。Meggitt是一家全球工程集团,专注于为航空航天、国防和能源市场提供极端环境组件和智能子系统。加入Meggitt后,FWBELL得以与其他行业先驱如Securaplane、TFE Electronics和Artus等共同合作,进一步提升了其在电子行业中的竞争力。

故事五:中国市场拓展与本地化服务

近年来,FWBELL积极拓展中国市场,并在中国设立了分支机构以提供更便捷的本地化服务。这些分支机构不仅负责产品的销售和推广工作,还为客户提供专业的技术支持和售后服务。通过与中国本土企业的合作与交流,FWBELL得以更好地了解中国市场的需求变化和技术趋势,从而不断优化其产品和服务以满足客户的实际需求。这一系列的举措不仅加深了FWBELL在中国市场的影响力,也为其在全球范围内的持续发展奠定了坚实的基础。

Gem Asia Enterprise Co Ltd公司的发展小趣事

面对电子行业供应链复杂多变的挑战,Gem Asia积极实施供应链优化和数字化转型战略。公司引入先进的ERP系统和物联网技术,实现了从原材料采购、生产制造到物流配送的全链条数字化管理。这一举措不仅提高了生产效率和产品质量,还降低了运营成本,增强了企业的市场竞争力。同时,Gem Asia还加强了与上下游企业的合作,共同构建了一个高效协同的供应链生态系统。

Amphenol(安费诺)公司的发展小趣事

面对电子行业供应链复杂多变的挑战,Gem Asia积极实施供应链优化和数字化转型战略。公司引入先进的ERP系统和物联网技术,实现了从原材料采购、生产制造到物流配送的全链条数字化管理。这一举措不仅提高了生产效率和产品质量,还降低了运营成本,增强了企业的市场竞争力。同时,Gem Asia还加强了与上下游企业的合作,共同构建了一个高效协同的供应链生态系统。

ECS公司的发展小趣事

面对云计算技术的不断发展和市场竞争的加剧,ECS公司制定了面向未来的战略布局。他们将继续加大在研发方面的投入,推动ECS服务的不断升级和创新;同时,他们还将积极探索新的业务领域和市场机会,为客户提供更加全面、丰富的服务。此外,ECS公司还注重可持续发展和社会责任。他们致力于降低能耗和排放、推动绿色计算等方面的工作;同时,他们还积极参与社会公益事业和慈善活动,回馈社会。这些举措使得ECS公司不仅成为了一家领先的云服务提供商,还成为了一家具有社会责任感的企业。

Electronic Transistors Corp公司的发展小趣事

作为一家领先的电子企业,ETC公司深知自身肩负的社会责任。公司积极履行社会责任,关注环境保护和资源节约。ETC通过引进先进的生产工艺和设备,减少生产过程中的能源消耗和废弃物排放。同时,公司还积极参与公益事业和社会活动,为社会做出了积极贡献。这些举措不仅提升了ETC的企业形象,也为公司的可持续发展奠定了坚实的基础。

ELM Technology Corporation公司的发展小趣事

ELM Technology Corporation一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格把控。这种对品质的坚持不仅赢得了客户的信任,还为ELM赢得了良好的口碑。在激烈的市场竞争中,ELM凭借卓越的产品品质赢得了市场份额。

问答坊 | AI 解惑

嵌入式领域C语言的规范,有很多大家忽略的问题

这个东西不是很希罕,只是大家注不注意的问题 1994年,在英国成立了一个叫做汽车工业软件可靠性联合会(The Motor Industry Software Reliability Association,简称MISRA)的组织。它是致力于协助汽车厂商开发安全可靠的软件的跨国协会,其成员包 ...…

查看全部问答>

大赛B题 声源自制

本帖最后由 paulhyde 于 2014-9-15 09:42 编辑 我原来写过几个简单的小程序 有双音多频 单音多频的 大家可以下载看看 这几个程序使用的是PIC16F54 都是可以直接使用的 大家只要将HEX文件烧录就可以用了  …

查看全部问答>

ISE文件类型说明

在使用ISE进行设计的过程中,会在你的工程目录中生成好多类型的文件,这些文件是什么文件呢?通过自己和网上朋友的经验对ISE的文件类型做一下小小总结: ISE文件类型说明 *.bit  下载配置文件。*.bld  报告文件。*.edn  网表文 ...…

查看全部问答>

telosb是本安电路吗?

telosb是本安电路吗?哪里有相关资料?…

查看全部问答>

WinCE 6.0中有关内存映射交换区大小的问题?

最近写了个程序,用的是内存映射,在WinCE5.0中运行蛮顺畅的,速度也挺快,但是到了WinCE6.0中好像变慢了。 听前人说5.0的内存映射交换区会到1G的时候再去交换,而6.0的交换区到了1M就要交换了,交换频繁了所以相关处理也变慢了。 听说6.0的1M交 ...…

查看全部问答>

Stream 长度问题

            System.Net.WebRequest request = WebRequest.Create(\"http://xxx.xxx/prog1.exe\");             request.Credentials = CredentialCache.Defa ...…

查看全部问答>

基于WIN CE的GPS导航软件开发

各位大哥,在win ce上如何做GPS导航软件的开发啊? 公司现在要做一个车载的GPS导航产品,已经决定用WIN CE了,我负责做导航软件这一块,想问下大家都要做些什么东西? 要做一个导航软件要经过哪几步?我们之前是在UC OS上做的,熟悉NEMA协议。 ...…

查看全部问答>

51单片机中的中断优先级总结

    这段时间编写51的控制板程序,两个大牛技术指导对51中断嵌套问题的看法不一样,后来亲自验证了一下,得到了一下的一些结论,发上来大家参考,表达不清的地方还望理解,呵呵。     51单片机的中断可嵌套,但至多支持二级嵌 ...…

查看全部问答>

【求助】请教定时器串口中断问题!急!

各位好:此问题已困扰很久,我用的是449的片子,要用定时器A产生200Hz的采样频率,定时器时钟才用SMCLK,为1M,下面是所有程序: #include <msp430x44x.h> void init_TimerA(void); void init_ADC12(void); char adc_Flag = 0; int n ...…

查看全部问答>