资源描述:
《电磁循迹_信息与通信_工程科技_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、于电磁感应的循迹作者:陈、硬件设计传感器z单片机Stc89c52电机驱动LM298N<>1、传感器模块由10mh的电感与6.8nf电容并联组成谐振电路用丁•检测轨道中的电线产生的交变磁场。由于传感器转换得到的电信号为交流信号口较为微弱,难以被AD模块采集利用,所以需经过检波运放电路处理后输入M)模块再给单片机。因为其信号频率为20kHz,因此口J以采取包络检波将其峰值转换为直流信号,再经过LM358运算放大器进行电压放大(采用电压反馈放大)。2、此次单片机选用51单片机,型号为stc89c52,其操作简单,价格低廉,性能也足
2、以满足设计所需,但由于其片内资源有限,无自带AD模块,所以外加一个16位4路AD模块ADS1115o3、电机驱动模块采用常见的LM298N用于驱动直流电机,并且给其12V供电可引出5v给单片机供电,解决电源问题。检波放大电路图如下:单片机与AD模块连接图如下:软件设计开始V总行命令lie协议读取左右两路AD数字量Al、A2右拐命令(PWM左〉右)左拐命令(PWM右〉左)…参考资料ADS1115中文资料.pdf主要通过lie时序读取返回值,需要配置三个寄存器,POINTERREGISTERThefourregistersar
3、eaccessedbywritingtothePointerregisterbyte;see图30.6and表7indicatethePointerregisterbytemap.表6.RegisterAddressBIT1BITOREGISTER00Conversionregister01Configregister10Lothreshregister11HijhreshregisterCONVERSIONREGISTERThe16-bitregistercontainstheresultofthelastconversio
4、ninbinarytv/oscomplementformat.Followingresetorpower-up,theConversionregisterisclearedto*0',andremains*0*untilthefirstconversioniscompleted.Theregisterformatisshownin表8.CONFIGREGISTERThe16-bitregistercanbeusedtocontroltheADS1113/4/5operatingmode,inputselection,datar
5、ate・PGAsettings・andcomparatormodes・Theregisterformatisshownin表9.详见参考资料。三、调试数码管显示返冋数值,在跑道上纪录直道,左右转各口的数值范围,用于程序调试最终适应相关跑道。(因完成的比较仓促,并未运用PID算法,在低速下足以循迹)四、附录电路仿真图:函故发生器XFG1波形20kHz50%300mVp0V设置上升/T碑时间2S信号选项频率:占空比:振帔:偏置:1实物图:参考程序:#include#inelude#defin
6、eucharunsignedchar#defineuintunsignedintsbitpwm_r=P2A0;sbitpwm_l=P2A1;sbitSDA=P1AO;sbitSCL=P1A1;sbitDU=P2A6;〃数码管段选sbitWE=P2A7;〃数码管位选uintwidthL=39;uintwidthR=37;uintfre=40;inta;ucharcodetable[]={//0123456780x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,//9ABCDEF・关显示0x6
7、F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x80,0x00};数码管位选码====================================*/〃第1位2位3位4位5位6位7位8位ucharcodeT_COM[]={Oxfe,Oxfd,Oxfb,0xf7,Oxef,Oxdf,Oxbf,0x7f};//数码管位码/*5us延时*/voiddelay_5us(){_nop_();}/*lMs延时*/voiddelay(uintz){uintx,y;for(x=z;x>0;x~)for(y=1
8、14;y>0;y-);}voidDisplay(uintValue){//DU=1;P0=table[Value/10000];DU=0;P0=Oxff;WE=1;P0=T_COM[0];WE=0;delay⑶;//DU=1;PO=table[Value%10000/1000