电磁组智能车简介ppt课件.ppt
,电磁组智能车,brief introduction,2013Dec.11th,Freescale Smart Car,catalog,电磁组小车运行原理,控制方法,硬件介绍,编译环境,一、电磁组小车运行原理,1.车模通过感应由赛道中心导线产生的交变磁场进行路径检测,2.要让小车自己沿着赛道跑就要让小车能通过传感器的信号自动的识别当前所处的位置,以及距离赛道中心的大概距离。我们通过制作传感器来采集模拟信号,然后传给单片机,然后编程来实现小车位置的判别以及控制小车采取相应动作。,2、控制方法,磁PID算法:,速度PID算法:,PID控制算法:,测量关心的变量,与期望值相比较,用这个误差纠正调节,为了控制舵机打角,控制系统的响应。主要用了偏差控制:采集、计算偏差,修正偏差,以使控制量趋近于目标值。,为了控制电机速度的恒定,系统框图,三、硬件介绍,1.电磁传感器(即电感),2.光电编码器,3.电机,4.舵机,5.车模,6.主控芯片电路板,1、16位单片机所用编译软件:CodeWarrior,四、编译环境,2、32位单片机所用编译软件:IAR,Hello Tomorrow!,Projects,Programs,/*/*! * brief Kinetis Identify * return None * * This is primarly a reporting function that displays information * about the specific CPU to the default terminal including: * - Kinetis family * - package * - die revision * - P-flash size * - Ram size */|void cpu_identify (void)| /* Determine the Kinetis family */| switch(SIM_SDID | ,/*/Volume serial number is 706C-C11EEXTI.H#ifndef _EXTI_H_#define _EXTI_H_typedef enum exti_cfg zero_down = 0 x08u, /低电平触发,内部下拉 rising_down = 0 x09u, /上升沿触发,内部下拉 falling_down = 0 x0Au, /下降沿触发,内部下拉 either_down = 0 x0Bu, /跳变沿触发,内部下拉 one_down = 0 x0Cu, /高电平触发,内部下拉 /用最高位标志上拉和下拉 zero_up = 0 x88u, /低电平触发,内部上拉 rising_up = 0 x89u, /上升沿触发,内部上拉 falling_up = 0 x8Au, /下降沿触发,内部上拉 either_up = 0 x8Bu, /跳变沿触发,内部上拉 one_up = 0 x8Cu /高电平触发,内部上拉+- exti_cfg;void exti_init(PORTx, uint8 n, exti_cfg);#endif| if (MC_SRSH /*/ -Headers: /* SRSH Bit Fields */#define MC_SRSH_JTAG_MASK 0 x1u#define MC_SRSH_JTAG_SHIFT 0#define MC_SRSH_LOCKUP_MASK 0 x2u#define MC_SRSH_LOCKUP_SHIFT 1#define MC_SRSH_SW_MASK 0 x4u#define MC_SRSH_SW_SHIFT 2/* SRSL Bit Fields */#define MC_SRSL_WAKEUP_MASK 0 x1u#define MC_SRSL_WAKEUP_SHIFT 0#define MC_SRSL_LVD_MASK 0 x2u#define MC_SRSL_LVD_SHIFT 1#define MC_SRSL_LOC_MASK 0 x4u#define MC_SRSL_LOC_SHIFT 2#define MC_SRSL_COP_MASK 0 x20u#define MC_SRSL_COP_SHIFT 5#define MC_SRSL_PIN_MASK 0 x40u#define MC_SRSL_PIN_SHIFT 6#define MC_SRSL_POR_MASK 0 x80u#define MC_SRSL_POR_SHIFT 7/* PMPROT Bit Fields */#define MC_PMPROT_AVLLS1_MASK 0 x1u#define MC_PMPROT_AVLLS1_SHIFT 0#define MC_PMPROT_AVLLS2_MASK 0 x2u#define MC_PMPROT_AVLLS2_SHIFT 1#define MC_PMPROT_AVLLS3_MASK 0 x4u#define MC_PMPROT_AVLLS3_SHIFT 2#define MC_PMPROT_ALLS_MASK 0 x10u#define MC_PMPROT_ALLS_SHIFT 4#define MC_PMPROT_AVLP_MASK 0 x20u#define MC_PMPROT_AVLP_SHIFT 5,Thanks,