- 博客(105)
- 收藏
- 关注
原创 重磅预告!!!
做个内容预告,接下来的一段时间,笔者会做一个名为《每日一点会计学知识》的读书栏目。想通过输出倒闭输入的方式来提升学习效率同时,也希望能够帮助到大家了解一些会计学知识。此栏目围绕《一本书读懂财报》这本书的内容进行分享。尽可能做到日更,但是如果学习和工作比较忙的话,也会尽量做到2-3天更新一次。
2025-04-20 11:36:17
224
原创 为什么你知道很多道理,却过不好这一生?
我一直没怎么在意这件事情,直到上周我的一个14.8V的航模电池,因为一直搁置着没用,准备拿出来给odrive的板子供下电,发现不仅用不了,也没办法充上电了。因为知识地获取,触及的是你的理性脑,这也就是很多人会说,为什么知道了很多道理,却过不好这一生的主要原因。而实践中实实在在获得的反馈,通常是触及你的感性脑的,这种方式让你记得更加牢固,也更容易触发你的行为。吃一堑长一智,书上或者他人告诉你的理论知识,如果没经历过实践,很难为你所用,也没什么体感。想想你上一次去摸刚烧开水的热水壶是什么时候的事?
2025-04-20 10:50:09
139
原创 《疯传》4300字深度解析:6个让内容自动传播的黄金法则(STEPPS)
关于公共性概括来说就是:能被别人看见的行为才会被传播,让使用你产品的人变成你的推销员。例如,两家奶茶店,奶茶店A使用白色的杯子,人们用完就扔;奶茶店B印着巨大的LOGO,购买奶茶的人,无论拿在手上,还是放在办公桌上,不管本人有没有意识到,都在无形中为其品牌和产品做了宣传。人是一种喜欢“有样学样”的动物。公共性就是利用人的这种从众心理,来让自己产品和思想得到广泛传播。
2025-04-17 09:07:03
994
原创 Odrive NameError: name ‘odrv0‘ is not defined
利用Zadig烧录USB驱动后,发现还是报错了NameError: name 'odrv0' is not defined。错误方式:烧录成了CDC Interface。
2025-04-12 10:34:29
216
原创 为什么说太用力的人走不远?神经科学家发现的关键陷阱
在这个崇尚速成的时代,真正的智慧在于理解"慢即是快"的哲学。神经科学研究显示,当我们将目标从"改变结果",转向"享受过程"时,大脑会重塑神经通路,使坚持变得自然而然。那些最终登上顶峰的人,不是起步时跑得最快的,而是最懂得调节步伐的。记住这个进步公式:可持续性 = 适度挑战 × 情绪平衡 × 系统反馈。当你学会在拉伸区优雅地舞蹈,而非在困难区痛苦地挣扎,时间终将成为你最强大的盟友。毕竟,人生的竞赛从不是短跑,而是一场考验耐力的马拉松——保持呼吸,保持节奏,你终将抵达那些拼命冲刺者永远到不了的远方。
2025-04-12 09:27:46
250
原创 Odrive0.5.1-FOC电机控制 encoder.cpp代码实现
这段 Encoder::enc_index_cb() 是 编码器 Index 中断回调 的核心,它的主要任务是响应 Index 脉冲,并完成 位置归零、状态标记 和 抗齿槽力补偿使能。ODrive 中使用的是一个 简化的一阶数字 PLL(锁相环)结构,核心任务是:利用 编码器读数(离散跳变)估算 连续相位;它把 3 个霍尔传感器的数字信号(hall_state)解码成一个标准的位置序号(0~5),用于跟踪电机的当前电角度位置。这个函数 decode_hall 是一个用于霍尔编码器(三相)解码的小工具函数。
2025-04-11 20:00:15
588
1
原创 Odrive0.5.1-FOC电机控制 controller.cpp代码实现
这段代码是 ODrive 固件中的一个关键函数,用于抗齿槽效应(Anti-Cogging)校准,是高级电机控制中常用的补偿机制之一。这是 ODrive 0.5.1 中 Controller::update() 的完整实现,是控制核心逻辑的心脏部分,主要完成从输入指令 → 内部处理 → 生成最终力矩指令(torque setpoint)的全过程。这是控制器类(Controller)的函数,用于选择一个编码器作为该控制器的控制目标(如位置闭环控制时的位置反馈来源)。
2025-04-11 15:36:10
302
原创 Odrive0.5.1-FOC电机控制 axis.cpp代码实现(四)
这段代码实现了ODrive电机控制中的"锁定旋转"(Lock-in Spin)功能,主要用于电机启动时的转子位置识别和速度同步。这段代码实现了ODrive在无传感器模式(Sensorless Mode)下的主控制循环,是电机在没有位置传感器(如编码器)时实现闭环控制的核心逻辑。这段代码实现了ODrive的空闲状态控制循环,是电机轴在不执行具体任务时的基础运行模式。这段代码实现了ODrive的闭环控制主循环,是带编码器反馈的精确位置/速度控制的核心。这个函数必须定期调用,否则系统会认为“挂掉”了。
2025-04-11 14:39:11
308
原创 Odrive0.5.1-FOC电机控制 axis.cpp代码实现(三)
这段代码 Axis::do_checks() 是 ODrive 项目中用来进行轴状态自检的函数,确保系统各部分处于正常工作状态,否则就设置相应的 error_ 错误位。start_thread():在 FreeRTOS 中新建一个线程,运行 run_state_machine_loop()(状态机控制主循环)。从配置中的 GPIO 引脚号获取实际的 GPIO_TypeDef* 和 pin mask,便于后续快速访问 GPIO 的电平状态或设置输出。封装默认配置设置,用于初始化或从某些模板中加载配置项。
2025-04-11 10:50:08
398
原创 Odrive0.5.1-FOC电机控制 axis.cpp代码实现(二)
这是一个中断回调适配器函数,用于将普通的 C 回调(如在 HAL 或中断中注册的函数)转发到 Axis 类的成员函数 step_cb()。这段代码定义了 ODrive 在无传感器模式(Sensorless Mode)下使用的默认锁定(Lock-in)参数配置,主要用于电机启动时的转子位置辨识和速度拉入同步。这段代码定义了 ODrive 电机轴(Axis)在校准(Calibration)过程中使用的默认锁定(Lock-in)参数配置,主要用于电机初始位置检测或编码器校准。板载MOSFET温度监控。
2025-04-11 10:47:48
795
原创 Odrive0.5.1-FOC电机控制 axis.cpp代码实现(一)
/ 校准电流 // ...其他参数 } config_;// 1. 主控制循环(实时中断调用) bool Axis::run_control_loop() { // FOC算法执行 motor_.update(current_meas_);} } // 2. 校准例程 bool Axis::start_calibration() { // 检查电机是否就绪 // 执行编码器、电阻、电感校准 motor_.measure_phase_resistance();:定义“轴”的蓝图(包含哪些部件、如何配置)。
2025-04-11 10:45:16
687
原创 穷人掉的最深的坑——就是不停地学习
在这个信息爆炸的时代,我们陷入了一个可怕的认知误区——总以为学得不够多才是问题的根源。这种思维就像是一个无底洞,让无数渴望改变命运的人不断下坠,最终陷入永远在准备,但是永不行动的恶性循环中。我们疯狂地囤积各种课程、书籍、干货文章,手机里存着几个G的学习资料,书架摆满了未拆封的畅销书。心理学研究表明,这种囤积行为,会带来虚假的充实感,让我们误以为自己在进步。就像那些办了健身卡却从不锻炼的人,购买知识的行为本身就成了目的。更可怕的是,我们开始用学习的时长来衡量成长。
2025-04-11 10:33:53
468
原创 Odrive0.5.1-FOC电机控制 arm_cos_f32.cpp arm_sin_f32.cpp代码实现(二)
见arm_cos_f32.c 代码分析文章。
2025-04-09 11:11:59
461
原创 Odrive0.5.1-FOC电机控制 arm_cos_f32.cpp arm_sin_f32.cpp代码实现(一)
在 our_arm_cos_f32 函数中,查表(Look-Up Table, LUT) 的核心是 预计算的正弦值表 sinTable_f32,通过巧妙利用余弦与正弦的相位关系实现快速余弦计算。这段代码实现了一个优化的浮点余弦函数 (our_arm_cos_f32) ,主要用于实时嵌入式系统中的快速三角函数计算。长度:FAST_MATH_TABLE_SIZE(例如256点,即每 2π/256 ≈ 0.0245 弧度一个采样点)。:速度更快,但误差增大(电机控制中典型用256点,误差±0.1%)。
2025-04-09 11:10:40
1037
原创 Odrive0.5.1-FOC电机控制核心代码 Odrive motor.cpp(.hpp)代码实现(四)
这段代码是 FOC(Field-Oriented Control)电压控制 的一部分,目的是根据电机当前电角度 pwm_phase,将 d/q 电压向量通过 逆 Park 变换(inverse Park transform) 转换为 αβ 坐标系下的电压向量,然后交给 SVM 做三相 PWM 输出。这是一个电流控制器,在 FOC 控制中它属于内环控制,作用是:将期望的 d/q 电流(电机磁通和转矩)转换为 α/β 坐标的调制波形,驱动三相电机输出 PWM。总结一张图(简略流程)
2025-04-09 11:07:42
315
原创 Odrive0.5.1-FOC电机控制核心代码 Odrive motor.cpp(.hpp)代码实现(三)
这段代码是 ODrive 中用于测量电机相电阻(phase resistance)的函数,通过注入测试电流并测量电压降来计算电阻值。作用:动态测量电机相电阻(单位:Ω),用于自动校准或故障检测。输入参数:test_current:测试电流幅值(如5A)。max_voltage:允许的最大测试电压(防止过压损坏)。输出:true:测量成功,结果存入 config_.phase_resistance。false:测量失败(错误码记录在 axis_->error_)。12 bool Motor::measu
2025-04-09 11:06:19
1127
原创 刷手机=慢性疲劳?神经科学家:这才是真正的休息
当你在自习室埋头苦学两小时后,哈欠连天、眼皮沉重,手指却不自觉地摸向口袋里蠢蠢欲动的手机。刷起美剧或抖音的瞬间,仿佛打开了潘多拉魔盒,转眼半小时流逝。重新捧起书本时,涣散的注意力却像断了线的风筝,怎么也收不回来。你摇摇头,把这归咎于"今天状态不好"。周末早晨,你在被窝里刷着手机,心想"反正周末就该放松"。可奇怪的是,明明躺着刷了一上午短视频,疲惫感没有得到释放,反而越来越重了。朋友圈里,好友们也在抱怨,"周末比上班还累",这条动态让你莫名心安——原来大家都这样。但这真的只是状态问题吗?
2025-04-09 07:59:27
815
原创 Odrive0.5.1-FOC电机控制核心代码 Odrive motor.cpp(.hpp)代码实现(二)
这段代码是 ODrive 中计算电机实际电流限制(effective current limit)的函数,它综合了多个限制因素(配置值、硬件能力、电压限制等),确保电流控制既满足用户需求,又不会超出系统安全范围。计算电机运行时允许的 实时最大电流值(单位:A)。这段代码是 ODrive 中将 ADC 原始值转换为电机相电流(单位:安培)的核心函数,主要用于电流采样信号的处理。它会根据电机类型(普通电机或异步感应电机ACIM)和系统限制,动态计算实时可用的扭矩上限。普通电机(电流控制模式)
2025-04-08 15:52:24
41
原创 Odrive0.5.1-FOC电机控制核心代码 Odrive motor.cpp(.hpp)代码实现(一)
它基于电机的 相电阻(phase resistance) 和 相电感(phase inductance) 动态计算电流环的 比例增益(P gain) 和 积分增益(I gain)。根据电机参数(phase_inductance 和 phase_resistance)和控制带宽(current_control_bandwidth),自动计算电流环的 P 增益 和 I 增益。这是一种基于模型的控制器调参(Model-Based Tuning),确保电流环的动态响应最优。电流环比例增益(Kp)
2025-04-08 15:48:08
647
原创 普通人逆袭成为富一代的核心密码
例如,每一次健身时,努力比上一次推起更大的重量,不断让自己能够承受更大的压力。他们不会因失败而退缩,不会用借口掩饰自己的不足,而是直面问题,持续行动,直至成功。培养这两个品质,就能在正确的方向上持续积累,最终实现财富的跃迁。心理上,学会让自己拥抱挫折和痛苦,跟随自己内心的恐惧,将其当成指向标,越是恐惧的事情,越是你更应该做的。你经受的内阻力越大,那尚未呈现的艺术/项目/事业对你来说就越重要,当你最终做到时,就越能感到满足。通过持续践行这些习惯,你不仅在积累知识,更在潜移默化中,培养着成功者必备的专注品质。
2025-04-08 08:37:00
387
原创 总遇不到贵人?《别独自用餐》里藏着答案
任何领域的成功,尤其在商界,注重的是人之间的合作,和利益的共享。作者在当球童时,服务过当地的一个贵妇人,他与其他球童不同的是,会先前到高尔夫球场了解各个洞的距离和位置,并且在服务过程中都力求完美。作者的父亲是美国的第一代移民,当时从事的是一个工厂的普通工人,他希望作者能够接受好的教育。之后他也一直接受的是美国顶级的教育。他当时作出了一件让所有人都很震惊的事情,就是去求助了他从未谋面的公司CEO。相当于他的上司的上司的上司。厚脸皮其实是一种神奇的天赋,如果连被拒绝的勇气都没有,那你这辈子很可能会过得很憋屈。
2025-04-06 09:06:26
199
原创 【已解决】信捷PLC 驱动步进电机 Y2~Y10无法控制方向
问题记录:做项目的时候,使用到了信捷XD3-24RT-E型号的PLC。起初将步进电机驱动器的PUL-连接到Y0、DIR-连接到Y1时,可以正常控制正反转。解决办法,将COM2连接到0V之后,Y2便可以正常控制高低电平,来驱动电机正反转。测到的电压为12V~24V,问题解决。利用万用表检测到电压:Y1可以正常控制高低电平,但是Y2一直都是24V。Y1 脉冲个数负 -> 逆时针旋转 -> 电压 23.18V。Y1 脉冲个数正 -> 顺时针旋转 -> 电压 305mV。
2025-03-07 10:58:20
267
原创 关闭网络自动代理,浏览器报错ERR_PROXY_CONNECT_FAILD
在设置中的网络和Internet -> 代理中,将手动设置代理,关闭即可。
2025-03-05 11:19:32
125
原创 PLC上传电机参数到http服务器
此项目中利用了Modbus-RTU协议,WIFI模块开启Modbus轮询模式并作为主机,不断向PLC发送数据,获取PLC寄存器中的电机参数值,然后通过WIFI模块的GE上位机,自带的Modbus数据转自定义json格式数据,进行转换后,上传到http服务器。②选择串口2,因为PLC的AB引脚连接的就是串口2;然后再D1000~到D1011寄存器中分别填入以下的数据,48,1,218,0,1057,1,3210,0,3,0,47,1。交流电220V接口,插上电后,试电笔测试线路,亮灯的线为火线,反之为零线。
2025-02-26 15:53:45
915
原创 一篇文章轻松学会,Qt模块化编程,利用.pri文件自定义添加文件夹
Qt开发过程中,如何在左栏的根目录下,添加自己定义的目录和目录下的文件呢?这篇文章教会大家如何轻松自定义文件夹,并添加到工程中。.pri文件中的内容如下,将ap3216c目录路径,添加到根目录下,并且其中包含了我们的cpp、h文件。目录中除了你的cpp文件、h文件还需要创建一个.pri文件,这是我们自定义添加目录的关键文件。还没完,在我们的.pro文件中添加.pri文件,这时候就能看到,自定义的文件夹被添加进工程了。首先创建一个目录,此处为ap3216c。嵌入式Crafter。
2024-12-29 17:12:09
257
原创 SolidWorks21装配体中一个零件无法改为线架图
右键零件弹出栏中选择零部件显示改为默认显示,再切换线架图,就会发现整个装配体都能切换为线架图了!
2024-11-15 14:00:09
412
原创 驱动编译dstled: version magic ‘4.1.15 SMP preempt mod_unload modversions ARMv7 p2v8 ‘ should be ‘4.1.15
通过检查文件发现自己修改内核路径少了一部分,Makefile和c_cpp_properties.json中的内核路径都需要修改成自己的内核路径,我就是少改了c_cpp_properties.json中的内核路径。修改完成后,make -j32编译下,cp dtsled.ko ledApp ~/linux/nfs/rootfs/lib/modules/4.1.15,再一次运行加载驱动指令即可成功!报错如下,通过查阅资料得知这种报错是内核版本和模块版本不一致,所以导致加载不成功。
2024-11-14 09:25:07
355
1
原创 正点原子IMX6ULL--嵌入式Linux开发板学习中常用命令和笔记记录
make xxx_defconfig //使用默认配置文件配置 Linux。tar -xjvf file.tar.bz2 解压 tar.bz2。tar -xzvf file.tar.gz 解压tar.gz。tar –xZvf file.tar.Z 解压tar.Z。make menuconfig //启动图形化配置界面。虚拟网络编辑器切换下无线网卡或者有线网卡试试看!虚拟网络编辑器切换下无线网卡或者有线网卡试试看!虚拟网络编辑器切换下无线网卡或者有线网卡试试看!make -j16 //编译 Linux。
2024-11-14 08:07:32
942
原创 嵌入式Linux--IMX6ULL编译设备树报错Configuration file “.config“ not found!
make imx_v7_defconfig 显示如下,则成功配置.config文件。重新make dtbs,完美解决!
2024-11-14 08:06:03
286
原创 【已解决】编译Linux内核报错multiple definition of yylloc
在学习正点原子的驱动开发指南过程中,在编译Linux内核时出现以下报错,内核文件为:linux-imx-rel_imx_4.1.15_2.1.0_ga。./mx6ull_alientek_emmc.sh文件内容如下。
2024-10-26 15:26:53
511
原创 编译Uboot报错arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv5
【代码】编译Uboot报错arm-linux-gnueabihf-gcc: error: unrecognized -march target: armv5。
2024-10-23 08:42:33
634
1
原创 【QT上位机/嵌入式项目】基于IMX6ull--Bluez蓝牙健康助手上位机
【QT上位机/嵌入式项目】基于IMX6ull--Bluez蓝牙健康助手上位机。
2024-10-10 12:32:55
521
原创 IMX6ULL嵌入式Linux开发板(正点原子)无线网络连接+Qt编译Scp传执行文件到开发板
本实验使用模块(正点原子购买ALPHA开发板赠送的USB WIFI模块,可直接插到电脑上联网测试好坏,若需要安装USB WIFI驱动则需要安 装驱动精灵安装相应的驱动即可!),使用 USB 2.0 HOST接口,ALPHA底板4个USB接 口都可以。正点原子提供 USB WIFI测试脚本,仅供用户参考。测试前准备 USB WIFI RTL8188EUS/RTL8188CUS模块,一般USB。
2024-10-08 10:26:59
1589
原创 Linux作业
掌握文件和目录压缩解压命令,包括:gzip命令、 bzip2命令、tar命令、zip命令、unzip命令、 rar命 令,以及它们的综合运用实例:zip加密压缩以及 Python破解、rar加密压缩以及Python破解和zip命 令隐藏恶意代码。掌握Linux文件和目录权限表示法,掌握文件和目 录的权限设置的使用方法,包括:chmod命令、 chown命令、chgrp命令、ln命令、find命令和 umask命令。
2024-09-25 16:12:11
180
原创 【开源】LVGL+FreeRTOS 基于STM32F411CEU6的健康助手项目制作
STM32F411CEU6 主控TFT 1.8inch 显示屏DTH11 温湿度传感器HC-05 蓝牙模块蜂鸣器模块Max30102 心率血氧传感器XGZP6847A 压力传感器波轮按键+独立按键MPU6050 陀螺仪模块。
2024-09-21 10:39:46
1576
2
原创 【完美解决】Ubuntu 20.04 解决蓝牙无法使用 安装USB蓝牙适配器驱动 蓝牙无法打开 No default controller available 等一系列问题
问题的起因为,我在Vmware虚拟机下的Ubuntu20.04无法正常打开蓝牙,开关开启后依然无法检测到设备。然后我尝试了一系列的步骤bluetoothctl 输入power on及其他指令,报错:No default controller available,也尝试了几乎我能查阅到的所有方法,重新安装bluez,blueman等等,我还重新修改了源以为是下载软件时出现了问题。
2024-09-21 09:55:58
5253
6
原创 解决Ubuntu下换清华源报错:由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32
通过指令 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 3B4FE6ACC0B21F32 将76F1A20FF987672F替换为你报错中 NO_PUBKEY 后的ID 3B4FE6ACC0B21F32 输入运行sudo apt-get update即可正常。通过sudo vim /etc/apt/sources.list 输入上述代码更换清华的镜像源,但在sudo apt-get update后出现以下报错。
2024-09-20 16:05:47
8857
3
原创 【详解】数据库E-R图——医院计算机管理系统
某医院病房计算机管理中需要如下信息:科室:科室名,科室地址,科室电话,医生姓名病房:病房号,床位号,所属科室名医生:工作证号,姓名,性别,出生日期,联系电话,职称,所属科室名病人:病历号,姓名,性别,诊断记录,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成如下设计:(1)设计该计算机管理系统的E-R图;(2)将该E-R图转换为关系模型结构;
2024-09-12 18:38:55
1981
原创 【详解】数据库E-R图——图书管理系统
一个图书管理系统中有如下信息:图书:书号,书名,数量,位置借书人:借书证号,姓名,单位出版社:出版社名,邮编,地址,电话,E-mail约定:(1)任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。(2)借书和还书时,要登记相应的借书日期和还书日期;(3)一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社具有唯一性。根据以上情况,完成如下设计:(1)构造满足需求的E-R图。(2)将E-R图转换为等价的关系模式。(3)指出转换后的每个关系模式的候选键。
2024-09-12 17:35:38
9344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人