Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 21 gru 2024, o 01:51


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 14 lip 2022, o 17:16 
Offline
Nowy

Dołączył(a): 12 lut 2017
Posty: 24
Lokalizacja: Warszawa
Pomógł: 0

Przedostatnim projektem, który chcę zaprezentować jest wskaźnik wysterowania z podziałem na 7 częstotliwości, projekt od dwóch lat ma status WIP, najpierw z powodu problemów z hardware, a potem zmian w koncepcji, w chwili obecnej jego ukończenie mogę szacować na 70% i czeka do zimy, na długie wieczory aby go skończyć.

Opis projektu
Inspiracją były filmiki na YT prezentujące prace wykorzystujące nie koniecznie mikrokontrolery a czasami zamiast podejścia sprzętowego programowe (DTF) z takimi akrylowymi/pleksi płytkami dającymi niesamowite wrażenie wzrokowe
Obrazek

Układ na początku miał napędzać ATTiny25/45/85, ale tak mi się rozrosło, że obecnie jedynie ATTiny85 wchodzi w grę. elementem pośrednim jaki należało oprogramować jest układ tzw. graficznego equalizera MSEGQ7. I tu uwaga, projekt przez pierwszy rok utknął właśnie na tym układzie, 100% obecnie dostępnych układów w obudowie DIP to malowanki w dodatku nie działające i mimo zapewnień sprzedawcy można sobie darować ich kupowanie, przerobiłem ze trzech chińczyków, jedną z większych polskich hurtowni (nie TME ale też z Łodzi) i efekt ten sam, już zwątpiłem czy przypadkiem czegoś ja źle nie robię w oprogramowaniu, że to nie działa. Wątpliwością nie sprzyjał fakt, że nota katalogowa to jedna strona, a zarówno w necie jak i w samej nocie można znaleźć wykresy czasowe na liniach sterujących częściowo nieproporcjonalne, a częściowo niezgodne ze sobą, przykład dwóch wykresów poniżej.
ObrazekObrazek

Wreszcie trafiłem na wersję w obudowie SMD SO-8 i te istotnie działały, to właśnie od tego sprzedawcy dowiedziałem się, że DIPy to fejki. To był jakiś styczeń tego roku, mogłem wrócić do kodowania. Jako, że sterowanie okazało się dosyć proste a jednocześnie niektóre czasy tak krótkie, że nawet przy taktowaniu 16MHz więcej czasu wykonuje się kod niż potrzebny czas więc program praktycznie w tej części pozbawiony jest delayów na potrzeby dotrzymania czasów wymaganych notą - dokładnie jest tylko jeden _delay_us(30);
Całą bibliotekę zatem do obsługi MSEGQ7 napisałem sam od podstaw.

Elementem wyświetlającym jest matryca 8x8 diod WS2812, do obsługi którego użyłem darmowej biblioteki przygotowanej przez Tima, do której przygotowałem własną bibliotekę efektów opartą różnego rodzaju inspiracje z YT i ogólnie internetów.

Schemat układu i wykonanie płytki
W załączniku projekt_kicad.zip znajduje się schemat oraz pcb do projektu.
Płytka jest tak przygotowana, że można ją łączyć maksymalnie w czwórki, dzięki temu możemy mieć dwa układy w wersji stereo, albo o podwojonej wysokości

Symulacja 3D z KiCad
Obrazek
Obrazek

Zdjęcia z natury oraz zdjęcie podczas działania układu
Obrazek
Obrazek
Obrazek

Oprogramowanie
Jak napisałem projekt ma status w budowie, w kodzie programu zamieściłem już procedurę startową, różne efekty wizualne, zapis i odczyt ustawień EEPROM, w pliku .h można m.in. wybrać czy obsługujemy wyświetlacz o wysokości 8 czy 16 diod, a co zostało do zrobienia, napisanie dalszej obsługi klawisza, na krótkie i długie naciśnięcie, która da nam możliwość: zmiany efektu, regulację jasności, regulację nasycenia, w efekcie gradientu możliwość zdefiniowania koloru początkowego i końcowego w gradiencie oraz koloru kropki wartości szczytowej z wolniejszym opadaniem w stosunku do całego słupka wskaźnika. Całość opiera się o odczytywanie wartości mierzonej przez ADC dla kolejnych filtrów załączonych w MSEGQ7 i ich wizualizacji, funkcje głównie operują na tych danych i je w różny sposób interpretują aby je potem wyświetlić, zastosowany jest jeden timer programowy, który co prawda chodzi cały czas, ale gdy nie jest to potrzebne wyłączana jest obsługa przerwań od tego timera, ATTiny pracuje z wewnętrzną pętlą PLL 64MHz, co ze struktury skutkuje napędzaniem F_CPU 16MHz

