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

在 Atmel Studio 7 中对 ATmega328P 和 ATtiny45 进行面包板编程和编程

在这个项目中,我们将构建用于编程两个不同 Atmel 微控制器的电路,我们将讨论必要的软件设置。

在这个项目中,我们将构建用于对两种不同的 Atmel 微控制器进行编程的电路,并讨论必要的软件设置。

该项目将描述两个非常相似的电路的构造:一个用于对 ATmega328P 进行编程,另一个用于对 ATtiny45 进行编程。本文将提供完整的编程电路示意图以及无焊面包板组件的详细照片。此外,还将推出 Atmel Studio 7 IDE(集成开发环境)。

首先是硬件

ATmega328P 是 Atmel 的 28 引脚微控制器,是 AVR 系列的一部分。它可能是最广为人知的 Arduino 品牌开发平台中最常用的 μC,但 AT328P 的功能远不止从它那里挤出来的。如果您想查看该声明的一些证据,请查看 660 页的数据表。

ATtiny45 是一个 8 引脚的 μC,可能被认为是 ATmega328P 的“小兄弟”。它具有许多相同的功能,但当然它没有那么多的 I/O 引脚。

串行外设接口(SPI)用于对 ATmega328P 和 ATtiny45 进行编程;它是一条三线(加地)总线,由一个主出从入(MOSI)信号、一个主入从出(MISO)信号和一个串行时钟(SCK)信号组成。时钟由主设备产生,用于保证主从(或从)之间的同步通信;因此,SPI是一种“同步”通信总线。

编程电路

编程电路的示意图如下所示。请注意,电阻器 R2 和 LED1 并非严格要求用于编程,而是包含在电路中以用于本项目稍后定义的测试目的。

程序员选择

有几个程序员可以处理 ATmega328P 和 ATtiny45; Atmel-ICE 位居榜首,是一个优秀的程序员,将在以后的文章中讨论。目前,有一些更便宜的选择可供您的 skinflint 使用,Sparkfun AVR Pocket Programmer 是本文的 skinflint 作者使用的一种。如果您更喜欢其他东西,请随意选择适合您的喜好和钱包的那个。只需确保它使用前面描述的串行外设接口,并准备对本文中的信息进行适当的更改。

注意! 在您第一次插入编程器之前,请务必在您的计算机上下载并安装适用于 AVR 袖珍编程器的驱动程序。如果允许 Windows 安装错误的驱动程序,则纠正起来可能会非常困难。本文稍后将提供有关获取 AVR Pocket Programmer 驱动程序的说明。

AVR Pocket Programmer 带有一条带状电缆,用于连接到 Atmel μC。它配备三个连接器:一个 2×5 母头插入 AVR 袖珍编程器上的配对公头,另一个 2×5 母头位于带状电缆下方约 9 英寸(23 厘米)处(未用于这篇文章),在带状电缆的末端加上一个 2×3 的母头。引脚排列如下图所示。

编程电路无焊面包板组件

ATmega328P 和 ATtiny45 编程电路无焊面包板组件如下图所示。六根短跳线用于将所需的引线从 2×3 母连接器连接到无焊面包板上微控制器上的相应引脚。请注意,下面组装照片中的电线颜色与上面示意图中的电线颜色相对应。

零件清单

除部分跳线外,下表列出了编程电路组件所需的零件。

部分参考 描述 来源 项目编号
U1 IC,ATmega328P-PU,32kB 闪存,DIP-28,1.8-5.5V Digi-Key ATMEGA328P-PU-ND
U1 IC,ATtiny45-PU,4kB 闪存,DIP-8,2.7-5.5V Digi-Key ATTINY45-20PU-ND
R1 电阻,1/4 W,10kΩ Digi-Key 10KQBK-ND
R2 电阻器,1/4 W,470Ω Digi-Key 470QBK-ND
LED1 二极管,发光,T1 3/4,黄色 Digi-Key 754-1889-ND
C1 电容,陶瓷,0.1µF,50V Digi-Key 399-9797-ND
不适用 程序员,AVR Pocket,PGM-09825 Digi-Key 1568-1080-ND
不适用 面包板,无焊,400 接触 Digi-Key 377-2094-ND

