- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 单片机编程分层思想APP BSP HAL 三层结构
硬件抽象层位于 BSP 之下,更靠近底层硬件,它的主要目标是隐藏硬件的细节,提供一套统一的、与硬件无关的接口给上层软件(如操作系统或 BSP)。HAL 使得软件可以独立于具体的硬件实现,提高了软件的可移植性。提供一组标准接口,用于访问硬件资源(如 GPIO、ADC、DAC、定时器等)。封装硬件驱动程序,使得上层软件无需关心硬件的具体实现细节。允许在不改变上层软件的情况下更换或升级硬件。通过这样的分层结构,每一层都有明确的职责,降低了各层之间的耦合度,使得软件开发更加模块化,也便于维护和升级。
2024-07-17 12:28:12
338
原创 电机控制、伺服软件工程师职位介绍
4. 根据产品需求与用户反馈,优化性能指标,确保各工况下的系统运行最优,如降低电流谐波、提高调速范围等。5. 熟悉CANopen/EtherCAT,硬件调试能力强,有丰富的伺服系统开发经验。2. 精通ARM/DSP/FPGA开发,C/C++,嵌入式系统,硬件接口及驱动。1. 自动控制、电气控制本科以上学历,电机、电力电子、控制等基础扎实。1. 负责伺服驱动器软件设计,包括架构、编码、测试,确保功能可靠。5. 完善伺服驱动器的标定功能,如电阻电感、转动惯量、零偏等功能。
2024-07-10 15:29:34
246
2
原创 stm32f407用于参数平衡擦写读写flash的注意事项
擦除操作完成之后,执行数据缓存复位(DCRST位)是一个好的实践。特别是对于连续的写入-擦除-读取序列,这一步骤能够保证读取到的数据是最新的。(遇到的真实情况是:未复位擦除后去访问flash数据,最开始访问的数据可能是擦除前的数据,而不是此刻真实的flash中的数据)直接对一个未锁定的FLASH执行解锁指令可能会导致硬件错误(HardFault),因为解锁指令通常是设计用来移除写保护的,对一个已解锁的FLASH再次执行解锁操作是没有意义的,并且在某些情况下可能导致不可预料的行为。: 这一点至关重要。
2024-05-23 19:17:46
395
原创 STM32F407 2个高级定时器生成2路无刷电机波形以及相电流采集程序(寄存器版)
stm32f407 高级定时1、定时8 生成20k 中心PWM 波形 并分别用其通道4 触发ADC1 ADC2 采样 用于分别两无刷电机foc 电流环控制,ADC1产生50us的电流采集完成中断,用于foc算法周期运算。配置ADC中断:使能ADC1的转换完成中断,并编写中断处理函数。配置定时器:对定时器1和定时器8进行相应的配置,使其能够生成PWM信号。配置GPIO:选择用于输出PWM的引脚,并将这些引脚配置为复用功能。配置ADC:使能ADC1和ADC2的时钟,并对它们进行相应的配置。
2024-05-15 22:47:04
615
原创 stm32ADC注入通道使用笔记(以STM32F407 为例)
ADC_JDR1 、ADC_JDR2、ADC_JDR3、ADC_JDR4中。ADC_JDR1 、ADC_JDR2、ADC_JDR3中。ADC_JDR2 存放的是第二次转换的数据。ADC_JDR1 存放的是第一次转换的数据。ADC_JDR3 存放的是第三次转换的数据。ADC_JDR4 存放的是第四次转换的数据。JSQ4[4:0] 通道。JSQ4[4:0]。JSQ4[4:0]。转换通道的顺序为:先是。
2024-05-15 21:43:05
299
原创 HC32F4A0与HC32F460的io口灵活配置灵活映射功能
总结起来,HC32F4A0/F460在GPIO灵活性上可能提供了比STM32更多的自由度,允许开发者在设计阶段有更大的硬件布局和后期修改空间。然而,具体到每一个功能模块的详细映射规则和限制,仍需要查阅各自的数据手册来获取准确信息。华大半导体的HC32F4A0和HC32F460系列单片机在IO口配置灵活性方面具有较高级别的可重映射能力。
2024-03-16 15:04:28
876
原创 (三)电机控制之方波驱动无刷直流电机(BLDC)与正弦波驱动无刷直流电机(PMSM)的详细对比
总结来说,方波驱动无刷电机和正弦波驱动无刷电机的主要差异在于驱动控制技术和由此带来的电机运行性能上的不同。用户应根据实际应用的需求选择最适合的驱动方案,权衡成本、性能、效率和可靠性等因素。
2024-03-02 17:26:44
3182
原创 (二)电机控制之六步方波BLDC控制方法以及注意问题
直流无刷电机(Brushless Direct Current Motor,简称BLDC电机或BL电机)是一种先进的电动机类型,其设计结合了直流电机的调速性能和交流电机的结构优势。这种电机没有传统的机械换向器和碳刷组件,而是通过电子换向系统来改变电流的方向,从而实现转子磁场相对于定子绕组的连续旋转。永磁体转子:转子部分通常由一个或者多个永磁体组成,产生恒定的磁场。定子绕组:定子包含多个相位的线圈,这些线圈按照特定顺序通电以产生旋转磁场与转子磁场相互作用,驱动转子转动。位置传感器。
2024-03-02 00:44:37
2564
原创 基于HC32F4A0伺服驱动提高pwm 开关频率的一种方法
原驱动器默认设定的PWM最大工作频率为20kHz,在这种配置下,电流检测机制是与PWM定时器同步的,即每当PWM周期循环一次时,ADC便会触发一次电流采样。尽管20kHz的PWM频率对于大多数电机来说已经足够满足其运行需求,但在面对电感较小的部分电机时,为了优化控制效果和减小纹波,可能需要进一步提高PWM的开关频率。HC32F4A0在不改变电流采样频率已经运算周期,一种增加pwm频率的方法是,增加pwm频率,间隔触发ADC采样,运算周期同电流采样周期一样。具体配置方法参考寄存器。
2024-02-24 00:46:19
578
原创 (一)电机控制之无刷电机的2种电流采样方式以及优缺点比较
总结起来,低端采样适用于低成本应用,但可能会影响系统性能和电源利用效率;而高端或相电流实时采样虽然成本更高,但在高精度控制和电源利用率方面具有优势。
2024-02-24 00:16:24
2379
原创 利用eds editor生成CANOPEN 设备eds文件
通过以上步骤,您可以根据实际设备的功能特性,自动生成一份符合CANopen协议标准的电子数据表(EDS文件),该文件可以被上位机软件或其他CANopen主站设备用于识别、配置和控制您的CANopen从站设备。使用CANopen EDS Editor生成CANOPEN设备的EDS文件是一个系统化的过程,它涉及将设备的具体技术参数和功能映射到CANopen规范定义的对象字典中。
2024-02-22 08:00:00
2164
原创 一款相对比较强大的国产ARM单片机HC32F4A0
已经用了3年的HC32F4A0,已经对它比较熟悉了,与STM32相比它的外设使用这些的确是挺大大,不像GD32一类的单片机很多都能兼容STM32。用久了之后就更喜欢用HC32F4A0,功能强大,外设使用灵活,用点向FPGA靠拢的感觉。我们公司用它来做全国产的伺服驱动器,对F4A0表现出的性能很满意。HC32F4A0 系列的特点之一是大部分 I/O 口具有高度灵活性,可以任意配置为串口、SPI、I2C 或 CAN 接口,这提供了极大的设计便利性。
2024-01-24 00:26:01
1835
原创 C语言实现快速傅立叶(FFT)(一)
DFT(FFT)的作用是可以将信号从时域变换到频域,而且时域和频域都是离散的,通俗的说,可以求出一个信号由哪些正弦波叠加而成,求出的结果就是这些正弦波的幅度和相位.在第一步,8个频谱(每个频谱包含1点)被合成为4频谱(每个频谱包含2点),在第二步,4个频谱(每个频谱包含2点)被合成为2频谱(每个频谱包含4点),最后一步使得FFT的输出是一个8点的频谱。使用不同的时间窗,它的时域形状和频域特征是不相同的。矩形窗、汉宁窗和平顶窗的时域形状和频域特征如下图所示,可以看出,窗函数不同,时域和频域都是不同的。
2023-12-15 23:43:15
2210
原创 STM32用flash保存参数实现平衡擦写的一种方法
简易示意图如下:写参数前要擦除对应的扇区 全为0XFFFFFFFF操作的最小单位为32位 uint32_t;当一块扇区写完时,将所有有用参数复制到第二块扇区,开始写新的参数,如果所有参数写完,又重第一块参数开始写,这样就能实现平衡写的目的,所以要实现这个功能,至少需要分配2个扇区实现均衡擦写。/* 储存扇区信息的结构体 */// 状态// 标号// 版本// 扇区HEAD结构/* data */}VARLEN;struct VAR_ST //Flash数据存储结构//数据当前状态。
2023-12-09 11:56:17
1118
原创 (三)安装seafile服务器
一键安装中会有对话的形式设置管理员名称和密码等,以及访问地址名称,如下可以看到打印信息,seafile默认用到的两个端口是8000 8082 注意防火墙设置。能打开网页,能正常上传下载文件,说明ok。
2022-09-14 22:21:30
2174
原创 (一)运行环境搭建,centos7系统下载安装
1.虚拟机 virtualbox 或 vmware,本文采用virtualbox,vmware大同小异。一、安装好virtualBox后,打开virtualBox安装centos镜像。
2022-09-14 01:15:22
646
原创 基于Linux centos7 搭建内网服务器,并通过外网访问
2.或小公司搭建公司内部服务器,方便内部资源共享,项目管理,协同开发等。1.建立自己私有服务器,方便自己存储资料,项目管理等。
2022-09-13 23:43:24
768
原创 一阶数字低通滤波器的实现
一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现的滤波功能,类似电路上的RC滤波。1.1计算公式推导一阶惯性滤波算法起源于一阶低通滤波电路。在电路设计中,用于吸收和消除叠加在低频信号源上的高频干扰成份十分有效。如图1所示,激励源,通过一个由电阻R和电容器C组成充、放电回路,并以电容两端的电压作为输出,构成了基本的一阶低通滤波系统。由于电容器具有通交流阻直流的特性,因而当信号以较低频率通过该系统时,输出端没有(或几乎没有)削减,从而能够很好地通过;当信号频率较高时,输出端将会受到很大..
2021-06-06 00:08:36
9356
4
原创 Git简单 入门 基于gitee(windows)
一.安装git下载链接:https://git-scm.com/下载对应系统安装,安装很容易,点击exe安装 。在任意文件中鼠标右键 都会看到如图框中的两条信息,表示安装已经成功。二.建立仓库(在gitee上)三.常用命令使用1. cd d:/wwwroot/wanglian/ //进入准备好的文件夹2. $ git clone https://gitee.com/用户地址/gitcode.git...
2021-05-13 23:10:46
232
原创 C++实现传递函数的波特图
#ifndef BODE_H#define BODE_H/******************************************************************************* 文件 : bode.h* 作者 : dhs* 版本 : V1.0* 日期 : 2020-7-31* 描述 : 给定传递函数绘制,计算对应的波特图坐标的数据(幅值、相角)********.
2020-08-01 12:59:25
1480
1
原创 用c语言实现复数的基本运算
一、复数的基本运算1.求模正在上传…重新上传取消2.求幅角3.基本的四则运算二、c代码/******************************************************************************* 文件 : mycomplex.h* 作者 : dhs 7467669845@qq.com* 版本 : V1.0* 日期 : 2020-8-...
2020-08-01 12:25:08
5370
原创 利用二分法查找NTC温度值以及数据采集方法
NTC温度传感器温度的采集和数据的处理方式有很多种,有通过ntc温度公式直接计算温度的,有通过查表的方法查表的,这里介绍的是通过二分法查表的方式来处理采集的温度值。1.1简单的采集电路下图是通过STM32单片机直接采集的简单NTC采集电路,NTC和R1通过分压直接将采集到的电压经过RC滤波后直接传给单片机采集,经验表明R2不能太小也不能太大,太大会影响灵敏度,适当的大一点又会对EMC干扰又一定的抑制作用。 ...
2020-06-14 13:17:45
6226
2
转载 画单片机STM32最小系统
http://www.51hei.com/bbs/dpj-41011-1.html单片机最小系统,也就是能够使得单片机正常运行程序,最少需要连接哪些器件。一个单片机开发板,就是“单片机+外围芯片”。一个单片机开发板,需要做哪些功能,完全是由你自己决定。你可以只做一个只有单片机的开发板,就是刚才说的最小系统板,也可以把单片机所有的功能全部做上,也可以只做一部分。我们要做的,就是用到单片机所有引脚功能...
2018-04-21 23:05:34
4201
转载 友善官方 Mini2440 Linux移植开发实战指南 问题总结
这篇文章解决了我的问题,所以转载收藏了http://blog.chinaunix.net/uid-25811099-id-1630058.html
2018-04-15 20:35:49
244
转载 mini2440上安装linux系统(烧写过程)
https://wenku.baidu.com/view/47439118650e52ea5518980c.html?from=search
2018-04-15 16:02:27
1095
转载 好东西要分享,PCB自动生成元件库和封装库的方法
到http://www.ti.com.cn/下载相应元件的.bxl 文件;Ultra Librarian 的安装和使用:https://blog.csdn.net/likai_lian/article/details/17045627TI 元件自动生成元件库和封装库的方法:http://home.eeworld.com.cn/my/space-uid-425020-blogid-226204.ht...
2018-04-14 01:07:45
4847
原创 STM32 F103c8t6 带FT管脚的有的能上拉到5v,而有的不能?
在网上看到资料说,带ft的管脚配置成开漏可以上拉到5v,实际测试有的管脚可以上拉到5V,而有的不能,测试了PA8 PA11 PA12 PA15 ,我看资料上他们都是带FT的,实际测得PA8和PA11可以上拉到5V,而PA12和PA15不行,不知是哪里有问题,还是事实就是这样?请知道原因的朋友指教,谢谢;邮箱746769845@qq.com ...
2018-04-05 01:08:42
9476
3
原创 利用STM32的FLASH模拟 EEPROM(F103)系列
STM32的FLASH是用来存储主程序的,ST公司为了节约成本,没有加入 EEPROM,但是许多场合下我们需要用EEPROM;不过FLASH的容量还是可观的,我们可以利用FLASH模拟EEPROM。 根据《STM32F10X闪存编程》中的介绍,FLASH除了保存用户代码的部分,其余部分我们是可以利用其作为数据存储使用的。stm32的FLASH分为主存储块和信息块。主存储块用...
2018-04-01 00:20:08
22469
3
STM32F407编程手册
2024-05-15
一种DSP28335 CAN 带缓存控制6路电机跑正弦的demo程序
2024-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人