Arduino端准备
想要Arduino端的控制,还需要向Arduino中烧写已经下载的pde文件,其位置位于加压缩后的Arduino IO文件夹下的pde文件中。通过u***线缆将Arduino uno与电脑连接,点击GUI中添加的按钮,即可实现远端控制功能。
我们介绍了,在Matlab中建立一个Arduino GUI的过程。下面将继续介绍如何在Arduino端进行软件准备。
软件调试可以在Arduino连接至电脑端就可以进行。
下面将作者自己在其中遇到或者大家可能会遇到的问题一一总结如下:
(
1)已经编写完成的Matlab程序已经绑定了通信口COM8,执行Matlab程序出现如下提示
Error using Arduino (line 83)
Could not open port: COM8
Error in Arduinomatlab>Arduinomatlab_OpeningFcn (line 60)
a=Arduino('COM8');
首先保证你的开发板已经连接至PC机,而且通过设备管理器查看端口是否与程序中设置的相同。
(2)在保证上述已经完成的情况下,依然提示出错
Error using Arduino (line 54)
Port COM8 already used by MATLAB
这很可能是你中间断开了Arduino的连线或者重新编译了程序,你需要在Matlab中执行
delete(instrfind({'Port'},{'COM8'}))
然后重新连接即可。
(3)Arduino连接至PC端,但是不能烧写上期Blogger中的pde文件,这时候要排除IDE编译环境中可能存在的问题
1 下载最新的IDE环境(http://Arduino.cc/en/Main/Software#toc2)
2 安装手动方式更新驱动
3 注意更改软件中TOOLs下面的“Board”和“serial port”选项,按照自己所使用Arduino进行修改。
下面将介绍如何配置硬件外围
电路,来为实验做最后准备。
为Arduino UNO开发板连接外围电路,包括直流电机、led灯等外围器件。
使用到的元器件
下图是Arduino与直流电机的接口电路。
我们再分析各部分功能
1 开关
2 直流电机
3 二极管
4 MOSFE管
由于Arduino的最大驱动电流是40mA,远远小于电机驱动所需的电流。这里我们使用一个MOSFET(当然可以使用三极管代替),来使Arduion的小电流来控制电机的通断。
而电机属于电感性负载,在启停阶段可能会由于电感存在产生一个很大反向电压,可能会损害我们的MOSFET,这里使用一个二极管来使电流沿着一个方向流动,从而保证电机对其余电路的影响。
9V电源为电机转动供电,当我们直接将其连接至直流电机两侧时,会发现电机将会全速转动。
在实验中,我们手上只有一个直流电机,所以另外一只的控制我们使用led灯来模拟,注意要接上一只220欧的电阻进行限流。
在完成基本的软件和硬件的准备工作后,我们现在进入最终的测试阶段。
操作顺序:
1 将Arduino通过u*** 线缆连接至PC
2 打开Matab,将当前文件夹设为我们从matlab官网下载的并解压缩的Arduino IO
3 双击打开Arduinomatlab.fig,弹出控制界面
4 点击按钮观察电机的转动,如果在Matlab提示出错信息,请尝试下面解决方法
5 执行“clear”清除变量;执行“ delete(instrfind({'Port'},{'COM8'}))”,并重新拔掉再插上线缆以创建新的通信连接,重复操作步骤1。