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

【轮式平衡机器人】——软硬件配置/准备

本系列以轮式平衡移动机器人为例,将使用基于模型设计(MBD)方法进行介绍,涉及基础硬件、软件、控制算法等多方面内容,结合MATLAB/Simulink的强大仿真能力和代码生成能力辅助设计!在此过程中可以系统了解开发全流程,学习到各种知识!

一、软件配置

1、MATLAB/Simulink

很熟悉,不再赘述,也可见以下系列

《Simulink系列》专栏icon-default.png?t=N7T8http://t.csdnimg.cn/d4NDP

第2和3都可以看作软件包,服务于Simulink。

2、controlSUITE

TI(德州仪器)为C2000开发者提供的资料库和参考工具包。其中C2000每个型号都有对应的样例、手册和设计指导,还有各种开发板平台的原理图、PCB图和使用说明。安装该软件的目的是在生成代码的过程中,matlab可直接从中找到编译时所需的头文件、库文件和支持代码。与Code Composer Studio一样的安装路径,都在c或d盘的ti文件夹

安装步骤这个博客写的很详细icon-default.png?t=N7T8https://blog.csdn.net/weixin_42042288/article/details/110044979

软件主页面如下:

3、Embedded Coder Support Packages 

全称Embedded Coder Support Packages for Texa Instruments C2000硬件支持包,能够生成一个实时可执行文件,并将其下载到TI开发板。自动生成C代码,并在方框图中插入I/O设备驱动程序。这个可以在matlab主页面,直接找到获取硬件包下载。

它其实可看作C2000 Simulink开发工具包,打开Matlab软件,单击“附加功能”下的三角,然后单击“获取硬件支持包”,这时一般会出现matlab检测不是正版无法下载的情况(需要续订),这时需要用另外的方法。

其他方法icon-default.png?t=N7T8https://blog.csdn.net/qq_32892383/article/details/130630557

把下载的setup放在工程目录下,双击即可启动安装。

4、Code Composer Studio(CCS)

是一个代码调试器,代码设计套件,缩写为CCS,可提供强大的核心功能与便捷的配置和图形可视化工具。包含一整套开发和调试嵌入式应用的工具,包含使用于每个TI器件系列(德州仪器的模拟器件)的编译器、源码编辑器、项目构建环境、调试器、描述器、仿真器等。集成了DSP代码生成工具、数据传输工具等,主要用于生成可以烧写进芯片的执行文件,这是纯matlab所不具备的。

CCS下载官网icon-default.png?t=N7T8https://www.ti.com/tool/download/CCSTUDIO/9.0.1.00004

点击接受

路径中c可改为d,但是其他最好别改,防止后续与matlab互相读取数据错误。

这里只选择C2000 real time MCUs,如果有其他需要可以多选。

这里保持默认即可,有需要可以多选。

点击finish,完成安装。

软件界面如下:

在CCS软件中可以添加2,3两个包

总结下来我们下载的app有两个:MATLAB/Simulink和Code Composer Studio(CCS)、软件包两个:controlSUITE和Embedded Coder Support Packages !

二、硬件准备

使用软件平台(算法和模型)搭建而成代码需要在硬件实验平台上进行实验,硬件平台主要分2部分:

1、机械部分

铝合金板若干、电源(充电宝)、电动机、编码器、轮胎、安装支架、紧固件若干、排线、数据线等。这些用于承载控制板,保证实验的稳定性和可靠性。

2、电控部分

(1)主控制板:运行控制程序,实现控制信号的输出与外部电平的采集。包括仿真电路主控芯片,保证主控板在脱离其他模块时也能独立仿真与程序的运行,所有功能引脚通过Forest S1引脚引出。

主控芯片选择TIC2000系列 DSP控制芯片 TMS320F28069。JTAG 相关引脚 与 FT2232 相连,除 了 LED 灯 与 KEY 用 到 的 I/O 口 以 及 CAN connector接口,其余功能引脚引到主控板的P2和P3处(见Forest S1部分示意图)

仿真电路采用的是 XDS100V2 仿真器,对 TI全系列芯片兼容。首先将 USB 口的5V 电压通过 TLV1117LV33电压转换芯片转换到3.3V 为主控 TMS320F28069芯片以及 USB转串口芯片 FT2232H 供电,仿真电路与主控电路通过多通道的数字隔离芯片ISO7240、ISO7231与主控电路进行电磁隔离,保证主控电路的稳定运 行;其中93LC56BT-IOT 为2KB的 Microwire兼容串行的 EEPROM,用于存储烧写的仿真器固件。

