G05B19/042
1.本发明专利涉及一种基于凌阳16位单片机的电动车跷跷板,本发明采用自制的电动 小车,以凌阳16 位单片机(SPCE061A)作为小车的检测和控制核心,以两相混合式步进电机 42BYG021驱动,通过数字式双轴倾角传感器(ZCT245AL-485)以15HZ的频率实时采集跷跷板 的倾角信息,并采用模糊控制算法对步进电机的转速和转向进行调节,再辅助以螺旋桨的 微调,以准确到平衡点位置。
2.根据权利要求1所述的一种基于凌阳16位单片机的电动车跷跷板,其特征在于,本发 明采用单光束反射取样式光电传感器RPR220探测黑线以实现循迹前进。
3.根据权利要求1所述的一种基于凌阳16位单片机的电动车跷跷板,其特征在于,本发 明对步进电机的控制采用细分驱动技术,大大改善了步进电机的运行品质。
4.根据权利要求1所述的一种基于凌阳16位单片机的电动车跷跷板,其特征在于,本发 明可在较短时间内完成自动上板,通过跷跷板,寻平衡点等任务,并对任务完成时间进行 语音播报。
一种基于凌阳16位单片机的电动车跷跷板
技术领域
本发明专利涉及电子设计技术领域,尤其涉及一种基于凌阳16位单片机的电动车 跷跷板。
背景技术
世界各国均面临常规能源短缺和环境保护的双重压力,各种新型发电形式的开发 和应用,对缓解当前的能源压力有着非常重要的作用,生活中各种各样的能量没有充分利 用,白白浪费掉。在公园、游乐园、小区健身区,都有跷跷板的身影,深受青少年的喜爱,而且 青少年体力充沛,在活动过程中能够释放出巨大的能力,跷跷板运动的过程中产生了圆周、 直线、撞击等多种机械能,都没有得到充分的利用,白白浪费掉,非常可惜。
附图说明
图1:系统模块框图。
图2:系统详细结构框图。
图3:系统总体硬件连接图。
图4:电路连接图。
图5:红外传感器电路图。
图6:音频放大电路图。
图7:总程序流程图。
图8:平衡点查函数流程图。
发明专利内容
本发明专利涉及一种基于凌阳16位单片机的电动车跷跷板,本发明采用自制的电动小 车,以凌阳16 位单片机(SPCE061A)作为小车的检测和控制核心,以两相混合式步进电机 42BYG021驱动,通过数字式双轴倾角传感器(ZCT245AL-485)以15HZ的频率实时采集跷跷板 的倾角信息,并采用模糊控制算法对步进电机的转速和转向进行调节,再辅助以螺旋桨的 微调,以准确到平衡点位置;本发明采用单光束反射取样式光电传感器RPR220探测黑线 以实现循迹前进;本发明对步进电机的控制采用细分驱动技术,大大改善了步进电机的运 行品质。本发明可在较短时间内完成自动上板,通过跷跷板,寻平衡点等任务,并对任务 完成时间进行语音播报。
具体实施方式
为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合附图及实施 例,对本发明专利进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释 本发明专利,并不用于限定本发明专利。
本发明专利涉及一种基于凌阳16位单片机的电动车跷跷板,本发明采用自制的电 动小车,以凌阳16 位单片机(SPCE061A)作为小车的检测和控制核心,以两相混合式步进电 机42BYG021驱动,通过数字式双轴倾角传感器(ZCT245AL-485)以15HZ的频率实时采集跷跷 板的倾角信息,并采用模糊控制算法对步进电机的转速和转向进行调节,再辅助以螺旋桨 的微调,以准确到平衡点位置。
进一步的,本发明采用单光束反射取样式光电传感器RPR220探测黑线以实现循迹 前进。
进一步的,本发明对步进电机的控制采用细分驱动技术,大大改善了步进电机的 运行品质。
进一步,本发明可在较短时间内完成自动上板,通过跷跷板,寻平衡点等任务, 并对任务完成时间进行语音播报。
进一步,本发明采用自制电动小车,以单片机作为智能小车的检测和控制核心,通 过两相混合式步进电机驱动,根据倾角传感器采集的数据,对步进电机的转速和转向进行 PID反馈调节。当小车的大概位置确定后,步进电机停止转动,启动直流电机,带动安装在直 流电机上的螺旋桨,通过空气的反冲力微调力矩,以准确到平衡点位置。系统使用了红外 对管,通过黑线的引导可实现小车自动上板并对小车在板上的运动进行准直。在板的两端 设置标志,当红外传感器检测到标志时通知MCU控制小车停下,执行下一步预设动作。系统 模块框图如图1所示。
进一步,本发明使用数字式双轴倾角传感器ZCT245AL-485。内部集成了角度传感 器,A/D转换器,可以输出数字量。具有零点设定,响应频率调整,波特率可选等功能。采用金 属壳封装,抗震动性能好。频率响应2-15HZ可调。测量范围为正负45度,分辨率可达0.1度。
进一步的,考虑到在本发明中需要对小车的位置和速度进行精确控制,并且需要 小车快速启停,最终本发明决定采用两相混合式步进电机42BYG021。该步进电机的测试曲 线如图2所示,本发明中,步进电机工作在低速状态,可以提供足够大的扭矩。
进一步的,在跷跷板上贴宽度为2cm的黑线,采用发射接收一体化的单光束反射取 样式光电传感器RPR220作为敏感元件,利用红外线对不同颜的反射系数不同而产生强弱 电流信号,该方案受外界环境的影响比较小,抗干扰性比较强。
进一步,本发明决定了系统各模块采用的最终方案如下:
(1)主控单元:凌阳16位单片机SPCE061A;
(2)循迹模块:发射接收一体化红外传感器RPR220;
(3)倾角检测模块:数字式双轴倾角传感器(ZCT245AL-485);
(4)驱动模块:两相混合式步进电机42BYG021+TA8435细分驱动芯片;
(5)微调模块:直流电机+L298驱动芯片+塑料螺旋桨;
(6)语音播报模块:单片机自带D/A+基于SPY0030的功率放大电路+扬声器;
(7)计时模块:DS1302;
(8)时间显示模块:CH451+LED数码管。
进一步,系统总体硬件连接如图3所示。
进一步,TA8435H是二相步进电机细分驱动专用芯片,电路连接如图4所示,该电路 用一片TA8435H来驱动一个步进电机,输入信号有使能控制、正反转控制和时钟输入,通过 光耦可将驱动器与输入级进行电隔离,以起到逻辑电平隔离和保护作用;该电路工作在1/8 细分模式,可减小低速时的振动,R4和C1组成复位电路,四个快恢复二极管可用来泄放绕组 电流。
进一步的,考虑到设计要求,本发明采用6对光电传感器,中间四对传感器用来校 正小车的寻迹路线,保证小车运行的直线性。两侧的传感器用来实现小车的转弯。电路连接 如图5所示。
进一步的,由于SPCE061A精简开发板上已经集成语音录入和播放模块,而且集成 开发环境下提供了语音函数库,使用起来方便易行,本系统直接采用该开发板的语音功能 就可以了。该模块电路如图6所示。
进一步的,本发明总的工程程序包括初始化程序、倾角查询程序、步进电机控制程 序、循迹程序、直流电机控制程序、语音播报程序、数码管显示程序、时钟芯片读取程序等部 分。软件流程流程如图7所示,平衡点查函数流程如图8所示。
进一步的,本发明的程序代码如下:
#include "car_base.h"
#include "motor_speed_shift.h"
#include "obliquity.h"
#include "dis_time.h"
#include "voice_Driver.h"
#define P_Watchdog_Clear (volatile unsigned int *) 0x7012
#define P_INT_Ctrl_New (volatile unsigned int *)0x702D // Same as P_INT_Mask
extern unsigned int R_flag;
extern unsigned int L_flag;
extern unsigned int Now[7];
unsigned int wait_count;//实现计数5秒钟
unsigned int sum_timer;
void wait_five();
void main()
{
Unsigned int status;
sum_timer=0;
status= check_state();//判断状态,基本还是发挥部分
if(status==1)
{
timer();//启动时钟
car_go_line(700,200);//
car_trace_start();
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的, 其中每秒钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
sum_timer=get_now_time();
timer();
car_trace_stop();
car_base_balance();
wait_five();
sum_timer+=get_now_time();
//在这里关断保持平衡的中断
obliquity_stop();
car_trace_start();ppppppppppppppppppp
timer();
//等待5秒钟,如何完成
car_go_line(680,200);//这两个参数都学要调整
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调 用的,其中每秒钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
car_trace_stop();pppppppppppppppppppppppppp
sum_timer+=get_now_time();
timer();
//等待5秒钟
wait_five();
//car_trace_start();ppppppppppppppppppppppppppppppp
car_go_line(-1380,200);//返回//这两个参数都学要调整
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的, 其中每秒钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
car_trace_stop();
sum_timer+=get_now_time();
timer_stop();
show_sum_time(sum_timer);
play_sum_time(sum_timer);
else
{
car_go_line(700,200);//
car_trace_start();
while(R_flag||L_flag)//在这里完成寻迹函数的应用,寻迹是在中断中调用的, 其中每秒//钟调用10次寻迹函数,是用IRQ4的2khz中断
{
*P_Watchdog_Clear=1;
}
car _balance();//寻平衡
wait_five();//等待5秒
car_trace_start();
timer();
wait_five();
//等待5秒钟,如何完成
Car_balance();//再次查平衡
Play_timer();//播放时间
}
}
temp&=0xfff7;
*P_INT_Ctrl_New=temp;
}
以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明 专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保 护范围之内。
本文发布于:2024-09-24 09:19:20,感谢您对本站的认可!
本文链接:https://www.17tex.com/tex/1/72630.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |