首先 做遥控车目前功:前进退开始停止加速减速左转右转
线发送接收方式pt2262编码pt2272解码
1 测速模块(然没说说)测速方式选择方式红外测速光敏测速查完资料决定光敏测速机械鼠标拆光敏三极通计固定时间低电次数测出转速时出问题三极集电极电压保持17伏左右受然光影响进行密封留进光孔效果错
2 电机驱动部分网流传甚广电路图
11脚出现高电时左边9014导通左边8050右边8550导通实验确实没问题果第1110时高呢?单片机通电引脚瞬间高
电导致两边85508050没电机导通二实验时候反正常出现控制状况左边9014导通电机正常转动三电机整驱动电压76V时9014门极控制45V发现电机转动慢流电机电流04A
电机端电压居然高达十伏慎整电路烧毁
网找电路:
中AB点接电机
电路非常?
首先:两控制端低高电机转80508550均未全部导通存短路情况二两引脚高低时候电机会正常运转
电路驱动力相45V干电池轻易举电机快转控制端接单片机单片机输出口输出1电机未转动IO口电压低想单片机IO驱动力够单片机IO驱动八TTL电路电机控制引脚接13K拉电阻(太太行)然OK电机完全控制中
3:线接收模块:
pt2262pt2272—M4(瞬态型)址端设成样2262发号2272接收接收时VT会输出高脉接非门目产生中断面算语音部分加然想简单点加程序稍作改动未接单片机时接收效果非常远接收接单片机发现2272低电0V高电065V网说单片机端口设置成输出检查遍发现问题想2272址设置关系D0A11引脚单片机引脚初始状态1改成0 数端结果误认成址控制索性2272(D0D3)数端口接反相器74HC04子够收号完全正确
车做出着简单做时候知道锅铁倒馍馍面做
发射部分程序:51单片机控制面准备做语音部分单片机发送容易控制实现半智化电路图程序出
#include reg51h
sbit startP3^3
sbit stopP3^4
sbit qianjP1^2
sbit houtP1^1
sbit zuozP1^0
sbit youzP1^3
sbit jiasP3^1
sbit jiansP3^2
sbit fasheP2^4
void delay_ms(unsigned char nn)
{
unsigned char ijk
for(inni>0i++)
for(j2j>0j)
for(k248k>0k)
}
void main()
{
fashe0
while(1)
{
if(qianj0)
{
delay_ms(10)
if(qianj0)
{
while(qianj)
P20x08前进
fashe1
delay_ms(50)
fashe0
}
}
if(hout0)
{
delay_ms(10)
if(hout0)
{
while(hout)
P20x04
fashe1
delay_ms(50)
fashe0
}
}
if(zuoz0)
{
delay_ms(10)
if(zuoz0)
{
P20x02
fashe1
delay_ms(50)
fashe0
}
}
if(youz0)
{
delay_ms(10)
if(youz0)
{
P20x01
fashe1
delay_ms(50)
fashe0
}
}
if(jias0)
{
delay_ms(10)
if(jias0)
{
P20x0c
fashe1
delay_ms(50)
fashe0
}
}
if(jians0)
{
delay_ms(10)
if(jians0)
{
P20x03
fashe1
delay_ms(50)
fashe0
}
}
if(start0)
{
delay_ms(10)
if(start0)
{
P20x0a
fashe1
delay_ms(50)
fashe0
}
}
if(stop0)
{
delay_ms(10)
if(stop0)
{
P20x05
fashe1
delay_ms(50)
fashe0
}
}
}
}
接收部分程序:
#include reg52h
#include intrinsh
sbit zuoP2^2
sbit youP2^3
sbit qianjP2^0
sbit houtP2^1
sbit p32P3^2
unsigned char p_time0
unsigned char pwmh200
bit flag10 收号标志
bit qh0
*
void delay_ms(unsigned char nn)
{
unsigned char ijk
for(inni>0i++)
for(j2j>0j)
for(k248k>0k)
}
*
void delay_us(unsigned char nn)
{
unsigned char m
unsigned char n
for(m0m
}
void jiasu(void)
{
if(pwmh+5>100)
pwmh100
else pwmh+5
}
void jiansu(void)
{
if(pwmh<30)
pwmh30
else pwmh5
}
void zuoz(void)
{
zuo1you0
delay_us(30)
zuo0you0
}
void youz(void)
{
you1zuo0
delay_us(30)
you0zuo0
}
void start(void)
{
TR01
pwmh30
qh0
}
void stop(void)
{
TR00
pwmh0
}
int0()interrupt 0 using 1{
flag11
}
timer0()interrupt 1 using 1{
p_time++
if(qh0)
{
if(p_time
else {qianj0hout0}
}
if(qh1)
{
if(p_time
else {hout0qianj0}
}
if(p_time255)
p_time0
}
void jieshou(void)
{
unsigned char js
if(flag11)
{
flag10
_nop_()
_nop_()
_nop_()
_nop_()
_nop_()
jsP2&0xf0
switch(js)
{
case 0x00 break
case 0xf0 break
case 0xa0 jiasu() break
case 0x50 jiansu()break
case 0x70 zuoz() break
case 0xd0 youz() break
case 0xe0 qh0 break 前标志位0表示前进
case 0xb0 qh1 break 前标志位1表示退
case 0x60 start() break
case 0x90 stop() break
default break
}
}
}
void init()
{
TMOD0x02 产生pwm
TH00x38
TL00x38
ET01
EA1
EX01
IT01
}
void main()
{
init()
while(1)
{
jieshou()
}
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档