Wzmacniacz Sterowany RS-232


8
Ocena: None Średnia: 8 (3 głosujących)

Opisywane urządzenie znakomicie nadaje się jako wzmacniacz multimedialny. Zaletą układu jest możliwość sterowania z komputera lub za pomocą pilota pracującego w standardzie Rc5. Główną częścią urządzenia jest sterownik zbudowany w oparciu o mikrokontroler ATMega162. Jego zadaniem jest między innymi komunikacja z komputerem PC przez port RS-232, sterowanie przedwzmacniaczem cyfrowym TDA8425, pomiar temperatury końcówki mocy, sterowanie chłodzeniem oraz zapis ustawień do pamięci EEPROM. Jako końcówkę mocy zastosowano dwa układy TDA2030 dostarczające moc ok. 2x15W. Aplikacja sterująca została napisana w programie LabVIEW firmy National Instruments (http://www.ni.com/) w ramach zajęć z przedmiotu Komputeryzacja Pomiarów jako projekt zaliczeniowy.

Działanie:


Schemat ideowy sterownika przedstawiony jest na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (ATMega162) wraz z rezonatorem kwarcowym X1 (16MHz) i dwoma kondensatorami C1 (22pF) i C2 (22pF). Potencjometr P1 (10k) służy do regulacji kontrastu wyświatlacza LCD W1 (20x4). Tranzystory T3 (BC547B) oraz T4 (BD140) wraz z rezystorami R12 - R14 (3,3k) stanowią obwód wykonawczy do sterowania pracą wentylatora (z pomiarem obrotów, trójprzewodowy) podłączonego do złącza Went. Przyciski S1 - S8 (uSwitch) służą do ustawiania parametrów pracy wzmacniacza (poziom głosu, tony niskie i wysokie, wyciszenie oraz zmiana wejść). Złącze SW_Goldpin umożliwia podłączenie Odbiornika Rc5 a przez to sterowanie wzmacniaczem za pomocą pilota.

Tranzystory T1 (BC557B) i T2 (BC547B) oraz rezystory R1 - R3 (10k) tworzą prosty interfejs RR-232. Rezystory R16 (3,3k) oraz R17 (3,3k) podciągają linie magistrali I2C do plusa zasilania. Złącze GP zapewnia kontakt sterownika z płytką wzmacniacza oraz jest jednocześnie złączem zasilania sterownika. Kondensator C4 (100uF) filtruje napięcie zasilające. Prog1 jest złączem programującym a rezystory R4 - R7 (330R) zabezpieczają port LPT komputera przed ewentualnym uszkodzeniem. Diody LED D1 - D4, wraz z rezystorami R8 - R11 (330R) ograniczającymi ich prąd, informują o stanach pracy układu (wyciszenie, wejścia, autozapis ustawień).

Do pomiaru temperatury służy czujnik DS18B20 podłączony do złącza ds. Rezystor R15 (4,7k) umożliwia poprawną pracę magistrali 1-Wire.

Schemat ideowy wzmacniacza przedstawia poniższy rysunek:

Kondensatory C19 - C22 (470nF) odcinają składową stałą od wejśc procesora dźwięku U2 (TDA8425) natomiast kondensatory C9 (2,2uF) i C10 (2,2uF) robią to samo z wyjściami układu U2. Elementy C13 - C14 (33nF), C15 - C16 (15nF) oraz C17 - C18 (5,6nF) i C23 (100uF) zostały zastosowane zgodnie z zaleceniami producenta układu TDA8425 a ich wartości pochodzą wprost z karty katalogowej. Są one konieczne do poprawnej pracy procesora dźwięku.

Zasilacz zbudowany jest w oparciu o stabilizatory U3 (7812) i U4 (7805) dostarcza napięć zarówno dla przedwzmacniacza jak i płytki sterownika (dzięki złączu GP). Kondensatory C11 (4700uF), C12 (47uF) oraz C24 (47uF) filtrują napięcie zasilania i są konieczne do poprawnej pracy stabilizatorów. Złącza IN1 oraz IN2 stanowią dwa stereofoniczne niezależne wejścia, które mogą współpracować z źródłem dźwięku takim jak: komputer, odtwarzacz mp3 czy radio. Złącze AN podłączone do wyjścia procesora dźwięku ma zostać podłączone do wejścia liniowego w komputerze w celu umożliwienia analizy sygnału.

Rezystory R1a (100k), R2a (100k) i R3a (100k) służą do polaryzacji stopni wstępnych wzmacniacza, kondensator C2a (22uF) filtruje to napięcie polaryzacyjne. Kondensator C1a (1uF) zapobiega przedostawaniu się napięć stałych do wzmacniacza oraz na zewnątrz urządzenia. Elementy R4a (4.7k), R5a (150k) oraz C3a (2.2uF) pracują w pętli ujemnego sprzężenia zwrotnego i mają za zadanie kształtoanie charakterystyki widmowej wzmacniacza. Rezystor R6a (1R) wraz z kondensatorem C5a (100nF) pracują w układzie, który kształtuje charakterystyke na wyjściu. Kondensator C6a (1000uF) zapobiega przepływowi stałego prądu przez głośnik. Diody D1a (1N4007) oraz D2a (1N4007) zapobiegają pojawieniu się groźnych napięć, które mogą powstać w cewce głośnika. Kondensatory C7a (100uF) i C8a (100nF) filtrują dodatkowo napięcie zasilające obie końcówki mocy. Drugi kanał końcówki mocy ma identyczną budowę i zasadę działania a jego elementy oznaczone są literą "b".

Budowa:


Sterownik można zbudować w oparciu o płytkę dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż należy rozpocząć od wlutowania dwóch najkrótszych zworek. Pozostałe dwie należy wykonać kawałkami izolowanych przwodów dopiero po przylutowaniu podstawki pod mikrokontroler U1. Potencjometr P1, znajdujący się pod wyświetlaczem można zamontować w pozycji leżącej, tak aby umożliwić wygodniejszą regulację kontrastu wyświetlacza. Montaż pozostałych elementów jest typowy i nie stwarza problemów. Specjalne rozmieszczenie elementów na płytce stwarza możliwość rozcięcia jej na dwie części w poziomie. Umożliwi to zamontowanie obu części w ewentualnej przyszłej obudowie. Złącze DB9F należy w takim wypadku podłączyć przewodami i umieścić na tylnej ścianie obudowy. Sposób podłączenia wentelatora na tym samym stabilizatorze co procesor dźwięku powoduje generowanie niewielkich zniekształceń w torze audio, związanych z impulsową pracą wentylatora. Zniekształcenia słyszalne są tylko gdy wzmacniacz pracuje bez sygnału wejściowego. Gdyby było to problemem można zastosować osobny stabilizator dla wentylatora. Pomocą przy konstrukcji może okazać się dostępny tutaj schemat montażowy.

Wzmacniacz można zbudować w oparciu o płytkę dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Montaż należy rozpocząć od wlutowania wszystkich zwór. Kolejność pozostałych elementów jest dowolna. Pod układ U2 dobrze jest zastosować podstawkę. Końcówki mocy muszą być koniecznie wyposażone w radiator, podobnie jak stabilizatory U3 i U4. Na płyce przewidziane są miejsca na złącza JACK do druku. Podyktowane jest to faktem iż opisywany projekt miał służyć jako wzmacniacz pokazowy. Bez żadnego problemu można umieścić gniazda w tylnej ścianie obudowy i połączyć je z płytką za pomocą skrętek przewodów. Do zasilania wzmacniacza należy zastosować transformator sieciowy o mocy ok. 50W i napięciu ok 17-20V. Uzwojenie wtórne transformatora należy podłączyć do złącza śrubowego Zas. Pomocą przy konstrukcji może okazać się dostępny tutaj schemat montażowy.

Wykaz Elementów:


Sterownik:


2x Listwa Gold Pin 1x3
1x Listwa Gold Pin 1x7
1x Listwa Gold Pin 1x10
1x Złącze szufladkowe na goldpiny 1x8
1x Złącze szufladkowe na goldpiny 1x16
8x uSwitch 12x12mm
1x Złącze DB9F do druku

8x 330R
5x 3,3k
1x 4,7k
3x 10k
1x 10k Potencjometr Montażowy

2x 22pF
1x 100uF Elektrolit

1x Rezonator Kwarcowy 16MHz
1x ATMEGA162 + Podstawka
2x BC547B
1x BC557B
1x BD140
4x Dioda LED 3mm
1x Wyswietlacz LCD 20x4

Wzmacniacz


3x Złącze ARK2
3x Złącze Jack 3,5mm do druku
1x Listwa Gold Pin 1x7

2x 1R
2x 4,7k
6x 100k
2x 150k

2x 5,6nF MKT
2x 15nF MKT
2x 33nF MKT
3x 100nF MKT
4x 470nF MKT

2x 1uF Elektrolit
4x 2,2uF Elektrolit
2x 22uF Elektrolit
2x 47uF Elektrolit
2x 100uF Elektrolit
2x 1000uF/35V Elektrolit
1x 4700uF/35V Elektrolit

4x 1N4007
1x Mostek Prostowniczy 5A
1x 7805
1x 7812
2x TDA2030
1x TDA8425

Programowanie:


Fragmenty programu napisanego w języku BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/) przedstawione są poniżej:

