站内搜索
发作品签到
标准版

#第七届立创电赛#基于状态空间的平衡单车

工程标签

8.4k
0
0
38

简介

本项目基于状态空间的智能车控制算法,使用Infineon旗下TC264及Nations旗下N32G430C8L7作为主控芯片,实现给定的状态评价函数最优解求算。

简介:本项目基于状态空间的智能车控制算法,使用Infineon旗下TC264及Nations旗下N32G430C8L7作为主控芯片,实现给定的状态评价函数最优解求算。
第七届立创电子设计开源大赛

开源协议

GPL 3.0

创建时间:2022-06-25 17:15:48更新时间:2022-09-20 09:55:02

描述

题目要求

      本文的题目叫做“基于状态空间的平衡单车”,不知道大家了不了解智能车,由于参加过两届智能车的原因,所以给自己留下来很多那么难忘的回忆,还记得学长说过的一句话“做比赛的目的不是为了拿奖,而是为了学习更多的东西”,大一的时候是实话确实没有感觉到什么,但是现在确实有深深的感触,时间过得太快了,哎,有点感慨了75yfrD9yNLTaVpxron5vZ20hJo2wyplPOD1dEeSC.png,怎么说,希望看到这篇文章的人,继续加油。(希望官方不要生气哈,提了一嘴其他的比赛,其实立创电赛挺好的,嗯 wXDU8K3hX1BaRiYuxx15akoL7paTfuCfCCLO2opV.gif,对于我们这种搞硬件的,真的是一个很不错的机会,起码给了我这一次写这篇文档的机会嘛)

题目分析

    本项目使用TC264及N32G430C8L7,自我感觉其实TC264绝对够用,但是吧,由于参加训练营的原因,所以了解到了N32G430这款芯片,而且还是国产的,那不得走一波bn1xFNL72cWniYeHrIezIgkghimpiooEaC1g2tSo.png,于是第三套板子就出来了,TC264+N32G430,一些简单的让N32G430跑,一些复杂的让TC264跑,一主一副完美搭佩,而且串口通信不也来了DZEUJL9ZkPbWfhLSAocp5r6TitHID2OnNvNOCW91.png

总体设计框图:

ZfHQalnd9FntrkgrakVrZH3oCIkyvq3afsdeM2i0.png

原理图设计说明

(1)主控芯片选择

          TC264:

          ☆ 处理器:TC264,最高主频200MHz,双核TriCore™架构;

          ☆ TriCore™内置的DSP功能;

          ☆ 程序存储器:容量高至2.5MB、带ECC(纠错编码)保护的闪存;

          ☆ 数据存储器:容量高至752KB、带ECC(纠错编码)保护的RAM,用于存储雷达信息和摄像头的图像信息;

          ☆ 96KB EEProm,支持125k个读写周期;

          ☆ 4个12位SAR ADC转换器;

          ☆ 支持100Mbit以太网;

          ☆ 支持FlexRay、CAN、CAN FD、LIN和SPI;

          ☆ 定时器模块(GTM、CCU6、GPT12);

          ☆ 用于实现处理器间通讯的高速串行接口;

          ☆ 用于实时视觉和雷达数据跟踪的2.5 GHz高速轨迹端口;

          ☆ 板上集成DAP电路,通过Mini USB连接电脑进行仿真调试

          ☆ DAP仿真调试接口

          ☆ DC-DC电源芯片TLE42744G V33

          ☆ 30x2,32x1,20x1路扩展口

          N32G430C8L7:

          ☆ 32 位 ARM Cortex-M4 内核+ FPU,支持 DSP 指令和 MPU
          ☆ 内置 1KB 指令 Cache 缓存,支持 Flash 加速单元执行程序 0 等待
          ☆ 最高主频 128MHz,160DMIPS
          ☆ 高达 64KByte 片内 Flash,支持加密存储、分区管理及数据保护,1 万次擦写次数,10 年数据保持
          ☆ 高达 16KByte 片内 SRAM, Stop2 模式保持,Standby 模式可配置为保持
          ☆ 支持 Run、Sleep、Stop0、Stop2、Standby 模式
          ☆ 1 个 12bit 4.7Msps ADC,12/10/8/6bits 可配置,多达 16 路外部单端输入通道, 3 个内部单端输入通道,支持差分模式
          ☆ 3 个高速比较器,内置 64 级可调比较基准
          ☆ HSE: 4MHz~32MHz 外部高速晶体
          ☆ LSE: 32.768KHz 外部低速晶体
          ☆ HSI: 内部高速 RC 8MHz
          ☆ LSI: 内部低速 RC 40KHz
          ☆ MCO: 支持 2 路时钟输出,可配置 SYSCLK、HSI、HSE、LSI、LSE、可分频的 PLL 时钟输出
          ☆ 支持上电/掉电/外部引脚复位
          ☆ 支持看门狗复位、软件复位
          ☆ 支持可编程的电压检测
          ☆ 4 个 U(S)ART 接口,其中 2 个 USART 接口(支持 ISO7816, IrDA,LIN),2 个 UART 接口
          ☆  2 个 SPI 接口,主模式速率高达 18 Mbps,从模式速率高达 32 Mbps,支持 I
          ☆ 2 个 I2C 接口,速率高达 1 MHz,主从模式可配,从机模式下支持双地址响应
          ☆ 1 个 CAN 2.0A/B 总线接口,速率高达 1Mbps

