亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

DIY 简单频率计高达 6.5MHz

组件和用品

Arduino Nano R3
× 1
Adafruit 标准 LCD - 16x2 蓝底白字
× 1
通用晶体管 NPN
× 1
滑动开关
× 1
触觉开关,顶部驱动
× 1
电阻、电容、二极管
× 1

必要的工具和机器

烙铁(通用)

应用和在线服务

Arduino IDE

关于这个项目

视频中展示的设备是使用 Arduino Nano 微控制器制作的频率计。可测量矩形、正弦和三角形信号的频率。

它的测量范围从几赫兹到 6.5 兆赫兹。还提供三个测量时间间隔 - 0.1、1 和 10 秒。如果我们只测量矩形信号,那么就不需要整形放大器,信号直接从 Arduino 馈送到数字引脚 5。

由于“FreqCount”库,您也可以在下面下载,代码非常简单。

该设备非常简单,由几个组件组成:

- Arduino Nano 微控制器

- 整形功放板

- 液晶显示

- 输入信号形状选择器

- 输入插孔

- 和时间间隔开关:我们可以选择三个间隔0.1 -1 - 和10秒。

正如您在视频中看到的那样,该仪器在整个范围内都非常精确,我们还可以通过以下描述的简单程序校准频率计:

在 Arduino 库文件夹中找到 FreqCount 库,

在 FreqCount.cpp 文件中找到以下几行:

#if 已定义 (TIMER_USE_TIMER2) &&F_CPU ==12000000L

浮点正确 =count_output * 0.996155;

并将它们替换为:

#if 已定义 (TIMER_USE_TIMER2) &&F_CPU ==16000000L

浮点正确 =count_output * 1.000000;

其中 1.000000 是您的校正因子,

必须在频率计的输入端施加 1 MHz 进行校正。

更改文件后,将新草图上传到 Arduino 板。

最后,将频率计装入合适的塑料盒中,成为电子实验室中的又一实用仪器。

代码

  • 代码
  • FreqCount-master
代码C/C++
#include //https://github.com/PaulStoffregen/FreqCount/archive/master.zip#include LiquidCrystal lcd(12, 11, 6, 4, 3, 2 );// RS,E,D4,D5,D6,D7void setup() { lcd.begin(16, 2);// LCD 16X2 pinMode(7,INPUT); FreqCount.begin(1000);}unsigned long f;float f0;int x,n=3,r;void loop() { if(digitalRead(7)==HIGH){n++;x=0;delay(100);} lcd.setCursor(0,1); if(n==1){x++;if(x==1){FreqCount.begin(100);}r=-1;lcd.print("T =0.1 s ");} if(n==2 ){x++;if(x==1){FreqCount.begin(10000);}r=1;lcd.print("T =10 s ");} if(n==3){x++;if(x ==1){FreqCount.begin(1000);}r=0;lcd.print("T =1 s ");} if(n>3){n=1;} lcd.setCursor(0,0); lcd.print("F ="); if(f>=1000000 &&n==3){f0=f/1000000.0;lcd.print(f0,6+r);lcd.print("MHz");} if(f<1000000 &&n==3 ){f0=f/1000.0;lcd.print(f0,3+r);lcd.print("kHz");} if(f>=100000 &&n==1){f0=f/100000.0;lcd. print(f0,6+r);lcd.print("MHz");} if(f<100000 &&n==1){f0=f/100.0;lcd.print(f0,3+r);lcd.打印(" kHz");} if(f>=10000000 &&n==2){f0=f/10000000.0;lcd.print(f0,6+r);lcd.print("MHz");} if( f<10000000 &&n==2){f0=f/10000.0;lcd.print(f0,3+r);lcd.print("kHz");} if (FreqCount.available()) { f =FreqCount.读(); lcd.setCursor(10,1);lcd.print("***"); } 延迟(200); lcd.clear();}
FreqCount-masterC/C++
无预览(仅限下载)。

示意图


制造工艺

  1. 简单组合锁
  2. 万用表
  3. 频率和相位测量
  4. DIY 最简单的 IV9 Numitron 时钟与 Arduino
  5. 诺基亚 5110 LCD 上的 DIY 简单 20 kHz Arduino 示波器
  6. DIY 37 LED 轮盘游戏
  7. DIY 灵敏 ADXL335 地震探测器
  8. 862D+的DIY烙铁控制
  9. 自制 16x8 矩阵上的 Arduino Nano 俄罗斯方块游戏
  10. MobBob:由 Android 智能手机控制的 DIY Arduino 机器人
  11. 带旋转编码器的DIY简易测量轮
  12. 切勿独自骑行