Ten fragment pętli głównej programu odpowiedzialny jest za realizacją odczytu jednego bajtu danych przychodzących z portu RS-232 oraz jego odpowiednią interpretację:

 Rs_wartosc = Inkey()
  Rs_adres = Rs_wartosc
  Shift Rs_adres , Right , 5
  Rs_wartosc = Rs_wartosc And &B00011111
 
  If Rs_adres = 1 Then                                      'glos l i r
    Glos_l = 224 + Rs_wartosc                               'wartosc 0-31
    Gosub Wyslij_tda8425
    Gosub Wyswietl
  End If
 
  If Rs_adres = 3 Then                                      'bass
    Bass = 242 + Rs_wartosc                                 'wartosc 0-9  (0->-12dB,4->0dB, 8->12dB, 9->15dB)
    Gosub Wyslij_tda8425
    Gosub Wyswietl
  End If
 
  If Rs_adres = 4 Then                                      'treble
    Treble = 242 + Rs_wartosc                               'wartosc 0-8  (0->-12dB,4->0dB, 8->12dB)
    Gosub Wyslij_tda8425
    Gosub Wyswietl
  End If
 
  If Rs_adres = 5 Then                                      'funkcje
    Funkcje.0 = Rs_wartosc.0                                '[1][mu][efl][stl][we1=0 we2 =1]
    Funkcje.3 = Rs_wartosc.1
    Funkcje.4 = Rs_wartosc.2
    Funkcje.5 = Rs_wartosc.3
    Gosub Wyslij_tda8425
    Gosub Wyswietl
  End If
 
  If Rs_adres = 6 Then                       'pwm
    If Rs_wartosc = 31 Then                'wartosc 0-25 ->ustawia pwm i  reczny tryb
      Went_auto = 1                               'wartosc 31 -. ustawia automatyczny tryb
    Else
      Went_auto = 0
      Went_pwm = Rs_wartosc
    End If
  End If
 
  If Rs_adres = 2 Then              'zgloszenie potrzeby wyslania danych
    Rs_wyslij1 = 1
    Rs_wyslij2 = 1
  End If

