自制一个电子分频器

2022-12-05  

  在这个我会做一个小工具的项目中。

  我将使用我需要的 3D 打印机打印所需的零件。你也可以使用其他材料,但准确度是组件中的关键因素。


  49E霍尔传感器*2——49E 是一款多功能智能显示器。

  Arduino NANO 进行计算。AtMega328p 只有一个 10 位 DAC,计算使用 Sine,所以会有限制。

  使用1602显示器来显示结果——1602显示器是每行2行16个字符的显示器。

  UV胶水

  需要3D立体模型来打印二维器的长度。

  点击图标可以下载分割臂的 STL 文件。

  传感器臂.stl

  臂臂.stl

  第1步:49E线性霍尔传感器

poYBAGLZGWmAN-W9AADJV1hjrmo235.png

  霍尔传感器的制造商有很多我附在我的数据表上,从霍尼韦尔发现。

  我已经可以找到最便宜的了。

  我制作了适合 49E 的塑料部件。

  49E 只有 3 个连接。

  +6 1 = 电源(+2.7.5伏)

  密钥 2 = 接地点。

  (输入通常在输入3 = 输入模拟之间 - 1 )

  输出是线性的,mV/Gauss。

  [NS]显示了它的磁强强度表的方向。

  如果我们将要输出的传感器将与显示的距离很近。

  第2步:今天

poYBAGLZGWWAIqmlAALYe9iDrbg468.png

  我正在使用两个用户来改变传感器周围的磁场强度。

  的意义为: 宽度 = 5 毫米,深度 = 5 毫米,高度 = 2 毫米。

  北/南方向是从下到上。(在2毫米方向)

  让我们看看会产生的样子。

  集中在焦点的中心。

  在向北移动的中心,从南,几乎是平行的。

  当返回磁体的时候,返回磁体的时候,会返回。

  如果假设在一个磁极的位置,我们会选择它到我们的位置,如果你会选择移动返回,因为会跟着你返回。

  传感器非常敏感,任何雷达传感器都没有。

  我们需要减少可能产生的错误。

  如果我们能把手机当成只是简单的一件事情就再理想了。

  我降低风险的方法是使用两个今天。

  如果使用两个同类的函数,我们应该会产生一个如果内部的区域。

  如果我们把今天当当当当当当当当当当当当当当当当当相对户户用,那么每天的时间,将与父母的两个区域,并且该是的

  第3步:计算角度

poYBAGLZGV-AXddoAADxV4OK84A266.png

  我们将带着手机。

  未来智能手机上将启动与未来将产生不同的输出。

  输出将给出其旋转角度的正弦值。

  我已经做了一个尝试来尝试解释输出。

  关键的焦点是围绕着这个话题。

  蓝代表智能手机视角/旋转时间的位置。

  黄线传感器从南到北看到的线性强度。

  绿线显示正弦计算。

  红色是准确的区域。

  因为是的,所以你会认为准确的值对于我们来说可以将模拟结果转换成小数据。

  Arduino NANO DAC 是 10 位的。

  Arduino NO 与 float 相同,float 数据类型只有 6-7 个复数的双精度 NA。

  因为正在旋转是远离传感器,所以我们输出的是输出而不是输出的正弦计算。

  我们将拥有仅 10 个阳光灿烂的海滩 (DAC) 无法很好计算的区域

  可以用正确的植物的蓝色线条表示可以计算的尺寸。

  象牙蓝的蓝线表示无法精确计算的角度。

  可以看到,在旋转时,磁力的分布有更多的度数。

  我已经关注了它的全部领域,以。

  我正在使用最简单的哈尔传感器。

  为了获得第一个传感器,因此可以使用另一个传感器。建立另一个传感器,与达到 90 度,每个传感器仅使用精度良好的区域。

  是基本的,当我们集中思想的时候,我会证明一点。

  第4步:让我们做长线

pYYBAGLZGVmAJVm8AADRSYxFa74252.png

  我已经提到传感器非常敏感的组件,就是它

  的设置是准确的。它不应该移动。

  可以在代码中补偿一些错位。

  第5步:安装传感器

  传感器需要在隔板的传感器臂上粘上。印刷部件有一个异形孔,定位传感器的安装方式。、

  第6步:走路方向

