精华内容
下载资源
问答
  • stm32压力传感器资料

    2019-02-28 20:17:34
    压力传感器资源。
  • stm32压力传感器步进电机

    千次阅读 2019-12-17 22:00:43
    基于stm32c8t6的压力传感器控制步进电机正反转。 主控:stm32c8t6 ,压力传感器:悬壁式压力传感器+HX711 ,步进电机:24BYJ48(电机)+ULN2003(驱动) 实现功能:通过压力传感器测量平台上的压力,在将数字量...

    基于stm32c8t6的压力传感器控制步进电机正反转。

    主控:stm32c8t6 ,压力传感器:悬壁式压力传感器+HX711 ,步进电机:24BYJ48(电机)+ULN2003(驱动)

    实现功能:通过压力传感器测量平台上的压力,在将数字量传输给单片机,单片机控制步进电机正反转。且可通过串口1发送数据

     

    HX711:

    HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A 或通道B,与其内部的低噪声可编程放大器相连。通道A 的可编程增益为128 或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道B 则为固定的32 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。

     

     

     

    其余详细参数见百度https://baike.sogou.com/v74131339.htm?fromTitle=HX711

     

     

    悬臂式压力传感器

     

     

     

    底座必须固定!!!!另一端自由称重

     

    步进电机

     

    我们先来解释“4 相永磁式”的概念,28BYJ-48 的内部结构示意图 9-4 所示。先看里圈,它上面有 6 个齿,分别标注为 0~5,这个叫做转子,顾名思义,它是要转动的,转子的每个齿上都带有永久的磁性,是一块永磁体,这就是“永磁式”的概念。再看外圈,这个就是定子,它是保持不动的,实际上它是跟电机的外壳固定在一起的,它上面有 8 个齿,而每个齿上都缠上了一个线圈绕组,正对着的 2 个齿上的绕组又是串联在一起的,也就是说正对着的2 个绕组总是会同时导通或关断的,如此就形成了 4 相,在图中分别标注为 A-B-C-D,这就是“4 相”的概念。

     

    现在我们分析一下它的工作原理:

    假定电机的起始状态就如图 9-4 所示,逆时针方向转动,起始时是 B 相绕组的开关闭合,B 相绕组导通,那么导通电流就会在正上和正下两个定子齿上产生磁性,这两个定子齿上的磁性就会对转子上的 0 和 3 号齿产生最强的吸引力,就会如图所示的那样,转子的 0 号齿在正上、3 号齿在正下而处于平衡状态;此时我们会发现,转子的 1 号齿与右上的定子齿也就是 C 相的一个绕组呈现一个很小的夹角,2 号齿与右边的定子齿也就是 D 相绕组呈现一个稍微大一点的夹角,很明显这个夹角是 1 号齿和 C 绕组夹角的 2 倍,同理,左侧的情况也是一样的。

     

    接下来,我们把 B 相绕组断开,而使 C 相绕组导通,那么很明显,右上的定子齿将对转子 1 号齿产生最大的吸引力,而左下的定子齿将对转子 4 号齿,产生最大的吸引力,在这个吸引力的作用下,转子 1、4 号齿将对齐到右上和左下的定子齿上而保持平衡,如此,转子就转过了起始状态时 1 号齿和 C 相绕组那个夹角的角度。

     

    再接下来,断开 C 相绕组,导通 D 相绕组,过程与上述的情况完全相同,最终将使转子2、5 号齿与定子 D 相绕组对齐,转子又转过了上述同样的角度。

     

    那么很明显,当 A 相绕组再次导通,即完成一个 B-C-D-A 的四节拍操作后,转子的 0、3 号齿将由原来的对齐到上下 2 个定子齿,而变为了对齐到左上和右下的两个定子齿上,即转子转过了一个定子齿的角度。依此类推,再来一个四节拍,转子就将再转过一个齿的角度,8 个四节拍以后转子将转过完整的一圈,而其中单个节拍使转子转过的角度就很容易计算出来了,即 360 度/(8*4)=11.25 度,这个值就叫做步进角度。而上述这种工作模式就是步进电机的单四拍模式——单相绕组通电四节拍。

     

    我们再来讲解一种具有更优性能的工作模式,那就是在单四拍的每两个节拍之间再插入一个双绕组导通的中间节拍,组成八拍模式。比如,在从 B 相导通到 C 项导通的过程中,假如一个 B 相和 C 相同时导通的节拍,这个时候,由于 B、C 两个绕组的定子齿对它们附近的转子齿同时产生相同的吸引力,这将导致这两个转子齿的中心线对比到 B、C 两个绕组的中心线上,也就是新插入的这个节拍使转子转过了上述单四拍模式中步进角度的一半,即 5.625度。这样一来,就使转动精度增加了一倍,而转子转动一圈则需要 8*8=64 拍了。另外,新增加的这个中间节拍,还会在原来单四拍的两个节拍引力之间又加了一把引力,从而可以大大增加电机的整体扭力输出,使电机更“有劲”了。

     

    除了上述的单四拍和八拍的工作模式外,还有一个双四拍的工作模式——双绕组通电四节拍。其实就是把八拍模式中的两个绕组同时通电的那四拍单独拿出来,而舍弃掉单绕组通电的那四拍而已。其步进角度同单四拍是一样的,但由于它是两个绕组同时导通,所以扭矩会比单四拍模式大,在此就不做过多解释了。

     

    八拍模式是这类 4 相步进电机的最佳工作模式,能最大限度的发挥电机的各项性能,也是绝大多数实际工程中所选择的模式。

     

     

     

     

    硬件连接:

    串口1

    PA9 PA10

    HX711

    #define HX711_SCK PBout(0)// PB0

    #define HX711_DOUT PBin(1)// PB1

    ULN2003

    IN1:PA3 IN2:PA2 IN3:PA1 IN4:PA0

     

    软件代码

     

     

     

     

     

    展开全文
  • 我做过很多工业用压力采集产品,用过很多高分辨率的AD芯片,其中有两款值得推荐。一个是海芯科技出的HX711等24位AD,一个是塞普拉斯出的CS5532等24位AD。国产芯片和进口芯片有差距,但是国产芯片也解决了很多应用的...

    我做过很多工业用压力采集产品,用过很多高分辨率的AD芯片,其中有两款值得推荐。一个是海芯科技出的HX711等24位AD,一个是塞普拉斯出的CS5532等24位AD。国产芯片和进口芯片有差距,但是国产芯片也解决了很多应用的问题,替代了很多进口产品。

    最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,AD新能不一定能达到,参考源选的指标低了不能实现想要的精度。

    HX720内部带有128倍放大器,这也是专为压力传感器输出小信号设计的,降低了成本,提高了性能和可靠性。芯片内部带有振荡器,内部带有50Hz、60Hz滤波器,宽温度范围 -40~+85℃,8脚封装。缺点是输出速率比较低,10Hz、40Hz,对于很多应用也是可以的。精度和进口芯片也小有差距。

    典型设计如下:

    电气参数如下:

    厂家给出原理图和PCB供大家参考

    基于这些资料,设计了STM32控制HX720的压力采集模块。下面分别说下各部分功能。完整图纸如下:

    电源部分,供电来自USB的5V,考虑到HX720的稳定性,没有采用HX720输出的3.3V为单片机和其他部分电路供电。而是单独加了LM1117稳压芯片为处理AD以外电路供电。

    USB接口除了供电以外,还设计了CH340做USB转UART,方便和PC通信。CH340是江苏沁恒股份有限公司的芯片,这家公司出了很多好用的芯片,我还经常用他家USB、以太网、数码管驱动等芯片。

    AD部分,依照参考设计,AD芯片和传感器之间可以选用4线接线方式,也可以用6线接线方式,可以做实验对比。

    单片机部分,很多demo都有51做主控,现在很少有产品用51了,所以这样的demo不实用。我选用了比较流行的STM32,方便扩展其他功能。

     

    这两排是扩展的端子

    数码管部分,我直接用单片机的IO口驱动的数码管,现在单片机端口足够多,驱动能力也够强。

     

    按键部分没有加滤波消抖电路,最终还是要加软件滤波消抖。

    LED部分要加限流电阻,电流计算方式是 单片机电压减去二极管结电压再除以电阻值,有一点要注意,不同颜色的发光二极管结电压不一样。通常红色为1.6V左右,绿色有2V和3V两种,黄色和橙色约为2.2V,蓝色为3.2V左右。对于常用的几毫米大小的二极管,其工作电流一般在2毫安至20毫安之间,电流越大亮度越高。

     

    PCB如下

    实物如下

     

     

    展开全文
  • 我做过很多工业用压力采集产品,用过很多高分辨率的ad芯片,其中有两款值得推荐。一个是海芯科技出的HX711等24位AD,一个是塞普拉斯出的CS5532等24位AD。国产芯片和进口芯片有差距,但是国产芯片也解决了很多应用的...

    我做过很多工业用压力采集产品,用过很多高分辨率的ad芯片,其中有两款值得推荐。一个是海芯科技出的HX711等24位AD,一个是塞普拉斯出的CS5532等24位AD。国产芯片和进口芯片有差距,但是国产芯片也解决了很多应用的问题,替代了很多进口产品。

    最近在用海芯科技出的HX720,芯片内部集成了低噪声稳压管,这样降低成本,也省去选参考源的麻烦。给24位AD选参考源是很头疼的事,参考源选的指标过高,AD新能不一定能达到,参考源选的指标低了不能实现想要的精度。

    HX720内部带有128倍放大器,这也是专为压力传感器输出小信号设计的,降低了成本,提高了性能和可靠性。芯片内部带有振荡器,内部带有50Hz、60Hz滤波器,宽温度范围 -40~+85℃,8脚封装。缺点是输出速率比较低,10Hz、40Hz,对于很多应用也是可以的。精度和进口芯片也小有差距。

    实现单片机数据采集/传输/显示,使用C#编写上位机显示压力功能。

    原理图
     
    PCB
     


    实物
     
    上位机
     

    201933yk8y7kg53q8277iu.png.thumb.jpg(121.81 KB, 下载次数: 0)

    下载附件  保存到相册

    2019-11-27 20:23 上传

     


    上位机程序

     上位机程序.rar (6.19 KB, 下载次数: 0) 

    展开全文
  • STM32F103 串口、步进电机、压力传感器、温湿度传感器驱动程序,附上HX711、ULN2003和步进电机使用手册
  • STM32f1系列压力传感器MPX4250压力检测

    千次阅读 2020-04-14 22:49:59
    MPX4250是一种线性度极强的一种压力传感器,它的线性范围为20-250kpa,测量范围也比较广泛,适用于大多数场合的压力检测。 废话不多说,先看mpx4250的接线图: 可以看到mpx4250的外接电路还是很方便的,再附上一张...
    STM32f1是具有arm cortex-M3内核的芯片,具有两个10位(或16位)adc检测功能,这为很多模拟输出的传感器的信号传输提供了便利。
    MPX4250是一种线性度极强的一种压力传感器,它的线性范围为20-250kpa,测量范围也比较广泛,适用于大多数场合的压力检测。
    

    废话不多说,先看mpx4250的接线图:mpx4250的接线图
    可以看到mpx4250的外接电路还是很方便的,再附上一张仿真接线图:
    仿真接线图
    这样实物接线应该没有问题了。
    可以看到这里可以从1端口输出电压值 。这个电压是可以被32的AD检测的。但是,这个电压又是咋来的?或者直接点,电压与压力对应关系如何??
    查看手册我们可以看到这样一幅图:输出电压与压力对应关系
    公式
    可以看到,这里有三条线,在(20-250)范围内成线性关系。可是为啥是三条,看图中公式可知它是在标准输出±了一个误差值,这里可以看到在0-85C的范围内的Vs=5.1V,那么其他呢,其他值,Error为多少?
    温度误差系数
    Error值
    由上图可知,测量压力时与温度是分不开的(这个下一个讲18b20测温)。
    有了这些数据,可以算出压力对应的输出电压,也可以看出,该模块的误差是出厂就带有的,无法消除。而电压值换算出压力值,根据公式反推就好。下面上代码:

    	if ( TIM_GetITStatus( ADVANCE_TIM, TIM_IT_Update) != RESET ) 
    	{	
    		time++;
    		num0++;
    
    		
    
    		if(num0 == 2)  ad0 = ADC_ConvertedValue[0];	
    		if(num0 >= 3) num0 = 0;
    		pressure = (double)((double)ad0/4096/5*5.1-0.04)/0.00369;
    
    		pressure1 = (uint32_t)(pressure*1000);
    		TIM_ClearITPendingBit(ADVANCE_TIM , TIM_FLAG_Update);  		 
    	}
    
    此为电压值的获取与换算ad值除以4096*5为电压值,乘以5.1(系数)后减去0.04,再除以0.00369就是压力值。
    显示程序如下	
    
    		OLED_ShowChar(0,0,'0'+pressure1/100000%10,10);
    		OLED_ShowChar(16,0,'0'+pressure1/10000%10,10);
    		OLED_ShowChar(32,0,'0'+pressure1/1000%10,10);
    		OLED_ShowChar(64,0,'0'+pressure1/100%10,10);
    

    这里单位为PA。
    整体电路连接图如下
    电路连接图
    其他功能以后一一讲解。

    展开全文
  • 基于stm32和hx711的压力传感器代码

    热门讨论 2015-07-09 20:27:41
    单片机是STM32F103ZET6,结合HX711读取压力传感器传输进来的压力值,利用串口送到PC显示
  • 基于stm32的hx711压力传感器。电子秤主要以单片机STC90C52RC控制核心,实现电子秤的基本控制功能。系统扩展了电子日历时钟,系统可以分为最小系统、数据采集、人机交互界面和系统电源、时钟和语音报数六大部分。最小...
  • STM32与MS5837压力传感器的I2C通讯

    千次阅读 多人点赞 2019-01-09 22:06:48
    MS5837压力传感器是一种可用于电路板上,适用于检测10-1200mbar压力范围的传感器,灵敏度非常高,理论上能够检测到0.01mbar的压力变化,实际使用过程中测试并无明显的变化。 MS5837采用I2C总线通讯,与STM32的MCU...
  • stm32读取MS5837水深传感器的温度,压强和水深的程序源码以及模块手册
  • 1.首先是超声波模块部分 超声波模块的hc-sr04.h文件 #ifndef __HC__SR04_H #define __HC__SR04_H #include "sys.h" ...void TIM9_CH1_Cap_Init(u32 arr,u16 psc); void Trig_Init(void); #endif
  • STM32与多台MS5803压力传感器I2C通讯

    千次阅读 2019-03-11 09:33:14
    MS5803压力传感器支持SPI和I2C总线通讯,拥有24位AD转换。能够同时获得压力值和温度值,其中压力测量范围为10-1100mbar,温度的测量范围是-40-85摄氏度。各引脚功能及参数如下: 传感器内部结构图如下: 通讯...
  • STM32读取HX711(AD)模块数据——压力传感器

    千次阅读 热门讨论 2019-10-28 23:41:15
    背景:在无人机动力系统的选型时,...压力传感器tb链接: HX711模块是一个24位精度的AD模块。 (1)https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-21223910208.20.6c496a4bdA2Bew&id=522572281513...
  • HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。...
  • 前言:本人上一篇博客介绍了关于STM32CubeMX的安装,这一篇博客将在STM32CubeMX进行实操。最近得到一块低功耗MCU:STM32L433CBT6的STM32开发板,于是利用无聊的寒假在上面打发时间。使上面的环境光传感器开启模数...
  • 锡林郭勒传感器计量-报告全国认可工业分析仪计量校准经验与方法探讨工业分析仪能自动连续测定多个煤样的水分挥发分灰分并计算其固定碳发热量和氢含量同时也可单独用作灰渣特性的测试从进样到出结果一次完成适用于...
  • I2C的底层程序选用的是正点原子的I2C底层程序,有需要的可以去看正点原子的对应例程,其程序如下(myiic.c): #include "myiic.h" #include "delay.h" //初始化I2C void IIC_Init(void) { GPIO_InitTypeDef ...
  • MS5837压力传感器是一种可用于电路板上,适用于检测10-1200mbar压力范围的传感器,灵敏度非常高,理论上能够检测到0.01mbar的压力变化,实际使用过程中测试并无明显的变化。 MS5837采用I2C总线通讯,与STM32的MCU...
  • BMP180是一款由BOSCH开发的数字压力传感器,IIC接口,压力测量范围可以从300hPa至1100hPa,测量海拔高度大约从9000m至-500m。 工作电压范围在1.8V~3.6V,满足大部分单片机电平要求。 功耗低,标准模式下单次采样功耗...
  • BMP390是BOSCH公司的一款高精度压力传感器(参考网址:https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/pressure-sensors-bmp390.html),其主要参数如下图所示,通信方式为I2C与...
  • #include "sys.h" #include "delay.h" #include "usart.h" #include "HX711.h" int main(void) { Init_HX711pin();... NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2...
  • stm32—霍尔传感器的初步使用

    千次阅读 2021-01-15 19:21:59
    可以检测得出,此外通过它,将许多非电、非磁的物理量例如力、力矩、压力、应力、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,也可以通过本传感器转变成电量来进行检测和控制...
  • MS5803压力传感器支持SPI和I2C总线通讯,拥有24位AD转换。能够同时获得压力值和温度值,其中压力测量范围为10-1100mbar,温度的测量范围是-40-85摄氏度。各引脚功能及参数如下: 传感器内部结构图如下: 通讯...
  • 利用STM32F103单片机外设与SDP810差压传感器通信,包含原理图,源代码,分享给需要的小伙伴!
  • STM32开发之传感器 DHT11 (读取温度和湿度)) proteus仿真图 keil程序 #include <stdio.h>//单片机工程可以不用 #include <stm32f4xx.h>//这个头文件一定要包含 ---这个头文件官方帮我们定义好了...
  • 已经调通的压力传感器bmp180程序

    热门讨论 2014-03-24 18:08:04
    已经调试好的压力传感器bmp180程序,测试成功 温度和压力都准确。 单片机STM32F100 在主程序中#include "bmp180.h" 定义IO口: #define I2C_SDA_PIN 7 #define I2C_SCL_PIN 6 #define I2C_GPIO GPIOB gpio_init(I...
  • 称重数据采集,C程序传感器形状及接线方法。
  • stm32驱动BMP388温度气压传感器

    千次阅读 2020-06-02 21:52:41
    最近在搞一个小东西用到了气压传感器,最终选择了BMP388。搜索发现网上关于388的资料少之又少,官方给出的Arduino代码几千行全是英文注释。。。所以去翻看了一下数据手册做了些笔记,分享出来希望帮助有需要的同学。...
  • 为大家奉献一个简单的源码。主要实现对汽车胎压的检测以及温度的检测,然后通过无线模块发送出去。另外一边有一个无线接收模块接收数据,一个小的... 两块STM32F103C8T6单片机 2. 两个NRF2401无线通信模块 3. 一...
  • 目录一. MS5837水深传感器介绍二. STM32读取水深传感器驱动程序三. 传感任务增加读水深的应用程序 一. MS5837水深传感器介绍 二. STM32读取水深传感器驱动程序 三. 传感任务增加读水深的应用程序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 475
精华内容 190
关键字:

stm32压力传感器程序