简介
PyV3s是DBD团队开发的一款超小型Python控制器
尺寸只有50mm x 60mm
采用国产全志科技的V3s(ARM Cortex-A7)高性能CPL芯片作为主处理器,主频1GHz, 64M内存, 512M存储空间, 采用buildroot作为文件系统, 运行主线linux.
协处理器采用一颗ARM Cortex-M0单片机, 负责处理实时通信和编码器数据.
百兆以太网接口
USB2.0接口
TTL串口2路
AB增量编码器接口1路
数字输入4路
数字输出4路
主电源/备用电源
RS485两路
支持Python编程
资源特性
重量 |
7.2g |
适配 |
全系列Bee电机驱动器/IO板/灯光控制器/编码器 |
工作电压 |
DC12V/24V |
最大持续输出电流 |
200mA |
状态指示灯 |
蓝色 |
USB总线 |
480Mbps |
以太网 |
100Mbps |
RS485总线 |
250Kbps/500Kbps |
运行温度 |
-10 to +60摄氏度 |
产品细节
配件介绍
电源线
网口线
TTL串口线
USB线
IO输入线
IO输出线
编码器线
机械尺寸
接口布局
供电接口
供电电压 |
12V/24VDC |
接插件 |
XH2.54-2P |
最大电流 |
<3A |
备用电源 |
12V/24VDC |
RS485通信接口
对外供电电压 |
5VDC |
接插件 |
XH2.54-4P |
通道 |
2 |
波特率 |
250Kbps |
以太网通信接口
通信速率 |
100Mbps |
IP(静态) |
192.168.10.22 |
接插件 |
PHB2.0-2x2 |
USB通信接口
通信速率 |
480Mbps |
接插件 |
PHB2.0-2x2 |
UART0通信接口
通信速率 |
115200bps |
接插件 |
PHB2.0-2x2 |
功能 |
串口调试终端,可用putty连接 |
UART1通信接口
通信速率 |
自定义 |
接插件 |
PHB2.0-2x2 |
功能 |
自定义 |
端口 |
/dev/ttyS1 |
UART2通信接口
通信速率 |
自定义 |
接插件 |
PHB2.0-2x2 |
功能 |
自定义 |
端口 |
/dev/ttyS2 |
IO输出接口
通道 |
4 |
接插件 |
PHB2.0-2x2 |
功能 |
自定义 |
输出类型 |
开漏输出(低电平有效) |
IO输入接口
通道 |
4 |
接插件 |
PHB2.0-2x3 |
功能 |
自定义 |
输入类型 |
内部上拉(低电平有效,配合NPN类型接近开关) |
开发者
常用工具
VsCode |
WinScp |
MobaXterm |
Putty |
最新库下载
libpro.py
libio.py
如何使用USB串口终端登录控制器
如何使用网口登录控制器
如何使用VsCode编写/上传/运行代码
如何使用winscp上传/下载代码
如何使用MobaXTerm
如何运行python代码
登录系统后,运行python3 demo.py, 然后按回车即可运行,将demo.py替换成您要运行的文件名即可.
如何设置开机自动运行python代码
设置开机自动运行,需要修改文件 /etc/init.d/S60motion
nohup /usr/bin/python3 /root/motion.py &
找到这一行,去掉#, 将motion.py换成您要启动的文件名
注意:程序中所有涉及到路径的需要使用绝对路径
#!/bin/sh
#
# Starts DBD Motion
#
# Allow a few customizations from a config file
start() {
/sbin/insmod /root/hello.ko
# printf "start motion..."
# sleep 1
#nohup /usr/bin/python3 /root/motion.py &
# printf "start demo..."
}
stop() {
printf "Stopping motion"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
如何使用输入IO
PyV3s控制器拥有4个IO输入端口,接线如下图所示.注意传感器选用NPN类型,常开或者长闭都可以.
硬件连接好了,之后,通过代码获取io状态.
from libio import GPIO
import time
io = GPIO()
for loop in range(0, 100):
ret = io.getInput()
if ret&0x1:
print("Button 0 pressed")
if ret&0x2:
print("Button 1 pressed")
if ret&0x4:
print("Button 2 pressed")
if ret&0x8:
print("Button 3 pressed")
time.sleep(0.1)
如何使用输出IO
如何使用TTL串口-ttyS1/ttyS2
import serial
import time
portName = '/dev/ttyS2'
port = serial.Serial(portName, 9600, timeout=0.1)
message = bytearray(8)
message[0] = 0x01
message[1] = 0x03
message[2] = 0x00
message[3] = 0x00
message[4] = 0x00
message[5] = 0x03
message[6] = 0x05
message[7] = 0xCB
for loop in range(0, 100):
port.write(message)
time.sleep(1)
ret = port.read(11)
print(ret)
port.close()
如何使用USB接口
如何使用RS485总线控制电机运行
如何使用外部IO模块
如何使用灯光控制模块
如何使用灯光控制模块
参考示例
PyV3s控制Ant4和热敏打印机
相关视频