(2)电源板:将锂电池的电压转换到主芯片、驱动芯片及传感器合适的工作电压。充电宝的输出电压一般为12V,使用 XL2596S 将 12V 转 化 为 5V,使用 TLV1117LV33将5V 转化为 3.3V。得到的5V 与3.3V 通过 ForestS1引脚对外输出,而12V 则单独通过tb1向电动机驱动板输出。

(3)驱动板:驱动电机运行。结合有刷直流电动机的原理,平衡移动机器人采用的是 TI公司的 TB6612系列的有刷直流电动机驱动芯片TB6612电动机驱动芯片有两个全桥电路可以同时驱动两个直流无刷电动机,其中一个简单的PWM 接口便可以方便地对控制器电路进行接入,峰值输出电流 为2A,宽电源电压范围为2.7~10.8V。

(4)传感器模块:陀螺仪加速度计传感器、蓝牙通信模块、显示器。

加速度计传感器使用Invensense公司的 MPU6050系列芯片,集成了三轴加速度 计和陀螺仪,可实现对各个方向角度和速度的解算。通过IIC 接口可以进行3个方向的加 速度信号和角速度信号的读取。

蓝牙串口采用的是德州仪器的 CC2541系列芯片,支持 AT 指令,功耗低,收发灵敏度高,具有宽泛的电源电压范围,不使用外部前段 而支持长距离应用,可以通过蓝牙4.0协议快速地与手机、计算机等设备建立连接,从而接 收串行数据,实现远程遥控。

显示器采用OLED。

(5)Forest S1控制底板:其引脚引出各种外设的功能接口,集成度高,使用便捷,示意图如下。

其引脚与主控芯片的连接关系如下:

硬件部分的准备成本太大,可以先不用硬件,先熟悉整个开发流程即可,后续可需求软件平台进行硬件仿真!

往期精彩

STM32专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/E2F88

OpenCV-Python专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zK1jV

AI底层逻辑专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zic0f

机器学习专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/SjIqU电机控制专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FNWM7 

相关文章:

【轮式平衡机器人】——软硬件配置/准备

本系列以轮式平衡移动机器人为例,将使用基于模型设计(MBD)方法进行介绍,涉及基础硬件、软件、控制算法等多方面内容,结合MATLAB/Simulink的强大仿真能力和代码生成能力辅助设计!在此过程中可以系统了解开发…...

中国联通助力吴江元荡生态岸线打造5G+自动驾驶生态长廊

吴江,素有“鱼米之乡”“丝绸之府”的美誉,其地理位置优越,地处太湖之滨。近年来,随着长三角生态绿色一体化发展示范区(以下简称“示范区”)的建立,元荡更是声名大噪,成为众多游客心…...

小白准备蓝桥杯之旅(c/c++b组)

前言:省赛获奖比例高达百分之60,只要比一半的人努力,你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分,c比c多个stl库优势,c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天,坚持每天做…...

Flutter GetX 之 国际化

今天给大家介绍一下 GetX 的国际化功能,在日常开发过程中,我们经常会使用到国际化功能,需要们的应用支持 国际化,例如我们需要支持 简体、繁体、英文等等。 上几篇文章介绍了GetX的 路由管理 和 状态管理,看到大家的点赞和收藏,还是很开心的,说明这两篇文章给大家起到了…...

349. 两个数组的交集(力扣)(OJ题)

题目链接:349. 两个数组的交集 - 力扣(LeetCode) 个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 给定两个数组 nums1 和 nums2 &a…...

安全帽识别-赋能深圳自贸中心智慧工地

在当今的建筑行业中,安全管理一直是一个至关重要的议题。深圳自贸中心项目在这方面进行了一次有益的尝试——实施智慧工地安全帽识别系统。本文将对这一创新举措进行简要介绍。 项目背景 深圳自贸中心,作为一项标志性建设项目,承载着城市发展…...

代码之外:工程师的成长进阶秘籍

程序员只懂技术能行吗? 为什么说技术人员“说”和“写”总得擅长一个? 你以为的“关注结果”是真的结果吗? 从一线工程师跃升团队管理者一共分几步? 在不断变化的职场环境中,技术人如何保持竞争力并实现自我增值&a…...

