Main Page

From pymate.io wiki
Jump to navigation Jump to search

About PymateIO

Pymate-powered-by-micropython.png

PymateIO is an affordable Industrial Controler (PLC) Powered with MicroPython.
PymateIO is ready for Industry, Reliable, Developer-Friendly and Easy to Install.

Micro Python is an optimized version of Python 3 dedicated to embedded systems like microcontollers.
Python scripts are stored on the device and running on z bare metal Python Virtual Machine (like computer does).

PymateIO EcoSystem

PymateIO is expandable by design starting with few board, new arrivals should come with time.


Key products

Pymate-core-angle-small.png PymateIO Core Core8ADI8DOSC
  • DIN rail mounting
  • Spring cage connector
  • 8-28V power supply
  • 8 digital inputs 12/24V tolerant
  • up 8 configurable analog inputs (10V max)
  • 8 digital outputs (PNP, 250mA, High Side control)
  • 1 user button, 2 user LEDs
  • Native Modbus via RS485
  • Dedicated status LEDs for each Inputs/Outputs
  • Expandable by design with LTE-M, WiFi, Ethernet, relays, analog I/Os, PT100, Zigbee, and more,..
  • Native USB support
  • MicroPython support with libraries
  • Developper friendly
  • Core8ADI8DOSC product tour

TODO:Link to shop

Pymate-16adi16do-angle-small.png PymateIO 16ADI16DO expansion
  • DIN rail mounting
  • Plug-and-play (ready to use)
  • Daisy chain by design (up to 120 boards)
  • Spring cage connector
  • 8-28V power supply
  • 16 digital inputs 12/24V tolerant
  • up 16 configurable analog inputs (10V max)
  • 16 digital outputs (PNP, 250mA, High Side control)
  • 1 user button, 2 user LEDs
  • 16ADI16DO expansion tour

TODO:Link to shop

Pymate-hmi-angle-small.png CommandHMI [COMING SOON]
  • 8-28V power supply
  • 16:9 TFT 4.3" (96x53mm)
  • 480 x 272px
  • Serial: RS232 + RS485
  • Protocols: Modbus, ASCII, ...
  • USB-A: Master modbus, data export (to USB key)
  • USB-C: programming port
  • Variant: 7.0", 10.2", 15.6", 4.3" Ethernet
  • Read more

TODO:Link to shop

Product Nomenclature

Letter Feature
DI Digital Input. It is prefixed with the number of input (ex : 8DI or 8ADI).

May be in combination with A.

A Analog Input. It is prefixed with the number of analog input (ex : 8A or 8ADI).

May be in combination with DI.

DO Digital Output. It is prefixed with the number of analog output.
S Serial (RS485, MODBUS RTU)
C CAN bus
P SPI bus
I I2C bus
U UART
T Modbus TCP

Products tour

Core board

Tlogo-core.jpg

Tour of the PymateIO Core board.

16ADI16DO board

Tlogo-16adi16do.jpg

Tour of the PymateIO 16 Analog-DataIn and 16 DataOut board.

 

Programming HowTo

MicroPython

Tlogo-about-MicroPython.jpg

What is MicroPython?

Thonny IDE

Tlogo-thonny.jpg

Prepare your MicroPython IDE environment.

Connect Pymate

Tlogo-connect.jpg

Connecting the board

REPL

Tlogo-repl.jpg

The MicroPython command line

Startup script

Tlogo-micropython-main.jpg

What are main.py and boot.py

 

Programming First-step

PymateIO

Tlogo-pymateio.jpg

Access Input and outputs with PymateIO

Input/Output

Tlogo-input-output.jpg

Wiring and using DI and DO

Analog

Tlogo-analog.jpg

Wiring and using Analog Input

User button

Tlogo-user-button.png

Managing user button in code

User LEDs

Tlogo-user-leds.png

Managing user LEDs with code

RealTime Clock

Tlogo-rtc.png

Geting an accurate date and time

Cycle timing

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Measuring mainloop execution time

16ADI16DO intro

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Using the 16ADI16DO expansion with PymateIO

 

Common use-cases

Page-under-construction.pngPage(s) under construction.
  • Remote Control (Télérupteur)
  • Time relay (relais temporisé)
  • Hystersis management
  • Value mapping
  • PID control
  • Fine LED control
  • Emergency Stop (using IRQ)
  • Watchdog
  • Data-Logging

Mini projects

Page-under-construction.pngPage(s) under construction.
  • Tank refill

Expansion programming

Page-under-construction.pngPage(s) under construction.
  • About board_id
  • CAN bus scanning
  • 16ADI16DO Programming
  • Setting board_id
  • Digital Input/Output
  • Analog Input

Advanced programming

Page-under-construction.pngPage(s) under construction.
  • About asyncio
  • Creating tasks
  • Scheduling tasks

PymateIO Expansion Bus

Page-under-construction.pngPage(s) under construction.
  • The connector
  • Accessing I2C bus
  • Accessing SPI bus
  • About CAN bus

References

Page-under-construction.pngPage(s) under construction.
  • PymateIO library
  • Helper libraries