![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
研发项目
C藏镜人
enjoy life and robot,致力成就非凡的自己
展开
-
传感器研究NO2.激光雷达
一、重要参数雷达主体由激光测距模组和电机构成,雷达主体需要连接转接板,用于实现外部供电和UART转USB。以ydlidar-x4激光雷达为例。ydlidar-x4激光雷达正是一款极低成本的2D激光雷达,作为学习性能足够用了。测距频率:指每秒钟测距的次数(即激光测距模组的采样率),测距频率默认为5KHz;扫描频率:扫描频率越高,电机转动一圈的时间约短,扫描获取1帧雷达数据的时...原创 2020-04-01 23:03:21 · 1089 阅读 · 0 评论 -
算法积累NO1.最小二乘法C实现
最小二乘估计法,又称最小平方法,是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘估计法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。一、C实现最小二乘法计量经济学研究的直接目的是确定总体回归函数Yi=B1+B2Xi+ui,然而能够得到的只是来自总体的若干样本的观测值,要用样本信息建立的样本回归函数尽可能...转载 2019-07-12 23:07:14 · 847 阅读 · 0 评论 -
算法积累NO2.快速平方根(平方根倒数)算法
一、牛顿迭代法以下算法在GameDev.net 上有人做过测试,该函数的相对误差约为0.177585%,速度比C标准库的sqrt提高超过20%。如果增加一次迭代过程,相对误差可以降低到e- 004的级数,但速度也会降到和sqrt差不多。/* 计算参数x的平方根的倒数 利用牛顿法来解决求平方根的倒数,实际就是求方程1/(x^2)-a=0的解。将该方程按牛顿迭代法的公式展开为: ...原创 2019-07-23 20:04:28 · 1877 阅读 · 0 评论 -
项目积累NO1.电池管理
一、锂电池充电原理解析1.1 各个阶段分析(以3.3V锂电池为例)阶段1:涓流充电——涓流充电用来先对完全放电的电池单元进行预充(恢复性充电)。在电池电压低于3V左右时采用涓流充电,涓流充电电流是恒流充电电流的十分之一即0.1c(以恒定充电电流为1A举例,则涓流充电电流为100mA),阶段2:恒流充电——当电池电压上升到涓流充电阈值以上时,提高充电电流进行恒流充电。恒流充电的电流在...原创 2019-07-05 21:26:03 · 398 阅读 · 0 评论 -
项目积累NO2.软件版本生成
一、KEIL生成版本 在编译时,编译器会自动的把计算机系统时间编译进去,生成一个宏。编译后不会改变的,这样恰好利用确定编译时间确认版本好和代码发行时间。在使用KEIL时,可以通过内置的DATE和TIME宏来实现这个功能。参考范例: unsigned char code DataStr[]=DATE; unsigned char code TimeStr[]=TIM...原创 2019-07-10 21:40:51 · 247 阅读 · 0 评论 -
项目积累NO3.查表法解三角函数
由于单片机解三角函数、反三角函数耗时太大,故此常常使用查表法来解。查表法所用数据可以通过Matlab事先计算所得,放置程序。注意,要求精度越高,放置数据量所占空间越大,故此需要权衡。一、边角关系(正弦) Sinθ = 对边A / 斜边C(余弦) Cosθ = 邻边B / 斜边C(正切) Tanθ = 对边A / 邻边B二、弧度与角转换#define pi 3...原创 2019-07-12 19:54:23 · 2946 阅读 · 0 评论 -
项目积累NO4.产品ID生成
在STM32的全系列MCU中均有一个96位的唯一设备标识符。在ST的相关资料中,对其功能的描述有3各方面:用作序列号(例如 USB 字符串序列号或其它终端应用程序) 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性 激活安全自举过程等 在资料中对其特性的描述是:96 位的唯一设备标识符提供了一...原创 2019-07-15 20:42:33 · 206 阅读 · 0 评论