菜菜博士

博士在网络的家

µcoro 介绍

什么是 µcoro (ucoro) µcoro 是一个最小化的c++20协程库。精简到不能再删一行代码。 什么是 c++20协程 要理解 c++20 协程,首先要理解 无栈协程。 要理解无栈协程,首先要理解“调用链”。 调用链 函数,是被“调用”的。函数 A 调用 函数 B, 函数 B 再调用 函数 C。意思就是当 C 执行完工作,它返回就会回到 B 函数里调用C的那个地方。然后...

猪油有利于减肥

为啥会肥胖 要减肥,首先要理解,人为什么会变肥。 人要活着就要消耗能量。而人体的能量来源,主要靠葡萄糖。 人体有两大储能系统: 血液和脂肪。 血液里含有葡萄糖,这是直接储蓄,类比为“活期存款”。血糖会随着代谢的进行被源源不断的消耗,同时也会随着消化的进行,源源不断的被补充进来。 如果血糖的浓度偏离了一个正常值,就会激发人体的代偿机制: 将多余的葡萄糖转换为脂肪或者反过来,将多余的脂...

同居是没有保障的婚姻

现代女性恐惧婚姻,却不恐惧同居。反而欣欣向荣。 然而,同居就是没有保障的婚姻。女人对法律给予的保障十分的恐惧,反而喜欢裸奔。 为啥同居就是没有保障的婚姻呢? 因为现行的婚姻法,对女性的约束力几乎没有,写满了对男性的约束力。对男人来说,结婚的性价比太低,不如同居划算。因为结婚了,也不能约束伴侣。反而自己被法律给管辖起来了。 倒不如只同居,不结婚。这样双方都是裸奔,都没有法律保护。那就看谁在...

航天应用下参考系的选取

这俩月,航天的话题比较热。吸引了我的全部注意力。 只是跟着热点跑,那我也就不是我了。 以前高中学习万有引力的时候,从未考虑过的事情,突然变得烦恼起来。那就是,在航天领域,用的是什么坐标系? 火箭要送卫星上天,必须要靠导航。导航导航,导引航迹。必须得知道自己在哪。 知道自己在哪,就必须得描述出来。 在地面上,位置可以用 经纬度+高度 表达。在地面运动的物体,也直接拿地面当惯性参考系。 ...

中国古人的天地宇宙观

在学习世界历史的时候,我知道麦哲伦16世纪完成了环球航行。于是证明了地球是个球。地圆说终于获得实捶证据。从此天圆地方再无市场。 但是,麦哲伦那个时代,一定是对于大地到底是平的还是圆球的,争论不休。也就是说,有相当的一部分人认为,大地是个球。只不过没有实际的证据。 那,这些早就认为大地是球的人,他们的认知来自何方? 这种明显偏离日常经验的知识,必然是源自经年累月的思考和观察。 而且,这样...

物业就是现代版的皇权不下乡

皇权不下乡 在古代,皇权的主要目的就是征税和征兵。而征税是可以“外包”的,征兵后来被“募兵”取代。 于是,维持到村的基层治理体系就变得毫无意义。所谓皇权不下县,就是在县以下的行政单位基本上靠“士绅”自治。 其实古代皇权不下县到明清时代才特别明显。秦汉时期,皇权不仅要下县,还要扎根在村里。 因为秦朝的 “耕战” 制度,全民皆兵。每有战争,皇帝就要派人到村里挨家挨户的征兵。 在工业社会到...

阿波罗载人登月了么

第一次知道载人登月这个事情,是在教科书上。因为是教科书上讲的事情,我对阿波罗载人登月这个事情是深信不疑的。 长大后,随着互联网的普及,开始接触到了老美那边流传的”登月造假“阴谋论。 当然,第一次听到有人说登月是造假的时候,我第一反应是不信(造假)的。 不过,即使不信,我还是会看看他们的理由。 当质疑者提出他们的理由的时候,我的第一反应是,他们说的好有道理,但是肯定背后有一些我不知道的科...

现代婚姻制度错在哪?

古代婚姻制度的基础是家族联姻。现代婚姻制度的基础是“人人平等”。 咋一听,好像进步了。其实不然。准确的说,没有所谓的现代婚姻制度,而是西方的婚姻制度和中国的婚姻制度。大清灭亡后,中国的婚姻制度就没了,被西方婚姻制度取代了。 西方的婚姻制度的第一要义是“算计”。为啥说是算计呢? 因为“人人平等”。以人人平等之名行掠夺之实。结婚双方,一直在算计对方。各种西式鸡汤也不断的提醒你,要“计较”婚姻...

沙雕动画 vs 腾讯动画

很多人说,看国产的动画片,配音不好。然后就跑去看日本片去了。更有奇葩的,要看日语配音的国产动画片。 其实,cv 不专业并不是主要原因。有人说那叫“母语羞涩”,在我看来也不是主要原因。 我认为,根本原因是台词出了问题。 一般人们常把语言分为口语和书面语。 其实,还有一个类型,它既不是口语,也不是书面语,而是专用于台词的语言。 人物的台词,即不能照搬口语使用,也不能直接使用书面用语。 ...

新型单相电机调速器

传统立扇调速方案 传统立扇方案主要采用抽头调速方法,通过机械调速开关改变主绕组与辅助绕组接线方式。一般抽头调速的风扇电机是基于满载工况优化设计,在电机高挡位运转时,绕组磁场接近正交的圆形,噪音和效率表现相对较好,而中低挡位时主绕组和副绕组的结构被改变,绕组合成磁场偏向椭圆,电机运行失去对称性,转矩脉动分量增加。并且中低挡位工况下,运行绕组温升更高,电机偏离了原有优化的状态,其输入功率也没有...

