当前位置: 首页 > news >正文

智能平衡移动机器人-MBD开发介绍

目录

软件平台

MBD开发流程

开发环境介绍

MATLAB软件安装

Code Composer Studio软件安装

安装MinGW-w64 C/C++

Simulink高级应用

Code Composer Studio高级应用


软件平台

(1)MATLAB/Simulink:Simulink是美国MathWorks公司推出的MATLAB中的一种可视化仿真工具。Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。Simulink提供图形编辑器、可自定义的模块库以及求解器,能够进行动态系统建模和仿真。 (2)Code Composer Studio:其是代码调试器,代码设计套件,缩写为CCS,可提供强健、成熟的核心功能与简便易用的配置和图形可视化工具,使系统设计更快。Code Composer Studio 包含一整套用于开发和调试嵌入式应用的工具。它包含适用于每个 TI 器件系列的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器以及多种其他功能。

                                         

(3)controlSUITE:其是TI为C2000开发者提供的资料库和参考工具包。在这里面对C2000每个型号都有对应的样例、手册和设计指导。还有各种开发板平台的原理图、PCB图和使用说明。 (4)Embedded Coder Support Packages For Texa instruments C2000硬件支持包:能够生成一个实时可执行文件,并将其下载到TI开发板。Embedded Coder 自动生成C代码,并在方框图中插入I/O设备驱动程序。

MBD开发流程

基于模型设计工程方法(Model-Based-Design):主要针对汽车、飞机、机器人等电控系统、雷达导航等信号处理系统、电力系统、通信系统等较复杂的需要单片机或计算机作为主处理器的控制系统设计,综合采用物理建模、计算机仿真、自动代码生成、软件模型与控制器交互测试验证的一种先进的开发方法。

开发环境介绍

基于模型的设计到代码生成的过程不同于普通的Simulink 建模仿真,其涉及多个软件,均需要根据具体要求进行配置后使用,具体涉及的软件有下列几种。 (1)MATLAB R2020a、Simulink 工具箱及对应芯片的硬件支持包:R2020a 仅支持 64 位操作系统,同时由于其运算能力的提升,要求系统至少有 4G 运行内存;Simulink 是依附于 MATLAB 的一个仿真工具箱,其具有模块精简,参数配置灵活,模型符合实际等优点,广泛应用于航空航天、信号处理、汽车、电机控制、通信行业等。 (2)Embedded Coder 支持包,该支持包由 MathWorks 公司与 Texas Instrument 公司(TI)共同开发提供,提供了配置选项和可以更好地控制生成代码的函数、文件和数据的高级优化选项。Embedded Coder 提高了代码效率,并且能很方便的集成已有代码,数据类型和产品中的标定参数。生成的代码可以在处理器上执行用来验证性能,可以通过 PIL(Processor In Loop)仿真和代码剖析的方法来查看代码在硬件上的运行情况。 (3)Code Composer Studio  9.0.1.00004,以下简称 CCS 9.0.1:该软件为 TI(德州仪器)官方开发的适用于其各系列 DSP 控制器的 IDE(集成开发环境)及编译器软件,其内部集成了 DSP 代码生成工具,数据传输工具,软件项目开发工具等。 (4)ControlSUITE 3.4.5,这个软件相当于为了方便开发TI 各系列芯片所提供的一个工具箱资料集,它包含了C2000 系列及其他各系列芯片所需要的所有头文件与库文件

MATLAB软件安装

     请先在MathWorks官网上购买正版MATLAB R2020a下载安装包以及获取MathWorks账号。安装过程如下所述。 双击打开MATLAB_R2020a_win64安装包

Code Composer Studio软件安装

   下载此软件的网址是 http://processors.wiki.ti.com/index.php/Download_CCS#Code_Composer_Studio_Version_6_Downloads    然后找到Code Composer Studio 9.0.1.00004,Donload Windows并下载,下载完成后的安装包如图所示。

       安装controlSUITE是为了后期生成代码时,MATLAB能够从中找到需要的库文件,头文件和支持代码。进行解压,如图所示,打开controlSUITE3.4.5setup,然后双击运行,选择和CCS同样的安装路径。

安装MinGW-w64 C/C++

Simulink高级应用

   一个典型的Simulink模型包括以下3种类型的模型:信号源模块、被模拟的系统模块、输出显示模块。信号源为系统的输入,它包括常数信号源,函数信号发生器和用户自己在MATLAB中创建的自定义信号。    首先,双击MATLAB图标打开软件,然后在软件界面中Simulink图标处       点击打开。单击Create Model创建新的仿真工程,如左图所示。

Code Composer Studio高级应用

   以两轮平衡移动机器人为例,讲解如何将已有工程的导入并进行运行。    在菜单栏Project选项卡中选择Import CCS Projects,找到工程文件的目录,即可导入到左侧的Project Explorer,如图所示。     CCS 在仿真器支持下的仿真调试功能十分好用,可以帮助我们发现程序中的问题,也可以帮助程序底层硬件的实际操作流程及现象,更好地学习 DSP 的开发与调试。

   1号区域代表程序的运行开始,暂停和中止,以及单步运行,运行入函数,运行出函数。    2号区域可以进行芯片的断开与连接操作,以及 1 号区域可以完成的功能。    3号区域是仿真状态栏,观察仿真的状态。    4号区域是程序界面,可以在其中设置断点,观察程序是否能顺利运行到断电,方便调试。    5号区域有三个选项卡,expressions 是我们可以在程序界面中添加全局变量到此处进行观测,register 顾名思义是能够观测所有的芯片内部寄存器,这个区域右上角有个实时刷新的功能按钮 ,点开后就可以以一个较高的速度实时刷新来观测寄存器以及变量的值。    6号区域是内存观测区,输入变量内存地址就可以查到对应内存地址中的值。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Golang | Leetcode Golang题解之第397题整数替换
  • CAN总线物理层知识点详解及大厂CAN总线高频面试题
  • 贪心-用最少的箭射球
  • 端口大全说明,HTTP,TCP,UDP常见端口对照表
  • 数据流图例题
  • SQL的基本语句(2024年9月最新版 入门级)
  • Python应用指南:获取行政区最小外接矩形
  • containerd二进制安装
  • React第二章(开发环境搭建 )
  • 78-java 多线程如何共享数据
  • 一篇文章了解Pytest单元测试框架
  • Vue3前端框架学习记录
  • Leetcode sql high frequency questions 50 (based)
  • Go日志系统
  • 【Go】-Gin框架
  • [LeetCode] Wiggle Sort
  • [译] React v16.8: 含有Hooks的版本
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Apache的80端口被占用以及访问时报错403
  • javascript从右向左截取指定位数字符的3种方法
  • java中具有继承关系的类及其对象初始化顺序
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Python实现BT种子转化为磁力链接【实战】
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 浅谈Golang中select的用法
  • 如何合理的规划jvm性能调优
  • 数组的操作
  • 用简单代码看卷积组块发展
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • ​2020 年大前端技术趋势解读
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #pragma once与条件编译
  • #QT 笔记一
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (C语言)逆序输出字符串
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (MATLAB)第五章-矩阵运算
  • (ros//EnvironmentVariables)ros环境变量
  • (ZT)一个美国文科博士的YardLife
  • (二十三)Flask之高频面试点
  • (过滤器)Filter和(监听器)listener
  • (六)c52学习之旅-独立按键
  • (转)http-server应用
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .netcore 获取appsettings
  • .NET运行机制