guitarVmeter - miniaturowy monitor baterii do gitary

guitarVmeter - miniaturowy monitor baterii do gitary
Pobierz PDF Download icon

Pomysł na ten niewielki projekt narodził się z potrzeby chwili. Zostałem poproszony przez mojego dobrego kolegę, zapalonego gitarzystę, o skonstruowanie miniaturowego urządzenia, którego zadaniem będzie monitorowanie stanu baterii zasilającej (9 V, 6F22) przetwornik aktywny umieszczony w gitarze elektrycznej, gdyż nie wszystkie konstrukcje tego typu posiadają taką funkcję.

Podstawowe parametry:
  • sygnalizacja stanu baterii 9 V z podziałem na 6 poziomów,
  • pobór prądu w stanie uśpienia ok. 10 μA,
  • miniaturowa konstrukcja.

Na kanwie tych założeń powstał niezmiernie prosty projekt monitora baterii zasilającej aktywny przetwornik akustyczny gitary elektrycznej pod nazwą guitarVmeter. Urządzenie generuje serię krótkich dźwięków informujących o stanie baterii zasilającej (jej napięciu) wyłącznie podczas włączania przetwornika po czym przechodzi w stan uśpienia, by oszczędzać energię baterii.

Budowa i działanie

Schemat ideowy urządzenia pokazano na rysunku 1. Jest to bardzo prosty, by nie powiedzieć banalny, system, którego „sercem” jest miniaturowy mikrokontroler ATtiny10 firmy Microchip (dawniej Atmel). Taktowany jest wewnętrznym, wysokostabilnym generatorem RC o częstotliwości 1 MHz. Pomiar napięcia baterii zasilającej (poprzez dzielnik napięcia R2/R3) wykonywany jest przy pomocy wbudowanego przetwornika analogowo-cyfrowego.

Rysunek 1. Schemat ideowy urządzenia

Obsługa sygnalizatora akustycznego w postaci miniaturowego przetwornika piezoelektrycznego o częstotliwości rezonansowej ok. 4 kHz zrealizowana jest przy udziale układu czasowo-licznikowego Timer0 wbudowanego w strukturę mikrokontrolera. Timer pracując w trybie CTC generuje przebieg prostokątny na wyprowadzeniu PB1 (OC0B), do którego podłączono wspomniany wcześniej przetwornik piezoelektryczny.

Działanie całego urządzenia przedstawia się następująco. Tuż po włączeniu zasilania emitowany jest krótki dźwięk informujący o sprawności urządzenia. Następnie, po około pół sekundy, mierzone jest napięcie baterii zasilającej po czym generowanych jest kilka sygnałów akustycznych, które informują użytkownika o stanie baterii zasilającej, przy czym liczba emitowanych sygnałów dźwiękowych zależy od faktu o ile połówek Volta zmierzone napięcie zasilające jest mniejsze, niż znamionowe 9 V. Zgodnie z tym założeniem napięciu 8,5 V odpowiada jeden sygnał dźwiękowy, napięciu 8,0 V dwa sygnały dźwiękowe, napięciu 7,5 V trzy sygnały dźwiękowe i tak dalej aż do napięcia 6 V, któremu odpowiada 6 sygnałów dźwiękowych. Po wyemitowaniu sygnałów akustycznych urządzenie przechodzi w tryb uśpienia o bardzo niskim poborze mocy (pobór prądu rzędu 10 mA) i pozostaje w nim do czasu kolejnego wyłączenia i włączenia urządzenia.

Na listingu 1 pokazano ciało funkcji odpowiedzialnej za pomiar napięcia zasilającego urządzenie (wraz z niezbędnymi definicjami), zaś na listingu 2 prostą funkcję odpowiedzialną za generowanie dźwięku.

