Skocz do zawartości

Problem z modułem radiowym 433MHz


Pomocna odpowiedź

Cześć

Niedawno kupiłem na Botlandzie moduł radiowy nadajnik FS100A + odbiornik 433 MHz. Cały dzień pracowałem nad jego podłączeniem. Korzystałem z przykładów biblioteki VirtualWire.h oraz podłączyłem nadajnik do pinu 12 i odbiornik do pinu 11 (do osobnych płytek). Nie potrafiłem odebrać komunikatu. Czy błąd leży gdzieś po mojej stronie czy zwyczajnie nadajnik i odbiornik nie współpracują ze sobą i powinienem dokonać zwrotu?

Przykład z biblioteki VirtualWire

//NADAJNIK

// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
    Serial.begin(9600);	  // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec
}

void loop()
{
    const char *msg = "hello world";

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    Serial.println("Wyslano!");
    delay(200);
}

//ODBIORNIK

// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>
#undef int
#undef abs
#undef double
#undef float
#undef round
void setup()
{
    Serial.begin(9600);	// Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
	int i;

        digitalWrite(13, true); // Flash a light to show received good message
	// Message with a good checksum received, dump it.
	Serial.print("Got: ");
	
	for (i = 0; i < buflen; i++)
	{
	    Serial.print(buf[i], HEX);
	    Serial.print(" ");
	}
	Serial.println("");
        digitalWrite(13, false);
    }
}

Mój moduł:

1.thumb.jpg.b4bcfb22808a0a0561303341bd58d2a5.jpg

Przykład z poradnika na YT

2.thumb.png.c330e8e055d81b1c9661af2a10efcd5d.png

 

 

Edytowano przez stander
Link to post
Share on other sites

Spróbuj zewrzeć antenki rezystorem np. 1k i sprawdź jeszcze raz (a w ogóle masz antenkę?). Być może uda się zestroić przy zwarciu ale cudów się po tym nie spodziewaj. Te moduły to największe g..o jakie można kupić. Mnie to działa tylko na ok. kilkanaście metrów mimo zastosowania anten dopasowanych najdokładniej jak się tylko dało i wielu godzin poświęconych na dokładne zestrojenie i filtrowanie. Nie polecam nikomu szarpać sobie tym nerwów.

Jedyne co jest warte uwagi w tym wynalazku to ten rezonator ceramiczny jeśli komuś by się chciało na jego bazie budować własny nadajnik.

Link to post
Share on other sites
9 godzin temu, atMegaTona napisał:

Spróbuj zewrzeć antenki rezystorem np. 1k i sprawdź jeszcze raz (a w ogóle masz antenkę?). Być może uda się zestroić przy zwarciu ale cudów się po tym nie spodziewaj. Te moduły to największe g..o jakie można kupić. Mnie to działa tylko na ok. kilkanaście metrów mimo zastosowania anten dopasowanych najdokładniej jak się tylko dało i wielu godzin poświęconych na dokładne zestrojenie i filtrowanie. Nie polecam nikomu szarpać sobie tym nerwów.

Jedyne co jest warte uwagi w tym wynalazku to ten rezonator ceramiczny jeśli komuś by się chciało na jego bazie budować własny nadajnik.

Dzięki za pomoc. A co do tej antenki to żadnej nie dorabiałem, podłączyłem tylko te moduły w ten sposób:

3.thumb.png.cd35b22efbe19065a4198d9f703f845d.png

Link to post
Share on other sites
14 godzin temu, stander napisał:

z tyłu odbiornika napisane są częstotliwości, które można wybrać przekręcając śrubkę

To oczywiście kompletna bzdura. "Śrubka" to kondensator którym producent delikatnie dostraja obwód rezonansowy do konkretnej częstotliwości na jaką został wykonany moduł, ale na pewno nie służy do jeżdżenia między odległymi pasmami. Jakiekolwiek samodzielne gmeranie przy tym obwodzie w zasadzie niszczy odbiornik a jego czułość (i tak marna) spada jeszcze bardziej.

4 godziny temu, stander napisał:

A co do tej antenki to żadnej nie dorabiałem

Trochę śmieszne, trochę straszne.. Aż tak bardzo nie rozumiesz co robisz, czy zwyczajnie liczysz na jakąś magię?

14 godzin temu, atMegaTona napisał:

mimo zastosowania anten dopasowanych najdokładniej jak się tylko dało

Intrygujące. Czy mógłbyś rozwinąć temat dopasowania anten? Jakich anten użyłeś (w sensie rodzaju: dipol, GP, whip itd) i jak je stroiłeś?

Ogólnie: te moduły są rzeczywiście słabe, ale z powodzeniem działają na ponad 20 metrów w wolnej przestrzeni, oczywiście z antenami. Z moich doświadczeń wynika, że odbiornik jest bardzo czuły na zakłócenia przychodzące po zasilaniu, choćby z USB komputera. Zasilanie części odbiorczej (Arduino+moduł odbiornika) z baterii (LiPol 2S) dawało kilkukrotne zwiększenie zasięgu w mieszkaniu.

