河南省鹤壁市西门子(中国)有限公司授权一级代理商-西门子MBP授权分销商

更新:2025-01-19 09:10 编号:32425366 发布IP:223.74.194.153 浏览:14次
发布企业
广东湘恒智能科技有限公司商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
2
主体名称:
广东湘恒智能科技有限公司
组织机构代码:
91441304MAC3TWY11U
报价
请来电询价
变频器
西门子一级代理
工业自动化总代理
西门子一级总代理
西门子代理商
西门子华南一级总代理
关键词
西门子一级总代理,一级代理商,变频器,伺服电机,PLC
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
联系电话
18126392341
手机
15267534595
联系人
梁涛  请说明来自顺企网,优惠更多
请卖家联系我
15267534595

详细介绍

在制作一个使用全向轮的机器人底盘,对于全向轮,电机的精度是影响效果的重要因素。使用了步进电机,使用步进电机的优点是可以不使用编码器,开环控制即可达到高精度的效果。


调整占空比或者调整周期


众所周知,PWM有两个重要参数,周期与占空比。

步进电机的运动方式是,每收到一个脉冲,就旋转指定的角度。影响电机速度的唯一参数就是PWM的频率。以下附图两张来说明调整占空比与调整周期的区别。


周期固定,调整占空比

图片

上图中有4个PWM,它们的周期是一样的,不同之处是拥有从80%至20%的占空比。可以看出,无论占空比为多少,在1s内,它们产生的高电平的数量是一样的,即无论占空比为多少,PWM的频率都一致。也就无法调整步进电机的速度。因为步进电机的速度仅与PWM的频率有关。


占空比固定,调整周期

图片

上图中有4个PWM,它们的占空比都固定为50%,却拥有不同的周期。可以看出,占空比固定,只要动态调整周期,PWM就能在相间内产生数量不同的脉冲。固定占空比,动态调整PWM周期,即可达到控制步进电机速度的效果。


基于STM32的实现


在STM32F1中,定时器具有PWM模式,可以用来产生PWM。相关文章:STM32中PWM的配置与应用详解。STM32的PWM模式,只要确定了时基单元(即确定了PWM周期),改变输出比较寄存器,仅可改变PWM的占空比。

若需要改变PWM周期,需不停地改变定时器的时基单元。但时基单元与硬件相关,不适合频繁变更。步进电机的调速,不适合使用STM32下定时器的PWM模式来控制。

在多方查找资料后,确定了一种利用输出比较jingque控制PWM周期的方式。


利用输出比较产生频率可变的PWM


利用输出比较产生频率可变的PWM,原理简单介绍如下:

配置定时器时基单元,确定脉冲Zui小长度单位CK。

开启定时器的输出比较,设置模式为翻转模式,并开启输出比较中断。

将定时器内计数器CNT当前值,加上脉冲长度X(单位为CK),写入输出比较寄存器。

在X个CK后,将会触发输出比较中断。电平翻转。

在中断中将当前计数器CNT的值,加上脉冲长度X,写入输出比较寄存器。

在X个CK后,将会触发输出比较中断。电平翻转。

在中断中将当前计数器CNT的值,加上脉冲长度X,写入输出比较寄存器。

如此往复……

以此即可得到一个占空比为50%,周期为2X个CK的PWM。


确定Zui小单位CK,配置时基单元


确定一个Zui小的间隔CK,规定PWM的高电平长度和低电平长度的单位都是CK。

即高电平的长度一定是CK的整数倍。低电平亦然。

配置定时器的时基单元,通过CK的长度确定预分频系数。

已知STM32F103的主频为72MHZ,则时基单元中预分频系数为




PSC = 72M / (1/CK)



例如,rtz所确定的CK长度为10us(0.00001s),即可得出方程。


图片


预分频系数确定为720后,由高速晶振产生的72MHZ的时钟信号被720分频,得到100000HZ的时钟信号。即时钟信号每秒变动100000次。每次10us。可将重装载值设定为0XFFFF(16位定时器的Zui大值)。因为本次使用的输出比较模式不使用更新中断,该值可随意设置。


TIM_TimeBaseStructure.TIM_Period = 0XFFFF;TIM_TimeBaseStructure.TIM_Prescaler =720;TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);



开启输出比较通道,设置输出比较模式为翻转模式,并配置NVIC,开启输出比较中断,配置输出比较通道:TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;TIM_OCInitStructure.TIM_Pulse = 500;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;TIM_OC1Init(TIM2, &TIM_OCInitStructure);



开启输出比较中断,配置NVIC优先级:




TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);


编写中断服务函数


在输出比较中断中,唯一要做的事情就是把当前CNT的值取出,加上脉冲长度X,写入输出比较寄存器。

当计数器达到0XFFFF(之前设定的重装载值)后,再加一会自动变为0.

例如,当前CNT值为0XFFFF,脉冲长度为5,很明显,输出比较寄存器应设置为0X0004才可触发下一次中断,而不是0X10004,这样会造成溢出。

将CNT的值与脉冲长度相加后,需要取0XFFFF的余数后,再写入输出比较寄存器。


int t_m=5;//低电平和高电平的长度void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET) {    TIM_SetCompare1(TIM2,(TIM2->CNT+t_m)%0XFFFF);    TIM_ClearITPendingBit(TIM2, TIM_IT_CC1);  }}



动态调整中断服务函数中的变量t_m,即可达到修改PWM频率的效果。


关于广东湘恒智能科技有限公司商铺首页 | 更多产品 | 联系方式 | 黄页介绍
成立日期2022年11月17日
法定代表人林海霞
注册资本1000
主营产品西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
经营范围一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;机械设备销售;智能机器人的研发;机械电气设备销售;电气设备修理;信息系统集成服务;阀门和旋塞销售;泵及真空设备销售;工业机器人销售;工业机器人安装、维修;仪器仪表销售;配电开关控制设备销售;软件开发;工业自动控制系统装置销售;电子、机械设备维护(不含特种设备);专用设备修理;计算机软硬件及辅助设备批发;工业工程设计服务;机械设备研发;货物进出口;技术进出口;国内贸易代理。(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)
公司简介广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科技先导、化产品的应用和实 ...
公司新闻
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由广东湘恒智能科技有限公司自行发布,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112