Kod jaki obecnie jest napisany znajduje się w załączeniu


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

Film pokazujący działanie w zależności od częstotliwości sygnału audio, przy okazji widać jak telefon ściąga audio i w jakim zakresie częstotliwości


Film pokazuje działanie przy mowie i przy teście stereo "kanał lewy, kanał prawy" - mam nadzieje, że durne YT nie stwierdzi, że jest to objęte prawami autorskimi


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2022, o 17:54 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

ŁAŁ - jak zwykle mega uczta dla oka ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2022, o 18:53 
Offline
Użytkownik

Dołączył(a): 09 mar 2015
Posty: 30
Pomógł: 0

Lux! Wrzuć jakiś filmik jak to działa :-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2022, o 08:38 
Offline
Nowy

Dołączył(a): 12 wrz 2016
Posty: 13
Pomógł: 0

Projekt fajniutki. Dokładnie to samo właśnie przygotowuję. Miało być na 3 takich układach z wykorzystaniem generatora 3 sygnałów Si5351. A Ty tu, że to fejki - no ładnie :-) 3 sztuki w wersji DIP kupiłem hah.
Zostaje projekt pierwotny czyli ESP32, jeden rdzeń na obróbkę danych (FFT) a drugi na sterowanie ledami i efekty, chociaż może jeszcze zakupię działające MSEGQ7, bo to upraszcza sprawę obróbki sygnałów - tylko tanie nie są (SMD).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lip 2022, o 11:47 
Offline
Nowy

Dołączył(a): 12 lut 2017
Posty: 24
Lokalizacja: Warszawa
Pomógł: 0

aqq001 napisał(a):
... chociaż może jeszcze zakupię działające MSEGQ7, bo to upraszcza sprawę obróbki sygnałów - tylko tanie nie są (SMD).


Co do ceny to jest około dwukrotna przebitka, DIPy na allegro chodzą w kompletach po dwa tyle co pojedynczy SMD, ja kupowałem u tego gościa od razu z podstawką i kompletem elementów https://allegro.pl/oferta/msgeq7-soic8- ... 0516042002



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lip 2022, o 20:54 
Offline
Nowy

Dołączył(a): 12 wrz 2016
Posty: 13
Pomógł: 0

studi napisał(a):
aqq001 napisał(a):
... chociaż może jeszcze zakupię działające MSEGQ7, bo to upraszcza sprawę obróbki sygnałów - tylko tanie nie są (SMD).


Co do ceny to jest około dwukrotna przebitka, DIPy na allegro chodzą w kompletach po dwa tyle co pojedynczy SMD, ja kupowałem u tego gościa od razu z podstawką i kompletem elementów https://allegro.pl/oferta/msgeq7-soic8- ... 0516042002


Dzięki. Sprawdzę. Ale sprawdzę też swoje DIPy. Pewnie jest jak napisałeś ale muszę się przekonać ;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lip 2022, o 07:13 
Offline
Nowy

Dołączył(a): 12 lut 2017
Posty: 24
Lokalizacja: Warszawa
Pomógł: 0

aqq001 napisał(a):
Dzięki. Sprawdzę. Ale sprawdzę też swoje DIPy. Pewnie jest jak napisałeś ale muszę się przekonać ;-)

No ja się przekonałem, jak już mi ruszyło w SMD to na 10 sztuk DIPa, wszystkie 10 wylądowało w koszu.
Zresztą gość na YT też o tym opowiada


Pisałeś wcześniej, że chciałeś to połączyć generatorem na SI - domyślam się, że po to aby działały równolegle i uzyskać większą liczbę słupków z częstotliwościami - jeśli tak to tu mam dla Ciebie dwie informacje, po pierwsze jedyna biblioteka w C dla AVR jaką znalazłem do tego SI, a inny projekt robiłem z jego wykorzystaniem, działa dopiero od 1MHz, niższych częstotliwości nie potrafi generować jak się w opisie autora doczytałem z powodu skomplikowanych obliczeń (a biblioteka dla arduino potrafi, ale trzeba by ją przeportować na C), a po drugie, takie niewielkie przesunięcia między kilkoma MSGEQ7 realizuje się zmieniając generator RC na jego 8 wyprowadzeniu, cytując z internetu
Cytuj:
Aby zwiększyć liczbę zakresów należy zwielokrotnić liczbę układów i przesunąć środkową częstotliwość za pomocą układu RC (8 pin).
Najprościej jest podwoić liczbę kanałów do 14. Wtedy na drugim układzie dobieramy kondensator 66pF (najlepiej 2x33pF równolegle) wtedy częstotliwości drugiego układu wynoszą ok 40, 100, 250, 630, 1.6K, 4k, 6.3kHz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO