matlab传感器 matlab 让日常手机成为传感器和摄像头
matlab 让日常手机成为传感器和摄像头
我们生活中经常会问遇到手机拍照内存不够该怎么办?朋友圈经常看到各种运动轨迹 APP记录的跑步路线图,我们感到好玩,但是我们不禁还想问如何实现的呢?其实这都和手机中的传感器有关。手机是一个高度集成的电子产品,除了能通讯外,他还集中了很多的传感器,包括加速度、角速度、磁场、方向、位置。那么上面有关拍照上传或者读取传感器数据的问题都可以用matlab 软件实现,以下讲进行讲解。
一、硬件准备:智能手机一部、电脑一台;
二、软件准备:安卓/iso手机安装Matlab mobile;
电脑安装matlab版本需要在R2014以上版本,且需要安装MATLAB Support Package for Android Sensors in MATLAB/MATLAB Support Package for Apple iOS Sensors in MATLAB、matlab driver connector和相应的mapping tool box
手机数据到电脑的原理图如下图,这里需要注意的是在移动端和PC端的matlab软件需要使用同一账户登录。
1、手机安装Matlab mobile
警告需要许可证编号升级,否则无法使用,可以通过进入官网获取一个月试用权限。选择流式传输至Matlab。
使用自己的邮箱账号进行注册和登记(手机版登陆的matlab账号)
在手机上打开matlab mobile 可以正常使用,打开传感器,可以看到传感器记录的息。如上图所示。
2、电脑Matlab drive connector等软件安装
Matlab大家都比较熟悉了,这里就不再介绍。从网上下载,如下图安装Matlab drive connector,手机上的matlab mobile记录数据信息后,会发送到云端,电脑上的matlab可以通过Matlab Drive Connector在云端接收到这些信息,然后对数据进行处理。
3、Matlab Mobile 记录数据
如下图箭头所示进如软件,选择传感器都为启动状态,并且在“更多”选项中打开摄像头。
点开箭头所示位置进入命令行界面输入
clear;
m=mobiledev;
如下图,点击开始,手机进行记录数据数据。然后就可以拿着手机沿着待测量的路径行走。
数据记录结束后,点击停止,结束记录数据
如上图右图 手机软件中输入命令:
[lat, lon, t, spd] = poslog(m);
posdata.lat = lat;
posdata.lon = lon;
posdata.t = t;
posdata.spd = spd;
save('posdata.mat','posdata');
4、电脑 Matlab 进行数据处理和显示
之后进入matlab 跳转到Drive connector文件夹中可以看到保存的mat文件
打开matlab ,跳转到Drive connector文件夹中运行,以下代码,结果如下图
load('posdata.mat');
lat=posdata.lat;
lon=posdata.lon;
spd=posdata.spd;
t=posdata.t;
t=t-t(1);
wm=webmap('World Street Map');
s=geoshape(lat,lon);
wmline(s,'color','red','width',3);
5、同理拍照
根据以上介绍,解决拍照空间不足的问题,我们可以解决。只需要在上面介绍的3、Matlab Mobile 记录数据中存储传感器代码换为如下即可。
clear;
close all;
clc;
%相机数据采集
m=mobiledev;
c=camera(m,'back')
while 1
img=snapshot(c,'immediate');%打开后置摄像头
img=imresize(img,[227,227]);%图像resize
pause(0.2)
try
imwrite(img,'get.jpg');%保存
end
end
运行结束后我们可以在Drive connector文件夹中可以看到保存的相机get文件,这样我们就可以不占用手机内存,把相片发送到matlab云端,进而转移到我们的电脑里。
搞定电路设计之适于树莓派的±10V模拟输入和±15V模拟输出IO模块
虽然世界继续更加数字化,计算能力和数字功能愈发关键,但测量环境和与实际器件交互的需求仍然是一种模拟功能。为了在数字和模拟域的边界运行,处理器必须包括混合信号输入/输出,并适应更多的软件可编程范围,从而支持许多工业、仪器仪表和自动化应用。
图1所示的电路是一个灵活的多通道混合信号模拟输入/输出(I/O)模块。16个单端模拟输出可通过软件配置,支持范围为0V至5V、±5V、0V至10V和±15V。8个全差分模拟输入通道的输入范围为0V至2.5V、±13.75V和0V至27.5V,可通过硬件进行选择。
图1.ADI CN0554简化功能框图
该电路可直接安装在树莓派的顶部,为这款受欢迎的单板计算机提供模拟I/O接口。可通过Linux工业输入/输出(IIO)框架访问软件控制,提供各种调试和开发实用程序,以及支持C、C#、MATLAB、Python等语言绑定的跨平台应用程序编程接口(API)。
软件可以在树莓派上本地运行,也可以通过有线或无线网络连接进行远程控制。模块的5V电源通过树莓派接口连接器提供,不需要额外的电源。所有这些特性使该系统适用于低功耗、本地和远程、精密模拟I/O应用。
评估和设计支持►电路评估板
►ADI CN0554电路评估板(EVAL-CN0554-RPIZ)
►设计和集成文件
►原理图、布局文件、物料清单、软件
电路描述
ADI CN0554为精密应用提供完整的模拟I/O系统。该电路可细分为两个主要组件:模数转换(ADC)和数模转换(DAC)。
模拟输入
CN0554可通过板载LT5400外部匹配电阻网络适应高达11倍输入衰减的模拟输入电压范围。该器件通过跳线选择增加了模拟输入电压范围。
表1显示了CN0554的完整跳线配置和相应的模拟输入电压范围。
表1.模拟输入范围
模数转换
CN0554包含具有可配置模拟输入的24位Σ-Δ ADC——AD7124-8。8个全差分输入通道或16个单端输入通道可通过软件配置,并提供可编程增益、滤波器设置和输出数据速率。
外部基准电压可通过跳线进行选择,可以是AD7124-8的内部带隙基准电压源,也可以是高精度、低功耗和低噪声基准电压源ADR4525的2.5V输出。由于基准电压漂移直接影响ADC的精度,CN0554使用外部基准电压源,因为与内部基准电压源相比,其温度漂移性能更佳。
AD7124-8的Σ-Δ架构在小信号传感器测量,甚至工业等高噪声环境中均提供高分辨率和噪声抑制。输出数据速率的可编程范围为1.17SPS至19.2kSPS,相应的测量分辨率分别为24nV rms至72μV rms;有几种滤波器模式可用。这使得CN0554的分辨率、数据速率和噪声抑制能够针对广泛的应用进行优化。
数模转换
CN0554包含16个使用LTC2688电压输出DAC的单端16位模拟输出。每个通道都有一个内部轨到轨输出缓冲区,可提供或接收高达20mA的电流。
LT8582为LTC2688提供±18V电源轨,使DAC能够充分利用其高达±15V的模拟输出范围。每个通道的输出范围可独立编程为表2中列出的五个范围。基准电压可通过软件编程,可使用内部4.096V,或将ADR4525 2.5V基准电压源用于ADC。每个通道还支持5%的超量程。
表2.电压输出范围调整
切换和抖动功能
CN0554同时支持切换和抖动功能。切换功能可以在两个不同的DAC代码之间快速切换DAC输出,而无需任何SPI事务,从而消除了通信事务。示例包括注入一个小的直流偏置或在通断状态之间独立切换。
抖动减少了精密应用中的量化误差,并通过在多个输出代码上扩展非线性来完成。此功能在许多需要将交流信号叠加在信号的平均直流值附近的应用中很有帮助。例如,在光学应用中,光路的次级特性可通过其对小交流信号的响应来测量。此外,抖动减少了滑阀等机械系统中的粘滞,加快了滑阀位置变化时的响应速度。
切换操作
如图2所示,每个通道都支持切换操作,可在通过软件设置的两个值之间切换输出电压。切换由切换信号控制,该信号可从树莓派或内部软件控制寄存器的三个不同外部数字输入(TGP0、TGP1和TGP2)中获取。其中两个数字信号TGP0和TGP1连接到树莓派数字输出,支持脉冲宽度调制(PWM)。
图2.切换和抖动操作框图
图3显示了CN0554执行的切换操作示例。根据切换引脚,输出电压在零电平和满量程值之间摆动,在1kHz时测量的峰峰值电压为33.0V。
图3.零电平至满量程输出电压切换
抖动操作
在CN0554中,每个通道还支持将正弦抖动信号添加到模拟输出的抖动操作。正弦曲线是使用查找表生成的,查找表中的值来自等式1。
(1)
其中:
n = 0, 1, 2, … N — 1。
N是信号周期。
φ0是信号相位角,初始信号相位。
CN0554可配置抖动信号的幅度、周期和相位角。
抖动信号的幅度通过软件设置,可以在设置的最大输出电压的0%到25%之间。
为了设置抖动频率,需要抖动时钟输入,并且可以从树莓派的三个外部数字输入TGP0、TGP1和TGP2中选择。其中两个外部输入TGP0和TGP1连接到树莓派数字输出,具有PWM特性,可轻松配置时钟频率。
抖动信号的频率通过由4、8、16、32和64软件可配置分频器分频的抖动时钟输入来设置,从而使用等式2来计算由此产生的抖动信号的频率:
(2)
其中:
fsignal是产生的抖动信号的频率。
fPWM是PWM时钟频率。
N是分频器。
抖动相位角可配置为四个不同的值:0、90、180和270。所有这些参数有助于精确控制抖动DAC通道输出。
图4显示了CN0554在最大信号周期的中间电平输出电压下执行的抖动操作示例,在1kHz抖动时钟下,峰峰值电压为15.04V。
图4.最大信号周期时的中间电平输出电压
图5显示了在最小信号周期的中间电平输出电压下执行的抖动操作,在1kHz抖动时钟下,峰峰值电压为17.6V。
图5.最小信号周期时的中间电平输出电压
系统性能
模拟输入噪声性能
图6显示了中间电平输入(5V)时的噪声特性,图7显示了满量程输入(10V)时的噪声特性。
图6.中间电平模拟输入噪声直方图
图7.满量程模拟输入噪声直方图
模拟输出噪声性能
LT8582的开关稳压器输出经过旁路和滤波,以降低噪声。图8显示了零电平输出时的交流耦合信号噪声,其在14.4mV时具有非常低的峰峰值噪声。
图8.来自ADC和DAC通道环回的零电平AC耦合噪声信号
图9显示了中间电平输出时产生的13.4mV峰峰值噪声。
图9.来自ADC和DAC通道环回的中间电平AC耦合噪声信号
在图10中,电路板在满量程输出时产生了17.6mV的最高峰峰值噪声。
图10.来自ADC和DAC通道环回的满量程AC耦合噪声信号
模拟输出线性
积分非线性(INL)是指与通过DAC转换函数端点的直线的最大偏差(单位:LSB)。此外,差分非线性(DNL)是任意两个相邻代码之间测得的变化值与理想的1LSB变化值之间的差异。最大±1LSB的额定差分非线性可确保单调性。
图11显示了输出电压的DNL(单位:LSB)与单通道LTC2688输出的16位设置值的对比。
图11.输出电压的差分非线性
图12显示了输出电压的INL(单位:LSB)与单通道LTC2688输出的16位设置值的对比。
图12.输出电压的积分非线性
电源架构
CN0554直接从树莓派40引脚接口连接器获取电源。图13显示了CN0554的完整电源树。
图13.CN0554电源树
LT8582是一个双独立通道开关DC/DC转换器,负责树莓派5V电源的升压和反相。
LT8582输出18V和-18V轨,然后用于为ADC和DAC提供必要的电源轨。CN0554还通过LT8582的故障保护特性提供输入过压和过热保护。
ADM7160超低噪声、低压差稳压器为AD7124-8提供3.3V模拟电源轨。该稳压器由树莓派接口连接器上的5V电源轨供电。AD7124-8数字I/O电源直接连接到树莓派的3.3V电源轨。
LT3090将-18V电源轨调节至-0.1V,为AD7124-8提供略微为负的模拟电源。电源轨设计成即使在启用输入缓冲器的情况下,绝对模拟输入电压也能覆盖从接地到基准电压的整个范围。
常见变化
AD7124-4可用于代替AD7124-8,只有8个单端和/或4个差分通道;这降低了无需额外通道的应用成本。
LTC2686是LTC2688的8通道替代品。它具有55mA的更高输出驱动电流和用于驱动高容性负载的补偿引脚。
如果只需0V至5V的输出范围,则LT8582可更换为单一正5V电源。DAC的替代电源选项可以考虑较低的输出电流升压或反相稳压器 ,因为电路板设计为支持所有通道上的全部DAC输出电流。
此外,还可以根据应用添加低压差稳压器等升压或反相稳压器的低噪声后置调节。
电路评估与测试
本节介绍评估EVAL-CN0554-RPIZ的设置和程序。如需完整的详细信息,请参阅CN0554用户指南。
设备要求
►EVAL-CN0554-RPIZ电路评估板
►树莓派4 B型
►带HDMI的显示器
►Micro HDMI转HDMI适配器
►USB键盘和鼠标
►16GB或更大的SD卡
►ADI公司Kuiper Linux镜像
►5V、3A USB Type-C电源适配器
►母对母环回跳线
►示波器
►数字电压表(6位或更高)
开始使用
默认情况下,ADI CN0554评估板配置了用于测试的正确分流位置。访问EVAL-CN0554-RPIZ用户指南以验证分流位置。
要执行评估测试,请按以下步骤操作:
1.将EVAL-CN0554-RPIZ连接到树莓派,如图14所示。
图14.EVAL-CN0554-RPIZ连接到树莓派
2.将具有Kuiper Linux镜像的SD卡插入树莓派。
3.使用母对母环回跳线电缆连接ADC输入和DAC输出通道,如图15所示。
图15.具有环回连接的EVAL-CN0554-RPIZ测试设置
4.将树莓派的HDMI电缆连接到显示器,然后将键盘和鼠标连接到USB端口。
5.使用USB Type-C电源适配器为树莓派供电,并等待树莓派启动。
图16.系统测试设置
6.打开IIO示波器,卸下(undock)DMM和调试选项卡,如图17所示。
图17.IIO示波器DMM和调试选项卡
7.在DMM窗口中,选择ad7124作为器件并选择要测量的通道,例如ad7124-8:voltage0-voltage1。点击Play按钮开始测量。
图18.IIO示波器DMM窗口
8.在调试窗口中,在“器件选择”中选择ltc2688。在IIO器件属性部分,选择输出电压1通道并选择原始属性。将值设置为32768,然后点击写入。这应该将输出电压设置为2.5V左右,即默认输出范围0V至5V的一半。
图19.IIO示波器调试窗口
9.DMM测量值应显示约0.227V或2.5V的1/11,即默认输入电压衰减。
图20.CN0554模拟I/O的环回测量
了解更多
-ADI CN0554设计支持包
-Thoren、Mark和Suteu、Cristina。“使用Python分析混合模式信号链中噪声的简单方法。”ADI公司
-科教视频。“使用带连接模拟的树莓派作为实验室仪器。”ADI公司
-Fortunato、Mark。“使用混合信号芯片成功实现PCB接地——遵循最小阻抗路径。”maximintegrated.com
-Meneu、Jean Jacques。“模拟和数字接地:混合信号设计原则。”Arrow.com
-Deprey、Rebecca。“将模拟传感器与树莓派结合使用。”rebeccamdeprey.com
-树莓派HAT简介。raspberrypi.com
数据手册和评估板
涉及的数据手册和评估板如下:LTC2688数据手册、AD7124-8数据手册、AD7124-8评估板、LT8582数据手册、LT8582评估板、LT3090数据手册、LT3090评估板、LT1790数据手册、ADR4525数据手册、LT5400数据手册、ADM7160数据手册、ADM7160评估板
ESD警告
ESD(静电放电)敏感器件。带电器件和电路板可能会在没有察觉的情况下放电。尽管本产品具有专利或专有保护电路,但在遇到高能量ESD时,器件可能会损坏。因此,应当采取适当的ESD防范措施,以避免器件性能下降或功能丧失。
Circuits from the Lab®参考设计是经过测试的参考设计,有助于加速设计,同时简化系统集成,帮助解决当今的模拟、混合信号和RF设计挑战。
相关问答
matlab 中电流表是什么?1.在Matlab中,电流表是一种用于测量电流的工具或函数。2.电流表可以通过连接到电路中的电流传感器来测量电流的大小。它可以提供准确的电流数值,并且可以根...
较容易上手的无线 传感器 网络仿真软件有哪些,ma..._网络编辑_...一些较容易上手的无线传感器网络仿真软件包括:1.NS-3:一个广泛使用的开源网络仿真器,支持WSN仿真。2.OMNeT++:一个开源的模块化仿真器,具有良好的...
matlab 中如何加入sinx函数?>>symssinx:>>[sinx,3]。ans=[sinx,3]。>>diff(ans)。ans=[1,0]。MATLAB的基本数...
simulink读取 matlab 数据有什么用处?Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可...
我想了解,霍尼韦尔图像 传感器 原理及参数,图像 传感器 性能好...[回答]你解决这一次的问题,谁帮你引导以后的路呢?%Date:2011年9月26日20:25:53%Function:3*3均值滤波平滑%Writtenby风之风信子clc;clear;clea...%Da...
无线 传感器 网络仿真用什么软件好..._网络编辑_帮考网无线传感器网络仿真可以使用以下软件:1.NS-2:一个广泛使用的网络仿真器,可用于模拟无线传感器网络。2.OMNeT++:一个开放源代码的仿真器,用于建模...
湖北商贸学院人工智能专业怎么样?这个专业就业前景很好,是不错的专业。专业层次:专科(高职)专业学制:三年专业介绍:核心课程:电路理论、模拟电子技术、数字电...这个专业就业前景很好,是...
Matlab 整车模型是哪个安装包?Matlab整车模型是Simulink安装包中的一个模块,主要用于汽车系统的建模和仿真。Simulink是Matlab的一个可视化建模工具,通过拖拽模块和连接线来构建系统模型,整...
成都大学信息科学与技术学院(软件产业学院)怎么样?设有哪些专...[回答]~接下来我为大家简单介绍一下我们成都大学的信息科学与技术学院(软件产业学院)开设的专业以及研究情况专业设置:计算机科学与技术-本科、软件工程-...
典型环节的模拟研究的心得体会?在进行典型环节的模拟研究时,我们需要掌握基本的控制理论知识,如传递函数、频率响应、稳定性分析等。同时,还需要熟练掌握MATLAB等仿真工具的使用方法,能...