Dzięki mikrokontrolerom AVR, takim jak ATmega można zrealizować wiele ciekawych projektów. Autor poniższej konstrukcji postanowił wykorzystać te możliwości do skonstruowania prostego nadajnika AM (z modulacją amplitudy) wykorzystując Arduino Nano (możliwe jest także wykorzystanie Arduino UNO).
Tylko w jaki sposób można uzyskać modulację amplitudy (AM) na urządzeniu cyfrowym? Żaden z tych mikrokontrolerów nie posiada odpowiednio szybkiego przetwornika cyfrowo-analogowego (DAC), aby syntezować sygnał radiowy w którym amplituda częstotliwości nośnej zmienia się zgodnie z amplitudą sygnału wejściowego, który chcemy transmitować. Matematyczny opis sygnału AM jest dosyć prosty, po prostu mnożymy sygnał nośny przez sygnał wejściowy. Ale ponieważ ATmega ma tylko wyjścia cyfrowe, może podać tylko dwie wartości: wysoką i niską. Nie ma zatem sposobu, aby uzyskać prawdziwy sygnał AM z Arduino, niemniej jednak jest możliwe wytworzenie sygnału wyjściowego, który będzie dostatecznie bliski takiemu sygnałowi - da się go usłyszeć z pomocą normalnego radia AM.
Rozwiązanie tego problemu polega na przekształceniu analogowego sygnału wejściowego w sygnał PWM za pomocą przetwornika analogowo-cyfrowego (ADC) i 16-bitowego timera-licznika numer 1 w mikrokontrolerze ATmega MCU. Drugi timer w układzie generuje sygnał nośny. Jego częstotliwość może być zmieniania w szerokim zakresie, od 31 kHz do 8 MHz. Sygnał nośny jest wyprowadzany na pin D11 i jest modulowany z pomocą sygnału PWM.
Radio AM zachowuje się jak filtr dolnoprzepustowy dla PWM, więc odzyskujemy z jego pomocą oryginalny sygnał audio, wykorzystany do modulacji. To tylko prosty demonstrator tej koncepcji. Aby stworzyć normalnie działające radio z wykorzystaniem tego mikrokontrolera trzeba uzupełnić je, co najmniej o filtr dolnoprzepustowy na wejściu audio, który pozwoli uniknąć aliasingu sygnałów o wyższej częstotliwości oraz filtr dolnoprzepustowy na wyjściu sygnału radiowego, który pozwoli na usunięcie z sygnału składowych harmonicznych.
Nadawanie sygnałów radiowych w pasmie AM wymaga odpowiedniej licencji - projekt umieszczony jest tutaj jedynie w celach edukacyjnych
Na filmie po prawej stronie widać dokładnie jak działa radio.
Aby zestawić takie urządzenie potrzebujemy:
* Arduino Nano lub Uno
* Płytkę stykową
* Kondensator 10 µF
* 2 x Rezystor 10k
* Drut - antena, min. 50 cm.
Krok 1: Podłącz Arduino
W pierwszym kroku należy połączyć wszystkie elementy systemu, jak pokazano na schemacie po lewej stronie. Projekt można zrealizować w oparciu o Arduino Nano i Arduino UNO, ponieważ oba te moduły mają ten sam mikrokontroler i identyczny rozkład wyprowadzeń. Zmiana układu na inny wymagać może zmian w kodzie lub podłączeniu poszczególnych sygnałów.
Krok 2: Prześlij szkic programu do układu
Po wybraniu częstotliwości, przy jakiej układ ma nadawać należy wprowadzić ją w parametrze fTransmit w wierszu 7 skryptu. Następnie można skompilować szkic i wgrać go do modułu Arduino. Na monitorze szeregowym pojawi się informacja o rzeczywistej częstotliwości nośnej (natychmiast po uruchomieniu programu). Po ustawieniu radia na tę częstotliwość, do kondensatora wejściowego można podłączyć dowolny odtwarzacz muzyki i cieszyć się zaskakująco dobrą jakością przesyłanego dźwięku.
Wskazówka: im dłuższy przewód anteny, tym większy zasięg układu (w uproszczeniu). Najlepsza długość to jedna czwarta długości fali nośnej. Dla 1 MHz jest to 75 metrów drutu.
Skrypt opisujący działanie nadajnika prezentuje się następująco:
Źródło: https://www.instructables.com/id/AM-Transmitter-With-Arduino/
Tylko w jaki sposób można uzyskać modulację amplitudy (AM) na urządzeniu cyfrowym? Żaden z tych mikrokontrolerów nie posiada odpowiednio szybkiego przetwornika cyfrowo-analogowego (DAC), aby syntezować sygnał radiowy w którym amplituda częstotliwości nośnej zmienia się zgodnie z amplitudą sygnału wejściowego, który chcemy transmitować. Matematyczny opis sygnału AM jest dosyć prosty, po prostu mnożymy sygnał nośny przez sygnał wejściowy. Ale ponieważ ATmega ma tylko wyjścia cyfrowe, może podać tylko dwie wartości: wysoką i niską. Nie ma zatem sposobu, aby uzyskać prawdziwy sygnał AM z Arduino, niemniej jednak jest możliwe wytworzenie sygnału wyjściowego, który będzie dostatecznie bliski takiemu sygnałowi - da się go usłyszeć z pomocą normalnego radia AM.
Rozwiązanie tego problemu polega na przekształceniu analogowego sygnału wejściowego w sygnał PWM za pomocą przetwornika analogowo-cyfrowego (ADC) i 16-bitowego timera-licznika numer 1 w mikrokontrolerze ATmega MCU. Drugi timer w układzie generuje sygnał nośny. Jego częstotliwość może być zmieniania w szerokim zakresie, od 31 kHz do 8 MHz. Sygnał nośny jest wyprowadzany na pin D11 i jest modulowany z pomocą sygnału PWM.
Nadawanie sygnałów radiowych w pasmie AM wymaga odpowiedniej licencji - projekt umieszczony jest tutaj jedynie w celach edukacyjnych
Na filmie po prawej stronie widać dokładnie jak działa radio.
Aby zestawić takie urządzenie potrzebujemy:
* Arduino Nano lub Uno
* Płytkę stykową
* Kondensator 10 µF
* 2 x Rezystor 10k
* Drut - antena, min. 50 cm.
Krok 1: Podłącz Arduino
W pierwszym kroku należy połączyć wszystkie elementy systemu, jak pokazano na schemacie po lewej stronie. Projekt można zrealizować w oparciu o Arduino Nano i Arduino UNO, ponieważ oba te moduły mają ten sam mikrokontroler i identyczny rozkład wyprowadzeń. Zmiana układu na inny wymagać może zmian w kodzie lub podłączeniu poszczególnych sygnałów.
Krok 2: Prześlij szkic programu do układu
Po wybraniu częstotliwości, przy jakiej układ ma nadawać należy wprowadzić ją w parametrze fTransmit w wierszu 7 skryptu. Następnie można skompilować szkic i wgrać go do modułu Arduino. Na monitorze szeregowym pojawi się informacja o rzeczywistej częstotliwości nośnej (natychmiast po uruchomieniu programu). Po ustawieniu radia na tę częstotliwość, do kondensatora wejściowego można podłączyć dowolny odtwarzacz muzyki i cieszyć się zaskakująco dobrą jakością przesyłanego dźwięku.
Wskazówka: im dłuższy przewód anteny, tym większy zasięg układu (w uproszczeniu). Najlepsza długość to jedna czwarta długości fali nośnej. Dla 1 MHz jest to 75 metrów drutu.
Skrypt opisujący działanie nadajnika prezentuje się następująco:
Code: c
Źródło: https://www.instructables.com/id/AM-Transmitter-With-Arduino/
Moderated By dondu:Pomimo raportów , iż temat schodzi na prawo telekomunikacyjne zostawiam posty tego dotyczące, ponieważ i tak ponownie będzie dyskusja się w ty kierunku toczyła.
Jeśli autor tematu uzna jednak za stosowne wydzielić te posty, to proponuję to zrobić, gdy dyskusja się wygasi.
Cool? Ranking DIY