- 博客(120)
- 资源 (4)
- 收藏
- 关注
原创 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
2018-12-24
MTK7688,datasheet
2018-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