V3s

简介


  • 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和热敏打印机

    相关视频