Skocz do zawartości

Czujnik poziomu wody QDY30a z esp


nebraska

Pomocna odpowiedź

Tak ponieważ miałem dwie płytki stykowe i podmieniałem ta z uart na arduino fizycznie nie możliwe żeby miał spięte.O

Jak uruchmaiam serial w Arduino to na początku są krzaki czy to oznacza że czujnik cos chce jednak powiedzieć?

`f~⸮fxf~f⸮⸮~fx怘⸮Data Requested
Data Requested
Data Requested
Data Requested
Data Requested
Data Requested
Data Requested
Data Requested
Data Requested
Data Requested
Data Requested

 

Link do komentarza
Share on other sites

Znaki krzaki nie wiem, ale jak kod jest ten sam co wczoraj i połączenie te same to spodziewałbym się poprawnych wyników. Z resztą nie korzystam z arduino cli to nie mogę się wypowiedzieć w tej kwestii

Link do komentarza
Share on other sites

(edytowany)

Musiało coś się zesrać ponieważ podłączone mam jak wczoraj i program ten sam i żadnych wartości.

Mam jeszcze druga teorię może tym pierwszym programem zmieniłem jakiś rejestr nie chcący.

Edytowano przez nebraska
Link do komentarza
Share on other sites

Pisałem wcześniej o adresie 0 próbowałeś odczytać? To co ewentualnie mogłeś zmienić to adres slave i prędkość transmisji. 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Czyli nie wpłynęło to mocno jeśli bym coś faktycznie zmienił.

Tak dałem slave na 0.

Wczoraj jak testowałem to w loop miałem odczyt na 0x0004 i 0x0000 w obu przypadkach czytał.

 

Link do komentarza
Share on other sites

Albo zrobić pętlę od 0 do 255(slave adres) co 500ms i sprawdzać czy czujnik się odezwie. Opcja 2 próbować na kilku br czujnik działa na zakresie 1200 2400 4800 9600 19200 38400 57600 115200 ale wątpię że w prosty sposób udało Ci się zmienić baudrate

Link do komentarza
Share on other sites

(edytowany)
3 minuty temu, nebraska napisał:

Czyli nie wpłynęło to mocno jeśli bym coś faktycznie zmienił

wpłynęło by, jak mu zmieniłeś adres to nima ch... żeby się odezwał 😄 musisz ten adres znać

Edytowano przez _LM_
Link do komentarza
Share on other sites

Tyle że przed odczytem robisz od nowa funkcję begin z nowym adresem, resztę zostawiasz jak było czyli 

  
uint8_t niewolnikAdres = 0;
node.begin(niewolnikAdres, RS485Serial);
niewolnikAdres +=1;

i potem ten odczyt co Ci działał a wszystko w pętli co powiedzmy 1sekundę 

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dałem tak na szybko żeby rano przed  wyjściem do pracy spr. Inkrementuje zmienna ale to nic też nie dało.

    ile++;

  // Modbus slave ID 1
    node.begin(ile, RS485Serial);
    Serial.println(ile);
    delay(300);

  // Request 2 registers starting at 0x0001
   // uint8_t result = node.readInputRegisters(0x0001, 2);
   uint8_t result = node.readHoldingRegisters(0x0004, 1);
  Serial.println("Data Requested");

  if (result == node.ku8MBSuccess) {
    // Get response data from sensor

    Serial.println(float(node.getResponseBuffer(0) / 10.00F));

  
  delay(1000);
  }}

 

  • Lubię! 1
Link do komentarza
Share on other sites

Cóż nie wiem na jakim jesteście etapie, i czy pacjent żyje ale nie bez przyczyny polecałem sobie kupić przejściówkę USB<>RS485 za 5zł. Wtedy nie ma dylematów sprzętowych, najwyżej można pomylić A z B przy testach, a to i tak nie grozi żadnymi uszkodzeniami.

 

  • Lubię! 2
Link do komentarza
Share on other sites

Narazie to rzuciłem bo zdechło i raczej nie wstanie.

To fakt mogłem kupić tą przejściówkę mój błąd.

Dopóki miałem podłączone pod Arduino to były odczyty i było ok.

Gdy podłączyłem przejściówkę i próbowałem odczytać nic, potem powrót do Arduino i nic tak jakby ta przejściówka coś uwalila.

Potem zacząłem się zastanawiać czy sam czegos nie zmieniłem rejestrami, ale nie mogłem ponieważ na przejściówce nie było opcji sparowania.

Być może te 5zl zaważyło że czujnik umarł.

Zamowie kolejny za jakiś czas, bo ten RS485 mnie zainteresował i chce temat poznać lepiej.

Jeszcze jutro ostatnie podejście już z taką jak trzeba przejściówka pewnie musztarda po obiedzie ale spróbować trzeba 

Link do komentarza
Share on other sites

(edytowany)
12 godzin temu, nebraska napisał:

jakby ta przejściówka coś uwalila.

Sama z siebie na pewno nie 😉. Jeśli ten czujnik faktycznie jest uszkodzony to spodziewałbym się jakiegoś przepięcia po stronie zasilania(przetwornica 24V) plus połączone masy co mogło doprowadzić do niekontrolowanego przepływu prądu. Ale tak tylko gdybam. Nie wiem czy ja dobrze zrozumiałem opis tego czujnika, ale czy on nie może pracować również w pętli prądowej, lub źródła napięcia proporcjonalnego do poziomu cieczy? Bo jeśli tak, byłaby możliwość potwierdzenia czy ten czujnik jest na chodzie. Zobacz na ten rysunek z aukcji, tylko uwaga nie wiem czy to nie dotyczy jakiegoś innego modelu, w sensie czy jako prądowy/napięciowy nie jest sprzedawany pod inną postacią 
 Hydrostatyczny-czujnik-poziomu-wody-QDY30A-przewod-5m-zasieg-3m-Producent-Inna.thumb.jpg.becc7d63188779a5d4dc445d2e499895.jpg

Ja bym zrobił test według tego środkowego schematu z tym że nie jestem pewien czy nie powinno tam być woltomierza zamiast amperomierza 🙂, sprawdź, podłącz zasilanie i zmierz woltomierzem co się dzieje na żółtym przewodzie.

Edytowano przez _LM_
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.