本篇博文主要使用HAL库和CubeMX进行代码示例,毕竟电赛时间那么紧张,写STP库的时间都够CubeMX重开一局了
直流电机控制
根据电机学,直流电机转速
$$
n=\frac{U-IR}{K\phi}
$$
其中U为电枢端电压,I为电枢电流,R为电枢电路总电阻,Φ为每极磁通量,K为电机结构参数
直流电动机的转速控制方法有两种
- 励磁控制法:对励磁磁通进行控制
- 电枢控制法:对电枢电压进行控制
最基础的电路是由无源元件,即电阻、电容、电感三者构成的电路,两端通电后可以产生一个暂时稳定的电信号。不论是机缘巧合还是为了验证实验,曾经的物理学家开始注意到电的特殊性质,并加以研究,他们最先对电的性质进行探寻,从风筝实验到电磁感应定律一点点理解了电磁运作的原理,于是电气工程就出现了。然而到19世纪末为止,一直都只有无源电路的存在,电路的分析理论也仅有基础的电磁感应定律和由麦克斯韦方程组衍生出的基尔霍夫定律——直到20世纪的工程师发明出真空管,开启电子电路的时代。电路从最初使用电能和磁场能来控制、转化其他能量这个单一用途,进一步拓展出使用电信号来描述、控制其他信号,乃至使用电信号进行计算的用途。实现这些功能的基础就是具有控制功能的有源器件,也就是常说的二极管、三极管等元件。现代的半导体晶体管在20世纪中期才被发明出来,在此之前承担电子信号变换作用的元件一直是真空管。
所有的随笔都会放在这里OvO
可能还会扔些沙雕图……
早操签到
不去就不发奖学金
大二了搞这些东西属于是【数据删除】
好像推号被gank力(悲)
不知道是因为hs看多了还是被魔怔壬骚扰到惹
推特号一般只用来ghs……不接受魔怔/建政讨论
求求你们不搞康米至少搞搞资吧,别再来什么地主、鸡舍了(悲)
另外新加的畅言评论在火狐上会出现无法显示的情况…….
怎么大家都在欺负火狐啊T_T
准备把重心全面转到新系列博文《电路设计从入门到弃坑》
因为快期末了,得好好复习一下模电数电
模电写得磕磕巴巴可不行啊!
这个系列就是要把数模电教材结合自己的观点重写一遍
如果有时间的话肯定会加入很多自己的电路设计经验,包括看datasheet、电路的改进思路等等
也应该会记录一些做题技巧
不被量力和数学物理方程橄榄就是胜利!
好像量力结束了(及格就行,这玩意太难了……),但是数物方程有点难顶
希望能早日脱离物理数学苦海
我就一码电路的为什么要学物理系数学系的专业课(
模电数电在写了,寒假以后会整理完一口气发上去
CSDN同步更新(没办法,它的Typora兼容太好了)
数物方程和模电都结束了(希望能过)
简单整理一下原来的笔记,决定先传一部分到博客上。后面的数电部分还在写,可能会被热统复习占据一些时间
所有笔记都记录在我的github repo:Notes里面
如果有人看到这不妨进去看看=_=
CSDN的更新先等一等,真没时间往上折腾这堆文档
所有考试都结束啦!爽到
今天高强度工作整理东西一天,晚上来随便写点年终总结吧
今年准备了仨比赛
不过很遗憾,集创赛止步复赛(指导老师:你们为啥要报B组跟研究生对打?看不懂你们的xx操作);电赛跟期中考试正好撞上,没能参加(虽然说最大的问题还是自己太菜);只有省电子制作赛氵了个省三(本来想氵省一的,结果倒在了器材的玄学问题上,没能把设备调到完美)
和自己的预期相比太拉跨了
感觉最主要的问题还是上半年的那一段参赛经历太浮躁,加上自己的精力下降太多了……上半年各种比赛乱打,产出了不少博文的同时却没有做到“由广入深”,最后还把自己的身体给搞坏了,实属得不偿失。心态浮躁带来的另一个问题就是没有一个真正拿得出手的项目:电子钟只能算是个闲着做的玩具,集创赛的项目里面硬件部分也基本是学长负责,自己就在那嗯调库,小车项目到现在也没结束(tmd考试),刚开的RTOS和重构ROV控制库的项目还在总体规划中……唯一能算是自己项目的可能只有OurEDA-B1S的改进工作了,用到了很多新东西、新思路,但这玩意还需要继续完善,完全拿不出去(悲)
所以寒假打算稍微定几个极限一点的目标
要干的活好多(悲),不过还是希望能借这些项目实现一个新的开始罢
新年新气象,诸位共勉
最近好困啊,感觉作息越来越不规律惹
好消息是AI方面的学习进度还是比较快的,中间还因为Flash加载问题顺便做了一个开源的bootloader,算是这个寒假的练手作罢。小车的框架搭起来了,基于ESP32的WiFi遥控功能也在部署,希望能快点完工。在现有硬件框架上重新设计了OurEDA-B2S的架构,水深解算板的新PCB也已经打出来了,回学校再把程序烧进去调试。但是Nitori那边的进度不太满意,重新规划框架以后发现好多东西都要重做,但是又不想丢掉,验证的话也只跑通了中断控制代码,我也是加把劲骑士(激寒)
电路设计的笔记?在做了!
Cadence也不能忘记!
今年又一次报了集创赛的芯来RISC-V赛道,去年的flag成真了(大悲),题比去年多了一套硬件加速算法,感觉会难上不少,不过最大的问题还是赛道太卷了……希望今年能在去年基础上做得更好罢
下雪了,这种天气很适合喝茶🍵
开学了……但是因为疫情还不知道能不能及时回去
前几天报名了一生一芯,简单完成了环境搭建,还没来得及做数电实验部分和PA1
集创赛那边在指导老师的劝导(?)下换到FPGA赛道下的紫光同创杯,预计是做YOLO的CNN加速器
总体上寒假任务完成得不错,
嵌入式人脸识别和DNN的算法学习,将项目(人脸识别和数字识别)部署在OpenMV和K210上√
小车项目√
电路设计笔记×
OurEDA-B2S的总体架构设计√
第一版PCB绘制×
完成Nitori ROV-OS的v1.0设计并部署×
进一步学习FPGA和RISC-V√
比较遗憾的是Nitori的设计,因为调试进度有点缓慢,所以还没能跑起来
突然发现自己计划中的三个项目完美融合成了一体:
冲!
上周参加了集创赛的校赛,隔了一个礼拜才找到机会写一下自己的感想
团体赛就是做个答辩,说一下自己国赛的前期准备和后期安排,以及自己项目的整体思路,没什么可讲的。
个人赛赛题倒是有点意思,选择从半导体物理一路考到了Linux操作和C语言;大题里面一半手撕Verilog另一半是模集和半导体器件。
最大感想就是自己的Verilog基础还是太不牢固了!
平常对着VSC有插件帮忙轻轻松松就写完了代码,真到了手撕的时候各种语法问题层出不穷,一个简单的奇偶校验里面运算符怎么用就把我考住了……估计成绩也不怎么样吧(悲)
自己反思了一下,还是去年那个问题——太浮躁,急于求广而不求深,虽然也在巩固底层的知识,但是对于拓展内容还是太过“积极”了一点。已经是大二了,不应该再执着于各种炫酷的新领域,还是得老老实实打磨c、verilog、计组这些底层的东西
万万没想到校赛还能混个一等奖,不过之前说的问题绝对不能回避!
集创赛还在推进,争取把项目做完罢!
新的机器人主控板也在做了,如果时间乐观可能还有机会把zynq7010加进去。千兆网络电路是个很难办的东西,毕竟自己的水平几斤几两也都知道,画这么高速的板子实属难顶,怕不是等长就要做一周;后面还要移植openwrt,然而现在uboot都没弄明白,多半是寄了
下个阶段要专心做几个东西:
老老实实打工喽
别急
考完试之后堂堂复活!
zynq7010计划在考虑中,但目前准备先把多网口的7010扩展板画好然后测试一波纯CPU(弱弱A9)的网络水平。千兆网络电路的等长在想办法搞定了.jpg
好消息:uboot baozhale(雾),目前把uboot编译差不多弄通了,不过独立的设备树还是没搞定,需要继续探索下(目前主要参考正点原子的zynq教程和嵌入式linux教程)
前些天捏了一个rv32i的单周期练手(基本就是照着ustc verilog oj上面的实现抄了一份),计组倒是没有推进,可能需要假期才能有大段时间做计组相关了
最近学校在上Verilog课,顺便夯实一下v的基础;自己也买了绿皮sv圣经,等有空再看罢;c++摸了一下就又扔掉力,考试之后到假期应该也不会有时间,准备等比赛结束后再开始啃c++。
Nitori的坑准备假期填了,到时候可能会把代码再重构一遍——虽然练手作讲究设计模式和架构设计没什么必要,但我觉得有条件还是应该练习一下,毕竟不是科班写OS的,也没那么多时间做这些底层软件的系统学习,把这些技巧和应用联系下比较好罢
打完了俩比赛,还有恶心人的模电实验,终于又要考试周了(悲)
这两周不能说进展不大,至少也能说是毫无进展
7010的扩展板已经完成了外形规划,准备等暑假部署一波。rv32没有再多推进,只是读了一些cpu设计和超标量相关的书籍资料(也正在整理理论方面的东西到Note库里)。Verilog马上就要考试喽,准备明后天再复习。sv正在看,语法方面比我想象中要难亿点(确信),大概到暑假中期能完成学习罢,到时候可以和cpp对比着学。Nitori的坑还是和之前计划一样,可能会根据最近新机器人的开发情况略微修改一些。
CNN加速器的项目又准备提上日程,虽然对集创赛复赛报希望不大,但是加速器这个项目还是应该写好的。暑假期间的大创也需要好好推进一下,准备跟电源基础理论一起学习,应该效果会好很多
下学期的小车项目应该会有一些成果,准备找同学参考一下不同思路的代码
Cadence的学习不能落下,之后做高速板还是要用更专业的工具
《电路设计从入门到弃坑》的系列博文……emmmmmmm如果有空的话会继续更新的,但如果不出意外会在下个学期与课程笔记同步更新
一晃快一个月了,在大连玩了两天以后因为比赛推迟只能润回家了(悲)
昨天得到通知:集创赛进复赛了,不知道会不会重蹈去年覆辙,希望能让今年省赛三等奖兜个底罢……暑假计划直接改成all in集创赛,大创项目直接一个摸!
因为需要调基于rtt的新机器人程序,RISC-V、Nitori、c++这仨任务只能延后了,重构ROV控制库倒是有机会跟项目一起完成;v/sv正常推进;这两天会优先把opencv的应用部分补一些,电源则按照原计划推进学习。
暑假打工开始喽!
马上集创赛复赛答辩,要开始猛肝一阵(大嘘)
大创项目找到了一个现有的开发板,先研究一下示例项目,再想办法改到自己的平台上应该就行了。新机器人程序调得差不多,机器人要用的PID和之前写得PID思路差异蛮大,而且由于疏忽没加入动态内存管理所以移植性只能用悲剧形容……不管怎么说至少能干活了。ROV的新控制库还需要再修改一下才能用,加上RTThread以后发现传感器结构要大改,而且对于f407来说原来那种阻塞延迟设计也会导致大量性能损耗。以后的Nitori-OS可能会想办法改进这一点缺陷,尽力实现非阻塞的信号量/消息队列/邮箱等待功能
c++进展不错,b站上找到了一个系列视频,正在跟着他看STL,回头用c++ primer plus巩固一下应该就算能干活了。sv的学习有点卡住,IC是多少有点难学(悲)
接下来几天应该会优先给集创赛填坑,yolov4的识别是够呛能完成了,先想办法把颜色识别搞定罢。顺便一提,电源方面的学习还需要更多时间。
集创赛?大寄!(不过没想到是省二不亏)过几天应该会整理一下把代码开源到GitHub上。说起来去年的代码还没发出来——因为在准备今年URPC或者明年整一波大的!
机器人的FPGA化进行得比较顺利,目前已经把M3硬核部分跑起来了,FPGA部分的AHB总线外设需要额外设计一下,预期在下个月搞定罢。7010的板子还在画,网口还是需要看看教程,改了三四轮都感觉不太对劲。电源方面的学习也有推进。总体上说被学车和集创赛挤占了挺多时间(还有自己的摸鱼时间),别急!
前一段时间根本没写正经博文——实在是太忙了!手头有两个大横向,一个小横向,同一段时间打5个比赛,根本都没有时间睡觉(悲)
在九月份肝掉了两个比赛和一个小横向,拿了俩奖顺便做了一个系统性的项目;然后十月和十一月的噩梦就来了!中国机器人大赛赛项安排三天一变,FPGA竞赛和圆梦杯的DDL都在眼前,大横向那边还在催进度,真的是感觉人都麻了。十月份的后半个月和十一月份月中那三四周都基本没怎么睡觉,每天从7、8点干到夜里两三点,除了有时候回宿舍洗澡能睡满七八个小时外,一天根本睡不到四个小时……和高三的强度其实差不多,但明显感觉随着自己年龄增长开始肝不动,最大的问题是连着干一个礼拜就顶不住了——前几天都还能正常干活,最后几天睡觉前感觉胸闷、心脏跳动非常剧烈,然后连着睡12h才缓过来。结束猛肝之后是上火:口腔溃疡、嗓子疼都很严重。也希望有读到这里的老哥能灵活安排作息,不要因为干活把身体搞坏了。
中间有一阵心情还很压抑,有很多话压在心里;现在从忙碌中脱离出来以后却没那么emo了,想写点什么又感觉矫情,不知道怎么回事…….可能就是压力比较大吧(笑)这段时间给我最有效的经验可能就是学会适当调整压力,让压力push自己完成各种项目吧
下面说说这几个月的总体进展:
ROV的FPGA化可以说差不多了,目前需要改进的就只有petalinux部分,后面应该还会继续实现除控制以外的更多功能,甚至搭载PYNQ框架到ROV上
手动把小车项目全部搓完了,基本的控制和色块跟踪功能都已经实现,后面只需要在基础上做修改就可以。后期准备换成四轮小车,这样的话可以尝试在上面部署视觉避障、自动寻路、惯性导航这样的算法
Zynq-7010的底板部分遇到了器件买不到的问题,现在准备换供电方案,顺便大改一遍外设布局;大创部分的板子也正在画,应该可以积累一些大电流方面的经验;同时还在为小机器人做一套集成供电、电力载波的新版控制板,希望能解决原来电力载波不通的问题
老老实实打磨c、verilog、计组这些底层的东西
我觉得这几个月收获最大的就是把各种项目做了个遍,C、Verilog、各种调试的水平都有所上升。不过相对应的——什么新东西都没学到。不仅是没有继续深入挖掘技术栈,还因为做比赛耽误了很多课内有用知识的学习。后面再补这些东西就又要花时间了(悲)
本来想通过写CPU深入学习计组和FPGA,结果因为活太多根本没有时间做这些东西……电源理论、模集、自控原理、信号与系统、高频电路这些都没有来得及学;器件物理还落下一大堆,只能说12月也有可能是不眠之夜了(大悲)况且我还有一个大横向没有做完,之后几天一定要抓紧时间把任务都解决掉!
后期的学习计划暂且记录在这里:
上周感染新冠了(悲)这两天刚刚退烧,期末考试也申请了一波缓考,到开学前应该还要狠狠学一波
自从上次随笔后已经大致解决了petalinux和PYNQ移植的问题,但USB方面还是没有完全弄清楚是什么原因导致失效,寒假里会抓紧把所有残留问题解决掉。嵌入式可靠性设计的学习也差不多了,可靠性理论方面的东西还需要加强一下认知。FPGA基础知识正在抓紧汇总,一月份应该能发几篇博文到这里。另外在考虑往知乎送几篇含金量高一点的,图少一点的博文(因为那边现在增加了很多markdown支持,写作体验起码比b站强多了)
目前信号、电源两个部分的博文会先放下,因为两边的联系相当紧密,准备再读一些资料看看能不能完善下。计组的博文还在慢慢撰写,准备优先把之前复习阶段没有怎么看的部分(五级流水线)补完。寒假前半段的任务大致就是这些了,外加把老师那边给的小项目、深度传感器融合解算、惯导、大横向这几个码代码的活都给弄完
寒假的中后半段应该会all in半导体物理、半导体器件、模拟集成电路这一块,在考试过了的基础上把博文大坑补全。其他学习计划也在慢慢推进
集创赛要等到一月份才会出赛题,准备3月再正式开始做——下学期时间还算宽裕
这半年非常忙,没什么时间更新博文(主要是没时间巩固基础知识,只能在现有框架下修修补补了)
主要还是在处理之前的机器人烂摊子——现在总算是把FreeRTOS的控制框架修好了,另外把LibROV更新成了FinNAV,加入了一些新特性,并且统一出了一套可扩展的指令集,以后应该不会再出现机器人系列不兼容的问题了。
代价就是集创赛直接一个开摆
去年的几个大坑也基本一一填上了,不过zynq部分由于底板还没完成重置,暂且搁置下来。大创的小型化计划也因为各种活动暂时搁置了
啃完计组以后对Nitori OS的想法重置了一波,准备后续和FinNAV合并开发,微内核的思路还是不错的!
后面能腾出时间的话会继续码一些博文,包括一些实际项目的应用笔记。个人笔记那边则一直在跟进,可能暑假期间可以腾出点时间把电源教程和模电部分补全吧(说过多少次了???)
在本系列博客中,将遵循以下缩写/简写
电路原理阐述了电路运行的基本规律:使用抽象电路模型、电磁学、图论、高等数学、线性代数、拉普拉斯变换等基础学科知识描述电路,提供一般的电路分析方法
模电则是从半导体器件的性质介绍如何使用这些器件构建能够对电信号或功率电压电流进行处理的电路
数电针对逻辑电路进行分析,结合布尔代数引入了晶体管在导通、截至两状态下的应用,并提炼出使用硬件描述语言对数字电路进行设计、分析、仿真的基本方法
通信原理则从分布参数电路与谐振、傅里叶分析角度解释模拟电路工作在高频情况下的状态与应用,并根据电磁场与电磁波理论介绍如何对通信信号进行调制-解调,以实现远距离电通信
强电则结合电机学、电工学相关知识,阐明功率半导体器件的工作原理和应用,主要关注功率、效率、质量三个要素
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true