当前位置: 首页 > news >正文

计算机网站开发背景保定网站制作

计算机网站开发背景,保定网站制作,360网站提交入口地址,北京网站建设主页摘要#xff1a;平衡小车大家应该见到过很多了#xff0c;比如最有名的要数野生钢铁侠稚晖君的自行车平衡小车了。那个玩意太高级一般人做不出来#xff0c;作为学生或者DIY爱好者做一辆小型的mini平衡小车还是可以实现的。随着16届恩智浦杯全国大学生智能汽车大赛新增单车拉… 摘要平衡小车大家应该见到过很多了比如最有名的要数野生钢铁侠稚晖君的自行车平衡小车了。那个玩意太高级一般人做不出来作为学生或者DIY爱好者做一辆小型的mini平衡小车还是可以实现的。随着16届恩智浦杯全国大学生智能汽车大赛新增单车拉力组平衡小车的实现正在成为电子爱好者最受欢迎的项目如果你是电子专业爱好嵌入式开发平衡小车你一定要做一辆。今天给大家带来的是一个博主老倪制作的迷你的平衡自行车项目虽然时间有点久远不过相信我们仍然能从中学到一些新东西。下面两张图是龙邱科技为16届智能车竞赛生产的电单车K车模高配版摩托车图片下图是本项目要说的简易mini版平衡小车自行车平衡DIY分为3部分介绍第一部分介绍自行车平衡基本物理原理第二部分理论篇对平衡自行车的算法进行理论分析包括模型分析、姿态检测方法、PID算法控制算法第三部分实践篇具体介绍平衡自行车用到的元器件动力、转向、电路及代码分析。一、自行车平衡原理自行车是怎么平衡的老外做过一个非常好的视频这个视频很好地证明了常见的”角动量守恒”的说法是错误的并且正确的说明了自行车平衡原理是和转向相关的但没有具体指出平衡和转向的关系。在这里我们就先来讨论一下”角动量守恒”这种最常见的猜测为什么是错误的大致讨论一下转向是如何使自行车保持平衡的。1、角动量守恒说角动量守恒说的意思就是轮子跑的时候在转动此时轮子就类似于陀螺角动量守恒使自行车保持不倒。小时候也有过这样的疑问如果把自行车车轮固定从下坡推下自行车能不能一直往前走到底能不能呢老外的视频做了这个试验固定之后就会倒下可见轮子的陀螺仪效应并不是维持自行车不倒的原因。另外还有老外做了一个没有陀螺仪效应的自行车该自行车也可以稳定平衡以上足以说明陀螺仪效应不是维持自行车平衡的根本原因。2、离心力是自行车平衡的根本原因那么什么才是维持自行车平衡的原因呢自行车可以看做是一个倒立摆左右方向不稳定这个倒立摆受重力作用是一个不稳定系统需要额外的回复力维持平衡而提供回复力的正是自行车转向时的”离心力”。离心力是速度和把手转向角的函数在一个固定的速度下可以认为控制把手转向角度就是控制回复力。我们先记住这一点维持自行车平衡需要通过一种合适的算法控制把手角度才能使自行车稳定平衡。机械自平衡或许有人会奇怪有些自行车只要推起来就可以自己平衡如下面视频我自己也买过一个如下面这样的遥控摩托车想要研究一下拆开后发现里面并没有精确的转向控制结构仿佛在行驶时根本没有转向控制就类似于上面自行车一样自己就可以平衡了。这到底是怎么回事呢其实这就是结构设计者的牛逼之处设计的机械结构自带回复功能机械结构使得转向会根据车身倾斜而改变这种改变的幅度正好可以使自行车稳定平衡。如果我们改变车身结构可能就会破坏原有的参数使得自行车无法稳定平衡。如在前轮绑一个重物在老外的视频中分析了车身倾斜对转向的三个影响因素前轮转轴后倾导致倾斜时前轮转向。把手安装在前面导致倾斜时前轮转向。前轮转动时的陀螺仪效应车身倾斜陀螺仪效应使得前轮转向。01:36以上是所谓”机械自平衡”平衡根本原因还是转向只不过巧妙的机械设计使得前轮转向特性恰好很容易维持平衡。手动自平衡手动自平衡的意思就是我们自己手动控制让它平衡。我们既然分析平衡原理还要做一个平衡自行车出来这一部分要好好研究一下将会在后面理论篇重点讨论一下控制方法。二、平衡自行车-理论篇一、模型分析1、倒立摆很显然我们知道自行车在左右方向上不稳定这是一个很常见的物理模型——倒立摆。顾名思义倒立摆的意思就是倒着的摆比如一个倒着的杆倒立摆的特性不稳定只要偏离平衡位置就会有一个力(重力的分力)使系统更加偏离平衡位置这样偏差就会越来越大。一般倒立的杆在前后左右方向都有可能倒下在二维的平面上不稳定而自行车仅在左右方向上可能倒下是一维的倒立摆这要简单一些。以下是几个生活中常见的倒立摆例子2、自行车的平衡控制自行车属于倒立摆模型倒立摆是不稳定的那么倒立摆应该如何控制才能平衡呢我们把问题拆分一下怎样的状态才叫平衡我们能控制的是什么如何控制才能稳定平衡2.1 怎样的状态才叫平衡我们要对”平衡”进行数学描述所谓的平衡其实就是倒立摆的倾角稳定在一个我们想要的值。通常我们想要平衡在θ 0处。2.2 我们能控制的是什么对于倒立摆模型通常我们能控制的是底端的力或速度或位置不同的控制量对应的控制方法不同。对于自行车来说它的控制方式不像通常的倒立摆那样直接控制底部而是间接地通过转向来控制当自行车以一个固定的速度前进时自行车把手以一定角度进行转向(设为α)自行车会做相应半径的圆周运动产生相应大小的”离心力”。在自行车这个费惯性系里看来只要对把手进行一定角度的转向(α)就会产生一个相应大小的横向力:这就是我们进行平衡控制时的实际控制量——把手转角α只要控制它就能控制回复力。2.3 如何控制才能平衡上面我们已经能够通过转向产生回复力这个回复力可以把倒立摆”掰回”平衡位置有往回掰的回复力就能稳定平衡了吗并不是这样我们再来回顾一下中学物理:“过阻尼状态的摆会以较慢的速度回到平衡位置欠阻尼状态的摆会很快回到平衡位置但会在平衡位置来回摆动临界阻尼状态的摆会以最快的速度稳定在平衡位置。”结合到实际的自行车平衡中就是“如果恢复力不够大就无法矫正或者矫正速度很慢这会导致系统不稳定如果回复力过大就会导致矫正过度这也会导致系统不稳定我们最希望的状态就是回复力刚刚好刚好使倒立摆快速回到平衡位置又不至于矫正过度。”这是一个复杂的数学计算过程回复力大小会在系统运行时不断地计算(本平衡自行车是20ms计算一次)用到的是PID算法会在后面详细介绍。3、自行车平衡需要解决的基本问题获取左右方向倾角θ以合适的算法控制转角α使系统稳定平衡这将会在下面详细讨论。二、姿态检测1、检测的是什么检测的是自行车左右倾斜的角度。2、怎么检测用一个叫gy521的模块里面用的是mpu6050芯片带有陀螺仪和加速度传感器。gy521的具体使用会在第三篇-实践篇介绍这里我们知道通过这个模块我们可以得到自行车各个方向的加速度和角速度。注意哦我们不能直接得到倾斜角度我们的到的是各个方向的加速度和角速度需要进行一些复杂的计算才能得到正确的倾斜角度。常用的算法有互补平衡滤波、卡尔曼滤波。三、PID算法前面已经分析了我们通过控制把手转角来控制回复力我们需要实时计算一个合适的回复力使系统稳定平衡。有一个小球在光滑球面上小球的位置是x光滑球面顶端在L处我们可以控制小球水平方向力F现在要求让小球稳定平衡在x0处。先看简单情况x0L此时偏差为L-x我们给出一个比例项(P) F kp*(L-x)这样就会有一个回复力当偏差存在时就会有一个力把小球拉回L处。这存在的问题是小球接近L时是会有一定速度的小球越来越接近L此时的力仍然是在把小球往L处拉这会导致小球到达L时(我们想要的位置)速度很大小球无法立刻停下来而是会冲过去。这样小球就会在L附近来回摆动这是不稳定的状态属于欠阻尼状态。为了解决上述问题需要加一个微分项(D) F kd*dx/dt kd*v所谓”微分”指的是位置x对时间的微分说白了就是速度。意思就是当速度越大就产生一个反向的力使速度减小这样就可以防止出现上面小球冲过去的。可以认为这一项具有”预测”功能预测小球下一时刻的状态从而提前做出反应(预测小球将要到达L处提前减速)也可以认为这一项具有阻尼作用相当于系统中有一个和速度成比例的阻尼力。这个”阻尼力”调得过小会导致欠阻尼状态调得过大会导致过阻尼状态。积分项此时可以不用积分项是当平衡位置x0不等于L时使用的当平衡位置不是L处那么当小球静止在平衡位置x0时由于在坡道上会有一个恒定的横向偏移力此时比例调节作用为0(Δx0)微分调节作用也是0(v0)所以小球在该处无法平衡会在更远离平衡位置处达到平衡那么就会有一个长时间存在的偏差。积分作用就是检测偏差进行累积对于上面这个长时间存在的偏差进行积分(累积叠加)使系统在长时间范围可以稳定在要求的平衡位置。三、平衡自行车-实践篇在本文将会介绍平衡自行车的具体制作过程包括机械、电路和代码。平衡自行车完整的代码托管在https://github.com/nicekwell/balance_bike上GitHub网站卡的同学也可以在文末下载打包好的文档。一、材料机械名称数量备注铜柱、铁丝、胶枪等基础材料和工具若干辅助用具果果小师弟自行车架1自己做车架是很麻烦的我是直接买的车架淘宝上搜”自行车 拼装 DIY”能搜到很多舵机1转向用的对于我用的1:6车架普通舵机有点大我用的是9g舵机N20电机1选扭力大一点这样转速会比较稳定皮带轮和皮带1如上面的图片我是用皮带来传输动力的电路名称数量备注电池、电池盒lm1117-3.31降压芯片给控制系统供电stm32f103c8t6核心板1gy521模块1加速度传感器 陀螺仪升压模块1升到12v给电机供电根据电机特性选择是否使用升压模块8050三极管板1驱动电机由于自行车不需要反转所以不需要使用电机驱动芯片用三极管就能方便地实现。我用了两个三极管并联提高功率。自锁开关1整个系统开关led指示灯1配合1k限流电阻蓝牙模块1可选如果想要遥控的话就使用蓝牙二、动力部分传动方式如图我用的是皮带或者齿轮传送的方式因为比较好实现。电机选择这个DIY是不考虑变速情况的平衡的参数都是按照一个固定速度调的。所以动力部分的作用就是提供一个恒定的速度并且这个速度尽可能稳定尽可能不受外部影响。电机应选择扭力大一些、转速稳定的减速电机。电机供电电机是直接供电还是使用升压模块供电要根据电机特性有些电机用升压模块可以提高功率有些大电流电机用升压模块反而可能限制了电流。我这里用升压模块升到12v给N20电机供电的。另外电机通过三极管受stm32控制通过控制占空比也可以限制电机输出的功率。三、转向部分转向部分用一个舵机带动把手转动即可。四、电路在GitHub工程里有详细的引脚连接表https://github.com/nicekwell/balance_bike供电用3.3v稳压芯片给整个控制系统供电包括单片机、GY521模块、蓝牙模块。用5v稳压芯片给舵机供电。用12v升压模块给电机供电。下载我是用串口给stm32下载程序的。引脚功能PA9下载TXDPA10下载RXDGY521这个模块通过i2c通信只需要连接4根线。3.3vGNDPB0    GY521 I2C SCLPB1    GY521 I2C SDA 用的是IO模拟i2c电机点击用12v升压模块供电由于不需要反转用三极管即可直接驱动电路图如下加三极管的目的是为了可以通过调节PWM占空比来限制输出功率但我的实际情况是100%输出时动力才勉强足够。所以如果你不需要限制电机输出功率或者通过其他方式限制输出功率也可以不要三极管不通过单片机控制。舵机舵机是用5v供电的而单片机是3.3v电平对于pwm控制脚可以通过2个三极管实现同相的电平转换蓝牙模块下图是我使用的蓝牙串口模块可以实现串口透传只需要4根线连接vcc、gnd、txd、rxd。蓝牙模块是用来调试和遥控的没有它也能跑。建议还是加上这个模块在调试PID擦数时会非常方便。五、代码结构代码提交在GitHubhttps://github.com/nicekwell/balance_bike主要分为3个部分1、基础的驱动程序实现电机、舵机、gy521数据读取2、平衡控制系统核心是一个20ms定时器每20ms进行一次数据采集、计算和响应3、遥控和调试系统实现log输出、接收遥控信息。名称文件功能(智果芯)i2ci2c/i2c.c, include/i2c.hIO 模拟i2c驱动提供i2c基础操作gy521gy521/gy521.c, include/gy521.hgy521模块驱动基于i2c驱动提供加速度和角速度的读取接口motormotor/motor.c, include/motor.h电机驱动提供占空比控制接口angleangle/angle.c, include/angle.h舵机驱动提供角度控制接口平衡控制main函数会初始化一个定时器20ms中断一次调用 main/balance.c 里的 balance_tick 函数平衡算法在 main/balance.c 实现。每20ms到来会执行一次读取传感器加速度和角速度信息。互补平衡滤波计算当前姿态。用PID算法计算出前轮转角。遥控和调试两部分状态输出和指令接收。状态输出在main函数的while循环里利用串口中断构建一个简单的界面显示状态。指令接收串口接收到的数据会传给main/control.c该文件分析串口数据解释成相应的操作。主要是PID参数调节。参考资料[1]动力老男孩: http://www.diy-robots.com/[2]图中龙邱小车图片来自B站江小鉴、菜狗同学两位up[3]谈一谈单片机开发的几种调试方案: http://nicekwell.net/blog/20170411/tan-%5B%3F%5D-tan-dan-pian-ji-kai-fa-de-ji-chong-diao-shi-fang-an.html[4] 代码github https://github.com/nicekwell/balance_bike原文链接http://nicekwell.net/项目作者: 老倪转载请务必注明项目出处与原作者信息推荐阅读专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈关注公众号后台回复「1024」获取学习资料网盘链接。欢迎点赞关注转发在看您的每一次鼓励我都将铭记于心~
http://www.sadfv.cn/news/146638/