(2)电源模块

          流程图如下图:

          v5uLP6pMHfxuDZrRBYwy8LsGay97aqR5nZxI1lxn.png

          ①稳5V电源模块

              在5V电源模块设计中,我们采用的是DC-DC电源方案,使用的是TI公司开关电源芯片TPS7350产生5V电压为传感器供电,电路中陶瓷旁路电容器可以改善负载的瞬态响应和噪声抑制。

ZJblph8RuPh5L1wuG3EZBvz4qJMGhpG0FmKUZK0R.png

          ②稳3.3V电源模块

              此部分电路采用3.3V稳压芯片RT9013供电,其中核心板也是此芯片供电,其输入和输出端采用无极性电容进行滤波。

                                                                                         YX2oU7AZ8WFXiJb259oQ5RweM97r2WSLcV9pfw7e.pngEZBLanszWPctTTPEvJ0lB6aOCozmhKrnEHkVYOo1.png

          ③电机驱动模块

       电机驱动器采用mos管搭建H桥电路,使用全桥驱动器HIP4082驱动,HIP4082是英特矽尔公司的驱动芯片,它最大输出电压可达80V,输出电流达到1.3A,输入PWM频率最高可达 200Khz,一块HIP4082配合外围电路组成H桥即可驱动一路电机,具有输出电流大,设计方便的特点,完全满足带载电机的需求。

           eNcJnY5giTcdTcF1S92K1Oz2hxHWICpUnn8mzWPO.png

其工作原理如下,打开Q1、Q4,关断Q2、Q3,此时电流可经过Q1、电机M、Q4即可完成电机的正转。如图5.2所示。打开Q2、Q3,关断Q1、Q4,此时电流可经过Q2、电机M、Q3即可完成电机的反转。

93EDiZWRXpI0ZRvxZGxkHAmy0dMUfjH1cDFjz2UI.png

PCB设计说明

  1. 20mil线宽–>1A电流,0.5mm过孔–>1A电流
  2. 原理图检查选项中,将悬浮网络,单端网络,修改成致命错误,然后编译;
  3. 焊盘上不要打孔,容易出现漏锡和立碑;
  4. 扇孔的好处:1)缩短回流路径;2)打孔占位;
  5. 缝合地过孔,减小回流路径,天线部分用地过孔包裹;(晶振同理)
  6. 调整丝印的时候,只打开丝印层,阻焊层,板框层即可;
  7. 电解电容滤除低频信号,独石电容,瓷片电容滤除高频信号;
  8. TPS7350 小压差,最大电流500ma;
  9. 功率开关器件MOSFET,开关速度可达KHz至MHz:
  10. PCB完成后,一定记得DRC检查;
  11. 旁路电容:铝解电容和钽电容比较适合作旁路电容,一般为10~470μ F \mu FμF
  12. 有源晶振需要外接供电,无源晶振只接2个晶振引脚就可以了

软件说明

以下程序为模块测试程序

#include "headfile.h"
#pragma section all "cpu0_dsram"
//将本语句与#pragma section all restore语句之间的全局变量都放在CPU0的RAM中
uint16 duty;//定义舵机占空比控制变量
uint16 speed1,count;//定义电机占空比控制变量及编码器计数变量