Link to post
Share on other sites
1 godzinę temu, marek1707 napisał:
6 godzin temu, stander napisał:

A co do tej antenki to żadnej nie dorabiałem

Trochę śmieszne, trochę straszne.. Aż tak bardzo nie rozumiesz co robisz, czy zwyczajnie liczysz na jakąś magię?

Oj każdemu może się zdarzyć 😉 Czasami można się zapomnieć, bo niektóre moduły bezprzewodowe miewają już domyślnie wbudowane anteny. Teraz na pewno autor pytania będzie już o tym pamiętał. 

@stander zacznij od dorobienia antenek (na szczęście wystarczy wlutować kawałek przewodu - sprawdź tylko jaką musi mieć długość). Zajmij się też zapewnieniem odpowiednio stabilnego zasilania. Bez tego, próby uruchomienia komunikacji na tych modułach spisane będą na porażkę.

Link to post
Share on other sites

Nikogo nie wprowadziłeś w błąd. Opisałeś co zrobiłeś i że nie działa a ja tylko zdziwiłem się, że można z tak zerową wiedzą startować do procesorów i radia. No cóż, widocznie można.

  1. Sprawdź czy moduły w ogóle są zasilane: zmierz multimetrem napięcie zasilania 5V na ich pinach. Może coś nie dochodzi przez płytkę stykową?
  2. Sprawdź, czy nie zamieniłeś programów, tj, czy każde Arduino dostało swój skrypt: nadawcze nadający a odbiorcze odbierający..
  3. Czy dioda LED w nadajniku mruga?
  4. Możesz zmierzyć multimetrem napięcie na wejściu danych nadajnika: powinno być trochę większe niż 0V, bo krótkie ramki wysyłane 5 razy na sekundę powinny dawać jakieś widoczne napięcie DC.
  5. To samo zrób po stronie odbiornika. O ile pamiętam on odwraca fazę tj. sygnał z nadajnika powoduje wysłanie stanu niskiego do procesora. Zmierz napięcie na pinie procesora na który przychodzą dane odbierane, powinno być delikatnie niższe niż Vcc płytki. Możesz też napisać prosty skrypt odbiornika przepisujący stan pinu 11 na diodkę LED (pin 13) i zobaczyć czy w ogóle coś przychodzi.

Generalnie sprawdź kabelki, mierz napięcia a przede wszystkim zrób anteny. Do zabawy na biurku wystarczy jakikolwiek kawałek drutu, na 433MHz idealnie będzie ok 17cm.

Edytowano przez marek1707
  • Lubię! 1
Link to post
Share on other sites

Wpisz w google i obejrzyj fotki jak ten moduł powinien wyglądać, znajdź brakujące elementy na swoim. 

image.thumb.png.cebb00df84cd588e3f6f66c3a05442ca.png

Nie twierdzę, że bez nich będzie działał źle, ale widziałem już walkę jednej osoby z tym modułem w tej konfiguracji. Mnie to działa OK na około 50m, ale mam takie jak na fotce powyżej + antena z izolowanego miedzianego drutu, zwiniętego na walcu 4-10mm (tylko dla celów estetycznych), długość antenki około 17cm (potem można skrócić o jakieś pojedyncze milimetry ewentualnie). Długość oczywiście przed zwinięciem.

  • Lubię! 2
Link to post
Share on other sites
Dnia 7.08.2019 o 12:43, marek1707 napisał:

Intrygujące. Czy mógłbyś rozwinąć temat dopasowania anten? Jakich anten użyłeś (w sensie rodzaju: dipol, GP, whip itd) i jak je stroiłeś?

Zacząłem od po prostu drutu bo wyjście w tym nadajniku ma wysoką impedancję, później dipol, śruba, podwójna spirala płaska dla szerszego pasma, GP i koniczynka kombinując również z różnymi wariantami po obu stronach. Miałem pomysł zbudować na tym komunikację dwukierunkową na odległość ok. 50m. Najlepiej sprawdzał się GP kompensowany cewką jako dodatkowe obciążenie ale efekt taki jak pisałem. Być może udałoby się coś poprawić przy dipolu kierunkowym z reflektorem ale nie chciało mi się już z tym zmagać . Próbowałem zmieniać wartość obciążenia, dopasowywać długość dipola i kąty przeciwwag ale zadowalającego zasięgu nie uzyskałem. Tak więc na GP mam ok. kilkanaście metrów na śrubie o kilka mniej przy baudzie 19200, o reszcie nie warto wspominać w tym kontekście .

Problemem może też być zaśmiecenie elektromagnetyczne w miejscu testów ale tego nie przeskoczy. Poza tym ten odbiornik też nie jest najwyższych lotów i ma tylko podstawowe filtrowanie.

Link to post
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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.