news 2026/5/30 15:03:07

FX3U PLC控制器资料 尺寸:185*130m 主控芯片:STM32F103VCT6 电源...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FX3U PLC控制器资料 尺寸:185*130m 主控芯片:STM32F103VCT6 电源...

FX3U PLC控制器资料 尺寸:185*130m 主控芯片:STM32F103VCT6 电源:DC24V 功能: 1、2路RS232、1路RS485、1路CAN通讯 2、24路独立TTL输出,PC817光耦隔离,继电器输出;20路独立TTL输入,PC817光耦隔离;4路独立TTL输入,6N136高速光耦隔离 3、4个指示灯:电源、模式、运行、通讯 4、2路模拟量输入ADC、2路模拟量输出ADC 序号3资料包含:原理图(AD版本)、PCB(AD和PADS版本)、BOM表,程序源码

拆开快递箱的时候,这枚手掌大小的FX3U控制器让我有点意外。185mm*130mm的机身塞进了工业级配置,铝合金外壳还带着CNC加工的刀痕。掏出万用表实测电源端子,DC24V的标识没骗人,接上开关电源的瞬间,四个状态指示灯齐刷刷亮起,这工业小钢炮算是通电了。

FX3U PLC控制器资料 尺寸:185*130m 主控芯片:STM32F103VCT6 电源:DC24V 功能: 1、2路RS232、1路RS485、1路CAN通讯 2、24路独立TTL输出,PC817光耦隔离,继电器输出;20路独立TTL输入,PC817光耦隔离;4路独立TTL输入,6N136高速光耦隔离 3、4个指示灯:电源、模式、运行、通讯 4、2路模拟量输入ADC、2路模拟量输出ADC 序号3资料包含:原理图(AD版本)、PCB(AD和PADS版本)、BOM表,程序源码

主控STM32F103VCT6的GPIO资源分配挺有意思。看原理图发现,24路继电器输出全部挂在PC817光耦后面,这种设计在车间设备上见过——产线上马达启停时的浪涌电流要是直接怼进MCU,那酸爽不敢想。随手扒了段输出控制的源码:

// 输出端口配置 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); // 控制继电器动作 void SetRelay(uint8_t ch, BitAction state) { GPIO_WriteBit(GPIOB, (GPIO_Pin_0 << ch), state); Delay_ms(20); // 等待光耦响应 }

这里有个细节,控制信号发出后硬等了20ms。用示波器抓波形才发现PC817的响应时间在15ms左右,这20ms的延时算是给光耦留足了余量。不过6N136高速光耦那边就不用这么保守,看输入捕获的代码直接用的中断模式:

// 高速输入配置 void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0) != RESET) { // 处理DI0信号跳变 inputBuffer[0] = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0); EXTI_ClearITPendingBit(EXTI_Line0); } }

通讯接口这块玩得花,CAN总线的滤波设置有点门道。从源码里翻出这段配置,明显是为工业现场多节点准备的:

CAN_FilterInitTypeDef filter; filter.CAN_FilterNumber = 0; filter.CAN_FilterMode = CAN_FilterMode_IdMask; filter.CAN_FilterScale = CAN_FilterScale_32bit; filter.CAN_FilterIdHigh = 0x0000; filter.CAN_FilterIdLow = 0x0000; filter.CAN_FilterMaskIdHigh = 0x0000; filter.CAN_FilterMaskIdLow = 0x0000; // 接收所有报文 filter.CAN_FilterFIFOAssignment = 0; filter.CAN_FilterActivation = ENABLE; CAN_FilterInit(&filter);

模拟量处理部分,ADC的校准参数直接写死在代码里。实测发现,VREF+接的3.3V基准源温漂有点大,得自己在应用层做软件补偿:

// ADC校准值 #define VREF_CAL 1.215f float GetAnalogInput(uint8_t ch) { uint16_t raw = ADC_GetValue(ch); return (raw * VREF_CAL) / 4096.0f; }

翻完源码再对照PCB文件,发现数字地和模拟地的分割挺讲究。光耦两侧的地平面用0Ω电阻桥接,这种设计在变频器干扰严重的场合能保命。BOM表里Y电容选的是村田的KRM系列,EMC测试应该能省不少事。

这控制器最让我服气的是开发资料的完整性——从AD格式的原理图到PADS的PCB封装,连STM32的启动文件都带着详细注释。不过程序里有些寄存器操作直接用魔术数字,比如:

// 串口波特率设置 USART1->BRR = 0x1D4C; // 115200 @72MHz

这种写法对维护不太友好,改成宏定义会更好。总体来说,这板子拿来改造成小型产线控制器或者智能仓储的中枢节点挺合适,双CAN的设计足够组个冗余网络。下次试试用它的RS485接Modbus仪表群,看能不能扛住车间里的电磁干扰。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 2:42:54

Qwen3-VL-2B应用探索:教育测评的自动批改系统

Qwen3-VL-2B应用探索&#xff1a;教育测评的自动批改系统 1. 引言&#xff1a;AI驱动教育测评新范式 随着人工智能技术在多模态理解领域的突破&#xff0c;传统教育测评方式正迎来深刻变革。尤其是在作业批改、试卷评估等重复性高、耗时长的环节&#xff0c;自动化解决方案的…

作者头像 李华
网站建设 2026/5/28 18:37:56

Qwen3-VL-2B响应延迟高?CPU调度优化实战解决方案

Qwen3-VL-2B响应延迟高&#xff1f;CPU调度优化实战解决方案 1. 背景与问题定位 在部署基于 Qwen/Qwen3-VL-2B-Instruct 的视觉语言模型服务时&#xff0c;尽管系统已针对 CPU 环境进行了精度&#xff08;float32&#xff09;和内存加载的初步优化&#xff0c;但在实际使用中…

作者头像 李华
网站建设 2026/5/28 12:35:05

YOLOv9推理效果惊艳!真实案例现场展示

YOLOv9推理效果惊艳&#xff01;真实案例现场展示 在智能工厂的质检流水线上&#xff0c;一台工业相机每秒捕捉上百帧图像&#xff0c;而系统需要在毫秒级时间内判断是否存在微小缺陷。传统目标检测方案往往因延迟高、漏检率大而难以胜任。如今&#xff0c;随着YOLOv9官方版训…

作者头像 李华
网站建设 2026/5/28 22:28:43

FSMN VAD输出JSON时间戳,方便对接后续处理流程

FSMN VAD输出JSON时间戳&#xff0c;方便对接后续处理流程 1. 引言&#xff1a;语音活动检测在实际工程中的核心价值 在语音识别、会议记录、电话质检等智能音频处理系统中&#xff0c;语音活动检测&#xff08;Voice Activity Detection, VAD&#xff09; 是不可或缺的前置环…

作者头像 李华