自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 电机控制(四)--- PID算法

1、r(t) setpoint, reference,是期望的过程值或设定值(SP);2、y(t) output, process variable,是测量的过程值,输出值(PV);3、e(t) error,是偏差;4、u(t) control effort,是控制量;5、PID控制器不断计算误差值e(t)作为所需设定点之间的差异SP=r(t)和测量的过程变量 PV=y(t):e(t)=r(t)−y(t) ,并应用基于比例、积分和导数项的修正;

2023-10-27 15:52:25 173

原创 电机控制(三)--- vofa+波形打印

对于电机控制来说,在调试过程中,我们需要一个工具去打印对应的波形,简易大概得查看波形,快速查找大部分问题所在。但在极高性能要求的情况下,建议使用电机的原始数据,进行拟合波形,首先串口打印数据波形,可能存在不准确,不可靠的风险。这里只介绍串口打印功能的相关设置。

2023-10-16 17:07:35 1890

原创 电机控制(二)--- 滤波算法

(1)确定两次采样允许的最大偏差值(设为A)每次检测到新的采样值时判断:如果本次值与上次值之差 A,则本次采样值无效。(2)如果本次值无效,对于本次采样可以做不同的处理:比如:放弃本次采样值,使用上次的采样值;本次采样值=上次采样值±限幅A;放弃本次采样,重新采样。(3)优点:能够消除因偶然波动引起的误差。(4)缺点:无法抑制周期性的干扰,平滑性差。

2023-10-16 15:48:22 805

原创 电机控制(一)--- FOC框架

FOC主要是通过对PMSM/BLDC进行电流的控制,实现对电机转矩(电流)、速度、位置的控制。如下图所示,以电流作为最内环,速度是中间环,位置作为最外环,最终实现三闭环的控制。

2023-10-16 00:03:14 1042

原创 Linux系统编程之socket编程

实现一个基于socket网络的客户端和服务端的双向收发消息;客户端和服务端都会去fork一个子进程,子进程负责去发送消息,父进程负责去读取消息;

2023-03-02 15:08:59 405

原创 Linux系统编程之线程

典型的Unix和Linux进程可以看成一个控制的线程,这个进程在同一时刻只做一件事情;当Unix和Linux进程有了多个控制线程之后,进程在同一时刻就不只做一件事情,每个线程都有各自处理的任务;进程在程序运行的过程,是系统分配资源的基本单位,在线程设计的系统中,进程本身并不是基本运行的单位,而是线程的容器;线程是操作系统能够进行运算调度的最小单位;一个进程中可以并发多个线程,每条线程并行执行不同的任务。

2023-03-02 14:15:50 137

原创 Linux系统编程之进程间通信

进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、信号、共享内存、Socket。

2023-02-26 22:41:37 110

原创 Linux系统编程之进程篇

孤儿进程:父进程如果不等待子进程退出,在子进程之前就结束了自己,子进程就叫孤儿进程;Linux避免系统存在过多的孤儿进程,init进程会收留孤儿进程,变成孤儿进程的父进程;vfork保证子进程先运行,当子进程调用exit退出后,作用:我们在fork一个新进程后,经常会在新进程调用exec函数去执行另一个程序,即该进程被完全。system是在原进程上开辟了一个新的进程,但是exec是用新进程(命令)覆盖了原有的进程;fork之后是父进程先运行还是子进程先运行是不可知的,存在CPU的抢夺;

2023-02-23 19:43:26 169

原创 Linux系统编程之文件篇

LInux文件编程的一些常见API的介绍,以及相关的demo编写

2023-02-22 19:48:36 545

原创 Linux基于Ncurses的贪吃蛇小游戏

Ncursers(new curses)是Linux/Uinx底下应用比较广泛的图像库,他提供了大量的API函数,可以让用户在终端里面绘制出简单的图形界面;这里我们会调用几个API去不断刷新界面,获取键盘的上下左右键,打印出蛇、食物、以及边界;当蛇碰到食物时,链表插入一个节点,而不进行节点删除,从而使链表的长度加一;当蛇没碰到食物时,蛇的移动就是链表的节点的动态插入和删除;这里我引入了Linux线程的机制,创建了两个线程;根据获取到的键盘方向键,确定链表头插入;这里我创建了一个单向链表去绘制出蛇身;

2023-02-21 22:28:59 297 1

空空如也

空空如也

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

TA关注的人

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