相关文章:

  • 兰州兼职做网站app网站建设宣传方案
  • 沈阳网站建设seo优化wordpress 首页 修改
  • 自己建个网站需要多少钱服务好质量好的app开发
  • 建设个人技术网站做暑假工的网站
  • 河北建设集团在哪个网站采购宿迁集团网站建设
  • 织梦怎么做企业网站徐州商城网站建设
  • 外国知名个人网站军事国际形势最新消息
  • 做网站赚钱多吗怎么制作个人作品网站
  • 嵊州建设银行取款网站合肥专业做网站
  • 网站开发工作介绍公司注册流程及条件
  • 做网站毕设任务书网站模版 下载工具
  • 建设一个网站要多少费用东莞凤岗网站建设
  • 手机网站cms 下载网站面包屑导航怎么做的
  • 网站素材下载在线proxy服务器
  • 旅游网站前台怎么做济南旅游网站建设
  • dede网站备份集团官网建设公司
  • 富阳区建设局网站多少潍坊网站建设wfyckj
  • 网站结构有哪几种买网站多少钱
  • 学做视频的网站北京地铁优化
  • 食品网站建设建议招标网站建设申请
  • 莞城网站推广网站开发什么语言比较快
  • 合肥建设发展局网站西安大雁塔附近酒店推荐
  • 网站套用wordpress 首页添加图片
  • 静态网站的短处微信开发时间
  • 外贸型网站制作seo网页优化公司
  • 阜阳网站建设电话wordpress自定义页面编码
  • 网站 劣势全国最好的网站建设案例
  • 网站挣钱怎么做成品在线短视频免费入口
  • 创建吃的网站怎么做重庆大渝网首页
  • 国内知名网站建设个人怎样做网站