pYYBAGLZGVSAKMaLAAOgvEPVXO0041.png

  为了帮助我在手机上找到一个磁体方向应用程序。

  手机需要包含磁力计,通常它有 GPS,它会显示一个磁力计。

  有磁力计的应用程序,我发现最好的应用程序是 3D 应用程序。

  该图有一个典型的 3d 应用程序程序。箭头指向北方的中心。

  我使用的是:3D罗盘和磁力计。

  手机中的磁力计始终不在。

  它用最方便的手机做一些可以在实验

  中找到的位置,就可以更方便地找到磁力计的位置。

  我通常将手机定位在工作台上的磁力计工作台上。

  第7步:将和第二臂安装

pYYBAGLZGU6AITliAAB_BXs8xG8265.png

  安装和第二个有点麻烦。

  在将两个臂膀牵涉到之前,请让两个移动臂在第一个臂膀的牵动下。

  需要积极参与中。

  你必须将一个真正的终点正确地,同时将第二个磁场极点确定在一个端点上。

  这个必须在今天,第一个第二个展开。

  两个两个组合,唯一的动作应该是:将一群人转移到一起并拉近彼此。

  不会有横向移动或扭曲,否则会产生错误。

  第8步:将电缆添加到分频器

poYBAGLZGUqAVqgQAAFU-r0cZjY459.png

  下一个是在传感器上添加,电缆以便将其连接到Arduino NANO。

  我的 Arduino NANO 分线,所以我在安装一个杜邦母线连接器。

  检查步骤获取正确的连接。

  第9步:显示屏(LCD)

pYYBAGLZGUWARXoLAAEe9U5A8f8439.png

  为了从传感器获得反馈,我使用了每行 2 行 16 字符的 LCD。

  我需要使用 PC28575 连接到 PCF。

  我有电缆连接杜邦母连接器的4线,用于将它连接到我的Arduino NANO。

  第10步:连接到Arduino NANO

pYYBAGLZGUGARQ1uAACcZ_mafrQ429.png

  点击下载数据库。

  TIms电气分离器.fzz下载

  TIms电气分离器_bb.pdf下载TIms电气分离器

  _schem.pdf

  第11步:代码

poYBAGLZGTKADJzjAAH2cgJlAOg548.png

  我如果你有一个 Arduino NANO,你已经对它进行了实验,并且已经到Arduino.cc网站了解了有关它的信息。

  如果这是您第一次使用 Arduino 架构的设备,请先访问此处: Arduino IDE 2 教程

  在这里,您可以下载 Arduino IDE,并且有来自创建 Arduino 的人的教程。

  本教程展示了如何将草图上传到设备。

  下面是代码。

  下面是代码。

/*
    TIms_Electronic_Deviders.ino
    由 Tim Jackson.1960
    学分:阿杜诺
        。
        LiquidCrystal_I2C 基于 DFRobot 的工作。
    这是以下代码:Tim 的电子分离器。
    我正在使用带有 49E 线性霍尔效应传感器和两个磁铁的 3D 打印分离器。
    我正在使用 Arduino NANO 根据从 49E 线性霍尔效应传感器接收到的值来计算分频器的位置。
    传感器是线性的:3 mV/GS,但要获得角度,需要计算值的正弦值。
    S=O/HC=A/HT=O/A
    度到弧度 = 度 * (PI / 180)
    弧度到度 = 弧度 * 180.0 / pi
*/
#include  
#include
#define Hall_49R_Pin A1 // 定义霍尔效应引脚
#define CAL_0 377 // 0 角霍尔效应传感器的
值 #define CAL_180 690 // 180 角霍尔效应传感器的值
#define CAL_RANGE (CAL_180 - CAL_0) // 最高 CAL - 最低 CAL
#define CAL_RAD ((double)CAL_RANGE / 2) // 用于正弦 H 值以获得角度。
#define LEG_LENGTH 99 // 分隔线的长度。
#define MAG_BIOS -3.11 // 设置为零,然后更改为将测量值校正约 60 度的值。
双角 = 0; // 保存角度值的变量。
双长度 = 0; // 保存长度值的变量。
int SensorValue = CAL_0 + 1;// 保存传感器值的变量。
LiquidCrystal_I2C lcd(0x27, 16, 2); //20 到 27 // 将 LCD 地址设置为 0x27 以实现 16 个字符和 2 行显示

