锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

YYDS!大神自己动手制造游戏机

时间:2023-04-30 06:37:00 电流变送器sd

90b8b590ff6f7fdb48b39984095176e0.png

文末送5本书,千万不要错过 !

MAKER: JuanF92/译:趣无尽 相遇已经是初识了

MicroByte 能够运行的微型主机 NES、GameBoy、GameBoy Color、Game Gear 和 Sega Master 这里设计了系统游戏和所有组件 78 x 17 x 40 mm 在包装中。虽然成品尺寸很小,但符合要求 SNES 游戏板的布局和操作按钮。

它还配有一个清晰的 1.3 英寸 IPS 游戏的所有细节都可以在显示屏上看到。

然后更新 Python 和 Arduino 库以便进行游戏以外的开发工作。

固件、PCB 设计、外壳 3D 本项目文件库可下载文件等:
https://make.quwj.com/project/359

BOM 清单:
https://github.com/jfm92/microByte_PCB/blob/main/microByte_BOM.xlsx

项目架构

通常,在启动电子项目时,首先创建一个框图,设置项目所需的功能和交互方式,然后绘制原理图。在原理图上,选择符合要求的组件并进行电气连接 PCB 布局设计。最后,根据设计规则和物理设计标准,设置各部件基座的位置。

以面包板为原型的原版,以下是最终版。

项目开发将按照模块化思想进行,辅以原理图设计和 PCB 布局设计。

项目原理图和 PCB 布局是用 Kicad 下载链接:
https://github.com/jfm92/microByte_PCB/tree/5cb0fcf7a9658e331d677588a7f35327a7d491d7

只需安装即可打开 Kicad 并双击 .pro 文件。

ESP32 微控制器

首先选择合适的微控制器,选择项目 ESP32 Wrover E 模块 240 MHZ 双核、16 MB 闪存、8 MB RAM、超低功耗协处理器、支持 Wi-Fi 蓝牙及全套外围设备及 GPIO,仿真性能极佳。

可参考设计 Espressif,数据表如下:
https://www.espressif.com/sites/default/files/documentation/esp32-wrover-e_esp32-wrover-ie_datasheet_en.pdf

电路板模块原理图:

中间与外围设备连接 ESP32 模块。

引脚 25 是 IO 0 引脚。引脚是选择设备的引导状态,可以闪存新固件或启动闪存固件。信号高,启动闪存固件;信号低,启动引导模式,等待新固件。

引脚 3 启用引脚(又称复位)。如果引脚是高电平的,微控制器会工作,否则不会工作。这里有一个避免信号弹跳的地方 RC 电路(电阻/电容)在板启动或跳转时产生清洁信号,防止意外复位。因为电路没有复位按钮,所以不完全必要,但最好谨慎。

引脚 24 是 IO 2 带电阻器的蓝色引脚 LED,起到显示通知的作用。
让我们看看引脚 2 或 VDD 3V3.这个引脚是为芯片和电压供电的 3.3 V。注意并联电容器,它们是去耦电容器,用于清除寄生干扰。

下面是 PCB 设计布局和 PCB 板的重点研究部分。

此外,相关组件必须尽可能靠近。

添加 USB 模块

USB 收发器是将军 USB 信号转换为串行,RS232 或者其他类似协议的芯片。市场上有各种型号可供选择,在这里使用 CH340C。

CH340C 不需要像 CH340G 同样的外部时钟使用简单,价格是 CP2102 或 FT232 一小部分。

图右侧显示。它的设计很简单,只有一个芯片,上面有两个去耦电容和一个 0 欧姆的电阻。如果不确定是否必须连接,则使用该电阻作为电桥。

右边是 USB-C 连接器的示意图。其功能是连接到 PC 并给电池充电 PCB 布线时,使用 USB-C 更具挑战性,因为需要添加双连接,导线可以在任何方向使用。

提示:USB 信号是并行高速信号,必须尽量平行布线,避免信号之间的串扰,并尽量将信号布线靠近数字逻辑芯片。

电池和电源管理

这里分为电池充电和保护电路、电源管理和电池电量控制三部分。
电池充电保护电路:

对于 Li-Po 使用电池,安全第一,需要制作正确的恒流充电控制器,使其不在 4.2 V 以上充电或在 2.8 V 以下电池放电,以免损坏电池。

TP4056 锂聚合物电池充电器芯片可提供恒定的线性电压电流,也可修改 R 2 充电电流设置为电阻值。切记充电电流应为电池容量 25 % 左右。芯片连接 LED D1.显示电池的充电状态。

FS312F-G 它是一种电池保护电路芯片,如果检测到电池过度充电或过度放电,就会切断电池的使用。这样可以避免损坏电池。

FS8205 两个一体化 MOSFET 晶体管选择电路功率芯片。如果电池在适当的范围内,它将从电池中获得能量,如果设备连接到 USB 它将直接使用端口 USB 能量工作。

电源管理:

该模块为电压转换器的升压电路 3.3 V 恒定电压。锂电池的最大充电电压是 4.2 V,最小安全电压为 2.8 V。因此,需要提供恒定电压,以避免微控制器不稳定或显示器亮度低。这里用来解决这个问题。 MT3608,它是一种可配置的升压电压转换器。在电路的输出端,电压为 4.2 V,高于设备所需 3.3 V,所以使用 MCP1700 电压转换器将电压从 4.2 V 转换为 3.3 V。

该方案可能存在过度设计或效率低下的问题,但这是最便宜、最有效的解决方案。

电池电量控制:

就像升压电路前的分压器一样简单。这一点的最大电压将达到 4.2 V,因此,只需要设计一个 3.3 V 遵守分压器 ESP32 并将其连接到逻辑电平 ADC GPIO 可测量模拟电平信号。

