- 博客(4)
- 收藏
- 关注
原创 STM32定时器产生PWM波的周期和占空比计算
一共就几个名词:时钟频率、预分频寄存器(prescaler,简称PSC)、计数寄存器(counter,简称CNT)、自动重装寄存器(counter period或者autoreload register,简称ARR)、比较寄存器(简称CCR)。注意,是“穿越”了,不是等于时,比如比较寄存器设为30,当计数寄存器是30时,电平不变,当计数寄存器是31时,电平发生变化;自动重装寄存器是设置的计数寄存器的最大值,依照不同的模式,当计数寄存器等于自动重装寄存器时,下一次计数寄存器的计数产生动作,重新开始计算。
2025-11-08 09:44:36
461
原创 使用CUBEMX配置STM32的ADC&DMA
而ADC是读取电压的功能,最大只能读单片机供电的3.3V,并将读到的电平,转换为0到4095的值。比如1.5V,3.3V的一半是1.65V,比1.5V大,就再取1.65V的一半,一次类推,逐次逼近,得到较为精确的值。DMA可以想象成一个独立的搬运工,有东西就搬,不用你提醒他,他也会干活,你只用在他搬回数据时签一下验收单就可以了。因为主循环里没有其他的,一直在调用这些值,寄存器反应不过来,你看到的就是0。首先是三个NPC,在我的项目里用的是内部时钟,不是外部晶振时钟,注意辨别。然后配置DMA运输ADC的值。
2025-11-08 08:53:42
411
原创 麦克纳姆轮随机角度平移运动解算
但是代入后面的A轮,电机的转动方向是反的,提供的力和前面的A轮是一样的。但生活的应用场景中不一定是直前直后的移动,可能就需要向随机角度平移,这时的每个轮子应该有多大的速度才可以?假设θ=45°,这是一个比较极限的例子,底盘整体的运动方向就需要完全沿着A轮滚子轴线的方向,也是垂直于B轮滚子轴线的方向。将1和0代入正弦函数,也就是A轮转动的速度是sin(45°+θ),B轮转动的速度是sin(-45°+θ)。这篇文章使用的方法解算出的是速度的比例,在程序中需要设定一个速度,乘以解算出的比例,才是电机的结算速度。
2025-11-06 20:27:04
247
原创 麦克纳姆轮简单运动学解算
我初学麦轮解算时,看文章讲的很迷惑,觉得网上讲的单凭图片和视频并不能让我理解的很深刻,我就自己在之上自己推导解算原理。推理完之后发现,网上的文章大部分是复杂的,并不简洁,这篇文章是分享我的推导过程。我在解算的推导时,单独看某一轮子,其收到的力可以被分解为沿滚子轴线方向的力和垂直滚子轴线方向的力。因为电机的旋转是有方向的,所以根据电机旋转方向的不同,沿滚子轴线的力也是不一样的,需要注意区分。因为滚子是可以自由滚动的,所以垂直滚子的力其实是无效的分力,这样就可以直接省去一个力的分析。
2025-11-06 19:46:05
198
空空如也
ina240a2pwr模块
2025-10-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