单片机项目
文章平均质量分 75
ryan_jianjian
这个作者很懒,什么都没留下…
展开
-
直流电机的PWM调速
①直流电机的PWM调速原理与交流电机调速原理不同,它不是通过调频方式去调节电机的转速,而是通过调节驱动电压脉冲宽度的方式,并与电路中一些相应的储能元件配合,改变了输送到电枢电压的幅值,从而达到改变直流电机转速的目的。它的调制方式是调幅在使用PWM控制的直流无刷电动机中,PWM控制有两种方式:1.使用PWM信号,控制三极管的导通时间,导通的时间越长,那么做功的时间越长,电机的转速就越原创 2016-09-19 21:24:19 · 55375 阅读 · 0 评论 -
PID算法
三角函数直接解算:加速度计输出的数值为多少个g,就是多少倍加速度,在物体在静止时会受到1个g的重力加速度,如果加速度计水平放置,那么Z轴数据就是1,XY轴就是0,原理不懂的话不用看了,好好读完高中再来研究四轴。当加速度计XY轴产生偏转时,XYZ轴的数值会产生变动,此时根据反三角函数即可解算出当前的角度。公式:AngleAx=atan(Angle_ax/sqrt(Angle_ay*Ang原创 2016-09-21 22:18:11 · 2180 阅读 · 0 评论 -
卡尔曼滤波(程序)
/******************************************************卡尔曼滤波************************************************/static float angle,angle_dot; //外部需要引用的变量static const float Q_angle=0.04,//0.04, //0.0原创 2016-09-25 23:17:47 · 983 阅读 · 0 评论 -
PID算法的C语言实现
第一步:定义PID变量结构体,代码如下:struct _pid{ float SetSpeed; //定义设定值 float ActualSpeed; //定义实际值 float err; //定义偏差值 float err_last; //定义上一个偏差值原创 2016-09-30 23:04:44 · 3297 阅读 · 0 评论 -
nrf24l01(程序)
#include "RF24L01.h"#include "delay.h"u16 RTD_wait = 0; //发送等待时间设限u8 RTD_success = 0; u8 RX_BUF[RX_PLOAD_WIDTH]={0}; //接收数据缓存 u8 TX_BUF[TX_PLOAD_WIDTH]={0}; //发射数据缓存 u8 TX_ADDRESS[TX_ADR_W原创 2016-10-03 21:01:44 · 2253 阅读 · 1 评论 -
SPI通信
spi的收发可以设置为全双工模式,但是时钟却都是由主机控制的,在读从机数据时,需要发送从机内部数据的地址,接着需要提供要求的n个时钟信号,才能把从机的数据读出来。这时需要发送无效的数据位来产生时钟,无效数据一般可以为0xff或者0x00,这个需要根据不同主机在使能后mosi线的电平以及从机设备要求来确定。 另外硬件spi需要设置相关的时钟极性,以及第一个时钟沿还是第二个时钟沿读取数据。stm原创 2016-10-03 21:06:45 · 1718 阅读 · 0 评论