Spisu treści:
- Krok 1: Rzeczy, których potrzebujemy do tego projektu (wymagania)
- Krok 2: Teoria ADC do PWM
- Krok 3: Schemat
- Krok 4: Test końcowy
Wideo: Odtwarzaj utwory za pomocą Arduino za pomocą ADC do PWM na transformatorze Flyback lub głośniku: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Cześć chłopaki, To jest druga część mojej kolejnej instrukcji (która była bardzo trudna). Zasadniczo w tym projekcie użyłem ADC i TIMER na moim Arduino do konwersji sygnału audio na sygnał PWM.
Jest to znacznie łatwiejsze niż mój poprzedni Instructable. Oto link do mojego pierwszego Instructable, jeśli chcesz zobaczyć. połączyć
Aby zrozumieć teorię sygnału audio, szybkości transmisji, głębokości bitów, częstotliwości próbkowania, możesz przeczytać teorię w moim ostatnim samouczku Instructable. Link znajduje się powyżej.
Krok 1: Rzeczy, których potrzebujemy do tego projektu (wymagania)
1. Płytka Arduino (możemy użyć dowolnej płytki (328, 2560) tj. Mega, Uno, Mini itp., ale z określonymi różnymi pinami)
2. Komputer PC z Arduino Studio.
3. Deska do krojenia chleba lub płyta perforowana
4. Podłączanie przewodów
5. TC4420 (sterownik Mosfet lub coś takiego)
6. Power Mosfet (kanał N lub P, proszę odpowiednio podłączyć) (użyłem kanału N)
7. Głośnik lub transformator Flyback (Tak, dobrze to przeczytałeś!!)
8. Odpowiedni zasilacz (0-12 V) (użyłem własnego zasilacza ATX)
9. Radiator (uratowałem z mojego starego komputera).
10. Wzmacniacz (normalny wzmacniacz muzyczny) lub obwód wzmacniacza.
Krok 2: Teoria ADC do PWM
W tym projekcie użyłem wbudowanego przetwornika ADC Arduino do próbkowania danych sygnału audio.
ADC (przetwornik analogowo-cyfrowy) jak sama nazwa określa, ADC konwertuje sygnał analogowy na próbki cyfrowe. I dla Arduino z maksymalnie 10-bitową głębią. Ale w tym projekcie użyjemy próbkowania 8-bitowego.
Korzystając z ADC Arduino, musimy pamiętać o napięciu ADC_reference.
Arduino Uno oferuje napięcie 1.1V, 5V (odniesienie wewnętrzne, które można ustawić definiując w kodzie) lub odniesienie zewnętrzne (które musimy nałożyć zewnętrznie na pin AREF).
Zgodnie z moim doświadczeniem, aby uzyskać dobry wynik z ADC, jako napięcie odniesienia powinno być używane minimum 2,0 V. Ponieważ 1.1V nie szło dobrze przynajmniej dla mnie. (Osobiste doświadczenie)
*WAŻNE* *WAŻNE**WAŻNE**WAŻNE**WAŻNE*
Musimy użyć wzmocnionego sygnału audio ze wzmacniacza lub obwodu wzmacniacza o napięciu szczytowym (maksymalne napięcie) 5V
Ponieważ ustawiłem wewnętrzne napięcie odniesienia na 5V dla naszego projektu. A ja używam wzmocnionego sygnału za pomocą normalnego wzmacniacza (wzmacniacza muzycznego), który jest w większości dostępny w naszym gospodarstwie domowym lub możesz go zbudować dla siebie.
Więc teraz główna część. Częstotliwość próbkowania, czyli ile próbek nasz przetwornik ADC pobiera na sekundę, im większy jest współczynnik konwersji, tym lepszy będzie wynik wyjściowy, bardziej podobna będzie fala wyjściowa w porównaniu do wejściowej.
Tak więc w tym projekcie użyjemy częstotliwości próbkowania 33,33 kHz, ustawiając zegar ADC na 500 kHz. Aby zrozumieć, jak to jest, musimy zobaczyć stronę czasową ADC w arkuszu danych układu Atmega (328p).
Widzimy, że potrzebujemy 13,5 cykli zegara ADC, aby uzupełnić jedną próbkę z automatycznym próbkowaniem. Przy częstotliwości 500Khz oznacza to 1/500Khz=2uS dla jednego cyklu ADC, co oznacza, że 13,5*2uS=27uS jest potrzebne do ukończenia próbki, gdy używane jest automatyczne próbkowanie. Dając 3 uS więcej do mikrokontrolera (dla bezpiecznej strony), dając w sumie 30 uS dla jednej próbki.
Tak więc 1 próbka przy 30uS oznacza 1/30uS=33,33 KSpróbki/S.
Aby ustawić częstotliwość próbkowania, która jest zależna od TIMER0 Arduino, ponieważ wyzwalanie automatycznego próbkowania ADC jest zależne od tego w naszym przypadku, jak widać również w kodzie i arkuszu danych, ustawiliśmy wartość OCR0A=60 (Dlaczego tak ???)
Ponieważ zgodnie ze wzorem podanym w arkuszu danych.
częstotliwość (lub tutaj Sample Rate)=Częstotliwość zegara Arduino/Prescalera*Wartość OCR0A (w naszym przypadku)
Częstotliwość lub częstotliwość próbkowania, którą chcemy = 33,33 KHz
Częstotliwość zegara = 16 MHz
Wartość preskalera = 8 (w naszym przypadku)
Wartość OCR0A=chcemy znaleźć??
co po prostu daje OCR0A=60, również w naszym kodzie Arduino.
TIMER1 służy do przenoszenia fali nośnej sygnału audio, i nie będę się tu zagłębiał w tak wiele szczegółów.
Tak wyglądała krótka teoria koncepcji ADC do PWM z Arduino.
Krok 3: Schemat
Połącz wszystkie komponenty, jak pokazano na schemacie. Masz tutaj dwie opcje:-
1. Podłącz głośnik (podłączony do 5 V)
2. Podłącz transformator Flyback (podłączony do 12 V)
Próbowałem obu. I oba działają całkiem dobrze.
*WAŻNE* *WAŻNE**WAŻNE**WAŻNE**WAŻNE**WAŻNE*Musimy użyć wzmocnionego sygnału audio ze wzmacniacza lub obwodu wzmacniacza o szczytowym napięciu (maksymalne napięcie) 5V
Zastrzeżenie:-
*Polecam używanie transformatora Flyback z ostrożnością, ponieważ może to być niebezpieczne, ponieważ wytwarza wysokie napięcia. I nie ponoszę odpowiedzialności za żadne szkody.*
Krok 4: Test końcowy
Więc prześlij podany kod do swojego Arduino i podłącz wzmocniony sygnał do pinu A0.
I nie zapomnij podłączyć wszystkich pinów uziemiających do wspólnego uziemienia.
I po prostu ciesz się słuchaniem muzyki.
Zalecana:
Odtwarzaj utwory (MP3) z Arduino za pomocą PWM na głośniku lub transformatorze Flyback: 6 kroków (ze zdjęciami)
Odtwarzaj utwory (MP3) z Arduino za pomocą PWM na głośniku lub transformatorze Flyback: Cześć chłopaki, to jest moja pierwsza instrukcja, mam nadzieję, że ci się spodoba!! Zasadniczo w tym projekcie użyłem komunikacji szeregowej między moim Arduino a moim laptopem, do przesyłania danych muzycznych z mojego laptopa do Arduino. A za pomocą Arduino TIMERS t
8-bitowe utwory używające motywu zakończenia Arduino / Zelda: 4 kroki
8bit Songs using Arduino / Zelda Ending Theme: Czy kiedykolwiek chciałeś zrobić tego rodzaju karty podarunkowe lub zabawki, które odtwarzają piosenkę po ich otwarciu lub ściśnięciu? Z piosenką własnego wyboru? Może nawet piosenkę, którą stworzyłeś? Cóż, to najłatwiejsza rzecz na świecie i nic Cię to nie kosztuje
Odtwarzaj utwory za pomocą silnika krokowego !!: 11 kroków (ze zdjęciami)
Odtwarzaj utwory za pomocą silnika krokowego!!: Ten projekt dotyczy zaprojektowania prostego dynamicznego interfejsu, który pozwoli na interakcję z silnikiem krokowym na dwa różne sposoby. Pierwszy interfejs będzie kontrolował kierunek i prędkość silnika krokowego za pomocą prosty GUI, który h
Jak usunąć utwory lub inne rzeczy z DVD jako MP3: 4 kroki
Jak usunąć utwory lub inne rzeczy z DVD jako MP3: Jeśli masz płytę DualDisc z utworami, których chcesz posłuchać na iPodzie, lub normalną płytę DVD z może ścieżką z komentarzem, której chcesz posłuchać iPoda, przeczytaj resztę tego, aby to zrobić. Potrzebne przedmioty-komputer, ręce, mózg, DVD, iPod
Odtwarzaj filmy do tyłu za pomocą odtwarzacza Quicktime: 5 kroków
Odtwarzaj filmy do tyłu za pomocą programu Quicktime Player: To najwspanialsza sztuczka stulecia. Ta instrukcja pokazuje łatwy sposób odtwarzania filmów do tyłu bez pobierania podejrzanych programów (jeśli nie masz quicktime, będziesz tego potrzebować). Obraz nie ma nic do zrobić z projektem, ale potrzebowałem