C#步进电机S型加速曲线代码包:从梯形到七段式规划与定时器实现
简介面向自动化设备、机器人及精密定位场景中的嵌入式与上位机开发者提供基于C#的步进电机S型加速曲线实现重点解决电机启停瞬间冲击大、速度过渡不平滑的问题。压缩包共44个文件、1.16MB涵盖cs源码、exe可执行程序、pdb调试符号、config配置文件、resources资源文件及msi安装包可直接运行查看效果也可借助源码与安装工程二次开发。核心算法采用查表法将按S型曲线预计算的速度值存入数组运行时依据步进计数查表获得目标速度减少实时计算开销同时包含串口或GPIO控制电机驱动器所需的接口代码便于接入现有控制项目。压缩包内源码、编译产物与安装脚本相互分离适合对照学习算法实现、调试流程与软件打包思路。已有574人学习使用具备一定C#与硬件控制基础的开发者可据此快速落地步进电机平滑加减速方案。1. 步进电机要不要上S型加速曲线C#代码包能替你解决什么我做过一个小案子某自动检测平台电机带着一个200g的滑台做往复运动梯形加速时每次启动都会“咯噔”一声速度上去之后倒没声但停下来的瞬间整个机架会抖一下。用示波器看脉冲启动频率明明设得不高出来的速度曲线就是有台阶。后来把梯形换成了S型加速曲线那一声闷响基本消失停得也干净了。真正该关心的是加速度的变化率业内一般叫加加速度。这个zip里的东西就是帮你在C#里把这条曲线算好、把表生成好、再交给定时器去发脉冲省掉自己从零肝算法的功夫。适合谁用C#做上位机控制步进电机、滑台、分度盘的朋友不管你是第一次调速度曲线还是已经用梯形跑了一阵子想优化都能从这里找到直接能抄的样板。2. S型曲线为什么比梯形强加加速度、七段式和C#定时器选型2.1 梯形曲线的“病根”加速度突变等于给电机来了一脚急刹车梯形速度曲线由三段构成匀加速、匀速、匀减速。它最大的问题是加速度在启动瞬间从0直接跳到设定值A在终点又从A直接跳回0。加速度突变意味着加加速度也就是jerk趋向无穷大。按力学里最简单的Fma来理解有加速度就有力力突变机架、联轴器、皮带就会受到冲击。对步进电机来说冲击会让转子和负载之间出现瞬时打滑于是“明明发了脉冲但机械位移少了一截”这就是丢步。梯形曲线和S型曲线在关键维度上的差距放在一起看更清楚对比项梯形曲线S型曲线加速度形状阶跃跳变斜坡/圆弧过渡jerk启动/停止瞬间无穷大限制在设定值内机械冲击大容易抖小启停更顺到位时间短比梯形稍长但可接受典型场景轻载、低速、精度要求一般中高速、阻尼大、精定位所以你在调一个已经跑得好好的梯形曲线设备时会觉得“也没什么问题就是抖一点”。一旦把负载加大、速度提上去这个抖就会变成失步S型曲线就不再是甜品而是必需品了。代码包里的规划器本质就是把梯形曲线的那两个硬拐角“圆滑化”。2.2 七段式S曲线是怎么算出来的看懂这节再去看zip里的算法最常见的S型速度规划是七段式加加速、匀加速、减加速、匀速、加减速、匀减速、减减速。前半段完成速度从v0提至vmax中间匀速后半段对称减停。重点在前三段加加速阶段jerk保持常数加速度从0递增到上限aMax匀加速阶段jerk为0加速度保持aMax减加速阶段jerk为负加速度从aMax递减回0。这样加速度不再跳变速度曲线才是最标准的“S”。我一般会把加速段用一个简单函数先算一遍验证参数是否合理再放进完整的电机控制线程里。这个函数生成的是速度表static Listdouble BuildAccelTable(double v0, double v1, double aMax, double jerk, double dt) { var table new Listdouble(); double t1 aMax / jerk; // 加速度从0爬到aMax所需的时间 double dv1 0.5 * aMax * t1; // 加加速段速度增量三角形面积 double dv2 v1 - v0 - 2 * dv1; // 匀加速段需要补的速度增量 if (dv2 0) { // 速度跨度太小还没加到aMax就得上匀速退化成三角形S计划 double tx Math.Sqrt((v1 - v0) / jerk); for (double t 0; t tx; t dt) table.Add(v0 0.5 * jerk * t * t); for (double t 0; t tx; t dt) table.Add(v1 - 0.5 * jerk * (tx - t) * (tx - t)); return table; } double t2 dv2 / aMax; // 匀加速段时间 double totalT 2 * t1 t2; double v v0, a 0, prevT 0; for (double t 0; t totalT; t dt) { if (t t1) a jerk * t; else if (t t1 t2) a aMax; else a jerk * (totalT - t); v a * (t - prevT); // 梯形积分避免一步到位带来的误差 table.Add(v); prevT t; } return table; }这里的逻辑核心是先算加速阶段的两个关键时间点。t1越短说明加速度很快加到顶曲线越接近梯形t1越长说明过渡越缓启停越柔和。dv2小于0时表示速度范围太小根本到不了aMax那就不用硬套七段直接按三角形处理。dt是规划步长我一般取0.001秒也就是1ms一个采样点既不会让表太长也能保证曲线平滑。拿到一个陌生zip时我会先打开它的规划类找有没有类似“t1aMax/jerk”这行。有说明它是真七段式没有而是一上来就套sigmoid或余弦函数那也能用但参数含义完全不同你要么按它的文档调要么干脆自己把代码换成我上面这段。2.3 定时器选型为什么WinForms的Timer做不出S型曲线算法算得再好发脉冲的定时器精度跟不上最终到电机上的速度曲线照样是锯齿形。这是C#做步进电机控制最容易翻车的地方。我用一个表格把差别说清楚定时器方案典型精度适合场景Timer控件15ms左右界面刷新、粗粒度心跳System.Threading.Timer10ms左右一般轮询不能用于微秒级Stopwatch忙等微秒级发步进脉冲、S型曲线执行多媒体定时器1ms以下更稳定的脉冲输出但调用麻烦运动控制卡硬件级生产级设备不占CPUS型曲线在高速段的脉冲间隔经常只有几百微秒比如2000 steps/s时间隔是500微秒。你用15ms精度的Timer相当于每15ms才发一个脉冲速度曲线直接塌成楼梯。所以我在代码里看到用System.Windows.Forms.Timer跑电机的第一反应就是先别调jerk把定时器换了再说。最常见、最容易上手的替代方案是用Stopwatch忙等。它不依赖系统消息循环精度直接走性能计数器var sw Stopwatch.StartNew(); long next 0; int index 0; while (index delays.Count) { long now sw.Elapsed.Ticks; if (now next) continue; stepAction(); // 触发一个步进脉冲 index; if (index delays.Count) { long waitTicks (long)(delays[index] * Stopwatch.Frequency / 1_000_000.0); next waitTicks; // 下一次脉冲时刻 } }这段代码里delays是脉冲间隔表单位微秒。Stopwatch.Frequency是每秒多少个tick用它把微秒换算成tick避免浮点误差累积。stepAction是发一个脉冲的动作可以写成GPIO翻转、控制卡接口调用或串口指令具体看你手里的硬件。注意这个循环是忙等会占满一个CPU核心但换来的精度对步进电机是值得的。生产环境不想占CPU就考虑多媒体定时器或控制卡。3. 跑通最小Demo从解压zip到输出第一段S型脉冲间隔表3.1 解压后先认三类文件别急着双击exe绝大多数这类代码包解压后结构都能分成三类职责。先认清楚你才能知道改哪里、看哪里文件类型常见类名职责曲线规划类SCurvePlanner、MotionPlanner把v0、vmax、aMax、jerk转成速度表或延时表执行类MotorRunner、PulseGen按延时表产生脉冲负责定时和IO输出界面类MainForm、MotorPanel参数输入、启动停止、速度曲线预览我拿到别人做的zip不会先打开界面文件而是先打开曲线规划类看它的Build方法返回什么。如果返回Listdouble单位大概率是step/s如果返回Listint单位大概率是微秒的脉冲间隔。搞清楚这一点后面所有参数才有意义。如果它只返回速度表你还得自己把速度倒数成脉冲间隔。这是步进电机控制里绕不开的一步速度是每秒多少步脉冲间隔是每步多少微秒两个量互为倒数。3.2 最小可运行示例速度表转脉冲间隔表假设zip里的规划类叫SCurvePlanner它的静态方法BuildAccelTable已经算好了加速段速度表。那我们从它后面接一段就能得到能直接交给定时器的延时表double v0 100; // 启动速度step/s必须低于自启动频率 double vmax 2000; // 最高速度step/s double aMax 5000; // 最大加速度step/s^2 double jerk 80000; // 加加速度step/s^3 double dt 0.001; // 规划步长单位秒 var vTable SCurvePlanner.BuildAccelTable(v0, vmax, aMax, jerk, dt); var delayTable vTable.Select(v (int)(1_000_000.0 / v)).ToList();这里为什么要从100而不是0开始步进电机在0Hz附近没有稳定输出力矩直接从一个极低但非零的起始频率起跳更可靠。v100 step/s时第一步间隔是10000微秒也就是10ms到v2000时间隔缩短到500微秒。第一次跑这套东西的人最容易把“速度越高、间隔越短”这个关系搞反结果曲线越调越怪。注意这个例子只生成了加速段完整运动还要匀和减速段。zip里如果做的是完整规划结构也是一样的只不过Build方法会多算一段匀速、一段减速并把减速段的距离也考虑进去。3.3 用Stopwatch把延时表变成实际脉冲最小执行代码规划器给出来的只是数据真正控制电机的是执行循环。下面这段是我在项目里最常留作“最小原件”的写法public class PulseRunner { private Listint _delays; private Action _stepAction; public void SetDelayTable(Listint delays, Action stepAction) { _delays delays; _stepAction stepAction; } public void Start() { var sw Stopwatch.StartNew(); long next 0; int index 0; while (index _delays.Count) { long now sw.Elapsed.Ticks; if (now next) continue; _stepAction(); index; if (index _delays.Count) { long waitTicks (long)(_delays[index] * Stopwatch.Frequency / 1_000_000.0); next waitTicks; } } } }这个类干的事情很纯粹每到一个时间点调用一次_stepAction。_stepAction可以是写并口、调用控制卡驱动、发串口命令甚至只是把一个测试引脚翻转一下目的是把“计算”和“硬件”解耦方便先在没有电机的情况下验证曲线。参数说明_delays是微秒级间隔表next是下一次发脉冲的Stopwatch tick值index指向间隔表的位置。第一次启动前必须保证_delays已经由规划器生成。如果直接把Start放进UI按钮的点击事件界面会卡死建议外层套一个Task.Run。3.4 第一次运行后怎么自检看前20个间隔值没有示波器也能先做一个粗验证。在启动前把delayTable前20个值打印出来for (int i 0; i 20 i delayTable.Count; i) { Console.WriteLine($#{i} : {delayTable[i]} us); }如果v0100、vmax2000第一个值接近10000后面逐渐变小而且相邻两个值之间的差是慢慢变化的说明曲线基本成形。如果前几个值是10000、9980、9990这样来回跳第一优先检查dt是不是太小第二优先检查是不是用了一个精度很差的定时器在跑。别一开始就怀疑算法算法在纯计算阶段是稳定的问题多半出在执行线程。另一个自检技巧是软件模拟速度表每10ms统计一次从delayTable里消耗了多少个脉冲用消耗数除以10ms换算成实时速度再把速度点画出来。这个办法不需要任何硬件就能看出加速段有没有明显台阶。4. 参数调优与避坑四个参数这样调五个故障这样排4.1 参数调优顺序先定频率再定加速度最后碰加加速度拿到一个现成的C#步进电机S型曲线代码包最忌讳上来就把jerk改到最大值试手感。参数调优应该按我习惯的顺序走先定起始速度再定最高速度然后给一个保守的最大加速度最后才动jerk。参数常见单位调小的效果调大的后果建议起点起始速度v0step/s启动更稳但整段运动时间变长开机丢步、顿挫80~200最高速度vmaxstep/s噪声小风险低超过驱动频率上限会堵转按机械允许值最大加速度aMaxstep/s²力需求小更稳超过电机力矩就丢步先取需求值的一半加加速度jerkstep/s³曲线更圆起停更软接近梯形曲线失去意义从低往高加调优第一件事是锁死vmax然后把v0调低到电机不会启动丢步。步进电机有一个“自启动频率”超过这个频率直接启动会失步。不同电机的数值差别很大我一般先在界面上让v0等于100空载跑一遍再慢慢加。第二件事是调aMax。很多新手把aMax设成理论峰值但电机在低速段的力矩曲线并不是平的负载一上来加速段末尾就会丢步。我的做法是先用计划值的50%跑顺畅再往上提。最后才动jerk。jerk越大曲线越接近梯形jerk太小加速段会拖得很长影响效率。合适的位置是“加速过程能明显感觉到从柔和到有力再到柔和的过渡”而不是“一推就出去”。要特别注意zip里的参数名不一定叫jerk有的把它写成AccelTime、CurveTime单位也各不相同。我在另一个项目里见过Curve5表示“5%的加速时间做过渡”本质也是jerk的变体。改代码之前先把单位捋清楚否则调的数值没有任何可比性。4.2 高频故障记录现象、原因、解决这里列五条我实际踩过或帮别人排查过的记录。每一条都按现象、原因、解决的顺序写你可以直接对照自己的设备症状查。故障1启动瞬间咯噔一声有时直接丢步现象电机刚起步的时候有明显的冲击声偶尔走几毫米就停下来不动。 原因v0高于电机自启动频率或者电流设置偏低。 解决把v0降下来。我常用一个保护写法在启动前把起始速度限制在自启动频率的80%左右。double safeStart Math.Min(v0, motor.PullInFrequency * 0.8);这个PullInFrequency不是每个项目都有但如果zip里封装了电机反馈或历史记录可以在初始化阶段通过测试得到。如果没有测试接口就直接把v0从150改成80稳一手再提速。故障2中速跑起来机架“唱歌”现象电机在中间某个速度段啸叫明显声音发尖过了这个速度反而安静。 原因加加速段太短jerk过大激励了机械系统的固有频率。 解决先把jerk减半如果啸叫消失再把这个速度段作为避振区间。不要只在软件里调还可以尝试换细分值比如从1/4细分改成1/8共振点也会移动。故障3快到目的地刹不住过冲甚至顶到限位现象末端停止位置时而过冲时而不到位机械限位经常被撞。 原因减速段是固定时间或固定步数开始没有根据剩余距离限制速度。 解决从减速开始后每一步都检查一次“按当前减速度还能不能刹住”。核心公式是v²2as反过来算允许速度double remainingSteps totalSteps - currentStepIndex; double allowedSpeed Math.Sqrt(2 * decel * remainingSteps); currentSpeed Math.Min(currentSpeed, allowedSpeed);这行代码的意思是你离终点还剩多少步就最多只能跑多快。否则即使现在开始减速也已经停不下来。zip里的S型规划如果没做这一步跑长距离会出现累计误差。自己补上这个限幅比调参数更治本。故障4规划表很漂亮实际速度却像心电图现象软件里打印速度表是平滑的S用逻辑分析仪抓脉冲后发现间隔忽大忽小速度曲线锯齿严重。 原因执行定时器用的是WinForms的Timer或者用了Thread.Sleep。系统定时器精度不够几百微秒的间隔根本守不住。 解决换Stopwatch忙等。如果你不方便大改先把dt从0.001改为0.0005让表更细同时把普通Timer换成高分辨率的多媒体定时器。换完之后再看抓包曲线会明显干净。故障5空载一切正常带负载就丢步现象不装负载跑S型曲线启停都顺一装上负载加速段中途就开始丢步。 原因aMax或jerk超过电机在当前速度下的输出力矩。 解决先把aMax往下调30%再跑同一段运动。如果丢步消失说明规划参数没问题是机构负载太大。可以考虑提高驱动器电流、换更大电机或者加细分。很多工程师在这种时刻会反复调jerk其实jerk不是主因aMax才是决定加速段力需求的主要参数。排查时我习惯坚持“一次只改一个参数”的原则。如果同时改了v0、aMax、jerk出了问题完全不知道是哪一项引起的。记录每一版参数和对应的延时表CSV文件这也是给自己留后悔药。机器不会说话但对比两版输出表很快就能定位问题。5. 验证S曲线的两个硬技巧逻辑分析仪和速度回放逻辑分析仪是验证步进电机S型曲线最直接的检具。把探针夹在驱动器STEP引脚上抓一段脉冲然后测量相邻上升沿的时间差得到实时频率。频率就是速度的另一种表达间隔短速度高间隔长速度低。把频率画成曲线你就能看到电机会不会真的走出S形。处理代码很简单// t[i]是从逻辑分析仪导出的相邻脉冲时刻单位秒 double[] actualFreq new double[t.Length - 1]; for (int i 0; i actualFreq.Length; i) { actualFreq[i] 1.0 / (t[i 1] - t[i]); }然后把actualFreq和规划器的速度表画在同一张图上。正常情况下两条曲线应该在10%误差内重合。如果低速段误差偏大重点查v0和启动段如果高速段误差偏大重点查定时器和驱动上限。没有逻辑分析仪时我还会用软件速度回放每10ms统计一次实际发出去的脉冲数折算成平均速度再画点连线。这个办法粗一点但足以看出曲线在加速段有没有凸起在减速段有没有突然掉速。新项目上电前我都是先跑这一遍回放确认曲线形态没问题再让电机真的动起来。再补充一个习惯每次调完参数把第一版delay表存成CSV改一次存一次。出问题时把“上次好的”和“这次坏的”两张表做差分很快就能锁定是哪一段速度区间出了问题。曾经我把jerk从80000直接拉到200000电机差点从座子上弹起来机器没坏是万幸。后来我规定自己动jerk之前只降转速并先把vmax降到原来的三分之一空载跑一遍确认过渡段没有异常再逐级提速。曲线表跑顺了后面调机械才有意义。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