Poniższy fragment kodu wykonywany jest co 4ms. Jego zadaniem jest obsługa klawiatury oraz wysyłanie dwóch pięciobajtowych paczek danych do komputera PC:

 If Flaga_4ms = 1 Then                                      'co 4ms
   Reset Flaga_4ms
   '***************
   If Sw_port <> 255 And Stan_portu = Sw_port Then
    Incr Licznik_sw
    If Licznik_sw = 50 Then
      Licznik_sw = 0
      Select Case Stan_portu
        Case 127:
         If Glos_l < 255 Then Incr Glos_l
        Case 247:
         If Glos_l > 224 Then Decr Glos_l
        Case 239:
         Funkcje.5 = Not Funkcje.5                          'mute
        Case 254:
         Funkcje.0 = Not Funkcje.0                          'wejscia
        Case 223:
         If Treble < 250 Then Incr Treble
        Case 253:
         If Treble > 242 Then Decr Treble
        Case 191:
         If Bass < 251 Then Incr Bass
        Case 251:
         If Bass > 242 Then Decr Bass
        Case 246:                                           ' reset
          Glos_l = 224
          Bass = 246
          Treble = 246
          Funkcje = 238
          Went_auto = 1
          Rs_wyslij1 = 1
          Rs_wyslij2 = 1
      End Select
 
      Gosub Wyslij_tda8425
      Gosub Wyswietl
      Rs_wyslij1 = 1                                        'flaga powodujaca wyslanie rs
    End If
  Else
    Stan_portu = Sw_port
    Licznik_sw = 45
  End If
 
  Rs_kolejnosc = Not Rs_kolejnosc
  If Rs_kolejnosc = 1 Then
    If Rs_wyslij1 = 1 Then
      Rs_wyslij1 = 0
      'jednorazowo wysyla parametry dzwieku
      Printbin 255                                          ' powoduje rozpoznanie bajtu jako ust dzwięku
      Printbin Glos_l                                       '224-255
      Printbin Bass                                         'min=242 0=246  max = 251
      Printbin Treble                                       'min=242 0=246  max = 250
      Printbin Funkcje                                      '[1][1][mu][efl][stl][1][1][we1=0 we2 =1]
    End If
  Else
    If Rs_wyslij2 = 1 Then
      Rs_wyslij2 = 0
      'jednorazowo wysyla temp, pwm i rpm
      If Went_auto = 1 Then
        Went_pwm_send = 31
      Else
        Went_pwm_send = Went_pwm
      End If
      Printbin Went_pwm_send
      Printbin Tempa
      Printbin Went_rpm
    End If
  End If
 
  '***************
 End If

Głównym zadaniem tej części programu jest odczyt temperatury i obliczanie obrotów wentylatora a także realizacja automatycznego regulatora obrotów w zależności od temperatury. Ten fragment programu wykonywany jest co 1s.

 If Flaga_1s = 1 Then                                       'co 1s
   Reset Flaga_1s
   '***************
   Pomiar_odczyt = Not Pomiar_odczyt
 
   Disable Interrupts
 
   1wreset
   If Pomiar_odczyt = 1 Then
     1wwrite &HCC
     1wwrite &H44
   Else
     1wwrite &HCC
     1wwrite &HBE
     Lsb = 1wread():
     Msb = 1wread():
 
     Tempa = Msb * 256
     Tempa = Tempa + Lsb
 
     Tempa = Tempa * 10                                     'temperatura *10
     Tempa = Tempa / 16
 
   End If
 
   Enable Interrupts
 
   Locate 4 , 2
   Tempa_10 = Tempa / 10
   Tempa_help = Tempa_10 * 10
   Tempa_1 = Tempa - Tempa_help
   Lcd Tempa_10 ; "." ; Tempa_1 ; Chr(2) ; "C  "
 
   If Went_auto = 1 Then                                    'sterowanie automatyczne went od temp
     Went_pwm = Tempa_10 / 5
     If Went_pwm > 25 Then Went_pwm = 25
   End If
 
   Went_rpm_help(1) = Went_rpm_help(1) * 10      'mnożnik = (60/czaspomiaru)*(1/imp na obrot)*(1/3wartosci do sredniej)
   If Went_rpm_help(1) < 10000 Then
     Went_rpm = Went_rpm_help(1)
     Went_rpm = Went_rpm + Went_rpm_help(2)
     Went_rpm = Went_rpm + Went_rpm_help(3)
     Went_rpm_help(3) = Went_rpm_help(2)
     Went_rpm_help(2) = Went_rpm_help(1)
   End If
   Went_rpm_help(1) = 0
 
   Rs_wyslij2 = 1                                           'flaga powodujaca wyslanie rs
 
   Locate 4 , 12
   If Went_rpm < 1000 Then Lcd " "
   If Went_rpm < 100 Then Lcd " "
   If Went_rpm < 10 Then Lcd " "
   Lcd Went_rpm
 
   If Save_en = 1 Then   'zapisywanie do eeprom gdy cos zmieniono w tda i nie zmieniano przez 5 sec
     Incr Save_count
     If Save_count = 5 Then
      Save_count = 0
      Save_en = 0
      Led_save = 0
      Writeeeprom Glos_l , Dane
      Writeeeprom Bass
      Writeeeprom Treble
      Writeeeprom Funkcje
     End If
   Else
     Save_count = 0
     Led_save = 1
   End If
   '***************
 End If

Widoczna poniżej obsługa przerwania timera 0 zajmuje się obliczaniem opoznień 4ms i 1s oraz ustawianiem flag potrzebnych do pracy głównej pętli programu. Zawarta jest tutaj także prosta realizacja zmiany obrotów przez regulację wypełnienia przebiegu prostokątnego podawanego na wentylator:

Prztimer0:                                                  'co  4ms
Timer0 = 5
 
Incr Went_licz
If Went_licz = 25 Then Went_licz = 0
If Went_licz < Went_pwm Then Set Went Else Reset Went
 
Set Flaga_4ms
 
Incr Dzielnik
If Dzielnik = 250 Then
  Dzielnik = 0
  Set Flaga_1s
End If
 
Return

Poniższy fragment kodu zawiera dwie procedury umożliwiające sterowanie pracą procesora dźwięku:

Wyslij_i2c:
  I2cstart
  I2cwbyte 130
  I2cwbyte Adres
  I2cwbyte Wartosc
  I2cstop
  Waitms 1
Return
 
