背景:今年电设做的是简易倒立摆,做的时候有些功能没有实现,想用STM32F0来完善简易倒立摆,同时本人也想换一款价格便宜并且功能强大的单片机来作为自己参加比赛的主控芯片。 功能:实现倒立摆倒立旋转一周 设计方案: 1.设计思路 由于系统的输入、输出是针对控制器的,因此该系统是一个双输入单输出的闭环控制系统。作为系统的控制对象,单级旋转倒立摆由连接在电动机转轴上的水平旋转臂C和可自由摆动的摆杆E组成,旋转臂C和摆杆E之间用转轴D相连接。倒立摆系统具有两个自由度,旋转臂C为定轴摆动,摆杆E为空间一般运动。 倒立摆为达到设计要求,必须通过安装在电动机转轴F及转轴D处的两个角位移传感器分别检测旋转臂C及摆杆E的实时旋转角度,控制电机旋转的角度及输出力矩的大小,从而达到控制摆杆E按照指定任务要求摆动。 2.总体设计方案 通过对任务的分析,将旋转臂C和摆杆E的角位移信号根据PID控制算法,计算出控制规律,并转化为电压信号提供给驱动电路,以驱动电机的转动,通过电机带动旋转臂C的转动来控制摆杆E的运动。其工作原理如图2所示 单片机是核心控制器件,它负责采样、基本的控制运算和PWM输出。倒立摆的控制目标是使系统在不稳定的平衡点附近的运动成为一个稳定的运动,通过控制电机,使得旋转臂C和摆杆E的两个角位移信号在各自的平衡点位置附近变化,从而使系统达到动态平衡。。 3.软件流程图 软件主程序框图及案件控制子程序流程图如图5所示: 项目计划: 1.熟悉STM32F0的开发环境 2.熟悉STM32F0开发板,主要是各个模块,I/O,PWM,ADC,SPI,IIC,定时器等模块 3.联调,并把以前的算法完善,实现旋转一周。 说明:本人在完善项目的同时会对STM32F0进行评估,与之前飞思卡尔K60进行对比,因为之前本人是用K60设计的倒立摆,其他单片机处理速度达不到要求,抗干扰能力也不怎么好,由于飞思卡尔K60价格太高,所以本人想找一款单片机来替换它,以后可以用STM32F0来作为自己参加比赛的主控芯片。 关于STM32F0:内核48MHZ,处理速度高,倒立摆的程序设计要求较高的数据处理能力,有12位的AD采集,可以实现角位移传感器的精确定位,还有功能强大的定时器,适用于电机控制,本项目设计的时候用的是直流永磁电机。 |
【STM32F0开发日志/评测/笔记】+互补PWM波的产生
STM32F030 PB14和PB15无法输出PWM求助
【STM32F030探索套件】序列之五 外部中断
【STM32F0开发日志---二】+ucosii.2.92移植在STM32F030
上传个STM32F0+5110+内部温度传感器的菜鸟实例
【STM32F030探索套件使用问题】STM32F030 SPI方式驱动ST7565LCD失败
求一份STM32F051 I2C驱动LCD 12864的例程
STM32F0 M0 向结构体赋值进入HardFault异常
STM32F0 ADC-DMA方式采集2路数据时出现问题
STM32F030C8T6,TIM16定时慢很多问题?
RE:【STM32F0申请】+旋转倒立摆
回复:【STM32F0申请】+旋转倒立摆
不错哈,加油楼主
谢谢哦。