完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PWM调速后,小车黑线寻迹两个电机一起开动时调速起到作用,一个电机开动时未起到调速作用。
请问大家这是什么原因? 附上程序源码. track.h #ifndef __congig_H__ #define __config_H__ ***it IN1 = P1^2; //为1 左电机反转 ***it IN2 = P1^3; //为1 左电机正转 ***it IN3 = P1^6; //为1 右电机正转 ***it IN4 = P1^7; //为1 右电机反转 ***it EN1 = P1^4; //为1 左电机使能 ***it EN2 = P1^5; //为1 右电机使能 ***it left_led = P3^4; ***it right_led = P3^2; #define left_motor_en EN1 = 1 #define right_motor_en EN2 = 1 #define left_motor_back IN1 = 1;IN2 = 0 #define left_motor_go IN1 = 0;IN2 = 1 #define right_motor_go IN3 = 1;IN4 = 0 #define right_motor_back IN3 = 0;IN4 = 1 #define left_motor_stop EN1 = 0 #define right_motor_stop EN2 = 0 #define unit unsigned int #define uchar unsigned char #endif track.c #include #include uchar pwm_left_val = 200; uchar pwm_right_val = 200; uchar pwm_t; void timer0() interrupt 1 { pwm_t++; if(pwm_t == 255) pwm_t = EN1 = EN2 = 0; if(pwm_left_val == pwm_t) EN1 = 1; if(pwm_right_val == pwm_t) EN2 = 1; } void forward() { left_motor_go; right_motor_go; } void left_run() { left_motor_stop; right_motor_en; right_motor_go; } void right_run() { right_motor_stop; left_motor_en; left_motor_go; } void main() { TMOD = 0x02; TH0 = 220; TL0 = 220; TR0 = 1; ET0 = 1; EA = 1; while(1) { if(right_led == 0&&left_led == 0) forward(); if(right_led == 0&&left_led == 1) left_run(); if(right_led == 1&&left_led == 0) right_run(); } } |
|
相关推荐
5个回答
|
|
看波形。。。
|
|
|
|
还是不懂,两个电机驱动时电机速度调节到慢速,但此时当一个电机驱动时,转速很快,调速没有起到作用。。?
|
|
|
|
看了波形么?
|
|
|
|
这样吧,建议先不用定时器部分,直接在主函数中调速其中一个电机,如:
void main(void) { unsigned int i=20,j=10; while(1) { i+=10; if(i>255) { i=20; } j=100; while(j--) { delay(i); //启动电机 delay(255-i); //失能电机 } } } |
|
|
|
delay()函数你自己定个合适的单位,看看单个电机是否可调速,如果这样可以的话,那就查程序逻辑问题,等你的试验结果,微信:baofeng_zouyu
|
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9004 浏览 16 评论
4052 浏览 18 评论
1115浏览 3评论
573浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2303浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1860浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 21:16 , Processed in 1.350972 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号