如何把simulink中的组件模块图形旋转?(simulink中的组件模块图形如果要旋转应该怎么做?)

  • 如何把simulink中的组件模块图形旋转?(simulink中的组件模块图形如果要旋转应该怎么做?)已关闭评论
  • 515 次浏览
  • A+
所属分类:随笔创作

Simulink 提供的 Arduino 支持

Simulink提供了对Arduino硬件的支持,可以在Arduino开发板上运行Simulink模型,详细可参考Mathworks的介绍。

运行模式

在Arduino开发板上运行Simulink模型时,常用的有独立运行模式外部运行模式

独立运行模式:指在Arduino开发板上独立运行Simulink模型。我们可以在Simulink里创建,配置模型,然后将模型下载到Arduino开发板。下载完成后,开发板就可以运行Simulink模型了。在这种模式下,开发版可以离开电脑,单独运行。

外部运行模式:这里的外部其实是指Simulink软件的外部,我们可以把Arduino开发板当作Simulink的一个硬件实体模型。在这种模式下,可以使用PC上的Simulink与Arduino开发板进行通讯,实时调试及监控Arduino开发板。如下图的Simulink自带的例子,在外部运行模式时,通过旋转左上角的旋钮,实时改变Arduino的LED(Pin:13)的亮度。

Simulink外部运行模式

外部运行模式所遇到的问题

成功生成模型后,在连接Arduino开发板时,出现 Failed to connect to the target.的错误。

外部模式时的错误内容

原因分析

在外部运行模式时,PC与Arduino开发板通过串口进行通讯。但Simulink默认的波特率为921600,差不多是常用的9600的100倍,而山寨Arduino开发板一般使用的串口芯片为CH340,不能支持这么高的波特率,因此在通信时会出错。

解决方法

使用正版Arduino开发板是最好的解决办法。但是,我们也可以采用降低外部模式的串口通信的波特率来解决这个问题。缺点是因为波特率降低了,实时性会变差。

降低默认波特率的具体方法如下:

codertarget.arduinobase.registry.setBaudRate(mdl,Baudrate)

其中,mdl是当前Simulink模型的名字(例如:untitled),Baudrate是默认波特率(例如:115200)。

实测将波特率降到115200就可以了,如果还是通信不上,也可尝试将波特率改为9600。

效果

1) 将默认波特率改为115200

将默认波特率改为115200

2) 运行模型

外部模式 运行模型

3) 外部模式运行成功

外部模式运行成功

4) 在Simulink里改变旋钮值,观察Arduino开发板LED亮度

旋钮值为10

旋钮值为10时,LED较暗

旋钮值为90

旋钮值为90时,LED较亮

夜行书生