yzwzfyz 发表于 2022-10-31 09:43 大佬 能详细地指导下吗? 你这有点多我有点懵 |
1、前进:DIR=1,给出一个脉冲,间隔一个时间TJ,再给出一个脉冲,再间隔一个时间TJ,再……。 2、后退:DIR=0,给出一个脉冲,间隔一个时间TJ,再给出一个脉冲,再间隔一个时间TJ,再……。 3、做个定时器,时常数就是TJ,这样每间隔一个TJ,给出一个脉冲就可以了,转向只要切换DIR。 4、关键点:把TJ做成变量,让每次的TJ都可以变化。 加速:每发一个脉冲就将TJ-N。例如:起步,将TJ调到最大,如:800ms,而后每次-5:800-5,800-5*2,800-5*3,800-5*4……,直到速最快:例如=10ms。 减速:每发一个脉冲就将TJ+N。例如:当前TJ=25,而后每次+10:25+10,25+10*2,25-10*3,25+10*4……,直到你满意的速率。 换向:不要立即改变DIR,而是先减速,停止时(你认为可以了),再改变DIR,再从起动开始加速。 5、TJ的最小值(最快速)、最大值(停止前)、加减速的N量,自己根据负载大小实践一下就可以得到了。 运行离开不了物理概念,主要是牛顿的加速度定律, 记住:先做方案,再画出流程图,走通流程图、再写程序。 |
gongnn 发表于 2022-10-29 12:22 大佬 这个程序不行 跟我的差不多 想让它来回转动的话 这样貌似不太行 |
Hephaestus 发表于 2022-10-29 21:02 用的是共阳极接法DIR+接的是正5V, DIR-接的才是I/O口 应该接线没问题吧 |
初学者Captain 发表于 2022-10-29 19:19 测一下驱动器DIR+、DIR-两者之间的电压,很可能是接错了。 |
gongnn 发表于 2022-10-29 19:57 试过了 还是不太行 |
单片机有没有供电,接线对不对。单片机定时器有没有。 程序再简化点,切换dir方向后直接用delay函数延时试试。 |
Hephaestus 发表于 2022-10-29 12:07 改了 还是不行 |
gongnn 发表于 2022-10-29 12:22 大佬 你这个跟我的是一样的把 都是只会往一个方向转到底,并不能使其来回转动啊 |
Hephaestus 发表于 2022-10-29 12:07 我试了下 电机还是只会往一个方向运行 |
改DIR就来回动了,为什么你不改? |
不知道该如何调试 使其来回转动 |