//工程导入到软件之后,应该选中工程然后点击refresh刷新一下之后再编译
//工程默认设置为关闭优化,可以自己右击工程选择properties->C/C++ Build->Setting
//然后在右侧的窗口中找到C/C++ Compiler->Optimization->Optimization level处设置优化等级
//一般默认新建立的工程都会默认开2级优化,因此大家也可以设置为2级优化

//对于TC系列默认是不支持中断嵌套的,希望支持中断嵌套需要在中断内使用enableInterrupts();来开启中断嵌套
//简单点说实际上进入中断后TC系列的硬件自动调用了disableInterrupts();来拒绝响应任何的中断,因此需要我们自己手动调用enableInterrupts();来开启中断的响应。
int core0_main(void)
{
    get_clk();//获取时钟频率  务必保留
    //用户在此处调用各种初始化函数等
    //duty = 750;
    count = 2000;
    gtm_pwm_init(ATOM1_CH1_P33_9,50,duty);//舵机PWM接口初始化
    ips114_init();//ips1.14寸屏幕初始化
    //mt9v03x_init();//
    gpt12_init(GPT12_T2,GPT12_T2INB_P33_7,GPT12_T2EUDB_P33_6);//编码器初始化
    gtm_pwm_init(ATOM0_CH6_P02_6,17*1000,count);//电机PWM接口初始化

    //等待所有核心初始化完毕
    IfxCpu_emitEvent(&g_cpuSyncEvent);
    IfxCpu_waitEvent(&g_cpuSyncEvent, 0xFFFF);
    enableInterrupts();

    //注意 从V1.1.6版本之后  printf打印的信息从串口输出具体可以学习库例程Printf_Demo
    //注意 从V1.1.6版本之后  printf打印的信息从串口输出具体可以学习库例程Printf_Demo
    //注意 从V1.1.6版本之后  printf打印的信息从串口输出具体可以学习库例程Printf_Demo
    while (TRUE)
    {
        //用户在此处编写任务代码
        pwm_duty(ATOM1_CH1_P33_9,duty);
        pwm_duty(ATOM0_CH4_P02_4,count);
        //if(mt9v03x_finish_flag)
        //{
            //ips114_displayimage032(mt9v03x_image[0],MT9V03X_W,MT9V03X_H);
            //mt9v03x_finish_flag = 0;
        //}
        speed1=gpt12_get(GPT12_T2);
        gpt12_clear(GPT12_T2);
        ips114_showuint16(0,0,speed1);
    }
}

#pragma section all restore

 

实物展示说明

其实自己做了好多好多版本,主要是想试一下,对,有想法的话,不去试一下怎么可以呢,不说了,上图

ptB8FHIL0a67DBumKMTpuEknsl3gdpFuCtXPu4ea.jpeg

GManWMyzhhucegsD7huNylXvm3P7Tx5gzZQoStYQ.jpeg

BKly7O8WvFceNC3gcCNbrPnWiAmLuuX43MPPOOwM.jpeg

再看

hsA6upyDlWPkmn0w707aUhqXJc56Hp8L5UBKxxrt.jpeg

再看

s68rEerHN18niw1XVpr8ar7FRisKvntaQzkipB2Q.jpeg

nuMI1p9cZPMYxoYXQGJg7ZIzLH4sEtE4BdyAAb0Y.jpeg

7h7tsdYTiyf6TbxNSO4ZO8SyFEWctvk3jgMsakXQ.jpeg

再看

LacaMB9ti7REGSmlIP2SINouB3cXl8PQYzXcRDFL.jpeg

你以为这样就结束了,不

pMQa9WEmg64xaUsnSzIQIevsEI2KoXTxUsWrVGLV.jpeg

……

最终:

XpLuLJAvqogiocQWe4XiEMUHxbdKT5HFKfSgPBzh.pngJQMZIcCIN8x9OcqPDESItagNv6RYZlSzxqn1mVRB.png

演示视频

视频源文件发在了网盘里面,想要的可以下,链接如下:

https://lecloud.lenovo.com/share/wF14vw4HVUYNkE2C

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
屏幕供电电路测试.mp4
100
2
陀螺仪供电电路测试.mp4
78
3
摄像头供电电路测试.mp4
75
4
舵机供电电路测试.mp4
84
5
驱动板电路测试.mp4
73
6
ANO_TC匿名科创地面站v4.34.zip
117
7
Seekfree_TC264_Opensource_Library.rar
30
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航