下推式磁悬浮装置设计
下推式磁悬浮装置设计
前言
一直以来,心中有一个想法,就是利用自身所学做一些好玩的,神
奇的东西,偶然的一个机会看到网上有人发磁悬浮装置的设计方法,就突然有了要自己亲自做一个的念头。想起来,当年在大二的时候,一个好朋友找我商量要做一个磁悬浮的装置,还记得当年参考的网上的设计资料是一个利用模拟电路设计的,由于当年在学校的时候对于软硬件设计理解之浅,无法真正的理解这其中的原理,经历了几次失败后放弃。
设计思路
要想浮子能够悬浮,首先需要通过磁铁建立一个稳定的强磁场,用来拖住浮子(要悬浮的磁铁),这个是磁悬浮的一个主要的力的来源,当然单靠这个力,浮子是无法平衡的,需要一个微调的力,这就需要用电磁铁制造一个可变的磁场。磁场该怎么变化才能使浮子浮起来呢,这就需要用到霍尔传感器了,霍尔传感器通过检测通过该元器件的磁场强度,判断浮子的位置,运用算法调节PWM占空比,调节浮子的受力方向,从而使浮子达到平衡状态,动态调节过程图如下:
硬件设计
硬件设计分为两部分,两部分通过排针上下组合。上部分用来放电磁铁、永磁铁及霍尔传感器。下部分用来放控制、显示、操作按键等。原理图如下
软件设计
软件设计上最重要的就是运用了位置式PID算法,PID调节函数如下:
int posPIDcalc(PIDtypedef *PIDx, u16 PV)
{
float Ek=0,Er=0,Ea=0;
static Ei = 0;
Ea=PIDx->SV;
Ek = PV - Ea; //当前误差
Ei += Ek;
Er = (PIDx->Kp)*Ek + (PIDx->Ki)*Ei + (PIDx->Kd)*(Ek - PIDx->Ek1);PIDx->Ek1=Ek;//把当前的误差值存到上次
return(Er);
}
实物展示
上推式磁悬浮装置效果图
总结
磁悬浮能够悬浮的好的关键点:
1.找合适的平衡点
因为实际调节过程中电磁铁只是起到微调的作用,所以要把平衡点设定到电磁铁能调节的高度以内,这个平衡点由钕磁铁决定,如果钕磁铁的磁性很强,或者时磁铁设置的过高,则平衡点远超过电磁铁的调节范围,这时候肯定无法平衡浮子,即使能调节,也不稳定,电流很大,就目前这套装置,正常工作电流100mA左右,几乎不怎么发热。
2.PID参数
PID的调节涉及到两个轴,两个轴要分别调节平衡,平衡的标志就是用手限制浮子一个轴的运动,浮子在另一个轴可以平衡。
PID调节过程:
由于使用位置式PID,和增量式PID有很大不同,位置式PID调节过程:
首先将积分Ki、微分Kd置0,逐渐增大Kp,知道浮子出现震动;
开始增加Kd,微分环节是用来抑制震荡的,在调节微分环节的同时,可以适当的降低Kp,直至浮子稳定悬浮;
对于这套装置来说,积分环节不用也可以实现平衡。
下推式磁悬浮装置设计相关推荐
- STM32下推式磁悬浮装置(二)原理图设计思路
目录 前言 一.磁悬浮装置预览 二.设计思路 三.线圈主板 四.磁铁底座 五.单片机主板 结语 前言 本文STM32下推式磁悬浮装置的第二篇文章,距离上一篇过去了一个月,主要是这段时间在备赛.现在比赛 ...
- STM32下推式磁悬浮装置(三)PID调试与源码分析
目录 前言 一.源码分析 1.工程驱动 2.PID代码 3.控制函数 二.PID调试 三.整体效果 结语 前言 这是STM32下推式磁悬浮装置的第三篇文章,也是这个项目的最后一篇文章.前面两篇文章介绍 ...
- STM32下推式磁悬浮装置(一)原理分析与元件清单
目录 前言 一.悬浮原理 二.元件清单 1.环形磁铁 2.浮子 3.电磁线圈 4.电机驱动 5.直流电源 6.线性霍尔元件 7.其他元件 结语 前言 接下来几篇文章里我将介绍并开源近期完成的STM32 ...
- 下推式磁悬浮(一):制作清单
一.前言 本项目是采用STM32F103C8T6为控制核心的下推式磁悬浮:磁悬浮原理我就不介绍了,网上有很多博客介绍,接下来几篇文章我主要是想从0到1的把制作过程分享给大家,这个项目我做了3个月了,中 ...
- 下推式磁悬浮PID调节
PS:看到这么多同学一起学磁悬浮我觉得很高兴,这里我把我自己的代码贴上,希望对各位有帮助 https://download.csdn.net/download/qq_39200996/11159104 ...
- 响应已被截断_技术:RWD响应式网站网页设计基本原则
响应式网站网页设计 RWD响应式网站网页设计对于解决多尺寸屏幕问题是个很好的解决方案,从平面的角度切入需克服很多困难,没有固定的页面尺寸.没有毫米或英寸,没有任何限制会让人感到无从下手.随着建立网站的 ...
- 高空简易水果采摘装置设计(CAD+proe)
目 录 摘 要 I Abstract II 1 绪论 1 1.1 选题背景及意义 1 1.2研究现状 1 1.2.1国外果园采摘机械现状 1 1.2.2国内果园采摘机械现状 4 1.2.3果园机械存在 ...
- 《响应式Web图形设计》一13.2 缩放图像带来的问题
本节书摘来异步社区<响应式Web图形设计>一书中的第13章,第13.2节,作者: [美]Christopher Schmitt 译者: 曾斌 责编: 赵轩,更多章节内容可以访问云栖社区&q ...
- 反激式开关电源变压器设计
一.引出 反激式开关电源的变压器相当于一个储能电感,其存储能量的大小直接影响开关电源的输出功率.因此,反激式开关电源的设计实际上是功率电感的设计.步骤分为:计算一次侧电感量Lp.选择磁芯.计算气隙宽度 ...
最新文章
- linux socket 阻塞与非阻塞,同步与异步
- Golang 判断key是否在map中
- 如何编写高质量和可维护的代码
- matlab文件序号超出511,求教一段matlab的代码 - 数学 - 小木虫 - 学术 科研 互动社区...
- 《scikit-learn》SVM(三)ROC曲线
- java和mysql之间的时间日期类型传递
- datatables使用封装
- C源程序括号匹配检查(C语言)
- 第 17 章 垃圾回收器
- js map遍历 修改对象里面的值_前端面试之你必须要懂的原生JS
- 【STM32标准库】【自制库】8位8段数码管(74HC595)【软件部分】
- python房屋租赁管理系统设计与实现报告_基于JavaWeb的房屋出租管理系统设计与实现毕业论文+开题报告+项目源码...
- 谓语动词时态 - 一般过去时、一般现在时、现在进行时
- 本地打印后台处理程序服务没有运行和windows无法连接到打印机拒绝访问
- 揭秘终南山隐士:在山中修炼完后还回到红尘中
- 网络头衔CEO、COO、CFO、CTO是什么意思?
- c语言的心形字符,C语言写的各种心形图案
- 计算机毕业设计-驾考管理系统(项目+文档)驾校考试管理系统代码java项目
- Navicat运行sql文件处理失败[ERR] 2006 - MySQL server has gone away解决
- react 基础学习