Jeżeli zajdzie potrzeba podłączenie do płytki ewaluacyjnej LPCXpresso Base Board mikrofonu, można wykorzystać do tego celu złącze BNC które znajduje się na płytce. Złącze to podłączone jest do przetwornika analogowo cyfrowego mikrokontrolera. W tym miejscu muszę od razu zaznaczyć iż konieczne jest sprawdzenie w schematach posiadanej przez nas płytki, która nóżka kontrolera podłączona jest do tego złącza, a co za tym idzie, który kanał przetwornika analogowo cyfrowego będziemy używać.
Niestety samo podłączenie mikrofonu do przetwornika nie przyniesie pożądanych efektów, konieczne będzie wykonanie przedwzmacniacza przez który podłączony zostanie mikrofon. Podłączając mikrof±on bezpośrednio do płytki przez złącze BNC nie przyniesie porządanego efektu. Dane uzyskane na wyjściu przetwornika będą wahać się ±3 jednostki. Ostateczny wniosek jest taki, iż sam mikrofon do niczego się nie nada, konieczne będzie przygotowanie prostego przedwzmacniacza.
Przygotowanie wzmacniacza
Na wstępnie pragnę zaznaczyć iż materiał w tym nagłówku nie jest autorski. Pochodzi z dokumentu firmy Atmel, która przedstawia sposób podłączenia mikrofonu do jednego ze swoich kontrolerów. Osoby znające język angielski zachęcam do zapoznania się z oryginałem.
Proponowany przedwzmacniacz będzie opierać się na układzie scalonym LM324 w którego obudowie znajdują się cztery wzmacniacze. Lista elementów które należy podłączyć do wzmacniacza jest na prawdę niewielka, schemat ideowy znajduje się poniżej:
Lista elementów które należy przygotować jest następująca:
- U1 – LM324
- R1, R2, R3 – 10kΩ
- R4, R9 – 1kΩ
- R5 – 12kΩ
- C1 – 1μF
- C6 – 100nF
- C8 – 4.7nF
Cały układ można zmontować na „pająku” albo wykorzystać płytkę uniwersalną. Z racji tego iż nie miałem ani warukntów ani narzędzi do wykonania własnej płytki, skorzystałem właśnie z płytki uniwersalnej. Cena takiej płytki to około 8 zł za płytkę o wymiarach 8 cm x 14 cm. Poniżej przedstawiam propozycję rozmieszczenia elementów.
Oczywiście zachęcam do zapoznania się z notą katalogową wzmacniacza lm324n, oraz dokumentu na którym bazuję doc1456.
Część programowa
Złącze BNC podłączone jest do kanału 5 przetwornika analogowo cyfrowego (jeżeli do płytki LPCXpresso Base Board podłączona zostałą płytka LPC 1768). Jeżeli do płytki bazowej podłączona jest inna płytka z innym kontrolerem, należy zapoznać się ze schematami dostarczonymi przez firmę Embedded Artist.
Przedstawiając stronę programową obsługi mikrofonu, należy rozpocząć od funkcji inicjalizującej przetwornik analogowo cyfrowy:
static void adc_init(uint32_t convert_frequency) { uint32_t temp, tmp = 0; LPC_SC->PCONP |= (1 << 12); LPC_ADC->ADCR = 0; LPC_PINCON->PINSEL3 = (3 << 30); //tmp = (1 << 21); //temp = SystemCoreClock / 4; //temp = (temp / convert_frequency) - 1; //tmp |= (temp << 8); LPC_ADC->ADCR = tmp; LPC_ADC->ADCR = 0x201800; // config //LPC_ADC->ADINTEN &= ~(1 << 0); // number of channel to enable //LPC_ADC->ADCR |= (1 << 0); LPC_ADC->ADINTEN = 0x100; LPC_ADC->ADCR |= (1 << 5); } |
W tym miejscu konieczne wydaje się przytoczenie kilku wyjaśnień, co dzieje się w funkcji inicjalizującej przetwornik. Otóż linijka 5 włącza zasilanie modułu przetwornika AC. Linijka 8 to wybór, iż pin x będzie używany jako wejście przetwornika AC. Kolejne linijki (oraz linijka 6) są ściśle związane z konfiguracją przetwornika, zachęcam więc do zapoznania się z rozdziałem 29 (LPC17xx Analog-To-Device Converter (ADC)) dokumentacji mikrokontrolera.
// wait until conversion will be done do { adc_done = LPC_ADC->ADDR5; } while(!(adc_done & (1 << 31))); // Read value of conversion trim = ((LPC_ADC->ADDR5 >> 4) & 0xff); // value from 0 register |
W powyższym kodzie, w pętli do … while kopiowana jest zawartość rejestru wynikowego (rejestr w którym znajduje się wynik przetwarzania) do zmiennej, a następnie sprawdany jest status przetwarzania. Jeżeli przetwarzanie zostało zakończone, najstarszy bit w tym rejestrze będzie miał wartość 1. Należy również dodać, iż odczytanie zawartości tego rejestru, powoduje zresetowanie najstarszego bitu. Ostatnia linijka powoduje zapisanie przetworzonej wartości do zmiennej trim uint32_t).
Uwagi
Niestety płytka bazowa LPCXpresso Base Board nie została wyposażona w złącze jack służące do podłączenia mikrofonu, jednak zupełnie niewielkim kosztem można wykonać własną przystawkę do płytki. Wszystkie niezbędne elementy konieczne do wykonania przystawki zostały zaprezentowane w niniejszym wpisie. Do przygotowania przystawki wystarczy elementarna znajomość elektroniki oraz umiejętnośc posługiwania się lutownicą.
Opracowując rozmieszczenie elementów na płytce, korzystałem z darmowej aplikacji KiCAD. Aby przyspieszyć proces wykonania przystawki, dołączam również wykanany przeze mnie projekt w tejże aplikacji, zachęcam do pobrania wzmacniacz2.tar
Źródła
















