完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
亲爱的专家,
我是L9942驱动IC的新手。 我目前正致力于该IC用于汽车安全应用中的步进电机控制。 我附上了一个用于与L9942进行SPI通信的'c'程序。我使用的控制器是一个8位控制器。以下是其他细节: 控制器:PIC 16F877ASPI用于8位模式(仅8位可用)SPI通信的模式0用于通信的波特率为3Mhz(对此有疑问)L9942的16位寄存器值在两个8位整数变量中初始化后这些变量(两个8位变量)一个接一个地发送,使CSN连续保持低电平。所有8个寄存器都遵循相同的顺序。程序的顺序如下所示,用于编程所有8个寄存器。 保持CSN高初始将CSN转换为低转发第一个8位(MSB优先)转移第二个8位(MSB优先)将CSN推送到高位以下内容不明白: 有时输出电压波形(电机输出)平稳且电机正常运行,但有时电机没有响应,有时波形也不规则。当STEP频率增加或减少时,电机启动移动。 SPI通信是否不正确?8位控制器能否正常与8位SPI模式的L9942通信?通信的波特率应该是多少?我理解,如果一旦加载了所有8个寄存器值,L9942将负责驱动具有正确STEP输入的电机..是否正确?我理解,当必须改变方向时,只需重新加载第一个寄存器,将程序计数器位保持为0 ......是否正确?停止阈值设置为8位(D0至D7)。根据数据表,间隔为16us。所以它只能有2 ^ 8 = 256,因此255X16us = 4080us。 4080us可以设置的最大阈值时间是什么?Stall位何时设置?在我的情况下,我使用的是线性执行器。因此,当它达到线性极限位置的末端时,电机仍会尝试移动,但线性滑块不会移动。这会设置失速位吗?请参考我附带的c程序并帮助我。 问候, M.Siva #spi #spi#l9942#l9942 以上来自于谷歌翻译 以下为原文 Dear Experts, I am new to L9942 Driver IC. I am currently working on this IC for a stepper motor control in automotive safety application. I have attached a 'c' program written for SPI communication with L9942. The controller which I am using is a 8 bit controller. The following are the other details:
Regards, M.Siva #spi #spi #l9942 #l9942 |
|
相关推荐
2个回答
|
|
非常感谢您的感谢。
目前,步进电机正在向后移动并向前移动。对寄存器0的方向输入变化没有响应,有时它向前移动,有时它向后移动以便在寄存器0输入相同的方向。我也编程了所有寄存器中的当前配置文件值,请查看我的寄存器initialization0b 000 0000010011001 //寄存器0 0b 001 1000000000000 //注册1 0b 010 0011000000010 //注册2 0b 011 1000100001100 //注册3 0b 100 1101000010110 //注册4 0b 101 1111000011101 //注册5 0b 110 0000000011111 //注册6 0b 111 0000000000000 //注册7 还有什么方法可以将电机停在某个位置?要么关闭PWM输入(无论如何电流停留在线圈中)或关闭启用?从L9942 IC接收的故障位有什么用?我没有设定失速的阈值时间,这是电机这种行为的原因吗? D0到D7阈值采用什么单位或ms或s?请帮我解释一下。 提前致谢。 问候, M.Siva 以上来自于谷歌翻译 以下为原文 Very thankful for your grateful reply.
0b 001 1000000000000 //register 1 0b 010 0011000000010 //register 2 0b 011 1000100001100 //register 3 0b 100 1101000010110 //register 4 0b 101 1111000011101 //register 5 0b 110 0000000011111 //register 6 0b 111 0000000000000 //register 7
Thanks in advance. Regards, M.Siva |
|
|
|
亲爱的先生,
感谢您的大力支持。 尝试使用AN2650程序设置STALL阈值,当STALL阈值为00000000时未设置STALL,但当值为00000001时,STALL设置。仅仅16us的时间段就设置了失速。 STEP输入频率为400 HZ,使用全步进模式。那么,是否还有其他参数必须注意正确的失速阈值?失速阈值设置是否也应考虑STEP输入频率?对于STEP输入频率的变化,电机不平稳并停止旋转。这是什么原因?对于全步进,电机仅在380到420 Hz之间平滑,并且只有在超过1 KHz时才进行微步进。当参考STEP输入详细信息的数据表时,只给出了所需的最短时间。还有什么需要注意的吗?停止电机的正确方法是什么?是否禁用EN(启用输入)是唯一的方法?提前感谢 问候, M.Siva 以上来自于谷歌翻译 以下为原文 Dear Sir, Thank You for your great support.
Regards, M.Siva |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2653 浏览 1 评论
3214 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1788 浏览 1 评论
3617 浏览 6 评论
5996 浏览 21 评论
945浏览 4评论
1318浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
590浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1308浏览 3评论
1368浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 19:56 , Processed in 0.940033 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号