然后是软件

AVR 袖珍编程器驱动

AVR Pocket Programmer 的 Windows 驱动程序与 Adafruit USBTiny Programmer 使用的驱动程序相同。转到此 Adafruit 网页,然后单击使用 libusb v1.12 构建的 Windows USBtinyISP 签名驱动程序的链接。这将允许您下载包含两个 installer.exe 文件的 zip 文件:一个用于 32 位计算机,另一个用于 64 位计算机。双击适合您的 Windows PC 的驱动程序即可安装。

只有在安装了正确的 Windows 驱动程序之后,您才能第一次将 AVR Pocket Programmer 连接到您的计算机。您需要一根 USB A 型转微型 B 公对公电缆将您的 PC 连接到 AVR 袖珍编程器。进行连接时,蓝色 PWR LED 和红色 Stat1 LED 应亮起;两个蓝色数据 LED 也可能亮起和/或闪烁。 Windows 将尝试定位驱动程序,您应该根据需要将 Windows 定向到正确的驱动程序位置。正确安装后,AVR Pocket Programmer 将在 libusb-winXX 设备下的设备管理器中显示为“USBtiny”;它不会被枚举为 COM 端口。请看下面的截图:

爱特梅尔工作室 7

与许多微控制器设计公司一样,Atmel 有一个集成开发环境 (IDE) 可与他们的硬件产品一起使用:Atmel Studio 7。虽然它不是对 Atmel μC 进行编程的唯一方法,但它是 Windows 7、8、和 10(32 位和 64 位);不幸的是,它不能用于 Linux 或 Mac 操作系统。

Atmel Studio 7 中的选项和选择的数量对于新用户来说可能是压倒性的。因此,本项目将提供循序渐进的方法,并将大大简化流程。首先在您的 PC 上下载并安装 IDE。 Studio 7 用户指南和大量附加信息也可供下载。

Studio 7 中包含对多个硬件程序员的支持,但具体的选择取决于您要使用的 Atmel 微控制器。在下面的屏幕截图中,ATMega328P 支持的程序员列在右侧。

如您所见,AVR Pocket Programmer 不在列表中。但是,借助名为 AVRDude 的软件,它仍然可以与 Studio 7 一起使用。

AVRDude

AVRDude 是一个命令行实用程序,用于从 Atmel 微控制器下载和上传到 Atmel 微控制器。版本适用于 Linux 和 Windows 系统。在撰写本文时(2017 年 6 月 7 日),可用的最新版本是 6.3;它可以在这里下载。 Windows 用户应下载 avrdude-6.3-mingw32-zip(单击此链接将下载 zip 文件!),解压缩文件,然后安装 AVRDude。请注意,在主硬盘驱动器的根目录中安装该程序不是必需的,但会简化它与 Atmel Studio 7 的使用。如果有 6.3 之后的版本可用,您可以自行决定安装它。此处提供了 AVRDude 的用户指南。

要检查 AVRDude 是否正确安装和工作,请执行以下步骤:

  1. 单击 Windows 开始按钮。
  2. 在搜索框中,输入 cmd 并按 Enter。应打开 DOS 提示窗口。
  3. 在 DOS 提示符下,转到安装 AVRDude 的目录。
  4. 输入 avrdude -c USBtiny 并按 Enter。如果一切顺利,AVRDude 将返回受支持的 Atmel 设备列表。

有关该过程的示例,请参见下面的屏幕截图。请注意,屏幕截图已被截断,仅显示了支持的 Atmel 设备列表的一部分。

把它们放在一起

假设如前所述,编程器已连接到无焊面包板上的 AVR,您几乎已准备好对 AVR 进行编程。使用下面的按钮下载文件 New Blink.zip,将其解压缩,然后将其保存在 PC 上方便的位置。