设计 SD 卡模块

SD 卡使用 SPI 该协议是一种可以实现高速通信的双向通信。使用外设时,不要担心串扰,因为它的速度不足以产生磁场(至少这里没有问题)。

电路也很简单,连接到每条线 MCU 的 SPI GPIO 并添加上拉电阻。该电阻对于保持线路上的恒定高电平,避免损坏数据传输的中间电平信号非常重要。

还有我们的老朋友去耦电容器。

音频输出

使用 ESP32.输出音频的方法有两种。通过检查数据表,可以在这里使用集成 I2S 到 DAC 转换器或直接使用 I2S 外设。

获得音频输出最简单的方法是使用它 I2S 到 DAC 因为扬声器可以直接连接到转换器 GPIO,如果音频音量很低,可以使用模拟音频放大器,这很容易实现。但这种解决方案也带来了一些不便。DAC 仅使用 I2S 16 位中的 8 这意味着大量的音频信息会丢失,导致音频质量差。

I2S 在不造成质量损失或噪音的情况下,是一种数字音频协议。但是转换器需要模拟转换器和放大器收到的东西。此处采用 MAX98357 音频放大器。该放大器将 I2S 将信号转换为模拟信号,并将其放大,直接用于连接扬声器或耳机。放大器/转换器可以为我们提供 6.4W 输出功率,并有可配置的输出选择——单声道或立体声音频之间的选择和阻抗选择。

免责声明:我对音频了解不多,所以有些音频数据可能是错误的,仅供参考。

添加按键

ESP32 这是一个很好的模块,但它的 GPIO 端口很少。但别担心,我们有 TCA9555 解决方案。

TCA9555 是 I2C GPIO 多路复用器。该器件最多允许使用 18 个额外的 GPIO。这些 GPIO 可用作输入或输出,并可通过 I2C 控制或检查。所以,只用两个 GPIO(I2C SDA 和 I2C SCLK),就有了 18 个额外的 GPIO!延迟不是问题,因为它可以读取或写入高达 400 Khz这意味着每秒的数据 400000 次!

让我们来看看原理图。多路复用器可与 I2C 一起使用,所以每个信号都需要上拉以避免线路上的噪音。它还有一个中断引脚,但没有使用。I2C 信号为 SCL 和 SDA 引脚(19 和 20)。设置引脚需要硬件配置设备地址 A0、A1 和 A2 完成逻辑电平。这里只有一个 I2C 因此,给出设备地址 0x00。

最后,所有的开关按钮都直接连接到芯片上,我们通过软件配置设置拉或下拉电阻,因为多路复用器具有可配置的内部电阻。

其中一个有趣的设备是电感按钮,它们没有丝印层 PCB 布线,所以带碳膜的橡胶按钮可以用作开关按钮。这是游戏手柄上的常规配置。如果要设计的话使用,可以在项目附带的库中找到。

配一款亮丽的显示屏

显示器采用 IPS 1.3 英寸屏幕,分辨率为 240 x 240 px,可以提供非常漂亮的色彩和清晰的图像。通信协议是 SPI,可以实现高达 70 FPS 的帧速率(数据表中注明)。另一方面,可以控制显示器的背光以选择亮度等级。通过 BS138 MOSFET 晶体管完成控制显示屏上嵌入的 LED 的电流。

完成

现在就可以运行这台复古游戏机了,开启你的复古游戏回忆之旅吧!

项目所用的代码在本项目文件库中可以下载:
https://make.quwj.com/project/359

 
     
 
     

- 完 -

赠书福利
赠送新书《MATLAB智能优化算法:从写代码到算法思想》共5本,刚刚上架!由「 北京大学出版社」赞助提供 ,感兴趣的朋友推荐入手一本。

本书以简单的组合优化问题作为MATLAB智能优化算法实战应用的切入点,逐步深入使用MATLAB编写更复杂的 智能优化算法和求解更复杂的组合优化问题,让读者逐渐理解智能优化算法的实际求解过程。 

本书分为10章,涵盖的主要内容有遗传算法求解0-1背包问题、变邻域搜索算法求解旅行商问题、大规模邻域搜索 算法求解旅行商问题、灰狼优化算法求解多旅行商问题、蚁群算法求解容量受限的车辆路径问题、模拟退火算法求解同时取送货的车辆路径问题、遗传算法求解带时间窗的车辆路径问题、萤火虫算法求解订单分批问题、头脑风暴优化算法求解带时间窗和同时取送货的车辆路径问题、鲸鱼优化算法求解开放式车辆路径问题。 

同样这次准备了2种方式抽奖,「评论点赞、朋友圈点赞」这两种方式都可以参与!感谢亲爱的读者们,你们的支持也是我持续更文最大的动力。

 
     
 
     
 
     
 
     
 
     
本次开奖时间为 2022.2.28 14:00
为了避免中奖后失联,提前加我微信号:itcodexy 。

留言点赞(2本)

本文留言需要根据文章的内容留言会更大可能被精选,留言点赞数「第一、二名」可获得一本MATLAB智能优化算法:从写代码到算法思想

PS:买点赞数等作弊无效,一切解释权归程序IT圈所有,留言点赞之前中过奖的朋友,1年内不得再参与,给新朋友一些机会 !(经常发现点赞中奖的总是那些熟悉的面孔)

朋友圈点赞抽奖(3本)

 
     
 
     
 
     
 
     
记得先添加我微信,不然参加不了这个朋友圈活动 。


大奖:本文章我会在下午6点左右转发朋友圈,给第n位(具体数值看朋友圈发布时的规则)点赞朋友圈的同学送出一本 《MATLAB智能优化算法:从写代码到算法思想》,共3位。

 
     
明天见(。・ω・。)ノ♡
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章