logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?

tknefel - GORKY 05 Lis 2015 23:51 2019 8
REKLAMA
  • #1 15126043
    tknefel - GORKY
    Poziom 14  
    Chciałbym się dołączyć do tematu.

    Moderowany przez piotrva:

    3.1.19. Nie wysyłaj wiadomości w tematach archiwalnych, jeśli jest to kolejne pytanie, w szczególności inne niż osoby pytającej. Z racji szacunku do pytającego załóż własny temat. Możesz dopisać tylko sposób rozwiązania problemu.



    Walczę z programem w Bascom na Atmege32 połączoną poprzez MAX232 z czujnikiem wyposażonym w RS232
    Do komunikacji z czujnikiem posiadającym port RS232 posłużyłem się oprogramowaniem terminal oraz hercules.
    Każda komenda rozpoczyna się od / ukośnika a kończy . kropką a wysyłane są w postaci kodu ASCII.
    Dla przykładu
    /020L0150. włącza czujnik
    /020D0059. dokonuje pomiaru
    /020L0051. wyłącza czujnik

    Po wysłaniu do czujnika komendy /020D0059. czujnik zwraca wynik w postaci /0B0D00+xxxxxxumqq. gdzie xxxxxx to wartość mierzona w um (mikrometrach) a qq to suma kontrolna (chyba).
    Wynik pomiaru ma postać dla przykładu /0B0D00+020003um1B. i wszystko działa na PC.

    Pętla w programie jest odświeżana co ok 1 sekundę a pomiar wystarczy że będzie odświeżany np co 1 minute
    W jaki sposób mogę włączyć czujnik, dokonać pomiaru a następnie wyłączyć czujnik w Bascom.
    Do tej pory nie miałem do czynienia z RS232 w Bascom tak że proszę o wyrozumiałość.
  • REKLAMA
  • Pomocny post
    #2 15126604
    Konto nie istnieje
    Konto nie istnieje  
  • #3 15136878
    tknefel - GORKY
    Poziom 14  
    Witam
    Bardzo dziękuje za zainteresowanie problemem.
    Czujnik o którym mowa to CP08MHT80
    https://www.wenglor.com/fileadmin/functions/w...perating_instructions_CP08MHT80.pdf&zip=false

    http://cdn2.atcautomation.ie/images/printmark...nt%20Mark%20Sensor%20WP02%20User%20Manual.pdf

    Po wrzuceniu programu kolegi Bascom przy sprawdzaniu błędów wyrzuca:
    Unknown CONFIG parameter [SUBMODE]
    Unknown CONFIG parameter [COMPARE_A]
    Unknown CONFIG parameter [COMPARE_B]

    Przygotowałem na podstawie kodu kolegi wersje skróconą aby sprawdzić czy w ogóle następuje jakaś komunikacja (ale nie wiem czy poprawnie).

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Ogólnie na LCD Znak ma zawsze wartość zero niezależnie od odległości od czujnika.

    Sprawdzałem też czy usunięcia średnika z Print Get_sensor; coś zmieni.
    Nie wiem w czym leży problem.
  • REKLAMA
  • #4 15136962
    Konto nie istnieje
    Konto nie istnieje  
  • #5 15137595
    tknefel - GORKY
    Poziom 14  
    Po aktualizacji i wgraniu oprogramowania na wyświetlaczu pojawia się coś takiego.
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?
    Sprawdzałem też czy przypadkiem czujnik nie odmówił posłuszeństwa. po Podłączeniu do komputera komunikacja przedstawia się następująco.
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?
    oraz
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?
    W jaki sposób najlepiej krok po kroku mogę sprawdzić komunikacje między Atmega32 a czujnikiem?
  • Pomocny post
    #6 15137762
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #7 15138420
    tknefel - GORKY
    Poziom 14  
    Wyświetlacz sprawny, Atmega32 oraz max232 wstawione nowe i bez zmian.
    Max232 podłączony według schematu
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?

    Poniżej ustawione Fuse bits
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?

    Po wgraniu właściwego kodu do projektu bez obsługi karty SD i bez przetwornika termopary MAX31855 (oraz bez RS232) ekran wygląda następująco. Na końcu pierwszego wiersza jest ten sam znak co w przypadku próby komunikacji przez RS232.
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?

    Po wgraniu właściwego kodu do projektu z obsługą karty SD ale bez obsługi przetwornika termopary MAX31855 (oraz bez RS232) ekran LCD wygląda natępująco.
    Bascom - jak włączyć, zmierzyć i wyłączyć czujnik RS232 na Atmega32?

    Nie wiem czy to ma znaczenie ale w projekcie jest jeszcze kilka urządzeń.
    Umieszczona jest karta SD oraz przetwornik termopary MAX31855 z którymi też mam problem ponieważ nie potrafię obsługiwać obu urządzeń na raz tzn odczytuje wartość z termopary K i zapisuje wraz z innymi danymi na kartę SD.
    W projekcie jest również zegar czasu rzeczywistego PCF8583 oraz czujnik temperatury DS18B20.
    Zauważyłem też że wysyłając naprzemiennie komendy włączenia i wyłączenia czujnika z Atmegi nie skutkuje wyłączeniem lasera jak to ma miejsce w przypadku obsługi z komputera.
  • REKLAMA
  • Pomocny post
    #8 15138548
    Konto nie istnieje
    Konto nie istnieje  
  • #9 15145047
    tknefel - GORKY
    Poziom 14  
    Udało się nawiązać komunikacje.
    Życzę forum elektrody i sobie więcej tak życzliwych i pomocnych użytkowników forum.
    Pozdrawiam i walczę dalej z projektem.
REKLAMA