Wyslij_tda8425:
  If Led_save = 1 Then
    Save_en = 1
    Save_count = 0
  End If
 
  Adres = 0
  Wartosc = Glos_l
  Gosub Wyslij_i2c
 
  Adres = 1
  Wartosc = Glos_l                                      
  Gosub Wyslij_i2c
 
  Adres = 2
  Wartosc = Bass
  Gosub Wyslij_i2c
 
  Adres = 3
  Wartosc = Treble
  Gosub Wyslij_i2c
 
  Adres = 8
  Wartosc = Funkcje
  Gosub Wyslij_i2c
Return

Aplikacja Sterująca:


Do obsługi wzmacniacza wykorzystano aplikację napisaną w LabVIEW. Niestety wersja programu dostępna na uczelni nie pozwoliła stworzyć odrębnie działającej aplikacji i do jej działania wymagane jest LabVIEW 7.1 oraz sterowniki sprzętowe dostępne na stronie firmy National Instruments (http://www.ni.com/). Wzmacniacz podłączony jest do komputera PC za pomocą interfejsu RS-232 a mierzony sygnał audio podawany jest na wejście liniowe karty dźwiękowej komputera.

Wygląd panelu przedniego aplikacji sterującej wzmacniaczem przedstawiony jest na rysunkach poniżej:

Aplikacja umożliwia między innymi:
- Regulację poziomu głosu wzmacniacza
- Regulację tonów niskich i wysokich
- Przełączanie efektów: Mono, Liniowe Stereo, Pseudo Stereo, Przestrzenne Stereo
- Zmianę wejść
- Wyciszenie
- Odczyt temperatury na radiatorze wzmacniacza
- Ustawienie alarmu temperatury
- Odczyt prędkości obrotowej wentylatora
- Przełączanie trybów pracy wentylatora (ręczny, automatyczny)
- Regulację prędkości obrotowej wentylatora (tryb ręczny)
- Analizę poziomu sygnału w kanale lewym i prawym (skala V/V lub dB)
- Analizę widma sygnału w 30 pasmach (skala V/V lub dB, z normalizacją lub bez)
- Ustawienie poziomu szumów poniżej którego poziom sygnału uznawany jest za zerowy
- Wybór jednej z dwunastu szat graficznych

Program w formacie *.vi można pobrać tutaj. Jedyny problem jaki może pojawić się podczas jego używania to obciążenie procesora jakie stwarza podczas wyświetlania grafiki analizatora widma. Po zminimalizowaniu aplikacji wszystko jest ok. Mimo, iż program ma dużą objętość, jego działanie nie jest bardzo skomplikowane. Budowę programu (użyte klocki) można zobaczyć tutaj natomiast poniżej zostanie omówione działanie najważniejszych części.

Pętla przedstawiona na rysunku poniżej zajmuje się obsługą karty dźwiękowej i odczytem sygnału:

Głównym składnikiem jest wewnętrzna pętla While, wewnątrz której znajduje się moduł Si READ odczytujący zawartość bufora, do którego zapisywane są kolejne wartości próbkowanego sygnału. Moduł ten dodatkowo działa jako opóźnienie pętli, zatrzymując jej wykonywanie do czasu zapełnienia bufora. Dzięki temu zwiększenie ilości iteracji, zapisywane do zmiennej nowe dane, jednoznacznie identyfikuje odczytanie bufora, którego zawartość jest zapisywana do tablicy sygnał. Dla danych ustawień początkowych (próbkowanie z częstotliwością 44,1 kHz przy 16-bitowej rozdzielczości) bufor o rozmiarze 1764 bajtów jest zapełniany w czasie 10ms. Zmieniając odpowiednio (przez zmienną Czas Próbkowania) rozmiar bufora można uzyskać różne czasy odczytu jego zawartości, a przez to szybkość działania analizatora. Zmiana wartości czasu próbkowania przez użytkownika wymaga ponownego zainicjowania procedury odczytu, co jest sygnalizowane przez wartość True zmiennej Reinicjacja. Wystąpienie błędu przepełnienia bufora, wynikające np. z zajęcia procesora przez inną aplikację, powoduje wpisanie wartości True do zmiennej Próbkowanie. Kombinacja logiczna zmiennych Reinicjacja i Próbkowanie powoduje przerwanie wykonywania wewnętrznej pętli While i wykonanie kolejnej iteracji zewnętrznej pętli, gdzie poprzez Strukturę Case następuje ponowne uruchomienie procedury odczytu sygnału.

Kolejnym ważnym elementem programu jest obsługa portu RS-232 i komunikacja ze wzmacniaczem. Poniżej przedstawiona jest pętla obsługi portu szeregowego bez jego konfiguracji, którą możemy zobaczyć na rysunku przedstawiającym cały schemat:

Na początku programu następuje konfiguracja portu szeregowego po czym program wpada do nieskończonej pętli while. Głównym elementem pętli jest Rejestr Przesuwny inicjowany wartością 255. Po pierwszym przejściu pętli do rejestru wpisywana jest wartość zmiennej Wysyłany_Bajt. W każdej iteracji pętli wartość z rejestru porównywana jest z tą zmienną. W razie niezgodności danych rejestr przyjmuje nową wartość i jednocześnie zmienna Wysyłany_Bajt zostaje podana na port RS-232 (zapewnia to niewielka Struktura Case). Dzięki Strukturze Sekwencyjnej generowane jest opóźnienie między ewentualnym wysyłaniem a odbieraniem danych z portu szeregowego. Po określeniu liczby bajtów znajdujących się w buforze portu szeregowego następuje ich odczyt. Interpretacja odebranych danych występuje tylko wtedy gdy odebrano 5 bajtów danych (taką ilość bajtów wysyła wzmacniacz, w dwóch niezależnych paczkach). Po spełnieniu warunku na długość danych wykonuje się struktura Wczytywanie bajtów z RS. Dane w postaci łańcucha znaków zamieniane są na Tablicę Bajtów a następnie dzielone są na 5 wartości liczbowych. Procesor wzmacniacza wysyła dwie paczki danych przez co konieczna jest identyfikacja które dane zostały odebrane. Dokonuje się to po pierwszym bajcie którego wartość równa 255 identyfikuje pozostałe bajty jako Dane do obsługi wzmacniacza, natomiast inna wartość pierwszego bajtu sprawia że paczka rozpoznawana jest jako Dane do obsługi temp. i went.. Gdy wewnętrzna Struktura Case dostaje na wejście stan True zajmuje się ustawianiem parametrów wzmacniacza (rysunek powyżej). Pierwszy bajt jest ignorowany ponieważ w tym przypadku zawsze ma wartość 255. Kolejne trzy bajty danych po przejściu przez elementarne operacje arytmetyczne (zdeterminowane przez oprogramowanie w mikrokontrolerze wzmacniacza) ustawiają pokrętła na panelu przednim w odpowiednich pozycjach. Ostatni bajt ze względu na fakt że jest zbiorem flag bitowych (każdy jego bit ustwiany jest niezależnie i oznacza np. wyciszenie włączone lub wyłączone itp.) dzielony jest na pojedyńcze bity, które ustawiają wejścia, wyciszenie oraz tryb pracy wzmacniacza (wartości bitów zależą od oprogramowania w mikrokontrolerze). Gdy natomiast wewnętrzna Struktura Case dostaje na wejście stan False zajmuje się ustawianiem pracy wentylatora oraz wyświetlaniem temperatury radiatora, co możemy zobaczyć na rysunku poniżej:

Pierwszy bajt interpretowany jest jako ustawienia wentylatora. Jego wartość równa 31 ustawia tryb pracy na Automatyczny, a wartości z przedziału 0-25 powodują ustawienie pokrętła Obroty oraz aktywowanie Ręcznego trybu pracy wentylatora. Kolejne dwa bajty to starszy i młodszy bajt temperatury, która wysyłana jest w postaci liczby pomnożonej przez 10. Wartość temperatury po przedzieleniu przez 10 ustawiana jest za pomocą Property Node ze względu na konieczność sygnalizowania zdarzenia po zmianie wartości. Dwa ostatnie bajty zawierają informację o prędkości obrotowej wentylatora.

Ważnym elementem w programie jest obsługa zdarzeń. Rysunek poniżej przedstawia fragment pętli, dotyczący pokrętła Poziom Głosu:

Zdarzenie wywoływane jest po przekręceniu pokrętła głośności na panelu przednim programu. Wartość głośności przeliczana jest do postaci akceptowanej przez wzmacniacz oraz sumowana logicznie z wartością 32, która odpowiada wartości 1 w mikrokontrolerze (po podzieleniu przez 32). Zdarzenia dla regulacji tonów wyglądają podobnie, różnią się jedynie adresem który jest sumowany logicznie z wartością regulacji tonów. Obliczona wartość wraz z adresem wpisywana jest do zmiennej Wysyłany_Bajt co powoduje jej wysłanie na port RS-232. Dzieje się to dzięki pętli obsługi portu szeregowego skanującej wartość zmiennej Wysyłany_Bajt.

Zdarzenia obsługi czterech przycisków zmieniających tryby pracy wzmacniacza są analogiczne, różnią się jedynie wartościami stałych wynikających z oprogramowania w mikrokontrolerze wzmacniacza. Na rysunku poniżej przedstawiony jest fragment pętli, dotyczący przycisku Liniowe Stereo:

Po wywołaniu zdarzenia dzięki Property Node blokowana jest możliwość ponownego kliknięcia przycisku Liniowe Stereo. Pozostałe przyciski tym samym sposobem stają się możliwe do kliknięcia. Jednocześnie do wszystkich pozostałych przycisków wpisywana jest wartość False. Tworzony jest bajt zawierający zespół flag bitowych niosących informację o funkcjach wzmacniacza (wartości w bajcie są określone przez oprogramowanie mikrokontrolera) a następnie jego wartość wpisywana jest do zmiennej Wysyłany_Bajt. Za resztę odpowiada pętla obsługi portu szeregowego.

Ostatnim zdarzeniem zasługującym na opis może być obsługa komponentu Zmiana Skórki. Odpowiedni rysunek zdarzenia przedstawiony jest poniżej:

Po wywołaniu zdarzenia odczytywana jest ścieżka do aktualnie uruchomionego projektu. Po odcięciu nazwy pliku *.vi do pozostałej części dodawana jest nazwa rysunku o numerze równym wartości komponentu Zmiana Skórki. Całość tworzy ścieżkę do aktualnej skórki. następnie obrazek jest wczytywany i wyświetlany na panelu przednim jako tło pod komponentami.

Obsługa pozostałych zdarzeń jest analogiczna do opisanych. Wszyskie komponenty ustawiające parametry w części sprzetowej ustawiają jedynie odpowiednią wartość zmiennej Wysyłany_Bajt według zasad określonych w programie mikrokontrolera. Za resztę odpowiada pętla obsługi portu szeregowego.

Największą część aplikacji stanowi pętla analizy sygnału. Jej fragment widoczny jest na rysunku poniżej:

Podobnie jak w pętli sterującej portem RS-232 działa tutaj Rejest Przesuwny wykrywający zmiany zmiennej nowe dane. Po przyjściu nowej tablicy danych sygnał rozpoczyna się jej analiza. Napierw zostaje podzielona na dwa niezależne kanały (lewy i prawy). Następnie w każdym z kanałów mierzona jest maksymalna amplituda, poprzez sumowanie najmniejszej i największej wartości z tablicy. Podział przez 655,36 zapewnia reprezentację w postaci stosunku wartości zmierzonej do maksymalnej wyrażonego w procentach. Amplituda jest porównywana z zadanym przez użytkownika poziomem szumów, co powoduje przemożenie całej tablicy przez 0, gdy poziom sygnału jest mniejszy od założonego, lub przez 1 (przepuszczenie sygnału w niezmienionej postaci), gdy amplituda wykroczy ponad zakładany poziom szumów. Struktura Case umożliwia wybór skali (V/V lub dB), przeliczając w drugim przypadku poziom sygnału na skalę logarytmiczną. Wartości amplitudy sygnału w prawym i lewym kanale trafiają dalej do komponentów (pasków) znajdujących się w lewej części panelu przedniego.

Na potrzeby analizatora sygnał z obu kanałów jest sumowany i normalizowany do maksymalnej amplitudy mierzonej w całym paśmie częstotliwości. Ma to na celu uniezależnić wskazania analizatora od aktualnie ustawionego wzmocnienia przedwzmacniacza. Dodatkowy selektor True/False wyłącza normalizację podczas odcięcia sygnału przez bramkę szumów. Następnie sygnał trafia do zestawu 30 filtrów pasmowo przepustowych o częstotliwościach granicznych dobranych tak, by różniły się od siebie o czynnik [tex]\sqrt[3]{2}[/tex] (filtry tercjowe). Następnie w każdym paśmie dokonywany jest pomiar maksymalnej amplitudy (jak wyżej). Z otrzymanych wartości budowana jest 30-elementowa tablica:

Pomiar maksymalnej wartości umożliwia znormalizowanie wszystkich amplitud do największej z nich, dzięki czemu otrzymuje się znacznie większą dynamikę wskazań analizatora. Wyboru skali dokonuje się poprzez Strukturę Case (jak wyżej). Tablica jest następnie rozdzielana na 30 sygnałów i przesyłana do odpowiednich komponentów. Ze względu na zastosowanie pasków podbicia każdy z komponentów przyjmuje dane w postaci klastra zawierającego dwa elementy: aktualny poziom i poziom paska, obliczany za pomocą pętli While przedstawionej niżej:

Do pętli przesyłana jest aktualna tablica poziomów sygnału oraz dwie 30-elementowe tablice z rejestrów przesuwnych, tablica zapamiętanych poziomów i tablica opóźnień. Pętla ta wykonuje 30 iteracji odczytując w każdej z nich kolejne elementy tablic (dzięki funkcji Indexing). Aktualna i zapisana wartość poziomu sygnału zostają porównane. W przypadku, gdy aktualny poziom jest większy od zapamiętanego (True dla zewnętrznej Struktury Case) jest on przepisywany do rejestru przesuwnego, zaś licznik opóźnienia jest ustawiany na zero. W przeciwnym przypadku wewnątrz Struktury wartość licznika jest zwiększana i porównywana z zadanym opóźnieniem. Gdy wartość licznika jest równa ustawionemu opóźnieniu (True dla wewnętrznej Struktury Case), do rejestru poziomu wpisywana jest aktualna wartość, zaś licznik jest resetowany. Jeśli opóźnienie jest mniejsze od zadanego, wartości obu rejestrów są przekazywane dalej. Po wyjściu z pętli While tablica rejestru przesuwnego zawierającego poziomy syganłu jest rozdzielana i przekazywana do odpowiednich komponentów (pasków).

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat116.39 KB
Wzmacniacz Schemat58.43 KB
Sterownik Płytka23.88 KB
Sterownik Płytka (odbicie lustrzane)23.97 KB
Sterownik Płytka (2 na stronie)45.61 KB
Sterownik Montowanie32.32 KB
Wzmacniacz Płytka18.61 KB
Wzmacniacz Płytka (odbicie lustrzane)18.67 KB
Wzmacniacz Płytka (2 na stronie)35.05 KB
Wzmacniacz Montowanie29.74 KB
Kod Źródłowy11.3 KB
Program po kompilacji (BIN)4.71 KB
Program po kompilacji (HEX)13.26 KB
Aplikacja Sterująca (*.vi)784.27 KB



Portret użytkownika lukasek

USB/RS232

Szanowny kolego mirley!
Na początku napiszę, iż ta strona to kawał świetnej roboty - zaglądam tutaj od dawna, ale nigdy się nie udzielałem na forum.
Mam do Ciebie pytanie, mianowicie czy prezentowany wyżej wzmacniacz, do którego napisałeś oprogramowanie w LabView, może współpracować z przejściówką USB/RS-232 prezentowaną również przez Ciebie w innym projekcie? Chodzi mi o wersję normalną tej przejściówki, czyli tę z układem MAX232.
Pozdrawiam serdecznie

Portret użytkownika mirley

Re: USB/RS

Powinno działać bez problemu, bo w projekcie wykorzystywane są tylko linie sygnałowe RS232. Nie testowałem tego jednak i nie wiem jak Labview poradzi sobie z wirtualnym COM'em

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika lukasek

Dzięki

Dzięki za odpowiedź. Mam trochę na głowie, dlatego dawno nie odwiedzałem Twojej strony.
Pozdrawiam i życzę dalszych, równie udanych projektów :)

