普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

这篇具有很好参考价值的文章主要介绍了普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

  • 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介
  • 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境
  • 普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单
  • 普冉PY32系列(四) PY32F002A/003/030的时钟设置
  • 普冉PY32系列(五) 使用JLink RTT代替串口输出日志
  • 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩展的1602LCD
  • 普冉PY32系列(七) SOP8,SOP10,SOP16封装的PY32F002A/PY32F003管脚复用
  • 普冉PY32系列(八) GPIO模拟和硬件SPI方式驱动无线收发芯片XN297LBW
  • 普冉PY32系列(九) GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400
  • 普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇
  • 普冉PY32系列(十一) 基于PY32F002A的6+1通道遥控小车II - 控制篇
  • 普冉PY32系列(十二) 基于PY32F002A的6+1通道遥控小车III - 驱动篇

基于PY32F002A的6+1通道遥控小车I - 综述篇

以下介绍基于 PY32F002A 和 XL2400 的低成本无线遥控实现. 因为内容较多, 分三篇说明.

实物图

先放上最终的实物

遥控器

  • 遥控器包含两个十字电位器, 两个旋钮电位器, 六个轻触开关和两个滑动开关, 显示部分为12864LCD.
  • 两个十字电位器, 两个旋钮电位器组成了六个模拟通道. 模拟通道数量受PY32F002A的PIN脚限制, 全部用上可以做到八个, 因为我想保留SWD口, 所以只做了六个. 普通应用只需要双摇杆加两个双调节, 基本够用了.
  • 第七个通道是一组开关量, 六个轻触开关和两个滑动开关共8个bit, 是通过74HC165扩展实现的, 当前的设计只用了一片74HC165, 采集8个开关信号, 通过串联更多的74HC165可以扩展到16个或24个开关信号.
  • 无线模块是可插拔设计, 便于替换XL2400和XN297LBW, 以及测试不同天线的性能

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

驱动器

  • 中间9个通道为高速IO通道, 直接关联到PY32F002A的PIN脚, 这些PIN都关联到TIM1或TIM3(看下面的PIN分配表), 可以设置为原生PWM输出
  • 两侧的8PIN排针一共16个通道为扩展IO通道, 使用74HC595扩展产生, 可以输出开关量或低速PWM
  • 当前的小车的电机控制仅用到扩展IO
  • 无线模块是可插拔设计
  • 驱动端可以控制的通道并不受6+1限制, 驱动器并不局限于驱动小车, 9路高速IO加16路扩展IO可以驱动很多设备
  • 模块的螺丝孔位是针对这种小车底盘设计的, 但是只能上一边, 不能全上

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

设计目标

看完实物, 回到最初的设计思路. 因为是从零开始, 在这一阶段设计中为快速验证, 先确定结构, 避免复杂设计, 只考虑数显和单向传输, 不考虑回传数据.

无线控制端

  • 双十字摇杆加双调节, 需要至少共6个模拟通道
  • 2+6或4+4开关按键, 共8个开关信号
  • LCD屏显

电机驱动端

  • 至少8个高速IO通道, 支持原生PWM信号输出
  • 16个低速IO通道, 支持开关信号输出, 或模拟PWM信号输出

硬件部分

主要组件

硬件选型

  • MCU: PY32F002A TSSOP20
  • 2.4GHz: XL2400 or XN297LBW
  • IO Ext: 74HC165, 74HC595
  • LCD: ST7567 12864
  • Motor Driver: YX-1818

PIN分配

控制板

  • 为保持调试的便利, 保留SWD口PA13, PA14作为SWD, SWC使用, 在开发中使用JLink RTT输出日志. JLink RTT日志输出可以参考这篇 使用JLink RTT代替串口输出日志.
  • 将NRST口复用为IO, 屏蔽RST功能, 参考 SOP8,SOP10,SOP16封装的PY32F002A/PY32F003管脚复用
  • 使用ST7567是因为正好手里有不少1寸的ST7567LCD屏, 而且能和XL2400复用SPI口(其实也就复用了两个PIN), 可以换成I2C接口的SD1306.
  • XL2400使用了硬件方式的SPI通信, 具体可以看前一篇GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400
  • ST7567和XL2400合用一个硬件SPI口, 通信时使用PB2和PB3进行选择
  • 模拟信号的输入使用 PA0, PA1, PA2, PA3, PA4, PA5 这六个ADC通道
  • 开关信号的输入使用一片74HC165进行转换, 理论上可以级联2~3片, 每片能扩充出8个开关信号