TO-252 对比 TO-220

MOSFET,功率MOS,最常见的外形,就是 TO-252 和 TO-220 两种。 上图左边的为 TO-252 封装。右侧为 TO-220 封装。 其实会发现,TO-220 剪掉中间引脚,折弯两边的引脚,也能转变为贴片形式。 在我设计低压变频器的时候,我一直使用的 TO-252 封装的 MOS。无他,低压的大电流MOS还是TO-252更常见。 后来,设计220v电压的高压变频器...

三电平 SVPWM

炸机了。 制作低压变频器的时候,从未出现过炸机。但是,在高压变频器上,出现了。MOS管直接炸开。pcb铜箔炸飞。 究其原因,还是因为mos关闭时候产生的尖峰电压。 在研究解决方案的时候,碰到了三电平拓扑。 三电平拓扑输出三相电需使用12个 MOS 管。 那么问题来了,12个MOS管,如何控制呢? 其实,不用修改 svpwm 算法。 svpwm 算法在最终,会输出 A B C 三相...

被销售绑架

在芯片销售行业,有一个怪现象。买芯片的人是孙子。 在线的电子元件商城是行业老鼠,属于行业灰色地带(只是被业内人士定义为灰色。实际上100%合理合法的白色产业)。 不仅仅买芯片的时候是孙子。在研发 pcb 的时候,更是孙子。需要找芯片厂求来芯片手册。没有手册,就算买到芯片了也用不起来。 芯片的价格是卖方市场。能打几折买到芯片,就决定了最终产品的竞争力。因此为了赚钱,买方要无下限跪舔卖方的...

FlyBuck的限制

在 这篇 文章里,我夸奖了 flybuck 拓扑结构。 不过,在实际使用的时候,发现 flybuck 并没有想象中那么美好。 第一点,flybuck 并不是任何 buck 芯片都能工作。而是只有能工作在强制 CCM 模式的 同步整流buck 芯片才能工作。 因此只有 Ti 的寥寥数个芯片,被打上了 FlyBuck 标志的才能用在 flybuck 上。而因为 FlyBuck 是 Ti 的商...

LLC 真的是天才发明

开关电源 传统上,交流电通过一个巨大的变压器进行变压。因为交流电通过磁耦合的方式传递能量。传递能量的频率为交流电的频率。每次传递的能量取决于变压器铁芯的磁通量。磁通量从最大到最小,最小到最大, 经历一次能量传递。 变压器要增大功率,要么增加磁通,要么提高频率。显然工作在50hz交流电下的变压器,只能选择增大磁通的方式增加功率。由于材料能承受的磁通量密度是有上限的。过大的磁通密度会饱和。所...

变频器制作-第12部分 电源,还是电源

说到供电 一个变频器,需要4组电压供电,分别是 DC 300V, DC 12V, DC 5V, 隔离 5V. 300v 是高压, 12v 和 5v 乃低压。 只不过, 12v 和 5v 和 300v 的高压,负极是连到一起的。因此,这个负极,是不安全的负极。这个负极,是整流桥的负极。这个负极会有一个对地的脉动电压。 其中, 300V DC 由一个整流桥 + 一个 LC 滤波器获得。 ...

变频器制作-第11部分 pwm模式用对了吗?

话说高级定时器 不管是 AT32 还是 CH32 还是 EG32 还是 GD32 还是 RP32. 各种 32 单片机,都是使用的 防STM32 的外设。 因此,他们都会有一种叫“高级定时器”的设备,用来产生多路互补PWM波。 在高级定时器的设置里,能产生的波形是以下机制的排列组合 计数器模式 向上计数溢出置0,向下计数到0重置,向上然后向下计数。后两者称为中央对称...

变频器制作-第十部分 6pwm和死区时间

3pwm vs 6pwm 三相桥需要6个开关管。控制6个开关管需要控制器输出六路pwm信号。 这将占用单片机6个 IO 口。考虑到 pwm 信号控制的开关管中,上下管是交替导通的。也就是所谓的互补。 因此在一些场景下,也可以使用 3pwm 模式控制6个开关管。 3pwm的信号控制3个上管,对应的下管控制信号由一个反相电路生成。 咋一看,似乎节约了3个IO引脚。诞生 3pwm模式有一个重...

220v 逆变器大功告成

起 在 这篇 文章里,我被风扇厂的老板教育了成本控制。 思来想去,我发现还是有必要制作 220v 的变频器以降低对电机的要求。 经过数次炸板改版后,最终在今天制作完成了。听到家里 220v 的电机,而不是自己改绕的电机,也发出了熟悉的 vvvf 音乐,心情还是非常激动的。 制作 首先, 220v 属于强电,而单片机实验 3.3v 属于弱电。强电和弱电需要隔离。 我首先想到的是使用光...

单片机也能支持 co_await 协程啦

序 在 这篇文章 里,我为单片机编写了一个简单的 executor。 然后利用这简单的 executor, 再搭配 Duff’s device 就用上了 stackless coroutine 了。 但是,Duff’s device 也有其缺陷。最明显的就是,在 ASIO_CORO_REENTER(this){ xx } 的函数体里,无法定义变量,也无法使用 switch 指令。 这挺...