嵌入式Linux显示驱动调试工具链实战:从黑屏到花屏的定位方法

嵌入式Linux显示驱动调试工具链实战:从黑屏到花屏的定位方法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 12:02:50 阅读更多 →
工业晶振选型三关解析:宽温、抗振与长寿命的工程权衡

工业晶振选型三关解析:宽温、抗振与长寿命的工程权衡

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 12:02:50 阅读更多 →
530-8i RAID卡安装Windows Server 2012 R2:驱动加载与镜像集成全攻略

530-8i RAID卡安装Windows Server 2012 R2:驱动加载与镜像集成全攻略

简介:联想SR650服务器搭配530-8i RAID卡部署Windows Server 2012 R2时,系统因缺少对应驱动而无法识别磁盘是常见故障,在全新装机和系统重装场景中尤为突出。这份驱动资源面向IT运维与服务器实施工程师,解决安装阶段RAID卡驱动缺失…

2026/10/13 12:02:50 阅读更多 →

最新新闻

鲲鹏云ARM架构Hadoop集群部署实验全流程拆解

鲲鹏云ARM架构Hadoop集群部署实验全流程拆解

简介:《鲲鹏云大数据实验docx》是一份面向云计算与大数据初学者的实验报告,完整记录了在华为云鲲鹏环境下从零搭建Hadoop集群的全过程。报告从购买弹性云服务器与对象存储服务开始,介绍如何获取AK/SK认证密钥,并逐步完成OpenJDK安…

