01 pyBoard实验板


1.pyBoard

pyBoard是可以通过 MicroPython 进行编程的实验板。由于它板子不太适合在面包板上实验,主要原因是它太宽了,无法做到向 RaspBerry Pi Pico 那样窄,可以直接插在 面包板 上进行实验。并且现在的价格臭脚昂贵,所以通过自行设计来制作小型的实验板。

pyBoard 基于MicroPython开发STM32FXX单片机 给出了基于STM32F405RG单片机制作pyBoard实验板的第一版本。并且实验了实验板的固件通过DFU烧制的过程,并通过 Thonny 环境,进行了 pyBoard基本实验 ,证实了整个开发过程的可行性。

▲ pyBoard管脚定义

2.设计合理接口

由于pyBoard本身具有很多端口,为了设计适合在面包板上进行实验的实验pyBoard,需要对于pyBoard外部接口进行适当的精简,选择种类丰富的一组(10个管脚)作为外部引脚输出。

采用单排针适合将实验板插在面包板上,但也可以使用双排插针的形式。

一种最基本的方式,就是利用pyBoard右侧单排插针设计即可。其中保罗有IO,Timer,SPI,I2C,DAC, ADC等端口。再配上对应的地线与+5V电源线。

▲ pyBoard右侧单排插针

02 制作实验板


1.设计电路板1

根据pyBoard 基于MicroPython开发STM32FXX单片机的实验,对其进行一定的简化,形成下面的实验电路板的设计。

▲ 实验电路板的原理图

通过快速制版形成测试电路板。

在STM32F405RG芯片上有两个小圆斑,较小的圆斑是管脚1的标记圆斑。

▲ 芯片上的管脚1标志

2.焊接调试

a)电路板上锡

在快速制版的PCB上预先对于引线上锡,便于后期的元器件焊接。

▲ 快速制版上锡之后的PCB

b)焊接元器件

▲ 焊接元器件之后的PCB

注:在第一版测试的时候将原来的用于时钟的晶体保留,而将12MHz的系统时钟晶体去掉。造成电路板无法被识别DFU。

▲ 电路板焊接局部

3.烧录固件

a)下载固件软件

Firmware for pyboard v1 或者 01Studdio pyBoard(STM32F405)资料下载 下载STM32F405RG固件。

实际烧录固件:

D:\zhuoqing\DesignCenter\MicroPython\PyBoard\ÁãÒ»¿Æ¼¼£¨01Studio£©MicroPython¿ª·¢Ì×¼þ£¨»ùÓÚpyboard STM32F05ƽ̨£©ÅäÌ××ÊÁÏ_2021-2-5\03-Ïà¹Ø¹Ì¼þ\03-pyBoard Plus\pybplus-20200916-v.12.dfu

b)短接Boot0与3.3V

▲ 使用短路子将BOOT0与VCC短接

重新将电路板接入微机的USB之后,计算机中出现STM Device in DFU Mode设备。

▲ 出现STM Device in DFU Mode

c)下载固件

使用 DfuSe 程序下载MicroPython固件:

▲ 烧录固件

d)重新启动测试版

将Boot0的短路子去除之后,重新将电路板接入微机的USB,则系统会出现:“PyBoard USB Comm Port(COM23)”。

▲ 重新接入USB,会出现COM(23)

同时计算机出现“PYBFLASH”磁盘,其中具有四个文件。

如果计算机对于PyBoard USB COMM Port 驱动没有安装,可以通过PYBFLASH安装虚拟串口的驱动程序。

▲ 出现的PYBFLASH磁盘

使用 Thonny 软件通过虚拟串口连接开发板。

▲ 使用Thonny连接pyBoard

使用测试LED简单程序,实验电路板的功能。

▲ 测试LED闪烁程序

import pyb
import time
led = [pyb.LED(i) for i in range(1,5)]
print(led)
while True:for l in led:l.on()time.sleep(.25)for l in led:l.off()time.sleep(.25)

03 实验板性能测试


1.测量端口最短访问时间

(1)利用LED测量

import pyb
import time
led = pyb.LED(1)
while True:led.toggle()led.toggle()led.toggle()led.toggle()time.sleep(.1)

▲ 利用LED测量端口最短访问时间

(2)利用GPIO测量

import time
from pyb                    import Pin
p_out = Pin('X1', Pin.OUT)
while True:p_out.high()p_out.low()time.sleep(.2)

2.测量DAC

from pyb                    import Pin,DAC
import time
dac = DAC(Pin('X5'))
out = 0
while True:dac.write(out)out += 1if out > 255: out = 0time.sleep(.01)

▲ DAC输出波形

3.PWM

from pyb                    import Pin,Timer
p = Pin('X1')
tim = Timer(2, freq=50)
ch = tim.channel(1, Timer.PWM, pin=p)
ch.pulse_width_percent(1.5/20*100)
while True:pass

▲ 输出50Hz Servo信号

