基于pid算法的图像处理智能车控制系统设计内容摘要:
[9] 孙同景、陈贵友,《 Freescale 9S12 十六位单片机原理及嵌入式开发技术》,机械工业出版社, 2020 [10] 王威,《 HCS12微控制器原理及应用》,北京航空航天大学出版社, 2020 [11] 赵广林,《常用电子元器件识别 /检测 /选用一读通》,电子工业出版社, 2020 19 19 附 录 附录 A 算法源程序 include include uint8 SCI_Finish_Flag=0。 uint8 DMA_Finish_Flag=0。 unsigned char L_BlackEndL=0。 unsigned char L_BlackEndM=0。 unsigned char L_BlackEndR=0。 unsigned char LL_BlackEndL=0。 unsigned char LL_BlackEndM=0。 unsigned char LL_BlackEndR=0。 unsigned char *Source_image。 unsigned int Time。 unsigned char Cross_Time。 unsigned char Cross_flag。 unsigned char FaChe=0。 unsigned char kai_Start_Line=0。 void Cross_Stop(void) { if(Cross_flag==1) { Cross_Time++。 if(Cross_Time75) { 20 20 Cross_flag=0。 } } } void Start_TwoMiao(void) { static unsigned char i=0。 if(FaChe==1amp。 amp。 Work_Mode==1) { if(i200) { i++。 if(i150) { FaChe=0。 Work_Mode=0。 //Motor_PWM=1500。 Motor_Base=Speed_Base。 } } } } void main(void) { //uint32 count=0。 //uint8 j=0,a=0。 //uint16 ADValue。 //unsigned char cross_Recognition=0。 DisableInterrupts。 All_Init()。 EnableInterrupts。 21 21 enable_irq(87)。 //使能 A 口中断 , A24 场中断 enable_irq(90)。 //使能 D 口中断 , D6,D7 enable_irq(68)。 //定时器 0 enable_irq(69)。 //定时器 1 LED_P8x16Str(0,0,000)。 Excursion=0。 Per_E=0。 Last_Per_E=0。 Motor_PWM=0。 Time=0。 Cross_Time=0。 Cross_flag=0。 // if(gpio_get(PORTA,14)==1 amp。 amp。 gpio_get(PORTA,16)==1 ) //保守速度 // { // Speed_Max=135。 // Speed_Min=125。 // straight_Speed=135。 // } // else if(gpio_get(PORTA,14)==0 amp。 amp。 gpio_get(PORTA,16)==1 ) //最大速度 // { // Speed_Max= // Speed_Min=90。 // straight_Speed=140。 // } // else if(gpio_get(PORTA,14)==0 amp。 amp。 gpio_get(PORTA,16)==0 ) //中档速度 // { // Speed_Max=150。 22 22 // Speed_Min=140。 // straight_Speed=140。 // } // else if(gpio_get(PORTA,14)==0 amp。 amp。 gpio_get(PORTA,16)==0 ) // { // Speed_Max=150。 // Speed_Min=110。 // straight_Speed=150。 // } for(。 ) { //cross_Recognition=0。 if Control_one if(DMA_Finish_Flag==0) //DMA 传输完成 { //gpio_ctrl(PORTA,16,1)。 //Servo_PWM=5350。 SCI_Finish_Flag=1。 Denoising(uc_FrameBuffer_Even[0])。 //去噪 EdgeDetection(uc_FrameBuffer_Even[0],EdgeData[0])。 //提取边缘 Get_Edge(uc_FrameBuffer_Even[0])。 //求边缘 //SCI()。 if(XuXian_Flag==1) { //XuXian_Find(uc_FrameBuffer_Even[0])。 23 23 } //SCI()。 if(White_Row_End!=IMAGE_ROW1 amp。 amp。 White_Row_End10) { Cross_Connect()。 } //SCI()。 Edge_Filtering()。 //边缘滤波 Edge_Repair()。 Cross(1)。 //SCI()。 // if(cross_Recognition!=1) //{ Repair_Edge()。 //} New_Control()。 //Servo_PWM=5450。 //Servo_PWM=4600。 //Servo_PWM=6300。 if(Work_Mode==0) { //Motor_Control()。 Motor_PWM=2020。 } //Key()。 SCI()。 //Project()。 //gpio_ctrl(PORTA,16,0)。 AT_LED_P8x16Str(30,0,L_Edge_Zero_StartRow1)。 24 24 AT_LED_P8x16Str(62,0,L_Edge_Zero_End1)。 AT_LED_P8x16Str(30,2,R_Edge_Zero_StartRow1)。 AT_LED_P8x16Str(62,2,R_Edge_Zero_End1)。 AT_LED_P8x16Str(104,2,(L_Edge_Zero_StartRow1+L_Edge_Zero_End1)/2)。 AT_LED_P8x16Str(104,4,(R_Edge_Zero_StartRow1+R_Edge_Zero_End1)/2)。 AT_LED_P8x16Str_4w_int(0,4,L_Inflexion_Slope_Value)。 AT_LED_P8x16Str_4w_int(48,4,Left_Inflexion_Point)。 AT_LED_P8x16Str_4w_int(0,6,R_Inflexion_Slope_Value)。 AT_LED_P8x16Str_4w_int(48,6,Right_Inflexion_Point)。 AT_LED_P8x16Str(104,0,XuXian_Flag)。 AT_LED_P8x16Str(104,6,Find_Base_Edge_Flag)。 SCI_Finish_Flag=0。 DMA_Finish_Flag=2。 } elif Control_two if(ImageOverEven==TRUE) { //AT_LED_P8x16Str_4w(48,6,ADValue)。 Source_image=uc_FrameBuffer_Even[0]。 ////gpio_ctrl(PORTA,16,1)。 Denoising(uc_FrameBuffer_Even[0])。 //去噪 EdgeDetection(uc_FrameBuffer_Even[0],EdgeData[0])。 //提取边缘 Get_Edge(uc_FrameBuffer_Even[0])。 //求边缘 if(XuXian_Flag==1) { 25 25 //XuXian_Find(uc_FrameBuffer_Even[0])。 } if(White_Row_End!=IMAGE_ROW1 amp。 amp。 White_Row_End10) { Cross_Connect()。 }。基于pid算法的图像处理智能车控制系统设计
相关推荐
,用 p 来表示加加速度,则当加加速度 p 较大时,人的大脑感到晕眩、痛苦,其影响比加速度 a 的影响还严重。 我们也称加加速度为生理系数,在电梯行业一般限制生理系数 p 不超过。 电梯的速度曲线 当轿厢静止或匀速升降时,轿厢的加速度、加加速度都是零,乘客不会感到不适;而在轿厢由静止启动到以额定速度匀速运动的加速过程中,或由匀速运动状态制动到静止状态的减速过程 中,既要考虑快速性的要求
,快速性,操作的便捷性以及强劲的通信能力的前提下,选择成本更低的。 因此选择西门子 S7200可编程控制器来作为主要 的控制装置。 S7200系列的 PLC 具有极高的可靠性,丰富的指令集,易于掌握,便捷的操作,丰富的内置集成功能,实时特性,强劲的通信能力,丰富 9 的扩展模块,适用于各行各业各种场合的检测监测及自动化控制的需要。 S7200系列的 PLC 是整体式结构,根据其规模的的大小
西红灯亮10s,同时南北绿灯平光亮 5s,再闪烁亮 3s,然后南北黄灯亮 2s,依次循环下去,在此过程中,数码管跟随红灯亮的 10s 开始显示时间的减少,一直的循环。 白天时,按下开关 S3,提前进入夜间模式,当此时按 S2 时,交通灯控制系统可以关断,但夜间模式时按 S4 键进入不了强制通行状态,因夜间一般不会出现强制通行的任务。 白天模式时、按下 S4,交通灯进入强制通行状态
2.管脚说明: VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏 极 开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 1时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0外部必须被拉高
了智能车的速度检测模块,该模块的作用就是实时的给单片机提供智能车行驶速度,智能车通过传感器感应到的路面信息经过单片机处理后就能判断出此时智能车所处的状态,通过对赛道的分析我们知道所处的状态不同,智能车所要求达到的车速也是不同的,这就要求智能车在判断完状态后检测当前车速,看车速是否符合当前状态,如速度值小于给定车速,则将驱动电机 PWM 输入的占空比置为 100%,若速度大于给定车速则将电机的
程控制器( PLC)是微电子技术、继电器控制技术和计算机及通信技术相结合的新型通用的自动控制装置。 PLC 具有体积小、功能强、可靠性高、使用方便、易于编程控制、适于工业应用环境等一系列优点,因此广泛应用于各行业的控制系统中,如机械制造、电力、交通、轻工、食品加工等行业。 PLC 既可用于旧设备改造,也可用于新产品开发,在机电一体化、工业自动化等方面应用极其广泛。 可编程控制器(