Pi açılışta RS-485 hattına çöp bayt basıyor, enerji analizörü cevap vermeyi kesiyor
Selam, evde güneş paneli tarafını izlemek için bir Pi Zero 2 W + MAX485 modülü ile Eastron SDM120 sayaçtan Modbus RTU okuyorum (9600 8N1, adres 1, minimalmodbus). Değerler Hermetry’ye gidiyor, grafikler güzel.
Sorun şu: Pi her yeniden başladığında sayaç ilk birkaç dakika cevap vermiyor, script « No communication with the instrument (no answer) » hatası basıyor. Bazen sayacın kendisini de kapatıp açmam gerekiyor. Elimdeki ucuz lojik analizörle baktım, Pi açılırken hatta 115200 civarında bir sürü anlamsız bayt gidiyor, sonra 9600’deki benim sorgularım başlıyor.
MAX485’in DE ve RE pinleri birleşik, GPIO17’ye bağlı.
Baud rate’i 115200 yapsan, açılıştaki baytlarla aynı hızda olur, belki sorun çıkmaz?
Açılışta seri konsol açık olabilir. cmdline.txt’e baktın mı?
Baktım, şöyle:
console=serial0,115200 console=tty1 root=PARTUUID=... rootfstype=ext4 fsck.repair=yes rootwait
Oğuz Bey doğru yerde. Bir su pompası istasyonunda birebir aynısını yaşamıştım, iki ayrı sebebi var.
1) Linux açılış mesajlarını ve login konsolunu seri porta veriyor, 115200’deki çöp o. cmdline.txt’ten console=serial0,115200 kısmını sil. Ya da raspi-config > Interface Options > Serial Port: login shell Hayır, donanım Evet. serial-getty servisinin de kapalı olduğunu kontrol et.
2) Asıl kalıcı çözüm DE/RE pini. Pi açılırken GPIO17 bir süre tanımsız kalıyor, MAX485 vericiyi açık bırakabiliyor, hatta gelen her şey sayaca gidiyor. DE/RE’den GND’ye 10k pull-down koy, pin sürülmediği sürece modül dinleme modunda kalsın.
Bir de Zero 2 W’de serial0 varsayılan olarak mini UART’a gidiyor, onun baud’u çekirdek saatine bağlı. Bluetooth’u kapatıp PL011’i al:
# config.txt
enable_uart=1
dtoverlay=disable-bt
# script
inst = minimalmodbus.Instrument("/dev/ttyAMA0", 1)
inst.serial.baudrate = 9600
inst.serial.timeout = 0.5
inst.clear_buffers_before_each_transaction = True
Sayaç kilitlendiğinde clear_buffers da işe yarıyor, yarım kalmış bir cevabı bir sonraki sorguya taşımıyor.
Çözüldü, sağ ol Esra! Konsolu kapattım, 10k pull-down’ı lehimledim, ttyAMA0’a geçtim. Pi’yi beş kere üst üste resetledim, sayaç her seferinde ilk sorguda cevap verdi.
Bizde de ısı sayaçlarında benzer kilitlenme vardı, sebebi buymuş demek. Kurulumu yapan firmaya iletiyorum.
- Vous devez être connecté pour répondre à ce sujet.
Rejoignez la discussion
Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