Portret użytkownika StuBe

o by trzeba bylo zmnienic aby

o by trzeba bylo zmnienic aby ten uklad pasowal do TDA 7294??? i obslugiwal 4 kanaly tzn 4xTDA7294

Portret użytkownika mirley

Re: Wzmacniacz

Co to znaczy wysterować 4x TDA7294? Mają być 4 niezależne kanały czy stereo po dwa TDA na kanał? Jeśli chcesz zrobić stereo to wystarczy podmienić na schemacie TDA2030 i jego elementy współpracujące na wzmacniacz zbudowany w oparciu o TDA7294

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika StuBe

maja byc 4 niezalezne kanaly

maja byc 4 niezalezne kanaly a podmienic hmmm nie znam sie za tak bardzo ;/;/

Portret użytkownika mirley

Re: Wzmacniacz

Nie da się zrobić 4 kanałów na tym schemacie. Wymaga to poważnych przeróbek sprzętowych i programowych bo będą potrzebne dwa układy TDA8425

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Pytanie o LabVIEW 7.1

Witam projekt bardzo dobry, mam pytanie odnośnie programu sterującego na PC, czy ten LabVIEW 7.1 jest darmowy jeśli tak to skąd go mogę go pobrać? A jeśli nie jest darmowy to ile kosztuje i gdzie można go kupić?

