Skip to content

Jiazhen-Lei/Three_Wheel_Car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Three_Wheel_Car

Designer:Jiazhen-Lei & ZhaoGY-N

硬件设计

核心控制单元

  • 使用深圳优信电子公司最小系统板,主控使用STM32F103C8T6,引脚均通过排针引出,具备最小系统板几乎所有功能;

  • 连接L298N双路全桥式电机驱动板用于电机驱动。PA8、PA9、PA10分别用于TIM1_CH1、TIM1_CH2、TIM1_CH3三通道PWM控制输出,PA0、PA1、PA6、PA7、PB6、PB7用于TIM2、TIM3、TIM4用于编码器模式;

  • 使用自焊接洞洞板作为扩展电源板;

  • 装载paj6902u2手势姿态识别模块,采用IO模拟IIC时序进行通信,用于读取手势识别信息,PB0、PB1用于IOIIC的SCL和SDA引脚输入输出;

  • 装载MPU6050姿态模块,采用IO模拟IIC时序进行通信,用于读取陀螺仪偏航角数据信息,PC14、PC15用于IOIIC的SCL和SDA引脚输入输出;

  • USART2用于连接HC05蓝牙模块,使用全双工协议,用于与手机上位机通信;

  • USART3用于连接激光单元,目前仅使用RX作为接收激光单元主动数据的发送;

激光单元

  • 使用自制板卡,主控使用STM32F103C8T6,根据项目所需功能和可扩展激光模块,使用三态门作为切换串口RX和TX的收发状态,3.3V稳压模块满足主控芯片和VL53L0X的不同额定电压供电需求,串接两个3pin端子便于多个激光单元级联使用。
  • 装在VL53L0X激光测距模块,采用IO模拟IIC时序进行通信,用于读取手势识别信息,PB8、PB9用于IOIIC的SCL和SDA引脚输入输出;
  • 作为从机,上电即运行,IWDG用于防止程序卡死,而自动复位;

结构示意图

1

激光单元电路板(使用Altium Designer 20设计)

电路板

三轮小车结构设计(使用SolidWorks2018设计)

SW图

软件设计

核心控制单元

  • 程序工程框架采用自底向上的编程思路,主要分为HARDWARE、DEVICE、APP三个部分组成,其中:

    • HARDWARE:为硬件驱动层,包含定时器、串口、GPIO配置等相关.c&.h文件,主要作用于配置STM32片上外设;

    • DEVICE:为器件驱动层,包含运动相关电机和编码器、MPU6050姿态传感器、蓝牙通信模块、激光通信模块、手势识别paj7620u2模块等相关.c&.h文件,及相应IOIIC的引脚配置,主要作用于配置最小系统板外连接外设;

    • APP:为应用层,包含PID算法及运动控制、延时函数、主逻辑控制等相关.c&.h文件,主要作用于综合HARDWARE和DEVICE相关外设,综合控制项目上所需的逻辑;

  • 由于深圳优信电子公司最小系统板STM32F103C8T6相对片上外设数目较少,再加之使用定时器的编码器模式较多,于是复用TIM1用于PWM占空比调节和系统时间计时作用;

  • 采用时间片轮询思想,利用TIMER1产生Systick自加,对不同的频率需求的模式进行轮询标志位控制。对需求较高PID进行4KHz定时,而对四种模式的控制精度选择200Hz的定时轮询标志位,当接收到该模式标志位置1时,进行相应进程,对于蓝牙收发包进行20Hz轮询,LED交替闪烁进行8Hz翻转;

  • 核心控制单元与激光单元之间采用自定数据报通信,具体协议格式如下:
    激光板协议

从机激光单元可以串接以满足项目所需,可扩展性强,通过硬件三态门作为收发转换器调节DATA数据总线上的接收发送状态,不同发送单元通过数据报中ID号进行区分和应答。

激光单元

  • 程序工程框架同样采用自底向上的编程思路,主要分为HARDWARE、DEVICE、APP、tool四个部分组成,其中:

    • HARDWARE:为硬件驱动层,包含定时器、串口、GPIO、看门狗配置等相关.c&.h文件,主要作用于配置STM32片上外设;

    • DEVICE:为器件驱动层,主要为VL53L0X飞行激光测距传感器模块的相关.c&.h文件,主要作用于激光单元板外连接外设;

    • APP:为应用层,包含测距和协议等相关.c&.h文件,主要作用于综合HARDWARE和DEVICE相关外设,综合控制项目上所需的逻辑;

    • Tool:为工具层,包含整形转换为字符串的.c&.h文件,主要用于为其他层提供相应服务

  • 采用看门狗,在while主循环中正确接收到VL53L0X读取的距离值时进行喂狗,在超出作用距离或发生死机时停止喂狗,当溢出进行自动复位排除隐患;

  • 激光单元与核心控制单元之间采用自定数据报通信协议,具体格式如上;

  • 根据本次项目当前所需,串口USART1始终工作在发送模式,通过定时器定时20ms进行距离数值的串口发送给核心控制单元;

文件结构图

文件结构

单片机流程图

单片机流程图1

上位机

上位机

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published