小车使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制,这里电机使用PWM驱动,速度控制框图如下: 由以上框图可知,STM32通过定时器模块输出PWM波来控制两个直流电机的转动,通过改变PWM占空比的大小可以改变电机的转速,由于我们的控制目标是实现电机运行在速度范围内任意给定的速度,这里就需要采用闭环控制的思想,通过编码器获取电机的实时转速,通过与给定速度做差,将偏差作为PID控制器的输入,通过PID控制改变PWM占空比的大小,从而使电机的速度运行在给定的速度上. 这里使…
手头上有一个差分驱动的小车,使用两个直流电机驱动,要实现小车的在给定速度下运动,完成直线行驶,转向,加速,刹车等复杂运动. 使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制,这里电机使用PWM驱动,速度控制框图如下: 由以上框图可知,STM32通过定时器模块输出PWM波来控制两个直流电机的转动,通过改变PWM占空比的大小可以改变电机的转速,由于我们的控制目标是实现电机运行在速度范围内任意给定的速度,这里就需要采用闭环控制的思想,通过编码器获取电机的实时转速,通过与给定速…
测试环境:Keil 5.20.0.0 STM32F103RBT6 固件库版本:STM32F10x_StdPeriph_Lib_V3.5.0(2011) 本文使用TIM1的通道1,通道2,产生两路1khz,死区时间1us的互补PWM波. 所使用的IO口:由下图知,我们使用引脚为PA9,PA10,互补输出使用PB14,PB15 部分代码如下: /* 配置TIM1复用输出PWM时用到的I/O */ static void TIM1_GPIO_Config(void) { GPIO_InitTypeDe…
STM32驱动ILI9341控制器控制TFTLCD显示 一.用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念: 1.色彩深度,这是一个与TFTLCD显存对应的概念:所谓色彩深度就是每个像素点需要多少位的RGB 数据表示该点的颜色信息.注意,不同的TFTLCD显示器的RGB的对应关系不一样,这个可以在LCD 控制芯片手册中找到答案. 例: 某LCD显示支持8.16.24位RGB,这些位数是指该像素点颜色由8.16.24位RGB构成,但是 R\G\…
怎么调?可以让两路sensor的色调一致.…
1.为了更好的方便调试,串口必须要有的,主要打印一些信息,当前时钟.转换后的电压值和I2C读出的数据. 2.通过GPIO 模拟I2C对镁光的MT9V024进行参数初始化.之前用我以前公司SP0A19芯片,是I2C是8位宽的,而镁光的地址是8位,而数据位是16个字节, 其实不管是8位还是16位,每次发送都是8个字节然后一个应答位,所以只要稍微改下代码即可. 3.实现两路ADC连续转换,两路ADC转换:一路是检测锂电池电压:一路是检测压力传感器,其实都是检测电压,当检测到压力为零,并累计多长时间后进…
SPWM波指的是占空比呈正弦规律变化的PWM波,生成方式是在定时器中断中调整PWM波的占空比. 对于互补的两路SPWM波,一路为低电平 ‘0’ 时,另一路为高电平 ‘1’,即两路是互补的. 对于STM32F7,使用高级定时器TIM1可以方便地生成互补SPWM波.步骤如下: 1.确定载波周期 Tc,也即是每个SPWM波的周期.对于逆变电路,常采用20kHz,也即 Tc =  50us: 2.确定基波周期 Tb,此处取50Hz,即 Tb = 20ms: 3.计算取点数N,Tb / Tc = 20ms…
忙了一阵这个PWM,玩着玩着终于发现了些规律.Nordic 也挺会坑爹的. nRF51822 是没有硬件 PWM 的,只能靠一系列难以理解的 PPI /GPIOTE/TIMER来实现,其实我想说,我醉了. 幸好SDK有这个的demo,不然真的很醉.这里说的是SDK9.0.0. 即便是有SDK,相信很多人都像我一样,看下去会觉得晕头转向的,不过知道几个函数的应用就可以了. 先记下怎么开始用一个PWM.这里我要用2路极性相反的PWM. 先来初始化两个个PWM实例,名字是PWM1.PWM2,用硬件Ti…
FMC125-两路125Msps AD,两路160Msps DA FMC子卡模块 1.板卡概述  该板卡可实现2路14bit 250Msps AD 和2路16bit 160MspsDA功能,FMC连接器是一种高速多pin的互连器件,广泛应用于板卡对接的设备中,特别是在xilinx公司的所有开发板中都使用.该AD,DA子卡模块就专门针对xilinx开发板设计的标准板卡,用于模拟信号.中频信号采集,信号发出等应用. 2.板卡介绍 FMC接口,支持2路AD输入,2路DA输出. 一路SPI,用于对AD,…
一.STM32外部中断 1.STM32外部中断结构图 如上图所示:主要包括四个环节,GPIO.AFIO.EXTI.NVIC.以STM32F103VE(100脚)为例说明硬件模块的数量: GPIO:  80个 AFIO选择通道: 16个 外部中断线EXTI: 16 + 3 = 19个 NVIC  :  1个 2.EXTI控制器结构图 ① 功能 中断   申请中断 事件  当事件发生的时候,将产生事件脉冲,可以用来唤醒内核 ② 功能详细说明 如果要产生中断,必须事先配置好并使能中断线.根据需要的边沿…