▲ 输出50Hz Servo 的脉宽:1.5ms

4.更多的实验

下面链接中给出了更多的相关的实验。

  • 自制pyBoard的I2C实验,应用MicroPython

▌附录


■ 相关文献链接:

  • MicroPython
  • RASPBERRY PI PICO 开发板 基础测试
  • 面包板
  • pyBoard 基于MicroPython开发STM32FXX单片机
  • 安装 Thonny 软件环境开发PI Pico
  • pyBoard Mini从安装到简单测试
  • Firmware for pyboard v1
  • 01Studdio pyBoard(STM32F405)资料下载

  1. 实验电路板AD工程文件:AD\Test\2021\PYBOARD\PYBOARD ↩︎

利用STM32F405RG制作pyBoard实验板相关推荐

  1. vue页面绘图_利用vue制作在线涂鸦板

    效果展示 Canvas API简介 调用方法 getImageData() 返回ImageData对象,该对象为画布上指定的矩形复制像素数据 putImageData() 把图像数据(从指定的 Ima ...

  2. 串行口实验 编写程序利用PC机控制单片机实验板上的数码管设备工作

    编写程序利用PC机控制单片机实验板上的数码管设备工作 在pc上输入fe,第一个数码管显示1. 在pc上输入fa第五个数码管显示5 程序: #include<reg51.h> #define ...

  3. 设计带有SD卡的 MM32F3277 MicroPython 实验板

    简 介: 本文测试了基于MM32F3277下的MicroPython电路板设计.其中包含有SD卡接口,常用外设接口等.验证了现在的移植的MicroPython的对文件的基本操作功能.通过测试发现现在的 ...

  4. 单片机小白学步系列(七) 准备实验板——萝卜青菜,各有所爱

    单片机的学习,最重要的一点就是多实践.站在岸上学不会游泳.没有实践,恐怕永远也学不好单片机.我将和大家一起,选择一款适合自己的单片机实验板. 我们主要有三个可选方案: 1.自己动手搭建学习板: 2.购 ...

  5. 51单片机入门 - 自己动手搭建实验板

    博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...

  6. 用python做头像_如何利用python制作微信好友头像照片墙?

    这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...

  7. 北邮实验:ARM实验板移植Linux操作系统,LCD显示汉字

    ARM实验板移植Linux操作系统,LCD显示汉字 一. 实验目的 1. 熟悉点阵字库的使用2. 熟悉Linux操作系统的使用3. 熟悉ARM嵌入式系统开发的过程 二. 实验内容 1. pc端编写用* ...

  8. 做计算机实验报告的总结,制作网线实验报告与总结

    <制作网线实验报告与总结>由会员分享,可在线阅读,更多相关<制作网线实验报告与总结(2页珍藏版)>请在人人文库网上搜索. 1.随着计算机技术的不断发展和普及,计算机不再只是一个 ...

  9. 怎样用计算机做初中物理实验,如何利用多媒体上好物理实验课

    物理实验是物理教学的重要手段之一,然而由于受时间和空间等客观条件以及仪器本身因素的限制,有些实验效果不够理想.如果利用多媒体模拟辅助物理实验,将起到直观形象.重复再现.大小.远近.时空.动静.快慢都可 ...

最新文章

  1. 分布式计算开源框架Hadoop入门实践
  2. 机器学习_周志华_问题汇总_第2周
  3. 关于课程设计、毕业设计的一些总结与思考
  4. Matlab循环读取txt文件并对其中数据进行计算最后导出为excel
  5. java kafka 消费_java编程之Kafka_消费者API详解
  6. php内置类,yii2学习教程之5种内置行为类详解
  7. 云服务器有什么好 能让云大佬们竞争如此激烈
  8. android 页面无法点击,为什么点击不跳转到下一界面,哪位大神帮瞅瞅
  9. mybatis那些事~
  10. android 多点
  11. 【java】java 定时任务线程池 ScheduledThreadPoolExecutor 源码阅读
  12. HTTPS传输协议原理
  13. webstorage html5,HTML5-WebStorageAPIs的简述
  14. 车牌识别opencv_基于OpenCV 的车牌识别
  15. PCA、CCA、PLS
  16. Systrace的工作原理
  17. Android 中 shape 各种属性详细介绍
  18. 五点差分法求解偏微分方程(PDE)
  19. 求命题公式的真值表及主范式(栈实现)
  20. .pcd文件转换为.ply文件

热门文章

  1. Ubuntu下 安装 window 虚拟机
  2. c#算两个火星坐标的距离(高德or百度)
  3. nginx配置使用笔记:三
  4. Ubuntu下安装ruby的三种方式
  5. Spring scope 学习笔记
  6. validator的Symbol Coverage没有100%
  7. 有关指针的数据类型的小结
  8. 此博客作废,请访问http://www.cnblogs.com/default
  9. 两台虚拟机的Putty端实现互相免密码登录
  10. JavaScript之js的一些基础方法