Skip to content

norberts1/hometop_ht_transceiver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hometop_ht_transceiver

HW- and SW-parts to receive/transmit seriell data from/to heating-system.

Table of Contents

Introduction

This hardware is designed for serial data-communication between 'heater-bus' and external controlling software.

Currently only heater-systems from german manufacturer: Junkers/Bosch and system-bus: Heatronic/EMS2 (c) are supported.

Used Hardware

There are two active boards (alias name: ht_transceiver) created for the RaspberryPi(c).
They differs only in hardware-design and used uC's but have the identical functionality.

The components on the 'ht_piduino-board' are 'MTH' (Mounted Through Hole) and the 'ht_pitiny-board' has SMD (Surface Mounted Devices) components.
The 'ht_pitiny-board' is a bit more tiny and is using less space on the RaspberryPi.

The table shows the currently available active boards:

Board-name function Comment Interface
ht_pitiny transmit- and receiving Bus - data active ht_transceiver-board for RPi
using ATtiny841.
serial asynchronous data.
9600Baud to/from heater-bus.
19200Baud to/from RPi.
ht_piduino transmit- and receiving Bus - data active ht_transceiver-board for RPi
using ATMega328.
serial asynchronous data.
9600Baud to/from heater-bus.
19200Baud to/from RPi.
  • Modul: ht_pitiny

Modul: ht_pitiny

  • Modul: ht_piduino

Modul: ht_piduino

For the 'ht_transceiver'- hardware see gerber-files and documentation (folder: ~/hometop_ht_transceiver/hw )
and project: hometop_ht.

Software

The software is written in c and cpp and designed for receiving and transmitting heater-busdata with following features:

SW-Part function
receive heater-busdata Receiving heater-bus data.
Break-Signal detection.
Sending received message attached with header to external decoding-SW.
receive external commands for heater-bus Receiving commands for the heater-bus.
Break-Signal generation.
Sending generated command-block to heater-bus.
receive external commands for board-setup Receiving commands for ht_transceiver-board setup.
Own Device ID change.
Reset of ht_transceiver.
Modul device ID handling Own Device ID detection.
Generating polling-answers.
Sending polling-answers to heater-bus.

SW-Release generation is done with: Atmel Studio 7 (Version: 7.0.2397), but any leater Revision should work.

Software Installation

Preconditions:

There are some preconditions to install or update the software on any ht_transceiver-board.

  • Board must be checkt, mainly that external CPU-crystal must be workable.
  • Board has to be mounted on RaspberryPi.
  • Any heater-bus connection must be disconnected.
  • 'avrdude' must not be installed manually with 'apt install avrdude', cause the default one has no lib: 'linuxgpio' available.
  • 'sudo' must be enabled for the user.
  • That interface: 'SPI' on RaspberryPi has to be 'disabled'. This will be forced by the installation-script.

Installation / Update

Step into folder:
cd hometop_ht_transceiver/sw

Call the installaton-script for:

Board-name script-name function
ht_pitiny prepare_pitiny_board.sh 1.check platform.
2.check SPI-IF.
3.Install and compile avrdude if not already done.
4.Setup fuses.
5.Flash latest sw-release.
6.Write eeprom-data.
ht_piduino prepare_piduino_board.sh 1.check platform.
2.check SPI-IF.
3.Install and compile avrdude if not already done.
4.Setup fuses.
5.Flash latest sw-release.
6.Write eeprom-data.

Postconditions:

  • Check the output on the installation-terminal for any errors.
  • Check the green flashing LED on the 'ht_transceiver-board'. If no flashing LED is visable, some errors had occurred.
  • Switch off RaspberryPi and reconnect the 'ht_transceiver-board' to the heater-bus.

Documentation

For 'ht_transceiver'-description see the documentation (folder: ~/hometop_ht_transceiver/docu ).

License

Hardware:cc by-nc-sa 4.0 (details)