简历项目合集

基于Arduino的超声波悬浮装置

超声波悬浮原理

项目图片

简历项目合集_第1张图片

概述

实验需要使用Arduino驱动换能器产生一个40KHz的方波,可以使用换能器组,也可以使用Arduino的超声波模块。但是仅仅使用Arduino输出的方波信号的功率,并不足以使得小物体悬浮,所以需要使用一个模块(L298N)进行放大,将输出的振幅放大到12V,一般来说L298N用来驱动电机的,不过在本实验中算是借用了其功率放大功能。

超声波模块

注意超声波模块和换能器的原理是一样的,唯一的不同就是换能头的数量不同
简历项目合集_第2张图片
接口描述:VCC和GND为电源和地,TRI是触发引脚,ECHO是接收引脚

想要触发超声波的时候,需要发送一个特殊的信号序列,通过参考资料得,持续时间至少为10 µS(10微秒)的脉冲,发送脉冲可以使用PWM功能,使用定时器实现,当接收到超声波的时候,ECHO引脚会产生一个回馈信号,通过参考资料得出是高电平信号,接收到高电平信号之后,MCU就可以进行下一步的操作了。

代码描述见下

byte TP = 0b10101010; 

void setup() { //初始化函数,只执行一次
DDRC = 0b11111111; //DDRC是一个端口寄存器,用于配置引脚的输入和输出,1为输出,0为输入
noInterrupts(); //系统函数,关闭中断
TCCR1A = 0; 
TCCR1B = 0;
TCNT1 = 0;
OCR1A = 200; 
TCCR1B |= (1 << WGM12); 
TCCR1B |= (1 << CS10); 
TIMSK1 |= (1 << OCIE1A); //寄存器配置产生

interrupts(); 
 
}
 
ISR(TIMER1_COMPA_vect) {
 
PORTC = TP; 
TP = ~TP; 
}
void loop() {
}

L298N(数据手册点此访问)

简历项目合集_第3张图片
简历项目合集_第4张图片
上图可以看出L298N芯片内部是三极管和逻辑门的组合,主要对信号进行一个放大的作用

组装

Arduino-L298N-超声波模块

我得到了什么

  1. 在做项目的时候,不免要参考一些资料,有些资料是外文的,所以锻炼了英文阅读能力,需要从海量的资料里面提取有用的信息,锻炼了信息筛选能力
  2. 重新走了一边定时器设定的流程,由于Atmega是AVR单片机,所以又了解了下不同架构的单片机的定时器配置,尤其是寄存器配置
  3. arduino输出的信号不能直接用,所以需要找到合适的放大模块,在产品筛选这一块也下了一点功夫。

你可能感兴趣的:(简历,嵌入式硬件,stm32)