2026/10/13 12:40:44 阅读更多 →
大数据实验第一课:Linux与Hadoop操作避坑指南

大数据实验第一课:Linux与Hadoop操作避坑指南

简介:本资源是大数据系列实验的第一份配套材料,面向刚接触大数据技术的高校学生与自学者,帮助其搭建后续实验所需的基础环境。内容围绕Linux虚拟机安装、常用Linux命令以及Hadoop伪分布式安装三大模块展开,覆盖cd、ls、mkdir、cp、…

2026/10/13 12:40:44 阅读更多 →
STM32双机CAN通信实战:TJA1050硬件设计到软件调试全解析

STM32双机CAN通信实战:TJA1050硬件设计到软件调试全解析

1. 为什么双机通信我选了CAN而不是UART——场景选择与总体方案先说一个最常见的场景:你在做一个小项目,A板和B板之间要互通数据,距离可能有个十来米,现场还有电机、变频器这类干扰源。多数人第一反应是UART,一对TX/RX接…

2026/10/13 12:40:44 阅读更多 →
数据库技术选型决策记录(ADR)实战:关系型、文档型与事件型数据库的完整评估与决策

数据库技术选型决策记录(ADR)实战:关系型、文档型与事件型数据库的完整评估与决策

【免费下载链接】architecture-decision-record Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation 项目地址: https://gitcode.com/gh_mirrors/ar/architecture-decision-record 点击查看 免费下载 …

2026/10/13 12:40:44 阅读更多 →
8款硬核MCP服务器实战:让AI告别复制粘贴

8款硬核MCP服务器实战:让AI告别复制粘贴

我先从一个特别没面子但特别真实的场景说起。 上周我要做一份跨项目的数据汇总报告,具体流程是这样的:先从A系统的后台导出两个月的订单记录,再从B系统拉出成本表,打开电子表格软件把两边的格式统一,然后把关键数字一…

2026/10/13 12:40:44 阅读更多 →
Natron 中 G‘MIC Layers to Tiles 节点完全指南:多图层图像拆分为网格瓦片

Natron 中 G‘MIC Layers to Tiles 节点完全指南:多图层图像拆分为网格瓦片

音视频视频处理图形学桌面应用 【免费下载链接】Natron Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry. 项目地址: https://gitcode.com/gh_mirrors/na/Natron 点击查看 …

2026/10/13 12:39:44 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →