Skocz do zawartości
MR1979

Mini konsolka do gier na STM32

Pomocna odpowiedź

@MR1979 zapowiada się ciekawie! Przeniosłem do działu z worklogami, zachęcam do publikowania częstych aktualizacji 🙂

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Mały update z frontu 🙂

1. Jest już integracja modułu zasilania z konsolką oraz oprogramowanie przycisku power:

  • Przy wyłączonym zasilaniu:

- krótkie naciśnięcie przycisku power - konsolka uruchomi się na chwilę i po chwili wyłączy
- dłuższe naciśnięcie przycisku power - wyświetli ekran powitalny (wtedy można zwolnić przycisk zasilania), a następnie uruchomi się gra

  • Przy włączonym zasilaniu:

- krótkie naciśnięcie przycisku power - spowoduje przerwanie gry i powrót do menu głównego
- dłuższe naciśnięcie przycisku power wyświetli ekran zamykania systemu
- gdy zwolnimy przycisk przed upływem 3 sekund - konsolka powróci do głównego programu
- gdy przyciśniemy przycisk powyżej 3 sekund - nastąpi wyłączenie urządzenia z poziomu oprogramowania
- przyciśnięcie przycisku >10s - w razie gdyby urządzenie się zawiesiło - nastąpi wyłączenie awaryjne z poziomu modułu zasilania. Przydatna funkcja, gdy bateria nie ma możliwości odłączenia baterii bez rozkręcania obudowy

2. Jest już podłączona klawiatura

3. Aktualnie myślę nad układem audio. Ponieważ mój STM32F103 nie ma ani I2S (nie mogę podłączyć MAX98357A), ani DAC na pokładzie, więc pozostaje mi tylko PWM i proste odgrywanie melodii zapisanej w postaci nut. Zastosuję PWM do tego i najprostszy możliwy wzmacniacz na jednym tranzystorze (znaleziony w sieci). Zamienię tylko 47uF na 10uF na wejściu. Co prawda wtedy będzie tłumić bardziej przy niskich częstotliwościach, ale dla głośniczka po 2PLN nie powinno to mieć znaczenia. Zmienię też tranzystor na coś podobnego tylko SMD.

Jak ktoś podsunie mi pomysł na coś lepszego do audio to będę wdzięczny 🙂

4. Schemat się rysuje już w KiCad. Jak tylko dogram audio, zabieram się za PCB.

 

IMG_20200205_202631.thumb.jpg.d10129f6e722d2e7a240d358ee1936b1.jpgIMG_20200205_202512.thumb.jpg.52faadb52964ae99943190e5f39ee268.jpgSimple-single-transistor-audio-amplifier-circuit.thumb.png.42b185e2403db17debb869df57b6db08.png

A poniżej sekwencja włączenia i wyłączenia konsolki:

 

Edytowano przez MR1979
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Jeśli jako dźwięk odtwarzasz tylko sygnał prostokątny to po co tam wzmacniacz, który cały czas żre prąd nawet jeśli nie gra? Ja bym zrezygnował w ogóle ze wzmacniacza i wstawił jakiś buzzer piezo, który możesz sterować bezpośrednio z pinu. A jak już wzmacniacz to bez R1 i C1 tylko baza przez rezystor do pinu (sterujesz cewką głośnika tak samo jak przekaźnikiem).

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Chyba właśnie o to chodzi, żeby ten sygnał prostokątny (relatywnie) wysokiej częstotliwości wygładzić tym filterem R-C, żeby zrobić z niego przebieg bardziej przypominający sygnał audio.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Tyle że to owszem jest filtr RC, ale górnoprzepustowy - czyli raczej nic nie wygładzi, wręcz przeciwnie.

Zależy wszystko od tego jak to będzie podłączone. Jeśli będzie to zwykły sygnał PWM (tak jak w Arduinowym tone) - żadne kondensatory ani polaryzacja bazy nie są potrzebne. Jeśli to ma być coś w stylu delta-sigma (tyle że to już nie PWM) to filtr RC będzie potrzebny - ale tu go nie ma.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
25 minut temu, ethanak napisał:

Jeśli będzie to zwykły sygnał PWM (tak jak w Arduinowym tone) - żadne kondensatory ani polaryzacja bazy nie są potrzebne

Dokładnie tak. Zastanawiające, że projektujemy spore rzeczy na mikrokontrolerach, wyświetlaczach i cudach na kiju a wykładamy się na pierwszym z brzegu tranzystorze. Stosowanie wzmacniacza w klasie A w ogóle jest bez sensu w projekcie zasilanym baterii. Równie dobrze można grzałkę sobie z boku podłączyć i ręce ogrzewać. Więc albo prosty klucz i sygnał prostokątny, albo sygnał "analogowy" (np. PWM odfiltrowany) i wzmacniacz w klasie B sklecony z paru tranzystorów lub jednej gotowej płyteczki nawet na dziadku LM386 czy jakimś nowszym wynalazku.

https://www.deeptronic.com/electronic-circuit-design/small-audio-power-amplifier-using-3-transistors/

https://abc-rc.pl/product-pol-7673-Modul-wzmacniacza-audio-LM386-wzmocnienie-do-46dB-wejscie-10K.html

https://abc-rc.pl/product-pol-9543-Mini-modul-wzmacniacz-audio-OEP3W-3W-2-5-5V-Klasa-D.html

Wzmacniacze liniowe są o tyle fajne, że można nimi coś powiedzieć lub zagrać w miarę prostymi środkami. Odgrywanie próbek PCM jest trywialne a takie audio na pewno znacznie podnosi atrakcyjność. Za to gdy nie ma takiej potrzeby, równie dobrze można je sterować prostokątem i odgrywać pipczenie bez marnowania prądu jak w pierwotnej propozycji.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...