自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (4)
  • 收藏
  • 关注

原创 如何用定时器PWM产生SPWM?--电机驱动控制

最终通过低通滤波还原正弦波。以下是面向 STM32 的标准实现方案与代码。

2026-04-10 18:00:00 356

原创 etherCAT的协议VoE,FoE,EoE,CoE的概念和区别

EtherCAT协议包含四种核心邮箱通信协议:CoE(基于CANopen标准,用于通用设备控制)、FoE(专用于文件传输和固件升级)、EoE(实现以太网隧道传输)和VoE(厂商自定义协议)。这些协议与周期性过程数据(PDO)互补,分别满足标准化控制、文件操作、网络兼容和私有功能需求。CoE生态最完善,FoE简单高效,EoE实现IT/OT融合,VoE提供最大灵活性,共同构成EtherCAT完整的非实时通信体系。

2026-04-08 17:30:00 453

原创 常用的步进电机的结构,有哪些特点,最高速度能到多少,最低速度是多少?

步进电机主流类型为混合式(HB)、永磁式(PM)和反应式(VR)。HB电机具有开环精准定位(步距角1.8°/0.9°)、低速大扭矩等优势,是工业应用首选。三类电机均具备无需编码器、自锁能力等共性优点,但也存在高速扭矩暴跌、共振区等缺点。转速范围方面,理论最低可接近0rpm,开环实用最高约600rpm(带载),闭环可达1800-3000rpm。最佳工作区间为几十至300rpm,影响速度的关键因素包括电机结构、驱动器性能及负载条件。整体而言,HB电机在精度和扭矩表现最优,是CNC、3D打印等领域的理想选择。

2026-04-02 10:41:50 393

原创 简单解释PWM,SPWM,SVPWM的区别--电机控制

PWM = 粗暴调宽窄,输出是方波。SPWM = 拿正弦波比对三角波,拼出等效正弦电压,好做但电压吃不饱。SVPWM = 直接操控电压空间矢量,转着圈合成磁场,效率高、出力大、适合高端电机。

2026-04-01 10:09:21 491

原创 电磁学的三大定则,安倍定则,左手定则,右手定则的解释-电动机-发电机原理

电磁学三大定则(安培定则、左手定则、右手定则)是判断电磁关系的核心工具。安培定则(右手螺旋)判断电流与磁场方向:直线电流用拇指指电流,四指绕磁场;螺线管则四指指电流,拇指指N极。左手定则用于通电导体受力:磁感线穿掌心,四指指电流,拇指指受力,应用于电动机等电能转机械能。右手定则判断感应电流:磁感线穿掌心,拇指指导体运动,四指指电流,应用于发电机等机械能转电能。口诀"左动右发"区分左右手定则,安培定则仅用右手判断磁场方向。

2026-03-30 16:43:02 559

原创 LAN9252 邮箱寄存器配置 例程

本文介绍了Microchip工业级EtherCAT从站控制器LAN9252的邮箱寄存器配置与使用。主要内容包括:1) 邮箱寄存器核心概念,包括控制、状态、数据、长度和地址寄存器;2) 基于STM32 HAL库的完整配置例程,涵盖初始化、发送和接收数据功能;3) 关键代码解释和硬件注意事项。邮箱作为LAN9252与主站交互数据的核心通道,其配置要点包括初始化控制寄存器、等待状态标志、按32位小端模式读写数据寄存器。工业应用中需注意总线隔离和数据长度限制(通常256字节)。该方案适用于STM32F4/F7等32

2026-03-23 18:00:00 689

原创 LAN9252 从机模式寄存器的配置代码示例

LAN9252 从机模式配置核心是模式寄存器(0x0004)置位从机位,并配套配置波特率、从机地址、中断等参数;SPI 通信需严格遵循 LAN9252 的帧格式(写命令 0x00、读命令 0x01,地址 + 数据分段传输);配置后必须验证关键寄存器值,确保从机模式生效,避免硬件异常导致配置失效。

2026-03-22 11:14:14 356 1

原创 LAN9252 从机寄存器配置--C语言举例

LAN9252 从机模式的核心是配置AL 状态机SM(数据收发)FMMU(地址映射)三类寄存器,需遵循 “复位→使能→SM/FMMU 配置→状态机激活” 流程。SM 定义过程数据的物理缓冲区和收发规则,FMMU 完成主站逻辑地址到从机物理地址的映射,二者需一一对应。AL 状态机的切换需配合主站指令,从 Pre-Operational 到 Operational 是从站进入正常通信的关键步骤。

2026-03-21 20:13:28 387

原创 用STM32+LAN9252的etherCAT 从站实现传感器数据采集