Portret użytkownika grizz

labview

google nie gryzie:

http://pl.wikipedia.org/wiki/LabVIEW

trial: http://www.ni.com/trylabview/

Cena wersji podstawowej: $1249 ;)

Portret użytkownika mirley

Re: LABView

Ta wersja na której ja pracowałem na uczelni była pełna wraz z dodatkami, jednak z tego co pamiętam używaliśmy tylko podstawowych funkcji. Teraz już nie mam dostępu do tego programu. W sumie jeśli chodzi o ścisłość to nigdy nie wybrał bym tego programu do czegokolwiek gdyby nie było takiego wymogu na zajęcia :) Napisał bym to samo w C++ Buildier 6 lub pod Qt4, oczywiście w prostszej wersji bo funkcje które posiada aktualnie dostępny program są nikomu do nic nie potrzebne podczas normalnej pracy :)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika kolczkuba

Sterownik

Witam, czy jest możliwość zrobienia na zamówienie samego sterownika, ponieważ jeszcze nie mam takiego doświadczenia oraz teorii na wykonanie tego projektu ?? A tak odbiegając od tematu, strona jest świetna, jest w niej wiele ciekawych oraz naprawdę przydatnych projektów a do tego wszystko przejrzyście opisane...super :) Pozdrawiam, Kuba.

