文章目录
- openpnp - 74路西门子飞达控制板(主控板STM32_NUCLEO-144)实现
- 概述
- 飞达控制底板硬件电路
- 程序的修改
- END
openpnp - 74路西门子飞达控制板(主控板STM32_NUCLEO-144)实现
概述
现在调试自己的openpnp设备, 在收尾, 将飞达控制板弄好, 能正常控制设备飞达安装平台上装满西门子二手飞达(52路飞达, 按照2x8mm飞达来算, 就是104个料位)的场景, 设备调试就基本完事了.
设备刚到手时, 没有飞达控制板, 贴旧飞达控制板时, 用的散料飞达. 散料飞达能用, 不好用.
贴新版飞达控制板时, 用的旧飞达控制板. 旧飞达控制板在我改了openpnp程序后, 好用, 只是飞达控制路数不够.
新飞达控制板和旧飞达控制板子电路都相同, 写个程序就好了. 区别是换了STM32_NUCLEO-144的官方板子接口作为主控板接口, 底板可以支持74路, 满足我设备的需求了.
主控板接口为STM32_NUCLEO-144的arduino接口, 可以选的STM32_NUCLEO-144官方板子很多. 我就直接用手头剩下的STM32_NUCLEO-144_723ZG, 如果选别的型号官方板子, 编程方面修改都是差不多的(STM32 Arduino库), 差别不大.
新版飞达控制板成品效果如下:
最后一个XHD2.54-2x10P插座上, 只有6路飞达通讯控制信号.
对于我自己的设备, 有2个飞达挂壁面(设备前部, 设备后部).
一个挂壁面有2块转接板(左右各一个), 一块转接板控制13个飞达.
一个转接板有2个XHD2.54-2x10P的插座. 一个插座控制10路, 一个插座控制3路.
为了方便, 直接1对一的做XHD2.54-2x10P的插座转接线, 依次连接到飞达控制板.
里面有飞达挂壁上每个飞达的通讯控制线, 用程序挑出这些通讯线, 进行控制即可.
上图是旧飞达控制板(主控板为mega2560r3官方板子)的截图, 上面有做好的通讯线, 一个插座上10根绿线(MCU_TX), 10根黄线(MCU_RX)
等新飞达控制板程序编译过, 就可以接上所有的8个插座, 找出要通讯的飞达对应的通讯管脚号就行.
飞达控制底板硬件电路
每一路的子电路, 和官方开源的工程相同.
STM32-NUCLEO-144的板子, 可以控制大概70~80个飞达. 我这里的电路连接, 控制74个飞达.
MCU的管脚除了一些不能用的(e.g. VCC, GND, NC, IOREF…), 都用来控制飞达.
引出的插座, 拿其中一个看看就行, 其他7个插座同理.
程序的修改
程序中要解决以下事情:
- 将官方程序从mage2560r3的工程改为STM32 Arduino H7官方板子的工程, 不改编译不过. 初步已经做了实验(openpnp - use STM32 arduino on SchultzController), 解决了编译问题.
- 将程序中对应的飞达通讯的信号捡出来, 给出对应飞达编号后, 可以控制.
开始改程序了, 估计得用上几天.