- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 关于MATLAB2019a的三相全控桥整流电路的画法学习
本篇文章是笔者关于第一次使用MATLAB/Simulink模块库制作三相全控桥整流电路过程中的一些经验介绍,如有错误,望读者指正。一、关于MATLAB/Simulink模块库的介绍 MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的科学计算语言和编程环境。全球数以百万的工程师和科学家使用 MATLAB 来分析和设计可以改变世界的系统和产品。MATLAB 精通数学Matlab 为工程学和和科学家设计MATLAB工具箱得心应手Matlab 具有交互式应用Matlab 集成工作
2022-01-02 23:26:44 7393 1
原创 多功能导盲机器人
刘志宏1,陈伯康1,张东轩1,郑骞1摘 要:中国的盲人和低视力患者将近1800万,而盲人的日常出行还存在很多的问题,导盲犬的培训周期长,难以满足广大的盲人群体,通过对市场上现有盲人辅助产品的了解,以及盲人群体的日常出行需求,针对性的开发导盲机器人,用来满足盲人以及低视力患者的需求。通过对机器人的底盘,视觉,传感器以及物联网等部分的开发,将各部分联动形成完整的导盲机器人。导盲机器人可通过避障以及视觉对危险的判断检测来引导盲人前进,通过物联网模块上传数据并对导盲机器人的状态进行实时.
2021-10-17 19:25:56 13493 7
原创 关于瓦力机器人的设计构想
想法来源此想法来源于电影《机器人总动员》中的“瓦力”这一形象,电影中的瓦力就以一个可以自行移动的垃圾清理机器人。我产生这一想法的原因是,我们的实验室中已经有相对应的雏形,智能垃圾桶项目已经成熟,智能小车项目也在发展中(硬件设施已具备),果园采摘机器人项目我们只需要使用其机械臂并对其进行改造即可。在一个项目开发项目的开发中,我们清楚地知道,一代产品根本无法满足我们设计的需要,所以目前我们只针对第一代产品进行初步的设计,我们对第一代产品的设想就是它可以满足:1、可以自行移动、自动避障;2、可以主动抓取垃圾;
2021-10-17 12:41:16 3253 3
原创 STM32之复位和时钟控制(RCC)
一、复位STM32复位电路如图所示:复位分为3种形式,即电源复位、系统复位和备份区域复位。当系统上电、掉电及从待机模式返回时,发生电源复位。电源复位除备份区域的寄存器外所有的寄存器。系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器外的所有寄存器。当在NEST引脚上产生一个低电平,系统复位发生,即通过按复位按钮可以引发复位。另外,当看门狗定时器计数终止时,包括窗口看门狗(WWDG)和独立看门狗(IWDG)计数终止,会产生复位。另外,软件复位和低电压也会导致系统复位。对于备份区域的
2021-04-13 23:12:20 5289 1
原创 GPIO之概述
学习一款处理器时,我们的学习思路应该如下:1、首先需要掌握基本的IO口的控制方法。例如,如何控制某个IO口输出高低电平等。2、其次是学习串口的使用方法,可以通过串口输出,这一步至关重要。只要串口可以输出信息了,那么接下来的学习过程中,可以通过串口来输出程序的调试信息,跟踪程序的执行流程等。3、然后是学习时钟系统,只有深入理解了处理器的时钟系统,也就是时钟树才能准确理解各个功能模块的工作流程,以及时钟配置关系等等。4、接下来可以学习ADC,实现模拟信号的输入与采集,如果有必要的话,可以学习一款flas
2021-01-12 16:44:54 1703
原创 STM32之ADC实验——获取温度
使用固件库提供的函数来获取内部温度传感器数据的效果。STM32F103VET6处理器内部内置了一个温度传感器,该温度传感器的在内部和ADC1_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。需要注意的是,内部温度传感器更适用于检测温度的变化,而不是测量绝对的温度,如果需要测量精确的温度,应该使用外置的温度传感器。ADC输出的数字值和温度之间的对应关系如下:本例是使用通道10,采集PC0引脚的输入电压。#include "stm32f10x.h"#include "stm32f10
2021-01-10 21:53:31 12354 1
原创 STM32之ADC实验
使用固件库提供的函数来获取内部温度传感器数据的效果。STM32F103VET6处理器内部内置了一个温度传感器,该温度传感器的在内部和ADC1_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值。需要注意的是,内部温度传感器更适用于检测温度的变化,而不是测量绝对的温度,如果需要测量精确的温度,应该使用外置的温度传感器。ADC输出的数字值和温度之间的对应关系如下:本例是使用通道10,采集PC0引脚的输入电压。#include "stm32f10x.h"#include "stm32f10
2021-01-10 20:59:05 3438 2
原创 STM32之ADC
ADC基本原理-M3ADC是Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。ADC典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。STM32F10x ADC特点1、12位逐次逼近型的模拟数字转换器。2、最多带3个ADC控制器3、最多支持18个通道,可最多测量16个外部和2个内部信号源。4、支持单次和连续转换模式5、转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。6
2021-01-10 10:33:41 1248
原创 STM32流水灯实验完整源代码
#include"stm32f10x_gpio.h"#define Led1_On() GPIO_SetBits(GPIOB,GPIO_Pin_5)#define Led1_Off() GPIO_ResetBits(GPIOB,GPIO_Pin_5)#define Led2_On() GPIO_SetBits(GPIOD,GPIO_Pin_6)#define Led2_Off() GPIO_ResetBits(GPIOD,GPIO_Pin_6)#define Led3_O
2021-01-08 09:30:23 11627 1
原创 关于ARM开发过程中C语言如何使用及其需要注意的一些问题之 防止文件重复包含的技巧
编译器对C语言源程序进行处理大致可以分为预处理(preprocess)、编译(compile)、汇编(assemble)和链接(linking)共四个步骤最终才生成可执行程序,一般在对源程序进行语法和词法分析之前,先要对程序进行预处理,C语言编译器已经提供了部分预处理指令来指示编译器如何对源程序进行预处理,预处理指令以#开始,独占一行。这里我们主要说一下#ifndef和#endif,他们主要是用在防止头文件重复包含的情况,这对于模块化开发至关重要。我们在这里以stm32f10x.h固件库文件的内容为例:
2021-01-07 21:14:59 252 1
原创 关于ARM开发过程中C语言如何使用及其需要注意的一些问题之 控制结构
在编程的过程中,很多时候需要使用控制语句来实现对程序的分支转移和循环等操作,用于控制程序执行流程的语句主要有选择结构和循环结构。选择结构选择结构常用的有if…else和switch…case结构,通过选择结构可以方便控制程序的执行流程。持续关注,以后会在具体程序中展开叙述。循环结构C语言中提供的循环结构有while、do…while和for循环,但是根据具体的应用场合可能会选择不同的循环结构来实现相应的功能。持续关注,以后会在具体程序中展开叙述。...
2021-01-07 20:34:53 285
原创 关于ARM开发过程中C语言如何使用及其需要注意的一些问题之 位运算符和位运算
位运算是指二进制之间的运算。在嵌入式系统设计中,常常要处理二进制的问题,如将某个寄存器的某一位置1或置0,将数据左移5位等。常用的位运算符如图所示。按位与运算符(&)**按位与运算规则:**参加运算的两个操作数,每个二进制位进行“与”的运算,如果两位都是1,则运算结果为1,否则为0.例: 1001&1011运算过程如图所示。但仅仅知道上述运算规则是远远不够的,在STM32系列处理器的开发过程中,按位与运算主要是用来清除某一位,或者说主要用来实现清零。按位或运算符(|)按位或运
2021-01-07 20:22:12 472
原创 关于ARM开发过程中C语言如何使用及其需要注意的一些问题之数据类型基础(常用)
常用typedef声明新的类型名来替代已有的类型名,这主要是便于移植。例如,在程序中我们经常会看到:typedef unsigned int u32.............u32 var=3;第1行用typedef声明了一个类型u32来替代unsigned int,这样比较方便,从u32可以看出来这是一个unsigned型数据(前面的u就是这个意思),后面的32表示的是一个32位的数据。第3行用刚才的u32定义了一个变量var。#define u32 unsigned int.......
2021-01-07 17:18:51 458
原创 关于ARM开发过程中C语言如何使用及其需要注意的一些问题之数据类型基础
数据类型基础ARM编译器支持整数型和浮点型的数据,一般的数据类型有char、int两种。· char表示1个字节的数据,长度为8位。· int表示1个字数据类型,长度为32位。如何理解?就好比我们自己在家里做雪糕一样,做出来的雪糕和模子是一样的。在这里数据类型就好比“模子”,定义变量就好比内存“模子”里面的“雪糕”。举个例子,例如:int val=3,就好比在内存里冻结了一个跟int这个“模子”一样大小的内存片;这里是4个字节,冰箱这个内存片里写入了初值3。以后怎么找到这个内存片呢?我们在这里对
2021-01-06 23:18:31 652
原创 STM32F103的11个定时器详解
STM32F103系列的单片机一共有11个定时器2个高级定时器4个普通定时器2个基本定时器2个看门狗定时器1个系统嘀嗒定时器除去看门狗定时器和系统定时器的八个定时器列表;8个定时器分成3个组;TIM1和TIM8是高级定时器TIM2-TIM5是通用定时器TIM6和TIM7是基本的定时器定时器都是16位的,它们的计数器的类型除了基本定时器TIM6和TIM7都支持向上,向下,向上/向下这3种计数模式计数器三种计数模式向上计数模式:从0开始,计到arr预设值,产生溢出事件,返回重新计时
2021-01-06 22:20:58 5121
原创 认识STM32开发环境的固件库
认识固件库本文笔者就结合上一篇文章《学习STM32mini版(流水灯)》,来解释什么是固件库以及他是怎么工作的。STM32的固件库又叫固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少开发者开发使用片内外设的时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有
2020-12-05 17:09:24 6194 2
原创 学习STM32mini版(流水灯)
用STM32mini版写一个流水灯今天,我用STM32mini版来写一个流水灯,自己的能力有限,是个小白,有不完美或者不对的的地方还望赐教。不喜勿喷。
2020-12-03 21:15:09 3629 13
原创 我对STM32的初步认知
STM32初次接触最初的ARM处理器是由英国剑桥的Acorn计算机公司设计。ARM公司成立于1990年。该公司的知识产权(IP)提供商(不生产芯片)。目前,ARM架构处理器已经在高性能,低功耗,低成本的嵌入式应用领域占据了领先地位。STM32系列处理器是ST公司基于ARM Cortex-M内核而专门开发的。由于采用了Cortex内核,因此,其中断响应速度得到了大幅度的提升,此外由于ST公司提供了大量的固件库,使得其开发流程得到了简化,因此,STM32系列处理器得到了广大工程师和科学研究院所学生们的广泛关
2020-12-02 18:24:43 643 1
电力系统继电保护——整定计算
2022-05-29
《电路》知识点总结压缩版
2022-02-11
《电路》知识点总结压缩版
2022-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人