PID线路跟随器Atmega328P的制作

电子说

1.2w人已加入

描述

第1步:

Atmega328P

感谢 Pololu 制造了这款出色的传感器。

该模块是方便的载体,可容纳八对IR发射器和接收器(光电晶体管),它们以0.375英寸(9.525毫米)的间隔均匀分布。要使用传感器,必须首先对输出节点充电(对通过在其OUT引脚上施加电压来读取反射率,然后可以通过提取外部提供的电压并定时确定输出电压由于集成光电晶体管而衰减所需的时间,从而缩短反射时间,这表明反射更大。这种测量方法具有几项优势,特别是与QTR-8RC模块关闭LED电源的能力结合使用时:

没有模数转换器(

分压器模拟输出具有更高的灵敏度。

大多数微控制器可以并行读取多个传感器。

并行读取可以优化使用LED电源启用选项

规格

尺寸:2.95“ x 0.5” x 0.125“(未安装排针)

工作电压:3.3-5.0 V

电源电流:100 mA

输出格式:8个数字I/O兼容信号,可以将其读取为定时高脉冲

最佳感应距离:0.125英寸(3毫米)建议的最大感应距离:0.375英寸(9.5毫米) )

不带插头的重量:0.11盎司(3.09克)

将QTR-8RC输出连接到数字I/O线

QTR-8RC模块具有八个相同的传感器输出,与Parallax QTI一样,需要一条数字I/O线,该数字I/O线能够将输出线驱动为高电平,然后测量时间输出电压衰减。读取传感器的典型顺序是:

打开IR LED(可选)。

将I/O线设置为输出并将其驱动为高电平。

至少等待10μs,以使传感器输出上升。

使I/O线成为输入(高阻抗)。

通过等待I/O线变低来测量电压衰减的时间。

关闭IR LED(可选)。

这些步骤通常可以在多条I/O线上并行执行。

强大的反射率,衰减时间可低至几十微秒;在没有反射的情况下,衰减时间可能长达几毫秒。衰减的确切时间取决于您的微控制器的I/O线特性。在典型情况下(即在不尝试测量低反射情况下的细微差别时),可以在1 ms内获得有意义的结果,从而允许对所有8个传感器进行高达1 kHz的采样。如果低频采样就足够了,则可以通过关闭LED来节省大量功率。例如,如果可接受100 Hz的采样率,则LED可以在90%的时间内关闭,从而将平均电流消耗从100 mA降低到10 mA。

步骤2:微控制器( Brain)Atmega328P

感谢 Atmel Corporation 制造这种超棒的微控制器AKA Atmega328 。

ATmega328P的关键参数

参数值

Flash(KB):32 KB

引脚数:32

最大。工作频率(MHz):20 MHz

CPU:8位AVR

最大I/O引脚:23

Ext中断:24

SPI:2

TWI(I2C):1

UART:1

ADC通道:8

ADC分辨率(位) :10

SRAM(KB):2

EEPROM(字节):1024

I/O供电等级:1.8至5.5

工作电压(Vcc):1.8至5.5

计时器:3

有关详细信息,请查阅Atmega328P的数据表。

在此我出于某些原因使用Atmega328P的项目

便宜

具有足够的RAM进行计算

该项目的I/O引脚足够《/li》

Atmega328P用于Arduino 。..。您可能会在图片和视频中注意到一个Arduino Uno,但夜间我正在使用Arduino IDE或任何Arduino 。.我仅使用硬件作为接口板。我已经擦除了引导加载程序,并使用 USB ASP 对该芯片进行了编程。

用于对该芯片进行编程我已经使用了 Atmel Studio 6

所有源代码都在 GitHub中下载并检查 test.c 文件。

要编译此软件包,您必须下载并安装 POLOLU AVR库设置 。检查附件。..

我还正在上传 Atmega328P开发板原理图和板文件 。..您可以自己制造。..

第3步:电动机和电动机驱动器

我已经使用了 350RPM 12V BO型减速直流电机作为执行器。

作为电机驱动器,我使用了L293D H桥IC。

我将为其附上原理图和电路板文件。

第4步:机箱和杂项

机器人由Ply制成厚度为6毫米的木头。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分