Listing 1. Funkcja odpowiedzialna za pomiar napięcia zasilającego urządzenie
//Napięcie zasilające procesor będące jednocześnie
//referencją dla ADC [0.1V]
#define VCC 33UL
//Górny rezystor dzielnika napięcia baterii [kohm]
#define R1 280UL
//Dolny rezystor dzielnika napięcia baterii [kohm]
#define R2 162UL

//Wartość ADC dla napięcia
#define VADC_85 ((256*85*R2)/((R1+R2)*VCC)) //8.5V
#define VADC_80 ((256*80*R2)/((R1+R2)*VCC)) //8.0V
#define VADC_75 ((256*75*R2)/((R1+R2)*VCC)) //7.5V
#define VADC_70 ((256*70*R2)/((R1+R2)*VCC)) //7.0V
#define VADC_65 ((256*65*R2)/((R1+R2)*VCC)) //6.5V
#define VADC_60 ((256*60*R2)/((R1+R2)*VCC)) //6.0V

//Wartości ADC dla napięć od 8.5V do 6.0V
const uint8_t Voltages[] PROGMEM = {
VADC_85, VADC_80, VADC_75, VADC_70, VADC_65, VADC_60};

//Zwraca liczbę, która mówi o ile połówek Volta
//zmierzone napięcie jest mniejsze od 9V
uint8_t getVoltage(void) {
uint16_t Data = 0;
uint8_t Idx;

//8-krotny pomiar napięcia
for(Idx=0; Idx<8; ++Idx) {
//Uruchomienie konwersji
ADCSRA = (1<<ADEN)|(1<<ADSC)|(1<<ADPS1)|(1<<ADPS0);
//Czekamy na zakończenie konwersji
while(ADCSRA & (1<<ADSC));
Data += ADCL;
}
Data /= 8;

//Szukamy w tabeli poziomów napięć wartości progowej
for(Idx=0; Idx<6; ++Idx)
if(Data > pgm_read_byte(&Voltages[Idx])) break;

return Idx;
}

Program obsługi aplikacji jest niezmiernie prosty i po skompilowaniu zajmuje niecałe 250 bajtów.

Listing 2. Funkcja odpowiedzialna za generowanie dźwięku
void Beep(uint8_t Number) {
OCR0A = 124; //4kHz
while(Number--) {
//Emitujemy krótkie dźwięki
//Zmiana stanu wyjścia OC0B
//podczas porównania
TCCR0A = (1<<COM0B0);
//Tryb CTC, Preskaler = 1 (1MHz)
TCCR0B = (1<<WGM02)|(1<<CS00);
_delay_ms(200);
//Normalny tryb pracy wyjścia OC0B
TCCR0A = 0;
//Zatrzymanie zegara Timera0
TCCR0B = 0;
_delay_ms(200);
}
}

Montaż i uruchomienie

Schemat montażowy urządzenia guitarVmeter pokazano na rysunku 2.

Rysunek 2. Schemat montażowy urządzenia (skala 2:1)

Zaprojektowano miniaturowy, dwustronny obwód drukowany z wyłącznym montażem elementów SMD, co było o tyle istotne, że układ przeznaczony jest do montażu w korpusie gitary elektrycznej. Montaż rozpoczynamy od wlutowania półprzewodników, następnie lutujemy elementy bierne a na samym końcu miniaturowy przetwornik piezoelektryczny. Poprawnie zmontowany układ nie wymaga żadnych regulacji i powinien działać tuż po włączeniu zasilania.

Robert Wołgajew, EP

Wykaz elementów:
Rezystory: (SMD 0603)
  • R1: 22 kΩ
  • R2: 280 kΩ 1%
  • R3: 162 kΩ 1%
Kondensatory: (SMD 0603)
  • C1, C2: ceramiczny 1 μF
Półprzewodniki:
  • U1: ATtiny10 (SOT23-6)
  • U2: TS9011SCX (SOT23)
Inne:
  • BUZZ: piezo typu LPT9018BS-HL-03-4.0-12-R
Artykuł ukazał się w
Elektronika Praktyczna
luty 2020
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów