rasProject_01 / weSweetHome  R. 240
process control       /     RasPi software         by   weinert-automation
Loading...
Searching...
No Matches
rasProject1 - process control with Raspberry Pi

The ideas behind using a Raspberry Pi for process control are published in raspberry4remoteServices.pdf (dir) at a-weinert.de.

Process control features

RasPi4 with RS485 and other GPIO

By certain configuration and utilising constraints we get 24/7 base for control software with

  • cycles (1ms, 10ms, 20ms, 100ms, 1s)
  • support for Modbus, MQTT, 1-wire and more
  • HMI via Web-interface
  • watchdog

Compared with industrial PLCs and weAut01 there is

  • no supervising of power supply, and, hence
  • no (cycle for) programmable reaction on power outages

Devices supported by the library include

  • modbus power meters
  • PV inverter
  • bar code / QR code reader
  • DCF77 receivers and else

The preferred Raspberry test and target platform for control applications is a Pi3 or Pi4 with a non graphical OS. But other (Pi 0) and older platforms (Pi1) may be sufficient sometimes. To handle differences (GPIO pinning e.g.) in a uniform way, the include files in this directory describe those platforms.

A note on Copyright and License

For software and documentation developed for this project:

      Copyright © 2018  2023   A. Weinert
      Prof. Dr.-Ing. Albrecht Weinert     <a-weinert.de >
      weinert-automation   Bochum    <weinert-automation.de >

      All rights reserved.

The software is open source and available by

SVN checkout. It uses open source libraries by other authors. Those parts keep their original license and author's copyright.

Raspberries architecture differences

The different Raspberry types, like Pi1, 3, 4, Zero (0) and 5 can be handled transparently to the control programs. This is done by a make variable TARGET identifying a concrete target machine and, hence, the architecture, i.e the PLATFORM variable.The latter can also be set directly as PLATFORM = raspberry_03 e.g.. raspberry_04 is the default by the way.

The mechanism used is calculated make includes and calculated C includes. See config.h and config_raspberry_04.h for the mechanism and the 40 pin IO. (For 26 pin see config_raspberry_04.h.)