- 博客(24)
- 收藏
- 关注
原创 第八,九,十天:陀螺仪姿态解算
但是这样会导致angle_set的值在推几次摇杆后变的特别大,于是为了从一个不超过pi的值涨到几千甚至几万的值,vw会一直输出一个非常大的值(如果k调得够大的话)并且不能够短时间接近目标值,于是就会发现小车开始疯转许久停不下来。当摇杆控制的时候,会进入if的判断语句,使得预期角度等于当前角度,此时vw始终为0,这是内环PID的最后一个参数也就是期望完全取决于摇杆的set_rpm,实现摇杆有效控制;因为此时set_rpm的值为0,而如果受到外力,vw的值不为0,就会给电流到电机实现对应的PID控制回正,
2023-11-03 20:52:21
586
原创 第七天:打造自己的遥控小车
由于摇杆通道3是左Y轴也就是控制小车前进或后退的部分,所以 rc_ctrl.rc.ch[3]对应Vx也就是朝向前后的部分,同理,rc_ctrl.rc.ch[2]对应Vy,rc_ctrl.rc.ch[0】对应右X并对应WZ也就是转动的部分,于是就实现了左边摇杆控制前后左右平移,右边摇杆控制自旋的功能,并且两个摇杆可以一起摇动来实现灵活的小车漂移。注意调整好转速值的正负值。
2023-11-03 20:52:00
110
原创 第六天:移植INS
PS:在keil添加路径的时候不能只添加到大文件夹,比如components文件夹里包含了3个子文件夹,这3个子文件下才是对应的代码,那么添加path的时候不能只添加components这个文件夹的文件路径,而是要把包含了代码的文件夹添加进去。3.将例程的application和bsp和components三个文件夹(Cube生成的代码只是将对应的部分进行初始化而已,是没有对应读取传感器,解算陀螺仪等部分的代码的)添加到对应工程文件夹下并添加进Keil。(这样确保Cube配置无误!
2023-11-03 20:51:43
57
原创 第五天:使用嵌入式操作系统RTOS控制单片机
操作系统 (Operating System) 的本质是一个帮助用户进行功能管理的软件。操作系统运行 在硬件之上,为其他工作的软件执行资源分配等管理工作。一般称呼不使用操作系统的单片机开发方式为“裸机开发”,当进行裸机开发时,需要自己 设计循环,中断,定时等功能来控制各个任务的执行顺序。而使用操作系统进行开发时,只需要创建任务,操作系统会自动按照一些特定的机制自动进 行任务的运行和切换。
2023-11-03 20:51:22
97
原创 第四天:基于遥控器,利用CAN通信和PID控制原理控制电机
到大疆官网产品——配件——通用产品——输出系统里面的C610无刷电机调速器处查看网页最下方的使用说明书,可以查看电调ID设置方式,指示灯描述等,我们找到CAN通信协议部分,可以看到接收ID的标识符:0x200和0x1FF,0x200对应电调ID1~4,0x1FF对应电调5~8——而电调闪烁灯闪烁几次对应是ID几,所以电调1的ID是0x201,4的ID是0x204,HAL_CAN_GetRxMessage(hcan,CAN_RX_FIFO0,&rx_header,rx_data);至此遥控器移植就完成了。
2023-11-03 20:50:55
556
原创 第三天:使用USART串口
HAL_UART_Receive_IT函数能够开启数据接收,直至接收到数据,所以在给UART中断进行使能之后应该开启数据接收,这样当在串口助手里面发送数据的时候,就能够接收到输入的数据并进入中断接收,然后在中断接收也就是回调函数里面,应该再次调用此函数,重新开启数据接收,直至下次接收到数据,这样就可以一直接收用户在串口助手里面输入的数据了。这两个函数的参数与不加DMA后缀的前面的收发数据的函数的参数基本一致,只是发送的函数无需设置第四个参数(无需设定传输时间阈值)。//开启扫描,直至接收到数据。
2023-11-03 20:50:25
48
原创 十天入门基于HAL库配置STM32的CubeMX(第二天)
(3)配置中断函数:void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin),注意不要输错函数名称了,并且由于此中断是多通道进入的,所以进入中断时第一步就是判断是否是对应通道进入的判断。3:void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin):中断回调函数,函数参数就是括号内的这个,回调函数的参数固定,无需改变,右键跳转到定义去即可将函数参数copy过来使用。其中SET设置高电平能点亮对应的LED,RESET设置低电平则为熄灭。
2023-11-03 20:49:56
79
原创 十天入门基于HAL库配置STM32的CubeMX(第一天)
1,使用Arduino进行仿真是真的方便,可以通过仿真电路将结果直接在屏幕上进行显示,但是还是比较习惯用keil,比如keil在跑流水灯的时候就可以使用GPIO_Write函数对想要的GPIO口和其中的引脚通过十六进制编写其状态并进行取反就可以每次只点亮其中的一盏灯而让其余灯熄灭,就不用每次都还要先点亮一盏再将其熄灭——当然也是因为自己还不会用Arduino导致的。希望自己能够更加勇敢的走出舒适圈,能适应接下来的集训节奏,尽最大努力和小组同伴一起完成接下来的学习任务。
2023-11-03 20:49:20
40
原创 如何运用GPT解决复杂问题
如果你想知道你正在做的项目或者产品或者理论前人,市场是否做过类似的或者是否有过相关的资料,都可以询问GPT,然后帮助自己了解前人的成果和市面上的情况,以帮助自己更好更快的利用已有实现自己的项目,理论,产品的制作和研发,并且你可以知道你的创新点和前人市场没有做过的点是哪些!但是由于一个具体的人的资料有限,所以可能效果并不达观,这时就可以改为让GPT扮演一群人了,比如还是让GPT帮你完成一个项目讨论,那要的这一群人可以包括来自不同领域或不同身份的人(无需指出是谁),做到更为系统完善多角度的讨论和思考。
2023-11-03 20:48:33
110
原创 从零学绘PCB第七天
1,走线的间距和铺铜的间距都设为6mil;CTRL+Q切换单位(mil or mm)2,线宽首选6mil,5V电源线宽10mil也够了;3,过孔直径:外圈25mil,内圈15mil;4,限制到边框距离为15mil,不让铺铜铺到板边框上了;
2023-10-17 12:54:49
101
原创 从零学绘PCB第六天
现在想将排针的VBAT和IC的相连,虽然顶层有位置可以直接连,但是官方样例在这里却是 将IC引出的线打过孔走底层,然后利用排针间隙将线绕道外面去,这样就可以增大对空间的利用。在(2)中已经给电源类分类了,之后我们还可以把A,B信号分个类,这样连接A信号或者B信号的时候可以单独高亮想要连接的部分,并可以将其他的跳线可以隐藏, 使布线更加清晰。1,PCB导入:原理图已经绘制好后,就进入了PCB的绘制工作,创建好PCB文件后,第一步就是将绘好的原理图导入的PCB中.一般最开始布线的时候电源和地直接打孔但不连接。
2023-10-14 20:21:30
364
1
原创 神经网络初步
观看官方双语关于深度学习之神经网络的三个部分视频,?大脑在识别由像素点组成的数字时,会将数字拆分成各组成部分,比如:看到一个9,大脑会将这个9拆分成一个圈和一竖;看到8会将其拆分成由上下两个圆圈的组合;看到4会将其拆分成两竖一横。也就是说人脑在识别数字的时候会会通过识别数字的特征组合,以激活(使兴奋)对应的神经元,并通过联系不同强相关神经元,进而来判别数字。神经网络的工作原理正是仿照人脑来进行的。
2023-10-10 15:40:35
115
1
原创 从零学绘PCB第五天
初学者画2层板,就顶层和底层。4层板通过工艺能够在底层和顶层间作2层内层.1,信号层:走线。2层板就2个信号层,底层和顶层2,接地层:布置电源线和接地线3,机械层:一般用于设计电路板的外形尺寸4,keepout层:keep out意即禁止入内,在这意为禁止布线层。铺铜:增加GND的面积,5,丝印层:丝印即在电路板上印字还有LOGO6,多层:抽象层。放置焊盘和过孔7,转孔层。
2023-10-08 19:49:25
264
1
原创 从零学绘PCB第四天
(9)关于分屏:除了使用电脑自带的分屏,来使得方便绘制网上的原理图外,还可以在AD中进行垂直/水平分割——在绘制图形上方选中想要被分割的文件,右键选中垂直分隔即可在AD内实现分屏操作,方便绘制。2,当然其实也可以直接使用已经定义好的快捷键,如果用的惯的话,比如想画一个圆,那么看到左上角的“放置”一栏的快捷键是“P”,那么先按一下P,这个时候就会弹出放置一栏内的内容,包括线条,图形啥的,然后再根据需要找到对应的快捷键点按即可,这个时候可以对自动生成的图形进行修改也可以自己绘制,右键停止绘制。
2023-10-06 11:11:23
380
1
原创 从零学绘PCB第三天
内部两个MOS都等效成无穷大的电阻,故而外加上拉电阻(10K远比无穷大小)与上面那个内阻并联可以使并联电阻整体只有10K,故而5V电压基本全分压给了下面那个无穷大的电阻,这个时候节点电压输出就是高电平了。于是外部引脚和5V之间接入一个上拉电阻,由于两个5V电压相同,于是可以将上拉电阻和单片机的内部电阻看成并联关系,我们知道,并联两个电阻,其总阻值变小,所以可以提升输出电压的能力,将节点处的电压上拉。回到复位电路,由于上拉电阻的 作用,没有按下复位按键的时候NRST的电压为高电平,输出1,
2023-10-01 11:33:25
151
原创 从零学绘PCB第二天
像淘宝还有力创商城这些有售卖电子元器件以及模块的地方,可以查看电子元器件的参数以及学习不同模块的使用。1,百度 2,CSDN。5,b站 6,(6)LCD(背光:背面有光,也就说屏幕下有发光二极管)/OLED(屏幕上就有发光点)3,知乎 4,(5)ROM(只读存储器)/RAM(随机存储器)
2023-09-29 11:40:11
98
1
原创 有关压电陶瓷的导电性的应用——乐谱识别初步之解读频率(复稿)
其中需注意,此段代码提供的信号采样点数为1024,采样频率为1000,与实际用到的采样率是不相符的,在实际编写的时候需要用户自定义。3. 在程序的主循环中,使用`read`函数读取`inotify`事件并及时处理新文件。这段代码无法实时读取文件夹中的数据进行频率计算,因为它只是一次性读取文件夹中的所有文件,然后逐个计算它们的频率,而不是实时读取新文件并计算它们的频率。收集不同大调下不同音调的对应频率,通过代码将计算好的频率与音调频率库进行比对,从而输出得到压电陶瓷振动产生的电信号频率所对应乐理中的音调。
2023-04-30 10:27:28
383
原创 有关压电陶瓷的导电性的应用——乐谱识别初步之解读频率(初稿)
其中需注意,此段代码提供的信号采样点数为1024,采样频率为1000,与实际用到的采样率是不相符的,在实际编写的时候需要用户自定义。收集不同大调下不同音调的对应频率,通过代码将计算好的频率与音调频率库进行比对,从而输出得到压电陶瓷振动产生的电信号频率所对应乐理中的音调。光读取文件数据是不够的,只有做到实时读取文件数据才能够实时将压电陶瓷的电信号频率进行解读而向用户实时反馈外界音频产生的音调。- Blackman窗:主瓣最宽,副瓣最小,用于测量较精确频率的信号,适用于频率较密集的信号。
2023-04-25 20:24:21
170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人