New_Blink.zip

现在,请按照此步骤操作。

  1. 启动 Atmel Studio 7。
  2. 在启动屏幕的左侧,单击新建项目。 “新建项目”屏幕将打开。


  3. 在 New Project 屏幕上,单击 GCC C Executable Project;如上所示,将项目命名为 New Blink,然后单击 OK。设备选择屏幕将打开。


  4. 在设备选择屏幕上,选择您正在使用的 AVR 设备:ATmega328P 或 ATtiny45,如下所示。单击确定。将创建新项目并打开 New Blink 项目屏幕。


  5. 点击工具下拉菜单,选择外部工具...,然后点击添加按钮。
  6. 在标题框中,为您正在创建的工具输入一个名称;如果名称能够描述该工具,那就太好了。例如,您可以输入程序员名称和设备名称的组合。
  7. 在命令框中,输入 AVRDude 安装位置的 DOS 地址以及启动 AVRDude 的命令。
  8. 在参数框中,根据您使用的 AVR 键入以下两行之一。对于 ATmega328P,输入:
-c usbtiny -p m328p -v -U flash:w:$(TargetDir)$(TargetName).hex:i 

对于 ATtiny45,输入:

-c usbtiny -p t45 -v -U flash:w:$(TargetDir)$(TargetName).hex:i 
  1. 在初始目录框中,输入 AVRDude 安装位置的 DOS 地址。
  2. 确保选中了使用输出窗口框,并且未选中其他两个复选框。该窗口应该类似于下面的屏幕,但反映了您正在使用的 AVR。


  3. 单击“应用”,然后单击“确定”。 “外部工具”窗口应关闭。
  4. 转到本节开头解压并存储 New Blink.c 的位置,打开文件,选择所有内容,然后将其复制到剪贴板。
  5. 转到 Atmel Studio 7 中的 New Blink.c 窗口,选择所有内容,然后将剪贴板的内容粘贴到 New Blink.c 窗口中。它应该如下所示。


  6. 如果项目窗口右上角的 Atmel Studio 7 解决方案资源管理器未打开,请单击查看下拉菜单,然后单击解决方案资源管理器。解决方案资源管理器应在项目窗口的右上角打开。
  7. 右键单击 main.c 文件并选择重命名。将 main.c 文件重命名为 New Blink.c。
  8. 点击文件下拉菜单,然后点击全部保存。
  9. 点击构建下拉菜单,然后点击构建解决方案。
  10. 单击工具下拉菜单,然后单击在上述步骤 5 到 11 中创建的工具的名称。编译后的 New Blink 代码应下载到面包板中的 AVR,LED 1 应开始闪烁:点亮 ½ 秒,熄灭 ½ 秒,每分钟 60 次。

开始

诚然,仅仅使 LED 闪烁是一个漫长的过程,但事实是您已经成功地清除了四大障碍:创建用于编程 AVR 微控制器的硬件平台、安装集成开发环境 (Atmel Studio 7)、集成外部程序 (AVRDude),并为您选择的 AVR 定义一个编程工具。请放心,未来的 Atmel 项目会变得更容易,因为它们会更有趣。在 AllAboutCircuits.com 上留意它们。

亲自尝试一下这个项目!获取 BOM。


工业设备

  1. 压铸的优缺点
  2. 3D 打印的 3 个阶段及其工作原理
  3. 批量生产和定制生产有什么区别?
  4. 工业真空系统:讨论类型和好处
  5. 为什么以及如何工业自动化是未来
  6. 直流电机和交流电机的区别
  7. 工厂安全的影响及其重要性
  8. 了解激光切割技术的精度和工艺
  9. 2020 年及以后工业机械的未来
  10. 机械制动器的类型及其区别
  11. 给泵涂漆的优缺点
  12. 如何为CNC选择合适的刀具和编程?