Portret użytkownika mirley

Re: Sterownik

Proszę o kontakt na email, przycisk kontakt u góry strony

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika piolek3

wzmacniacz z TDA7294

Witam.
Jak przerobić ten układ wzmacniacza (wraz z przedwzmacniaczem ) żeby pasował wzmacniacz
Twojego projektu (TDA 7294 ) opisywany w artykule .

Portret użytkownika piolek3

wzmacniacz z TDA7294

Ok już znalazłem .
Wyściami na lewy i prawy kanał są kondesatory C1a i C1b.
Mam następne pytanie czy je usunąć czy zostawić ?

Portret użytkownika mirley

Re; Wzmacniacz

Jak wzmacniacz który dołączysz w to miejsce ma już swoje kondensatory wejściowe to możesz wyrzucić C1a i C1b

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika piolek3

Przedwzmaciacz

Nie jestem pewny ale czy ten przedwzmacniacz można obsługiwać bez komputera i jakie ma funcje ?

Portret użytkownika mirley

Re: Wzmacniacz

Może działać sam, regulacja tonów, głośności i zmiana wejść. Poza tym nie pamiętam dokładnie bo to już dawno temu powstało

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika piolek3

Analizator widma

Czy można doprogramować odpowiednią komęde żeby podczas słuchania muzyki na wyświetlaczu lcd działał analizator widma ?
W internecie są gotowe programy napisane dla analizatora .

Portret użytkownika mirley

Re: Analizator

Nie ma szans żeby procesor policzył analizator widma

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

Re: Nie ma szans

mirley wrote:
Nie ma szans żeby procesor policzył analizator widma

zależy który procesor nie policzy. chyba nie pogniewasz się jak dam link?

oto -> ANALIZATOR WIDMA <- na atmega8, ale ta atmega tylko do tegoż widma służy.

Portret użytkownika piolek3

Sterownik

A czy ten sterownik można wykożystać do innego przedwzmacniacza np. do radioodtwarzacza samochodowego , który jest sterowany cyfrowo (nie ma potencjometrów tylko przyciski).
Pytam się dlatego bo mam radioodtwarzacz w którym się końcówka mocy spaliła i chciałbym go wykorzystać jako przedwzmacniacz (ze sterowaniem )bo zamierzam zbudować wzmacniacz .

Portret użytkownika mirley

Re: Wzmacniacz

Analizator:

No faktycznie sam anlizator może i da się zrealizować ale jak popatrzysz na mój sterownik to ma jeszcze 20 innych rzeczy do zrobienia w programie i dodatkowo tego nie policzy. Dzięki za linka.. muszę popatrzeć jakie sztuczki w programie zostały tam zrobione aby fft policzyć bardzo szybko

piolek3:

Nie rozumiem po co sterownik do przedwzmacniacza który ma już przyciski, przecież ten sterownik włśnie steruje głośnością itp. za pomocą przycisków, chyba że chciałbyś łącznośc z komputerem uzyskać, to wtedy trzeba by zrobić coś innego

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika matrix

o analizatorze raz jeszcze

w ogóle obejrzyj sobie Mirku stronkę kolegi manekinen. -> OTO LINK <- akurat do wykonywania płytek.

jest tu świetny artykuł na temat wykonywania obwodów drukowanych. doświadczenie wyżej wymienionego kolegi strasznie mi pomogło i pokazało drogę jaką trzeba robić obwody, choć wcześniej wykonywałem płytki metodą żelazkową to jego opis ulepszył mi niesamowicie moje konstrukcje.

dzięki jego opisowi moje płytki wyglądają teraz tak:

sory za mały OT, ale myślę że przydatny.

Portret użytkownika piolek3

Sterownik.

Właśnie chodzi mi oto żeby wzmacniacz miał łączność z komputerem.

A nie wystarczy znaleść przedwzmacniacza w radioodtwarzaczu , poszukać który do czego w nocie katologowej i podpiąć ?

Portret użytkownika mirley

Re: Przedwzmacniacz

1. Możesz poszukać w katalogu części z tego przedwzmacniacza.... ale po co miałby tam być układ który umożliwa połączenie z komputerem, będzie raczej taki przedwzmacniacz bez żadnego interfejsu komunikacyjnego.

2. Dobrym rozwiązaniem jest zrobienie prostego sterownika mikrokontroler + FT232RL (usb->rs) i sterowanie przyciskami w twoim przedwzmacniaczu

----------------------

Na temat płytek-> mam na stronie artykuł o płytkach pod którym należy umieszczać takie rzeczy, albo na forum

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika piolek3

"2. Dobrym rozwiązaniem jest

"2. Dobrym rozwiązaniem jest zrobienie prostego sterownika mikrokontroler + FT232RL (usb->rs) i sterowanie przyciskami w twoim przedwzmacniaczu "

Jak to wykonać ?
Trzeba pisać pewnie program ?

Portret użytkownika mirley

Re: Sterownik

Tak, trzeba napisać program ale nie skomplikowany. Mogę trochę pomóc ale załóż sobie temat na forum to pogadamy o tym projekcie. Tu nie ma miejsca na takie ekstra rozważania

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Roman