本文介绍了基于STM32F407和LAN9252实现EtherCAT从站进行传感器数据采集的完整方案。通过SPI接口连接LAN9252,支持4-20mA模拟量、数字量等传感器接入,采用Beckhoff SSC标准协议实现与TwinCAT主站的PDO数据交互。方案包含硬件接线图、STM32底层驱动、传感器采集模块、EtherCAT协议栈等核心代码实现,以及TwinCAT主站配置流程。重点说明了SPI通信稳定性、传感器校准和EtherCAT状态机等关键注意事项,为工业现场设备接入EtherCAT网络提供了可复用

2026-03-20 20:57:37 1106

原创 etherCAT 主站软件PC端开发工具

PC端EtherCAT主站开发工具选型指南 EtherCAT主站开发分为开源与商业方案。开源方案如SOEM(轻量跨平台)和IgH(Linux内核态高性能),适合快速原型和嵌入式应用;商业方案如TwinCAT(Windows自动化)和Acontis EC-Master(高端机器人),提供完整功能与技术支持。选型需考虑平台、实时性及成本,如Windows自动化选TwinCAT,Linux高实时选IgH。开发流程包括硬件准备、环境搭建、网络配置及主站编程,常用工具包括EC-Engineer(配置诊断)和Intel

2026-03-18 20:07:06 532

原创 用STM32+LAN9252做etherCAT 运动控制从机方案

核心硬件:STM32 负责运动控制算法和协议栈运行,LAN9252 负责 EtherCAT 物理层 / 链路层,两者通过 SPI 通信;软件核心:基于开源 EtherCAT 协议栈实现 PDO 映射、同步管理,1ms 中断保证运动控制和通信的实时性;关键优化:实际应用需外接编码器硬件反馈位置,优化 PID 参数,生成符合 EtherCAT 标准的从站 XML 文件适配主站。

2026-03-17 18:30:00 430

原创 用STM32+LAN9252, 生成一个etherCAT 从机系统,实现数据采集功能

基于 STM32+LAN9252 的 EtherCAT 从机数据采集系统,核心是 “LAN9252 硬件驱动 + EtherCAT 从站协议栈 + 数据采集逻辑”;优先选择 STM32F4/H7 系列,移植 SOEM 协议栈实现 PDO 数据传输,保证实时性;调试重点是 LAN9252 的 SPI 通信、EtherCAT 从站识别、采集数据的 PDO 映射,需结合主站工具验证。

2026-03-16 13:50:05 1256

原创 用STM32+LAN9252实现etherCAT 从站IO控制

核心硬件:STM32 通过 SPI 与 LAN9252 通信,LAN9252 负责 EtherCAT 协议解析,STM32 负责 IO 控制;软件关键:实现 ESC 寄存器读写、EtherCAT 状态机、PDO 数据交互,OP 状态下实时更新 IO;调试重点:先确保 SPI 通信正常,再配置 PDO 映射,最后通过 TwinCAT 验证 IO 交互。

2026-03-15 20:12:05 703

原创 基于STM32+LAN9252的ether CAT 开发环境搭建

核心硬件:STM32 通过 SPI 与 LAN9252(ESC)通信,需保证接线正确、电源稳定;软件核心:先完成 LAN9252 的 SPI 驱动(验证芯片 ID 是关键),再移植 SOEM 协议栈并适配底层接口;调试关键:先验证硬件通信(SPI + 芯片 ID),再用 TwinCAT3 验证 EtherCAT 协议交互,最后开发应用逻辑。

2026-03-14 14:41:20 563

原创 STM32 中断分组解析 说明,以及优先级

STM32 中断优先级分为抢占优先级(决定嵌套)和响应优先级(决定同抢占优先级的排队),由 4 位寄存器拆分而来;中断分组(Group0~4)全局唯一,决定 4 位寄存器在抢占 / 响应优先级的分配比例;优先级判断顺序:抢占优先级 > 响应优先级 > 硬件中断编号,数值越小优先级越高。

2026-03-12 20:53:39 485

原创 RS485 MODBUS RTU 程序例程-STM32

/ Modbus RTU相关宏#define MODBUS_FRAME_LEN 8 // 接收帧固定8字节#define UART2_BUFFER_SIZE 16 // 接收缓冲区大小#define TIMEOUT_THRESHOLD 35 // 字节间超时阈值(约3.5字符时间@9600,单位:ms)// -------------------------- 核心:Modbus RTU帧结构体 --------------------------// 从机地址(1字节)

2026-03-11 20:49:46 223

原创 医疗电子--医疗器械 ISO13485 质量管理体系全面理解

前几天,我说了医疗电子工程师的技术要求。其中就有ISO13485质量管理体系。今天我就来说一说,这个ISO13485 全称为《医疗器械 — 质量管理体系 — 用于法规的要求》,是国际标准化组织 (ISO) 专为医疗器械行业定制的质量管理体系标准,核心是,覆盖医疗器械从设计开发到报废处置的全生命周期,确保产品安全有效并满足全球监管要求。

