新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于双核多接口的智能汽车控制系统设计

基于双核多接口的智能汽车控制系统设计

作者:张永康 刘学伟 北京科技大学时间:2009-08-10来源:电子产品世界收藏

  与上位机的通信接口SCI

本文引用地址:http://www.eepw.com.cn/article/97039.htm

  车辆在行驶过程中的运行状况,是无法直接通过观察来得到的,所以我们使用上位机系统来进行实时监控。使用wap200b无线串口模块来发送数据,模块使用3.0V供电,内置高速MCU,数据传输准确率高。单片机与模块间通讯使用标准串口,将其设置为115200波特率、8位数据位、1位停止位、无奇偶校验。一次通讯共发送7个数据。首先发送两个数据作为握手信号分别是0x00和0xFF,之后使用3个字节的数据发送传感器信息,1个字节数据发送角度信息,1个字节数据发送速度信息,最后一位保留位做以后扩展使用,发送0x00。

  键盘与主控芯片的通信接口I2C

  车辆在实际调试时有许多参数需要不停的调试,如PID参数车辆的转角及速度等。设置不同的参数时如果每次都重新下载程序的话会费时费力,所以在这里我们使用键盘来输入车辆行驶时的参数。键盘控制芯片HD7279是一片具有串行接口的,可同时驱动8位共阴极数码管(或64只独立的LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。

  我们使用单片机的4个I/O口来操作HD7279,分别为CS、CLK、DATA、KEY 。在这里我们可以通过键盘来设置一些参数,如PID的Kp、Ki、Kd参数,直线及弯道的速度等。

  A/D模块在采集角速度中的应用

  本系统中A/D转换模块主要用于采集陀螺仪的输出值。由于模拟陀螺造价比较低,而在车模中对角度精度的要求不是很高,所以使用模拟陀螺对车身姿态进行实时校正。MC9S08DZ60内部集成了12位数模转换通道。由于模拟陀螺输出信号范围为0~5V,这样单片机的参考电压为+5V,由高精度稳压模块单独供电,确保转换的精度。对A/D转换后的数据处理程序如下:

  void Gyro_Process(void)

  {

  if(Gyro_Start == 1)

  {

  unsigned int Max,Min,i,Value;

  signed long Sum;

  Gyro_Data_Num = 0;

  while(Gyro_Data_Num < 13)

  {

  Gyro_Collection();//AD转换

  后的数据采集函数

  }

  Gyro_Start = 0;

  for(i=1,Max=0,Min=0xffff,Sum

  =0;i<13;i++)

  {

伺服电机相关文章:伺服电机工作原理




评论


相关推荐

技术专区

关闭