Arduino Mega i waga na RS232C - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Sieciowe Protokoły i Urządzenia (https://forum.arduinopolska.pl/dzial-sieciowe-protoko%C5%82y-i-urz%C4%85dzenia) +--- Wątek: Arduino Mega i waga na RS232C (/watek-arduino-mega-i-waga-na-rs232c) Strony:
1
2
|
Arduino Mega i waga na RS232C - Darnok1911 - 02-07-2020 Witam wszystkim, jestem bardzo początkujący w temacie arduino (moje to Mega 2560). Chciałbym zrobić prostą rzecz. Mam wagę Kern DE 150K2D (scan z manuala o RS232 załączony poniżej) i sczytywać z niej wagę do arduino. W tym celu dokupiłem konwerter RS232/TTL (taki ). Złącza DB-9 w obu urządzeniach są żeńskie, czyli łączę Rx z Rx i Tx z Tx (Waga-konwerter) czy na odwrót ? Następnie połączyłem konwerter i Arduino (Rx do pinu 48 i Tx do pinu 46 wg dokumentacji AltSoftSerial). Spróbowałem prostego kodu: Kod: #include <AltSoftSerial.h> }[/url][url=https://ibb.co/bJRHhS4] RE: Arduino Mega i waga na RS232C - adix - 03-07-2020 Łączysz tx-rx. Jesli masz ttl-usb połączyć do PC i zobacz co waga ci wysyła sadze ze najpierw zmusisz zrobić komunikacie po przed jakiś terminal a następnie tworzyć program na arduino. Bo to pozwali ci sprawdzić czy twoje zapytania uzyskują odpowiedz. RE: Arduino Mega i waga na RS232C - Robson Kerman - 03-07-2020 (02-07-2020, 12:34)Darnok1911 napisał(a): moje to Mega 2560 Dla czego więc sof serial, skoro masz cztery hard. (02-07-2020, 12:34)Darnok1911 napisał(a): Rx z Rx i Tx z Tx (Waga-konwerter) czy na odwrót ? Na odwrót. I ostatnia sprawa. Mi się wydaje, że port w tej wadze nie pracuje na poziomach TTL i można podpinać Arduino bezpośrednio do portu. Zdecydowana większość urządzeń przystosowana jest do portów emulowanych pracujących na logice 5V. Podpiąłem już kilkadziesiąt wag do uC i jeszcze nie spotkałem się z poziomami TTL. edit: Ale powinieneś to pomierzyć, zanim cokolwiek zrobisz. RE: Arduino Mega i waga na RS232C - Darnok1911 - 04-07-2020 Ok, dzięki za odpowiedzi. Rzeczywiście pomiar wykazał napięcie na poziomie TTL i podłączyłem arduino bezpośrednio bez softawareSerial Tx->pin 19 Rx i Rx-> Pin18 Tx. Użyłem następującego programu: Kod: void setup() { Ustawiłem funkcję AU PC, czyli ciągłe wysyłanie wagi i ten ciąg znaków zmienia się z wagą. Jak to zdekodować? Wg. dokumentacji to ASCII, próbowałem zmienną char, ale to samo. RE: Arduino Mega i waga na RS232C - kaczakat - 05-07-2020 Zmień prędkość UART w Serial1.begin na inną, najwyraźniej to nie jest 9600. RE: Arduino Mega i waga na RS232C - Darnok1911 - 05-07-2020 (05-07-2020, 18:24)kaczakat napisał(a): Zmień prędkość UART w Serial1.begin na inną, najwyraźniej to nie jest 9600.Ustawiłem w wadze 9600 Baud, więc inna nie może być. Czyli to są zupełnie błędnie odebrane dane? RE: Arduino Mega i waga na RS232C - kaczakat - 05-07-2020 Może to jest RS232 ale na poziomie napięć 5V, czyli odwrócona logika, gdzie 0 jest 1... W innym wątku ktoś próbował taki konwerter podłączyć do Arduino i też miał głupoty drukowane. Może zerknij co tam miał i kup sobie taki, do Arduino nie podłączysz, ale możesz potestować komunikację z terminala PC. Inny pomysł to odwrócić sygnał - tranzystor, wzmacniacz operacyjny czy dedykowany scalak. RE: Arduino Mega i waga na RS232C - Darnok1911 - 24-01-2021 Trochę czasu minęło, usiadłem na powrót do tego i zadziałało. Program był źle napisany plus walnięty kabel D-sub. Teraz mam jednak inny problem. Chcę mierzyć przepływ masowy za pomocą wagi. Stawiam zbiornik z cieczą na wadze i na podstawie ubytku masy w czasie oblicza przepływ. Wagę przesyła w porządku, ale obliczenia się sypią. Przepływ (flow) oblicza tylko przy dużych zmianach wagi. Przy niewielkich (20g/s) pokazuje 0.0000 kg/h mimo, że wedle pojedynczych działań wypluwanych przez Serial.print powinno wyjść te 72 kg/h. Dodatkowo zauważyłem, że Serial.print z końca programu potrafią wywalać - jeżeli zmienię je miejscami poszczególnych działań. Robię tu jakiś poważny błąd w programie? Program jest następujący: Kod: String x =""; RE: Arduino Mega i waga na RS232C - Jarewa0606 - 24-01-2021 Pokaż co wypluwa w monitorze string "x" RE: Arduino Mega i waga na RS232C - Darnok1911 - 25-01-2021 (24-01-2021, 23:33)Jarewa0606 napisał(a): Pokaż co wypluwa w monitorze string "x" Poniżej wycinek z monitora jak naciskam ręcznie: Kod: x= Edit: Tutaj przy małym przepływie wody. Po obcięciu stringu x z pustych miejsc, zamianie kg na g i dodanym delay 1500ms: Kod: x= |