- 各种通信方式
- 主频 波特率。。。
- ADC DAC
- 中断、定时器
A:单片机的考察,能够问的内容,在野火的教材中,每个实验专题都有介绍了。我个人觉得需要对32位微控制的考察是必要的。从STM32出发,需要掌握其USART通信的原理、方式以及了解相关的寄存器,能够基于标准库或者HAL库进行开发。对于IIC通信,要能够了解其原理,硬件IIC,软件IIC等。对于STM32的其他通信,SPI、CAN等。对于常用的外设,要有一定的了解,这里可以看野火的PDF教程即可。
2 电机驱动原理 PWM波 PID控制电机驱动,对于直流电机基本采用脉宽调制技术,电机驱动器的输入信号有的基于模拟量,大多数基于PWM波,阅读电机驱动IC的datasheet,可以了解IC所需要的PWM频率,IC内部能够解析PWM的占空比,进行功率变换,在没有负载的情况下,电压和电机转速能够呈现一定的线性关系,但是当负载变换时(比如爬坡或者载体重量变大),施加同样的电压,就不能维持原本的转速了。
这时,就需要进行闭环控制,常用的时轮式里程计,有电磁式、光学式等编码器,编码器能够测量单位时间内的旋转角位移,从而获得速度,控制方法采用PID控制器,以期望速度作为信号输入,反馈编码器测量的实际速度,控制目标为实际速度能够快准稳的跟随输入的速度信号。
PID的理论需要作一定的了解,需要去找相关的教材和文章。
电赛中的硬件设计电赛的选题为简易电路特性测试分析仪,我们需要对给定的电路进行幅频分析、输入输出阻抗测量、诊断电路中电子元件短路与断路时的故障。
幅频分析当时采用的是AD5933,这是一款数字DDS芯片,基于SPI协议,能够输出频率可变的波形可变的波形,我们基于DDS的信号,对信号进行前级处理,使得信号的幅值能够在电路输入信号允许的幅值范围内,对电路进行扫频,在输出端通过ADC对输出信号进行采集,进行FFT,提取基波幅值,获得电路在不同频率下的增益,获得幅频响应。
输入阻抗和输出阻抗的测量需要对电路进行分析计算,遵循其计算公式即可。
特别是对电路元件的故障诊断,我们需要事先知道元器件短路和短路时,电路表现出的外部特性:输入阻抗、输出阻抗、增益、直流分量等。根据不同的case,匹配不同类型的故障。
硬件设计方面,需要设计运放前级增益电路、直流偏置电路、输出端增益电路。对运放需要有一定的了解,如何去设计常用的运放电路,以及什么时候需要应用这些电路到我们的信号链中。
滤波器(一阶、二阶等)、电压跟随器、同相反相放大器、直流偏置电路,比较复杂的还要积分电路、信号整流电路等。
ROS是机器人开发的一个重要的平台,并且提供了很多实用的功能包组件,比如tf变换,话题订阅发布的通信机制等等。很多成熟的无人驾驶平台,其框架类似于ros,比如百度的Apollo。
基于ros,我们可以创建多个节点,每个节点负责较为简单独立的功能,其可以比喻为一个黑箱,输入一些数据,输出必要的数据。其他的节点订阅这些数据,依次,完成整个任务。
基于ROS(机器人 *** 作系统),我们可以快速部署我们的项目,另外,ROS中还提供控制器仿真、传感器仿真,我们基于仿真去验证我们的程序算法是否正确。
5 工程训练竞赛中的需要注意的地方,比如小车轨迹?红外激光,当时遇到了哪些问题,是如何解决的?工训赛是我步入大学参加的第一个大赛,在这个比赛中收获很多,其中有些本领至今仍对我产生帮助。小车循迹的方法是基于光学式的光电管,当时采取的方式是直接利用数字量输出的直列8对的光电管,通过电位器、电压比较器进行阈值控制,在白底黑线的赛道上,反射光线的强度会发生变化。以此,判断车辆偏移情况。
但是后来发现,通过调节电位器旋钮,设置固定阈值,不能很好的适应环境光的变化,如果改用模拟量输出,直接get到原始数据,既是环境光变化,导致传感器输出基值整体浮动,仍然能够有效的判断出黑线的位置,抑制环境光干扰。
红外激光传感器发射一束激光光线,其本质也是光学传感器,由于红外激光频率固定,接收器也对相应的频率敏感,因此其更加适合精确位置的定位和黑白区域边界的判断。
遇到了问题实际还是很多的。就机械臂而言,当时采用的方式是比较愚蠢的一个一个调节舵机的角度,现在来看,通过示教的方式,或者搭载ROS平台,进行运动规划,是更加合理的方式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)