Procesor dźwięku na TDA7313 i ATmega8 - prośba o sprawdzenie

Tutaj mozesz poruszać tematy ogólne powiązane z elektroniką, np. dyskusje na temat podzespołów, układów, zasad ich działania. Czyli można pisać o wszystkim czego nie da się przyporządkować do innych działów.
ODPOWIEDZ
Motorpal
-
Posty: 56
Rejestracja: 16 lip 2012, 19:22
Lokalizacja: Chełm i okolice

Procesor dźwięku na TDA7313 i ATmega8 - prośba o sprawdzenie

Post autor: Motorpal » 03 lip 2014, 12:20

Witam.
Chciałbym zbudować procesor dźwięku na układzie TDA7313 sterowany za pomocą mikrokontrolera ATmega8. Sporządziłem schemat mikrokontrolera wraz z podłączonym wyświetlaczem, trzema przyciskami funkcyjnymi, enkoderem i przyciskiem RESET. Moje pytanie: czy wyżej wymienione elementy są dobrze podłączone do mikrokontrolera?. Dopiero zaczynam przygodę z ATmegą. Niektóre wyprowadzenia mikrokontrolera zostały pominięte, ponieważ wiem, jak je podłączyć. Pozdrawiam.
Załączniki
IMAG1198.jpg

Awatar użytkownika
Ertew
Użytkownik
Posty: 1418
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 03 lip 2014, 17:56

Lista uwag w kolejności od najistotniejszych do czepiania się szczegółów:


1. Brak namalowanego portu do programowania uC w systemie (w docelowym urządzeniu). Jeśli to świadomy wybór - ok, Twoja sprawa. Jeśli to pomyłka, zajmij się tematem i domaluj.
Na ten moment mogę powiedzieć, że bootloader korzystający z łącza RS czy USB odpadają ponieważ zająłeś niezbędne piny. Programowanie ISP również, winny jest temu kondensator na pinie reset.

2. Rezystor za impulsatorem wydaje się zbędny, może nawet przeszkadzać w działaniu układu. Jak możesz, opisz 'co autor miał na myśli'.

3. Rezystory podciągające klawisze wymagają rozważenia. Na krótką metę możesz z nich zrezygnować i w to miejsce włączyć pull-op wbudowane w uC. Przy dłuższym działaniu warto sprawdzić jaki jest minimalny gwarantowany przez producenta prąd przewodzenia klawiszy.
4. Kondensatory do klawiszy i impulsatora - jak możesz zastosuj wszędzie, nie tylko do impulsatora. Ułatwi zadanie uC.

5. Postaraj się tak przebudować układ by przerwania (piny INT) oraz RS (RxD i TxD) nie były podłączone pod LCD. To trochę marnowanie potencjału uC. Lepiej niech te piny wiszą w powietrzu, będzie je łatwiej wykorzystać w przyszłości. Jeden z lepszych pomysłów to zapięcie impulsatora pod oba piny INT, wtedy jego obsługa staje się łatwiejsza. Inny to podłączenie odbiornika IR pod ten port i dobranie pilota zdalnego sterowania.

6. Na przyszłość pomyśl o zostawieniu jak najwięcej wolnych wejść przetwornika ADC. Masz układ audio, masz LCD, może wypadało by zapiąć sygnał audio por uC? W takim rozwiązaniu, część LCD może wyświetlać wskaźnik wysterowania a dodatkowo procesor może monitorować amplitudę sygnału i automatycznie regulować wzmocnienie by utrzymać głośność.

7. Jak masz wolne wyjście sprzętowego PWM, dodaj tranzystor i niech on odpowiada za podświetlenie LCD. Będziesz mógł ustawić podświetlenie na MAX za dnia i przygasić na noc.

8. Drugi kondensator przy klawiszu reset jest źle namalowany. Jeśli ma on filtrować zasilanie uC, namaluj go zaraz przy uC, przy pinach VCC i GND a nie przy klawiszu.
9. Zalecam zastosować dwa kondensatory ceramiczne, jeden na piny VCC-GND, drugi na AVCC-GND, lutowane po przeciwnych stronach uC, możliwie na krótkich ścieżkach.

10. Schematy odręczne są dobre do układów montowanych na pająka oraz łączenia przewodami różnych płytek (prototypy). Jeśli całość masz zamiar wykonać na jednej (nawet i uniwersalnej) płytce, przenieś schemat do dowolnego edytora schematów. Po przełamaniu pierwszych obaw będzie już tylko łatwiej.
Do wyboru masz:
- KiCad - wciąż niedopracowany, ale w pełni darmowy i bez ograniczeń oraz
- Eagle - wersja demo to darmowy edytor schematów, tworzenie płytek w wersji darmowej jest ograniczone i nie wypada używać do celów zarobkowych.