2026-03-10 20:03:39 582

原创 IEC 60601 医疗电气设备安全标准解读

IEC 60601 是国际电工委员会 (IEC) 制定的医疗电气设备基本安全和基本性能通用要求系列标准,被全球 100 多个国家采纳为强制认证标准,中国对应国标为GB 9706 系列(如 GB 9706.1-2020 对应 IEC 60601-1:2012+A1:2012+A2:2020)。核心目标:确保医疗电气设备在正常和单一故障条件下,对患者、使用者和环境无不可接受的风险,同时保证临床关键功能的基本性能。

2026-03-09 20:42:25 561

原创 STM32 驱动心率血氧传感器--GH3020

/ GH3020 I2C地址(7位地址为0x2F,左移1位后写0x5E,读0x5F)// GH3020核心寄存器地址#define GH3020_REG_ID 0x00 // 设备ID寄存器(固定值0x30)#define GH3020_REG_CTRL1 0x01 // 控制寄存器1(模式配置)#define GH3020_REG_CTRL2 0x02 // 控制寄存器2(采样率配置)#define GH3020_REG_HR_DATA 0x03 // 心率数据寄存器(低字节)

2026-03-09 20:37:49 373

原创 使用STM32F103 HAL 驱动SHT20-采用硬件I2C

SHT20 是一款数字式温湿度传感器,通过I2C 接口与 STM32 通信,核心特性是:无需外部元件、I2C 地址固定(0x40)、数据通过寄存器读取并需计算转换为实际温湿度值

2026-03-02 20:15:40 179

原创 嵌入式单片机-电机控制-电流环电压环控制算法--AI

在BLDC以及其他一些电机控制,为了精准控制,我们一般采用电流环和电压环,下面我来讲一讲电流环和电压环。

2026-02-27 19:54:23 394

原创 STM32 HardFault 触发来源-ARM 异常故障

摘要:HardFault是Cortex-M内核的兜底异常,常见于内存访问错误(空指针、栈溢出)、指令执行违规(非法指令、特权操作)、总线错误(外设访问)和中断配置错误。新手可通过开启细分Fault异常(MemManage/BusFault/UsageFault)精准定位问题,利用调试器查看PC/LR/SP寄存器及CFSR错误状态寄存器。排查时需关注内存地址、栈大小和中断配置等关键参数。(149字)

2026-02-26 20:25:45 779

原创 STM32的分散加载问题--使用场合

分散加载文件的核心作用是突破默认内存分配规则,精准控制代码 / 数据的存储位置,是 STM32 定制化存储布局的核心工具;核心应用场景:多类型存储介质分配、OTA 双分区管理、特殊代码 / 数据精准定位、DMA 兼容 / 内存优化、多核心资源隔离;本质是将代码 / 数据的 “段(Section)” 映射到指定的 “存储域(Region)”,满足性能、分区、兼容性等定制化需求。

2026-02-25 20:06:15 877

原创 基于IIC接口的1.3寸OLED显示 STM32 驱动程序

采用STM32内部硬件IIC,OLED采用SSD1306驱动芯片。分辨率 为128×64,下面详细解释一下配置,以及程序源码

2026-02-12 20:15:41 1258 3

原创 STM32 驱动CAN接口的拉线位移传感器

公司项目需要一个拉线位移传感器,就在网上买了深圳欧艾迪CAN接口的。外观很精致,然后用开发板测试了一下,实测精度和稳定性都很不错。我买的是1024分辨率、1m量程的,线性精度达0.1%,官方标注运行寿命高达 500万次。这款CAN接口拉线传感器出厂默认配置波特率 500K、站号ID地址1,采用8字节数据帧传输,低字节在前的协议规则,适配主流工控开发板

2026-02-11 19:38:37 1011

原创 STM32中的SMBUS总线用在哪些场合-IIC,I2C

SMBUS(系统管理总线)是 I2C 的子集,更强调 “系统管理” 和 “可靠性”,核心应用在需要低速、短距离、低成本的硬件监控 / 管理场景

2026-02-10 20:15:03 496

原创 I2C和I3C 协议的区别(IIC,IIIC)

I³C(Improved Inter-Integrated Circuit)是 MIPI 联盟推出的下一代两线串行总线,向下兼容 I²C、速度更高、功耗更低、功能更强。

2026-02-09 11:05:27 822

原创 STM32F765 调试MAX31856 经验总结

这几天在做一块新的PCR (荧光免疫监测法)主板,用到2个CAN,USB,PWM,UART,以及SPI,IIC,其中SPI总线是接MAX31856,做K型温度读取,头几天遇到了问题,到周五完全解决,我把整个过程记录一下。以免忘记1. 写SPI驱动,参考了我们以前的SPI驱动,不过是基于STM32 STDLIB的,现在改为HAL LIB 有一点改变,不过还好,一天改好,2. 第二...