具体的PIN分配如下

ST7567 XL2400 摇杆1 摇杆2 调节1 调节2 74HC165
PA0 X
PA1 x
PA2 X
PA3 X
PA4 X
PA5 X
PA6 CLK
PA7 QH
PA13 SWD
PA14 SWC
PB0 RESET
PB1 DC/AO
PB2 CSN
PB3 CSN/CE
PF0 SCK SCK
PF1 DATA
PF2 NRST MOSI DATA
PF4/PB6 BOOT0 SH/LD

驱动板

  • 保留SWD口PA13, PA14作为SWD, SWC
  • 将NRST口复用为IO, 屏蔽RST功能
  • ST7567和XL2400合用一个硬件SPI口, 通信时使用PB2和PB3进行选择
  • 一共9个高速IO输出通道, 都有对应的时钟, 可以产生PWM信号. 使用PIN脚: PA0, PA1, PA2, PA3, PA6, PA7, PB0, PB1, PB3
  • 使用两片74HC595作为IO输出扩展, 产生16个低速IO输出通道

具体的PIN分配如下

XL2400 原生PWM 74HC595
PA0 TIM1_3
PA1 TIM1_4
PA2 TIM3_1
PA3 TIM1_1
PA4 SER/DS
PA5 SRCLK/SHCP
PA6 TIM3_1
PA7 TIM3_2
PA13 SWD
PA14 SWC
PB0 TIM3_3
PB1 TIM3_4
PB2 CSN
PB3 TIM1_2
PF0 SCK
PF1 DATA
PF2 NRST DATA
PF4/PB6 BOOT0 RCLK/STCP

电路原理图

遥控器

  • 遥控器使用了一片PY32F002A TSSOP20和一片74HC165D SOP16,
  • 手柄输入使用的是两个16x16的摇杆电位器. 摇杆电位器有13x13和16x16两种尺寸, 如果需要使用13x13可以自行更换.
  • 电源部分使用的是一节18650. 除了XL2400耐压为3.6V以外, PY32F002A和其它元件都可以工作在5V, 因为满电电压会超过4V, 为了防止损坏XL2400, 这里使用一颗二极管做简单降压兼反接保护. 经实测验证 XL2400 可以工作在 3.8V.
  • 如果需要严格意义上的3.3V输入, 可以替换成低压降的XC6206P332MR.
  • 微动开关都加了上拉电阻
  • 两侧摇杆电位器的开关和对应最外侧的开关相通, 按压等效
  • 遥控面板不包含无线模块

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

驱动控制

  • 驱动端使用的是一片 PY32F002A TSSOP20 和两片 74HC595D SOP16
  • PY32F002A 和 74HC595D 供电由一片AMS1117提供, 工作在3.3V. 因此电源输入不能低于4V, 不能使用单节18650
  • 电机供电部分与电源输入直通. 为避免复杂度, 电路中未内建DC-DC转换, 如果电机/舵机需要5V或6V的准确电压, 需要外接DC-DC模块供电
  • 电源部分有一个1A的自恢复保险
  • 控制板不包含无线模块, 不包含电机驱动

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

电机驱动

电机驱动使用的是 YX-1818, 支持两组有刷直流电机, 外围元件简单, 也可以采用成品的 MX1616 驱动模块或者L9110, L298等. 驱动玩具DC电机只需要几百毫安, 选择哪种都可以.

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

无线模块

无线部分使用的是 XL2400, 也可以换成XN297LBW, 这两个芯片的电路是兼容的. 具体可以参考GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400, 这里的电路一样但是PCB部分做了改进, 占用尺寸更小. 注意模块的PIN脚和遥控器, 驱动板的排针孔位是对应的, 如果买成品的XN297LBW模块, 需要自行修改PIN脚顺序.

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

PCB

在一块 10cm x 10cm 的 PCB 上集中了上面提到的所有模块, 可以在嘉立创上一次打印, 但是需要自行分割. PCB上包含的内容

  • 遥控面板 * 1
  • 驱动控制板 * 1
  • 电机驱动 * 2
  • 无线模块 * 3

正面

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇

反面

普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇文章来源地址https://www.toymoban.com/news/detail-746681.html

参考

  • PY32F002A+Ci24R1遥控器
    在立创开源广场搜到的一个同类设计, 参考了部分元件选择(例如YX-1818驱动).