Motorpal
-
Posty: 56
Rejestracja: 16 lip 2012, 19:22
Lokalizacja: Chełm i okolice

Post autor: Motorpal » 03 lip 2014, 19:28

Dziękuję za odpowiedź.
1. Port ISP został tu celowo pominięty, gdyż wiem, jak go podłączyć.
2. Opornik za enkoderem 1k zastosowałem aby uniknąć zwierania nóżek kondensatorów do masy podczas kręcenia.

Chciałbym dodać, że schemat to wyciąg ze schematu zaprojektowanego w programie Eagle Professional przeze mnie. Płytkę mam już zaprojektowaną, czekam tylko na korekty.

Nad pozostałymi punktami jeszcze pomyślę. Dziękuję i pozdrawiam.

Awatar użytkownika
Ertew
Użytkownik
Posty: 1418
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 03 lip 2014, 19:58

1. Więc jednak ISP.
Mnie uczyli że pin reset nie powinien być obciążony pojemnością i rezystancją poniżej 1k, bo będą problemy z programowaniem. Rób jak chcesz, ale ostrzegam że to się może nie udać.

2. Tak ma być. Styki z czasem śniedzieją i tracą kontakt. Dodanie kondensatora powoduje przepływ impulsu prądowego który pomaga oczyścić styki i przedłuża ich życie. Jeśli nie kondensator, to zastosuj rezystory podciągające o wartości 1k, efekt będzie podobny.

Motorpal
-
Posty: 56
Rejestracja: 16 lip 2012, 19:22
Lokalizacja: Chełm i okolice

Procesor dźwięku na TDA7313 i ATmega8 - prośba o sprawdzenie

Post autor: Motorpal » 14 lip 2014, 20:40

Witam po długiej przerwie!
Wprowadziłem kilka poprawek co do schematu. Zamieszczam nowy schemat obejmujący wszystkie podłączenia do mikrokontrolera. Ze względu na brak miejsca na płytce zrezygnowałem ze złącza ISP, ale jak coś mam odpowiedni programator. Moje pytanie: czy jeszcze muszę coś poprawić na schemacie lub coś jeszcze "dołożyć"?. Pozdrawiam.
Załączniki
IMAG1202.jpg

Awatar użytkownika
joon
Użytkownik
Posty: 2078
Rejestracja: 30 cze 2007, 22:56
Lokalizacja: Kraków, Przemyśl, Warszawa
Kontakt:

Post autor: joon » 14 lip 2014, 20:47

Rezystor przy resecie- nota mówi 10k. rezystory podciągające przy przyciskach- jeśli przyciski nie są na kilku metrowych przewodach to wystarczy programowe podciągnięcie wejść, potencjometr do regulacji kontrastu raczej też 10k a nie 100k ;)
Przed wejściem stabilizatora również 100-220nF

Awatar użytkownika
Ertew
Użytkownik
Posty: 1418
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 14 lip 2014, 21:55

Złącze programowania zrób w wersji oszczędnej: 6 pojedyńczych goldpinow, podłączonych do odpowiednich pinów i rozmieszczonych zaraz przy samych pinach uC. Dużo miejsca nie tracisz, a zaoszczędzisz sporo pracy z przekładaniem układu między podstawkami.
To samo z pinami RxD, TxD i GND, przydadzą się przy debugowanu lub rozszerzaniu urządzenia o nowe moduły.

LCD nie zadziała bez podłączenia pinów EN i RS do uC. Pin RW też należy gdzieś podłączyć, albo uC albo któraś (nie pamiętam dokładnie) szyna zasilania/masy.

Rezystorom przy impulsatorze nie wróżę zadziałania. Albo zmniejsz 1k albo zwiększ 4k7, obecna kombinacja jeszcze z pojemnością może stworzyć brzydką stałą czasową.


Innych sugestii nie będę powielał, to przecież Twój projekt a nie mój.

Motorpal
-
Posty: 56
Rejestracja: 16 lip 2012, 19:22
Lokalizacja: Chełm i okolice

Post autor: Motorpal » 15 lip 2014, 17:49

Rozumiem. Jeśli to już wszystkie sugestie, to bardzo dziękuję za pomoc, na pewno się do nich dostosuję. Jeszcze raz dziękuję. Pozdrawiam.

ODPOWIEDZ