智能车用PWM控制,设置前行,程序没有错误,为什么车子两个轮的转速不同,有什么解决办法没有呀

智能车用PWM控制,设置前行,程序没有错误,为什么车子两个轮的转速不同,有什么解决办法没有呀,第1张

你好,先给个程序,下面这个程序肯定是没问题的,你看看拷进去能不能同速运行,如果还不能的话,看一下你的车子是不是那种传动结构很多的(一个轮子与电机之间3个齿轮以上就算是了),是的话,调整一下齿轮等的结合让两个轮子的摩李高擦力什么的相同就行了,一般情况下这种车很难调整的。肯定有效的解决方法是买个码盘,也不贵呗,加个自动调速系统(简单的比较一下转速,然后用if语句调整PWM占空比就好了)可以保证走直线。程序如下:

#include<reg51.h>

/*定义按键和L298N引脚*/

sbit BZ1=P0^0 sbit IN1=P2^0

sbit BZ2=P0^1 sbit IN2=P2^1

sbit BF1=P0^2 sbit IN3=P2^2

sbit BF2=P0^3 sbit IN4=P2^3

sbit BJIA1=P0^4

sbit BJIA2=P0^5

sbit BJIAN1=P0^6

sbit BJIAN2=P0^7

/*函数声裂扰谨明*/

void delay(t)

void Z1()

void Z2()

void F1()

void F2()

void JIA1()

void JIA2()

void JIAN1()

void JIAN2()

void change()

char W=0//W用来在调速状态下选择电机;

int t1=80,t2=80

/*延时函数*/

void delay(int t)

{while(t--)}

/*正转函数1*/

void Z1()

{IN1=1IN2=0W=1}

/*正转函肆基数2*/

void Z2()

{IN3=1IN4=0W=1}

/*反转函数1*/

void F1()

{IN1=0IN2=1W=2}

/*反转函数2*/

void F2()

{IN3=0IN4=1W=2}

/*加速函数1*/

void JIA1()

{t1+=10}

/*加速函数2*/

void JIA2()

{t2+=10}

/*减速函数1*/

void JIAN1()

{t1-=10}

/*减速函数2*/

void JIAN2()

{t2-=10}

/*停止*/

void TING()

{IN1=IN2=IN3=IN4=0}

/*制动函数*/

void ZHI()

{IN1=IN2=IN3=IN4=1}

/*按键信号*/

void change()

{

if(BZ1==0){Z1()delay(t1)TING()delay(255-t1)}

if(BZ2==0){Z2()delay(t2)TING()delay(255-t2)}

if(BF1==0){F1()delay(t1)TING()delay(255-t1)}

if(BF2==0){F2()delay(t2)TING()delay(255-t2)}

if(BJIA1==0&&t1<235){delay(5)JIA1()}

if(BJIA2==0&&t2<235){delay(5)JIA2()}

if(BJIAN1==0&&t1>80){delay(5)JIAN1()}

if(BJIAN2==0&&t2>80){delay(5)JIAN2()}

if(BZ1==0&&(BZ2!=0&&BF1!=0&&BF2!=0)){delay(255)}

if(BZ2==0&&(BZ1!=0&&BF1!=0&&BF2!=0)){delay(255)}

if(BF1==0&&(BZ1!=0&&BZ2!=0&&BF2!=0)){delay(255)}

if(BF2==0&&(BZ1!=0&&BZ2!=0&&BF1!=0)){delay(255)}

}

/*主程序*/

void main()

{

P0=0xff

while(1)

{change()}

}

编辑单片机芯片对应的引脚内容需要使用相应的开发工具和软件。以下是一些常用的编辑方法:

1. 使用IDE集成环境:许多单片机厂商提供了专门的集成开发环境(IDE),可以在其中进行编程、调试和编辑等 *** 作。通过打开特定项目或文件,可以找到与芯片引脚相关联的代码,并进行修改。

2. 使用独立编程器:有些单片机则没需要使用独立编程器来进行程序下载和调试,这种方式通常需要手动输入或者导入芯片引脚定义文件,在其中编辑相应内容。薯岁

3. 修改头文件:如果您正在使用C语言或其他高级语言来编写程序,则可以直接修改头文件中与芯片引脚相关联的定义。例如,在Arduino IDE中,您可以打开“pins_arduino.h”文件并更改相应部分以适配不同型号的Arduino板子。

无论采用哪种方法,请务必小心谨慎地 *** 作,孙手纳并确保备份重要数据以防止意外丢失。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12445198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存