Go Down

Topic: Modbus RTU e BMP180 (Read 92 times) previous topic - next topic

sicri74

Buongiorno
Vorrei misurare la pressione atmosferica e inviarla ad un PLC tramite modbus RTU RS485.
Sto cercando di fondere 2 semplici progetti arduino, ciascuno funzionante singolarmente, ma con scarsi risultati.

Ho trovato in internet vari progetti (li chiamo per comodità PR1_P e PR2_P)che usano Bmp180 e relative librerie.
Un paio, li ho scaricati, testi sul monitor seriale e funzionano.

Stesso discorso per la trasmissione modbus RS485: ho trovato un paio di progetti (li chiamo per comodità PR1_M e PR2_M), li ho testati con modscan e funzionano correttamente.
Quando però vado a fondere i progetti, la trasmissione seriale si blocca. Ho provato PR1_P con PR1_M, PR2_P con PR1_M, PR1_P con PR2_M, PR2_P con PR2_M.

In tutti i casi, quello che mi fa bloccare la comunicazione è l'esecuzione del comando "leggi pressione" o "leggi temperatura".

Nell'esempio allegato, ho eliminato l'esecuzione delle righe 41 e 42 (//) e la comunicazione modbus è eseguita correttamente; se ripristino le righe 41 e 42, non ho alcuna trasmissione seriale.

Inizialmente pensavo che la libreria del sensore di pressione facesso uso di delay, ho quindi allungato il tempo del time-out della comunicazione fino a 5000ms, ma con scarsi risultati.


Qualcuno ha mai avuto problemi simili o sai darmi qualche suggerimento?

HW:
- Arduino UNO
- BMP180 Bosch
- Modulo convertitore RS485 a TTL - MAX485

Grazie

Go Up