openssl3.2 - 官方demo学习 - smime - smsign2.c

文章目录 openssl3.2 - 官方demo学习 - smime - smsign2.c概述笔记END openssl3.2 - 官方demo学习 - smime - smsign2.c 概述 PKCS7联合签名 从N张证书中, 分别得到N对(x509和私钥) 对明文进行签名(只是指定了bio_in和flag), 得到pkcs7* 对此pkcs7进行附加签名者的操作(指定证…...

6.C++对象模型

一.成员变量和成员函数分开存储&#xff1a; 在C中&#xff0c;类的成员变量和成员函数分开存储&#xff0c;只有非静态成员变量在属于类的对象上。 1.空对象的所占内存大小&#xff1a; //成员变量和成员函数分开存储 class Person {};void test() {Person p;cout << &…...

AbstractHttpMessageConverter + easyexcell优雅下载附件

介绍 AbstractHttpMessageConverter 是 Spring 框架中用于处理 HTTP 消息转换的抽象基类。它用于处理来自 HTTP 请求的消息,并将其转换为特定的 Java 对象,或者将 Java 对象转换为 HTTP 响应消息。 这个抽象类允许开发人员创建自定义的 HTTP 消息转换器,以便在 Spring MVC…...

虚拟线程探索与实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 虚拟线程是轻量级线程&#xff0c;极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能&#xff0c;并在JDK 19中发布&#xff0c;JDK 21中最终确定虚拟线程&#xff0c;以下是根据开发者反馈…...

openssl3.2 - 官方demo学习 - mac - poly1305.c

文章目录 openssl3.2 - 官方demo学习 - mac - poly1305.c概述笔记END openssl3.2 - 官方demo学习 - mac - poly1305.c 概述 MAC算法为Poly1305, 加密算法为AES-128-ECB, 用key初始化加密算法 加密算法进行padding填充 对加密算法的key加密, 放入MAC_key后16字节, 将MAC_key的…...

【Python 千题 —— 基础篇】不吉利的数字

题目描述 题目描述 在西方,“13”被称为不吉利的数字,这是因为耶稣与13个弟子共进晚餐时耶稣的第13个弟子出卖了耶稣,且耶稣受难的日期是13日。所以西方的门牌号会跳过13号,假设这栋楼有16户,请为这栋楼的每一户设立门牌号。 输入描述 无 输出描述 依次输出这栋楼每…...

3d模型未响应打不开怎么办---模大狮模型网

在进行3D建模和设计工作时&#xff0c;有时可能会遇到3D模型无法打开的情况&#xff0c;这给工作流程带来了困扰。本文将为您介绍一些常见的原因以及解决3D模型未响应无法打开问题的方法。 一、文件格式检查 首先&#xff0c;确保您使用的文件格式与所使用的软件兼容。不同的3…...

Java-NIO 开篇(1)

NIO简介 高性能的Java通信&#xff0c;离不开Java NIO组件&#xff0c;现在主流的技术框架或中间件服务器&#xff0c;都使用了Java NIO组件&#xff0c;譬如Tomcat、 Jetty、 Netty、Redis、RabbitMQ等的网络通信模块。在1.4版本之前&#xff0c; Java IO类库是阻塞式IO&…...

VSCode 插件推荐

前言 关于开发用的插件就不做赘述了&#xff0c;网上面有很多文章都做了推荐&#xff0c;本文推荐几个好看的插件。 文件图标主题 Vscode icons Material Icon Theme 字体主题 推荐 One Dark Pro 其他 推荐一个生成好看代码的网址 https://carbon.now.sh/...

摄像部分时序

&#xff08;1&#xff09;.,后摄像。 &#xff08;2&#xff09;.,前摄像。 RCAM_TO_LEDDRV_STROBE_EN_CONN表面意思是:后置摄像头到led驱动闪光灯_使能。从时序图中看起来是连接到U17的&#xff0c;发现果然如此。 闪光灯温度检测&#xff0c;是检测闪光灯的温度。所以时序图…...

为什么 Golang Fasthttp 选择使用 slice 而非 map 存储请求数据

文章目录 Slice vs Map&#xff1a;基本概念内存分配和性能Fasthttp 中的 SliceMap性能优化的深层原因HTTP Headers 的特性CPU 预加载特性 结论 Fasthttp 是一个高性能的 Golang HTTP 框架&#xff0c;它在设计上做了许多优化以提高性能。其中一个显著的设计选择是使用 slice 而…...

C#设计模式教程(7):适配器模式

适配器模式的定义 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口之间能够相互合作。适配器的作用是解决那些因接口不兼容而不能一起工作的类的问题,它通过包装一个类的接口转换成另一个期望的接口。 适配器模式主要分为两种: 类适配器(Class Ad…...

1818:红与黑【解析】-------深度优先搜索

1818:红与黑 描述 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻的黑色瓷砖移动。请写一个程序&#xff0c;计算你总共能够到达多少块黑色的瓷砖。 输入 包括多个数据集合。每个数据集合的第一行…...

实验三 Oracle数据库的创建和管理

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…...

Mysql:重点且常用的 SQL 标签整理

目录 1 <resultMap> 标签 2 <sql> 标签 3 <where> 标签 4 <if> 标签 5 <trim> 标签 6 <foreach> 标签 7 <set> 标签 1 <resultMap> 标签 比如以下代码&#xff1a; <resultMap type"SysCollege" id&qu…...

云锁防火墙编译安装nginx-plugin模块

一般情况下&#xff0c;当用户安装云锁的时候&#xff0c;云锁会自动适配nginx版本&#xff0c;使用我们已经预编译好的包含云锁模块的nginx备份并替换掉您当前系统中使用的nginx。卸载时&#xff0c;会将系统原始nginx文件替换回来。因此&#xff0c;云锁可保护使用nginx搭建的…...

【服务器数据恢复】服务器迁移数据时lun数据丢失的数据恢复案例

服务器数据恢复环境&服务器故障&#xff1a; 一台安装Windows操作系统的服务器。工作人员在迁移该服务器中数据时突然无法读取数据&#xff0c;服务器管理界面出现报错。经过检查发现服务器中一个lun的数据丢失。 服务器数据恢复过程&#xff1a; 1、将故障服务器中所有磁盘…...

6.4.2转换文件

6.4.2转换文件 利用Swf2VideoConverter2可以很方便地将Flash动画(*.swf)转换为其它的视频格式。 1&#xff0e;单击“添加”按钮&#xff0c;在弹出的下拉菜单中选择“添加文件”&#xff0c;在弹出的“Open Swf Files(打开Swf文件)”窗口中选择swf文件(如&#xff1a;那些花…...

智能驾驶新浪潮:SSD与UFS存储技术如何破浪前行?-UFS篇

如果说SSD是赛道上的超级跑车&#xff0c;那UFS更像是专为智能汽车定制的高性能轻量化赛车。UFS采用串行接口技术&#xff0c;像是闪电侠一样&#xff0c;将数据传输的速度推向新高&#xff0c;大幅缩短了系统启动时间和应用程序加载时间&#xff0c;这对追求即时反应的ADAS系统…...

TS 学习笔录(持续更新中)

TS学习笔录 1、TS 数据类型有哪些&#xff1f;2、元组是什么&#xff1f;3、union&#xff08;联合类型&#xff09;& Literal&#xff08;字面量类型&#xff09;?4、any 和 unknown 的区别&#xff1f;5、Object 对象类型&#xff1f;6、type 、interface 、 class 之间…...

RabbitMQ安装和使用

简介 RabbitMQ是一套开源&#xff08;MPL&#xff09;的消息队列服务软件&#xff0c;是由LShift提供的一个Advanced Message Queuing Protocol (AMQP) 的开源实现&#xff0c;由以高性能、健壮以及可伸缩性出名的Erlang写成。所有主要的编程语言均有与代理接口通讯的客户端库…...

使用pyechart创建折线图

import json from pyecharts.charts import Line from pyecharts import options# 首先使用文件打开数据 f_us open(Desktop/python/Project/数据可视化/美国.txt,r,encoding"UTF-8") f_rb open(Desktop/python/Project/数据可视化/日本.txt,r,encoding"UTF-8…...

Vue3+Ts:使用i18n实现国际化与全局动态下拉框框切换语言

Vue3Ts&#xff1a;使用i18n实现国际化与全局动态下拉框框切换语言 一、下载依赖&#xff1a;二、创建ts文件并配置main.ts三&#xff0c;如何使用1.在<template>中使用2.在setup中使用 四、全局下拉框动态切换 一、下载依赖&#xff1a; npm install vue-i18nnex二、创…...