2020-03-22 15:36:42 6283 3

原创 STM32 CAN 通讯发送不能连续,不能接收

1. 今天调试CAN, STM32F334C8T6,做一个生物PCR监测的项目,用到CAN,程序写完后,调试,发现发送只能发送16帧,而且不能接收,用的是USB2CAN2. 检查程序初始化部分如下u8 CAN1_Init(u16 BaudRate,u8 mode){ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); ...

2019-07-05 22:35:04 5774 3

原创 用nfs 传文件

1. 在ubuntu上 打开exports并添加widora@widora-VB:/etc$ sudo vim exports/home/cheng/tftp 172.28.13.53(rw,async,no_root_squash,no_all_squash) //172.28.13.53是开发板的ip2. 运行nfs服务器widora@widora-VB:/etc/in...

2019-04-23 11:02:15 1263

原创 用tftp下载文件到开发板,bootload下命令行 修改IP电子

1. 安装tftpsudoapt-getinstalltftp-kernel-hpa2. 修改tftpd-hpa 文件如下widora@widora-VB:/etc/default$ cat tftpd-hpa# /etc/default/tftpd-hpaTFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/cheng/tftp"...

2019-04-11 21:31:16 779

原创 虚拟机和开发板相连以及相互传文件

1. 虚拟机连接开发板使用ssh -l root 192.168.1.50 连接到开发板, 192.168.1.50是开发板IP地址2.wget 192.168.1.50 /mytest 传送mytest文件到开发板

2019-04-06 21:13:21 1616

原创 用NFS 连接开发板和虚拟机

1. 在开发板上挂载文件系统mount -t nfs 192.168.1.100:/home/widora/nfs /nfs -o nolock192.168.1.100为虚拟机连上开发板WIFI后获得的IP地址

2019-04-05 10:21:50 618

原创 STM32F0 内部Flash作为数据存储的读写

1。 写数据void WriteDataInFlash(uint32_t WriteAddr,uint16_t *OutPtr,uint16_t NumToWrite){uint8_t i=0; //uint16_t temp=0; RCC_HSICmd(ENABLE); FLASH_Unlock(); FLASH_ClearFlag(FLASH_FLAG_EOP|FLA...

2019-04-01 21:46:07 6874

原创 STM32F0数码管显示

1。segment定义 共阴数码管#define SEG_A 0x80#define SEG_B 0x40#define SEG_C 0x20#define SEG_D 0x10#define SEG_E 0x08#define SEG_F 0x04#define SEG_G 0x02#define SEG_DOT 0x...

2019-03-29 22:31:36 2568

原创 STM32F0 74HC595驱动程序

1 。74HC595 初始化#define GPIO_SEG_595CS_PIN GPIO_Pin_9 //#define GPIO_SEG_595CS_PORT GPIOA //#define GPIO_SEG_595CLK_PIN GPIO_Pin_10 //#defin...

2019-03-29 22:19:48 1537

原创 STM32F0 ADC程序设计

1。 ADC初始化void ADC_CH_DMA_Config(void){ ADC_InitTypeDef ADC_InitStructure; DMA_InitTypeDef DMA_InitStructure; GPIO_InitTypeDef GPIO_InitStruct; /* ADC1 DeInit */ ADC_DeInit(ADC...

2019-03-28 16:39:46 2322

原创 STM32F0 按键程序

#define HAVEKEY_PIN 0x0003 //#define KEYPOP 0x0000#define KEY_START_PRESSED 1 //typedef struct{ INT8U bLastValue; ...

2019-03-28 14:37:03 1457

原创 STM32F0 外部中断程序

1. 配置PA4,PA5为外部中断void EXTI_Config(void){ EXTI_InitTypeDef EXTI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; /* Enable GPIOA clock */ R...

2019-03-28 14:30:19 3555

原创 STM32F0 UART 收发程序

1. 为了能够支持printf函数定义如下#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE ...

2019-03-28 10:25:50 3324

MT7628 Program guide

MTK7628 program guide ,包括寄存器说明,I2C 编程说明,I2S ,PWM,SPI,UART,DMA,INT,PCM,RF,TCP/IP。。。。。

2018-12-24

MTK7688,datasheet

MTK7688 datasheet ,硬件设计,580Mhz主频,MIPS架构,内置WIFI,内置DDR,I-CACHE,D_CACHE,PCI,USB2.0.I2S,I2C,SPI,UART,RF.SD,PWM,但没有adc

2018-12-24

MSP430 USERGUIDE

MSP430 User Guide ,汇编程序设计,反汇编指南

2013-05-08

msp430F437 datasheet

单片机 TI MSP430 LCD 很不错的单片机资料

2013-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除