Witam, juz od dłuzszego czasu

Witam, juz od dłuzszego czasu szukam tych sterowników sprzętowych, czy kotś mógłby mi podac link do nich ? Bez nich nie mogę sie połączyć z komputerem.

Portret użytkownika mirley

Re: FT232RL

Wpisz na allego "FT232RL"

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Jakub

Mirek jak trzeba by

Mirek jak trzeba by zmodyfikować drugą płytkę aby umożliwić podłączenie zewnętrznej końcówki mocy np na parze tranzystorów bipolarnych 2SC5200 i 2SA1943, zamiast tej w projekcie?. Mam zamiar zbudować wzmacniacz i szukam preampa sterowanego pilotem. Twój projekt jak na razie najbardziej mi przypadł do gustu.

Portret użytkownika mirley

Re: wzmacniacz na pilota

Rozumiem że chcesz wywalić w ogóle tda2030 i wstawić swój wzmacniacz.... nic prostszego. wystarczy podłączyć wejście tego wzmacniacza zaraz za kondensatorami C9 i C10. Część schematu na prawo od tych kondensatorów można wyrzucić

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika James

Mała prośba czy mógłbyś

Mała prośba czy mógłbyś wrzucić skompilowany program i podać ustawienia fusebitów?
i druga czy np. taki LCD by się nadał "LCD 4x20 BIG LCD-AC-2004H-DIW W/KK-E6 C PBF BLACKLINE"

Portret użytkownika mirley

RE: Wyświetlacz

Wyświetlacz wygląda OK. Program przekompiluję wieczorem jak nie zapomnę

----

program wrzucony

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika daniel1227

Czy po ustawieniu tych

Czy po ustawieniu tych wszystkich opcji (w programie LabViev) to po wyłaczeniu zasilania
i właczeniu dalej te opcje będą ustawione czy trzeba ustawiać na nowo ?

Portret użytkownika mirley

Re: Wzmacniacz

Wydaje mi się że robiłem zapis do eeprom..... dokładnie nie pamiętam bo to było dawno temu

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika daniel1227

I takie jeszcze jedno pytanko

I takie jeszcze jedno pytanko .
Jeśli chciałbym ten wzmacniacz robić na 4 końcówki , to wystarczy układ przedwzmacniacza zrobić podwójnie i podłaczyć pod mikrokontroler .

Portret użytkownika mirley

Re: Wzmacniacz RS

Nie, tak się w prosty sposób nie da zrobić. Trzeba by podłączyć na innych pinach procka drugi układ i w programie rekonfigurować magistralę i2c i wysyłać to samo na inne piny. Układ TDA nie ma zmiany adresu bazowego więc nie mogą pracować dwa na jednych liniach.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika daniel1227

Czy ten program sterujący

Czy ten program sterujący przez komputer można napisać w języku np.C++ .
Czy było by go trudno napisać .

Portret użytkownika mirley

Re: Program sterujący

Nie było by trudno napisać.... przecież to standardowa obsługa portu szeregowego. Mój program RsTester jest napisany w C++. Można próbować wzorować się na nim.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Janek

Problem z klawiaturą

Cześć.
Mam dziwny problem z prezentowanym tutaj wzmacniaczem...
Płytka sterownika zrobiona i sprawdzona pod kątem uszkodzeń ścieżek (jest ok), wsad udało mi się załadować bez problemów (po podłączeniu zasilania, na wyświetlaczu pojawiają się informacje typu: kto jest autorem projektu, co to jest za urządzenie, numer wersji. potem "wskakują" parametry: poziom głosu, tony niskie i wysokie) i na tym koniec... wcikanie klawiszy klawiatury nie daje żadnego rezultatu. Już pokończyły mi się pomysły co to może powodować. Dodam, że przez zaprogramowaniem atmegi wyłączyłem jtag'a a napięcie na pinach procka połączonych z klawiaturą wynosi +5V. Prośba do Was o pomoc. Z góry dzięki.

Portret użytkownika mirley

Re: Wzmacniacz

Sprawdź czy po wciśnięciu przycisku odpowiednia linia opada na masę. Każdy przycisk ma być podłączony od pinu do masy

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Janek

Sprawdziłem to. Linie od

Sprawdziłem to. Linie od przycisków w ciskanych w danej chwili są faktycznie zwierane z masą. Atmega jest ustawiona do pracy z kwarcem podpiętym pod xtal1 i 2 (w/g Twojego artykułu o ustawianiu fusebitów), płytka jest wykonana w wersji 1:1 (zero przeróbek). Ciekawi mnie jeszcze jedna rzecz... Czasem (trudno stwierdzić w którym momencie) zapalają się ledy: albo 1 i 2 albo 1 i 3 od góry.

Portret użytkownika mirley

Re: Wzmacniacz sterowany

Spróbuj przeprogramować procka jeszcze raz... przecież na stronie jest ten sam kod co ja miałem

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gość 2

Problem z klawiaturą

Witam.
Mam podobny problem jak kolega Janek. Układ nie reaguje na wciskanie przycisków. Świecą się pierwsza i trzecia dioda. Sprawdziłem, poszczególne piny są zwierane do masy. Czy powodem takiego działania może być brak czujnika ds18b20 ?

Portret użytkownika gość 2

Problem z klawiaturą, rozwiązany

Przyczyną było włączenie JTAG, więc port C był zablokowany.

Portret użytkownika clono123

Wyświetlacz

Jaki wyświetlacz zastosować aby działał poprawnie ?

Portret użytkownika mirley

LCD

Dowolny LCD 4x20 znaków. Kontroler zgodny z HD44780

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc 3

Witam mam takie pytanko jak

Witam mam takie pytanko jak ustawić fusebity ?

Portret użytkownika mirley

Re: fusy

Nie mam niestety zrzutu ale trzeba ustawić taktowanie na kwarc, i wyłączyć dzielnik częstotliwości CKDIV=1

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc 3

To jakie zakładki są ta w

To jakie zakładki są ta w programie burn o mat ?