无效设置()
{
    Serial.begin(115200);// 启动串行。
    pinMode(Hall_49R_Pin,输入);// 定义为输入。
    液晶显示器();// 启动液晶显示器。
    液晶背光();// 打开背光。
    lcd.setCursor(0, 0); // 将光标设置在第 0 行(顶行)的开头。
    lcd.print("角度:"); // 在顶行显示角度标签。
    lcd.setCursor(0, 1); // 在第 1 行(底线)的开头设置光标。
    lcd.print("长度:"); // 在底线显示长度标签。
}
无效循环() {
    SensorValue = 模拟读取(Hall_49R_Pin);// 从传感器读取值。
    Serial.println(SensorValue); // 发送值到串口。
    计算角度();// 为角度做子路由。
    计算长度();// 为长度做子路由。
    序列号.println(); // 向串行发送一个新行以分隔值。
    延迟(200);// 稍等片刻,等事情发生。
}
/*
    使用来自传感器的值计算角度。
        S=O/H
        弧度到度数 = 弧度 * 180.0 / pi
        O = SensorValue - CAL_0 - CAL_RAD
        H = CAL_RAD
        弧度角 = asin(O / H)
        度角 = 弧度角 * 180.0 / pi;
*/
void CalcAngle() {
    double O = (double)SensorValue - CAL_0 - CAL_RAD;
    双 H = (双)O / CAL_RAD;
    角度 = 90.0 + (asin(H) * 180.0 / PI);
    Serial.print("角度");
    Serial.println(Angle + MAG_BIOS, 4);
    lcd.setCursor(7, 0);
    lcd.print("");
    lcd.setCursor(Xpos(Angle + MAG_BIOS), 0);
    lcd.print(角度 + MAG_BIOS, 3);
    lcd.print("");
}
/*
    使用从传感器计算的度数计算长度。
        C=A/H
        A=C*H
        度数为弧度 = 度数 * (PI / 180)
        C = (180 - 角度) / 2
        H = LEG_LENGTH
        A = C * H
        长度 = A * 2
*/
void CalcLength() {
    双 _angle = (180.0 - 角度) / 2;
    双 _rad = _angle * (PI / 180);
    双 C = cos(_rad);
    双 H = LEG_LENGTH;
    长度 = C * H * 2;
    Serial.print("长度");
    Serial.println(长度 + MAG_BIOS, 4);
    lcd.setCursor(7, 1);
    lcd.print("");
    lcd.setCursor(Xpos(Length + MAG_BIOS), 1);
    lcd.print(长度 + MAG_BIOS, 3);
    lcd.print("");
}
/*
    这是一个计算 LCD 上显示值位置的函数。
        检查值是数百、数十还是单个。
        保持数字一致。
*/
byte Xpos(byte number) {
    byte val = 8;
    如果(数字 < 100){ val = 9; }
    if (number < 10) { val = 10; }
    返回值;
}

我已经附上代码“Tims_Electronic_Deviders.ino”,您可以点击这里下载它。
当你下载 Sketch 的时候,你需要把它放在一个没有“.ino”的同名文件夹中。

12步:第一次替换

在零设置之前,MAG_BIOS 值需要设置为 0()。

#define MAG_BIOS -3.11 // 设置为零,然后更改为将测量值校正约 60 度的值。

卸妆器,需要流动。

关闭拆分线并下一个数字,即之前记录/下一个数字。

打开一张图,即早/早/的一个数字的数字显示。

分频器打开时记录的数字应大于分频器关闭时的记录。

如果数字是错误的,那么看似是错误的。

根据标注的值更改 CAL_0 和 CAL_180 的 #defined 值。

#define CAL_0 377 // 0 角霍尔效应传感器的值
#define CAL_180 690 // 霍尔效应传感器的值

使用量角器将分频器设置为60度,记下显示的角度。

以前可用的时间,有60度并记录下。

角度(度)和距离(毫米)的精度相似。
更改 MAG_BIOS 的#defined 以补偿错误。

#define MAG_BIOS 0 // 设置为零,然后更改为将测量值校正约 60 度的值。

以后不同的情况。

0到15度。

165到180度。

这是因为这些区域是正弦曲线的地方,变化不大。

第13步:如何获得更好的选择

这是为了展示如何制作简单的工具并展示霍尔传感器的基础知识。49E 只是一个线性模拟传感器。

还有其他可以使用的传感器,例如:

AS502是一个旋转位置传感器,有1个或PWM模拟接口。

 MLX90393 传感器与沿 X、Y 和 Z 轴感应的磁密度成比例输出的 1 位。

传感器会带来更多的使用价值。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。