到了这里,关于普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 32 位 ARM® Cortex®-M0+ 单片机,PY32F002B 系列微控制器

    PY32F002B 系列微控制器采用高性能的 32 位 ARM® Cortex®-M0+内核,宽电压工作范围的 MCU。嵌入24Kbytes Flash 和 3Kbytes SRAM 存储器,最高工作频率 24MHz。包含多种不同封装类型多款产品。 芯片集成I2C、SPI、USART 等通讯外设,1 路 12bit ADC,2 个 16bit 定时器,以及 2 路比较器。PY32F002B 系

    2024年02月05日
    浏览(38)
  • 普冉PY32系列(十三) SPI驱动WS2812全彩LED

    普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单 普冉PY32系列(四) PY32F002A/003/030的时钟设置 普冉PY32系列(五) 使用JLink RTT代替串口输出日志 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩

    2024年02月05日
    浏览(43)
  • 普冉PY32系列(十四) 从XL2400迁移到XL2400P

    普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单 普冉PY32系列(四) PY32F002A/003/030的时钟设置 普冉PY32系列(五) 使用JLink RTT代替串口输出日志 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩

    2024年02月04日
    浏览(30)
  • 普冉PY32系列(九) GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400

    普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单 普冉PY32系列(四) PY32F002A/003/030的时钟设置 普冉PY32系列(五) 使用JLink RTT代替串口输出日志 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩

    2024年02月08日
    浏览(56)
  • 普冉PY32系列(八) GPIO模拟和硬件SPI方式驱动无线收发芯片XN297LBW

    普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单 普冉PY32系列(四) PY32F002A/003/030的时钟设置 普冉PY32系列(五) 使用JLink RTT代替串口输出日志 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩

    2024年02月08日
    浏览(66)
  • 普冉PY32L020单片机简介,主频最高48MHZ

    PY32L020单片机是一颗32 位 ARM® Cortex®-M0+内核,宽电压工作范围的 MCU。这颗MCU的价格跟八位单片机相差不大,性价比可以说是非常的高了。来看看PY32L020的配置吧。   PY32L020单片机产品特性: 内核: — 32 位 ARM® Cortex® - M0+ — 最高 48MHz 工作频率 存储器: — 24Kbytes Flash 存储器

    2024年02月05日
    浏览(32)
  • 普冉32位单片机 PY32C642,M0+内核,1.7 V ~ 5.5 V宽工作电压

    PY32C642 单片机采用高性能的 32 位 ARM® Cortex®-M0+内核,宽电压工作范围。嵌入 24Kbytes Flash 和 3 Kbytes SRAM 存储器,最高工作频率 24 MHz。包含多种不同封装类型产品。工作温度范围为-40°C ~ 85°C,工作电压范围 1.7 V ~ 5.5 V。1 路 12 位ADC,2 个 16 位定时器,以及 2 路比较器。 PY32C6

    2024年01月23日
    浏览(43)
  • 新版PY系列离线烧录器,支持PY002A/002B/003/030/071等MCU各封装,不同 FLASH 大小型号

    PY系列离线烧录器,目前支持PY32F002A/002B/002/003/030/071/072/040/403/303 各封装、不同 FLASH 大小型号。PY离线烧录器需要搭配上位机软件使用,上位机软件可以在芯岭技术官网上下载,还包括了离线烧录器的使用说明。PY离线烧录器使用MINI USB线供电,烧录器仅提供 3.3V 的 SWD 烧录。需

    2024年01月16日
    浏览(28)
  • 基于STM32F103C8T6的高速DMA传输多通道ADC数据

    ADC在STM32系列单片机的使用中占用着很大的比例,常见的案例是通过ADC单次转换电压值,这种方式的缺陷在于转换效率不高。一般的单片机带有ADC1和ADC2两个ADC转换,单次转换需要执行一定的程序,想得到结果需要耗费一些时间在赋值,调用中断上面。在此基础上,为了提高转

    2024年02月11日
    浏览(47)
  • STM32超级蓝牙小车——基于STM32F103C8T6的多功能蓝牙小车(PID循迹、跟踪、有源蜂鸣器播放音乐、蓝牙遥控、AD采集+DMA转运等超多元素小车)

    一、项目时间:2023.7.24~11.26 二、实现效果:通过蓝牙控制小车运动与模式转换                         模式一:循迹模式                         模式二:跟踪模式                         模式三:音乐模式                         模式四:控制运动模式 三、使

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包