Kontroler DJ - kilka pytań

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
Daxx
-
Posty: 4
Rejestracja: 25 sie 2014, 23:14
Lokalizacja: Zawiercie
Kontakt:

Kontroler DJ - kilka pytań

Post autor: Daxx » 25 sie 2014, 23:44

Witam, na samym początku chciał bym podkreślić że z elektroniką mam styczność od najmłodszych lat, wykonałem też trochę projektów większych jak i mniejszych, ale bez zbędnego rozpisywania się przejdę od razu do głównego wątku, otóż sprawa wygląda następująco:

Zamierzam zbudować kontroler DJ współpracujący z mocno zmodyfikowaną wersją popularnego programu VirtualDJ v8, w konsoli będzie zintegrowany komputer (jeden z porzuconych projektów, zbudowałem tablet ze starszego laptopa, niestety brakło kasy na dotyk), urządzenie musi komunikować się przez port USB, jednocześnie opóźnienia muszą być naprawdę niewielkie.

Program konsola komunikuje się z VDJ tak że wysyła dany kod informujący o wciśnięciu oraz zwolnieniu danego klawisza konsoli np.
90 4A 7F 00
80 4A 00 00
Jaki sterownik będzie "najszybszy" do tego zastosowania? Ogólnie myślałem nad jakimś mikroprocesor firmy Atmel, np tak jak w tym projekcie:
Projekt sterownika

Jednak mój komputer nie posiada złącza LPT co mocno utrudnia sprawę, jaki będzie najlepszy sposób zrealizowania komunikacji z komputerem bez LPT? Myślałem nad budową konwertera LPT->USB ale czy to zda egzamin?
Konwerter LPT->USB

A i jeszcze jedno ważne pytanie, ponieważ moja konsolka będzie naprawdę potężnym narzędziem to ilość potencjometrów oraz przycisków będzie naprawdę spora, sam mikser to około 31 potencjometrów oraz przycisków (może się nieco zwiększyć) to jaki do tego będzie najlepszy sterownik?

Z góry mogę was zapewnić że nie odpuszcze, wiem że koszt tego będzie wysoki i za tą cene kupie coś naprawdę fajnego, ale jak już powiedziałem że mam zamiar zbudować to zbuduje :D

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 26 sie 2014, 11:09

A że zapytam, po co Ci aż tyle potencjometrów ?
Wielu profesjonalnych DJ'ów używa prostych mikserów z trzema potencjometrami barwy, do tego fader i takie tam duperoły.

Do tego chyba gdzieś tu na forum zadawałem podobne pytania. I chyba były w moim temacie przydatne linki.
Jak wrócę do domu i znajdę to zapodam.

Awatar użytkownika
timo66
Moderator
Posty: 1807
Rejestracja: 20 maja 2006, 19:15
Lokalizacja: 66'15" M.a.R.s.
Kontakt:

Post autor: timo66 » 26 sie 2014, 16:06

Z tymi potencjometrami to chyba chodzi o bardziej pult miksujący/ syntezator. Jeśli nie to nie wiem o jaki rodzaj sterownika chodzi do tych potencjometrów? Chcesz enkodery tam wbudować?

Daxx
-
Posty: 4
Rejestracja: 25 sie 2014, 23:14
Lokalizacja: Zawiercie
Kontakt:

Post autor: Daxx » 27 sie 2014, 8:06

matrix pisze:A że zapytam, po co Ci aż tyle potencjometrów ?
Wielu profesjonalnych DJ'ów używa prostych mikserów z trzema potencjometrami barwy, do tego fader i takie tam duperoły.

Do tego chyba gdzieś tu na forum zadawałem podobne pytania. I chyba były w moim temacie przydatne linki.
Jak wrócę do domu i znajdę to zapodam.
Mikser będzie cztero kanałowy, do tego cztery playerki, sampler, i właśnie dla tego potrzebne mi tyle tego ;)

To teraz pomóżcie, jaki najlepszy będzie sterownik?

(Mam już jeden, prototypowy ale nie działa jak powinien :( , po za tym był to gotowiec)

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 27 sie 2014, 9:24

W takim wypadku powinieneś zainteresować się jakimś przetwornikiem ADC po I2C.
Na przykład takim układem jak --> MAX11605 <--.
Tylko nie wiem czy jest on ogólnie dostępny. W każdym razie ma 12 kanałów ADC po szynie I2C. Nie studiowałem noty, ale pewnie jak większość układów po szynie I2C ma możliwość adresowania więc pewnie będzie opcja podpięcia większej ilości takich układów a co za tym idzie możliwość zwiększenia ilości zastosowanych potencjometrów. Do tego procek z odpowiednią ilością pamięci, układ FT232RL i jedziesz na usb.

Daxx
-
Posty: 4
Rejestracja: 25 sie 2014, 23:14
Lokalizacja: Zawiercie
Kontakt:

Post autor: Daxx » 27 sie 2014, 15:47

A jakaś bardziej popularna alternatywa dla tego maxa? Jeszcze bd próbował szukać. A z ciekawości rozbiore mojego mixtracka jak tam to wszystko rozwiązali.

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 27 sie 2014, 18:04

Tak czy siak ja bym szedł drogą pomiaru napięcia stałego na wejściach ADC. Ale nawet Atmega128 ma tylko jeden port ADC czyli 8 wejść. To trochę jakby mało.

Biorąc pod uwagę po 3 potencjometry barwy dźwięku to masz już 6 wejść ADC zajętych. Nie będę wymieniał dalej. A tych potencjometrów w VDj8 rzeczywiście jest naprawdę sporo.

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

Post autor: Ertew » 27 sie 2014, 18:54

Na upartego, potencjometry można multipleksować. Środki kilku potencjometrów łączysz razem pod jedno wejście ADC, a skrajne końce jednego z potencjometrów należy podłączyć do szyn zasilania (dwa piny uC lub jeden i 3 tranzystory) podczas gdy reszta 'wisi w powietrzu'. Rozwiązanie wybitnie złe, ale gdy się nie ma co się lubi ...

A co do strzelania z armaty (Atmega128) w problem, może warto pomyśleć nad rodziną atXmega. Największym problemem jest programator, później napięcie zasilania (max 3v3), a dalej to już z górki. Jeśli dobrze pamiętam, procesor ATXMEGA128A3U (smd, 64 piny z rastrem 0.8mm, około 20zł) ma 16 pinów mogących służyć jako wejścia analogowe, oraz dwa przetworniki ADC które można łączyć z pinami w dowolny sposób.
Jeśli wejść zabraknie, można pomyśleć o 'poświęceniu' kilku procesorów na półautomatyczne przetworniki ADC raportujące pomiary jakimś uniwersalnym interfejsem.

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 27 sie 2014, 19:18

Ertew pisze:Na upartego, potencjometry można multipleksować. Środki kilku potencjometrów łączysz razem pod jedno wejście ADC, a skrajne końce jednego z potencjometrów należy podłączyć do szyn zasilania
Według mnie rozwiązanie zupełnie nie trafione. Połączenie potencjometrów dwoma pinami czyli powiedzmy suwak i masa będzie powodowało że potencjometry będą połączone równolegle więc rezystancja będzie rózna dla różnych ustawień poszczególnych potencjometrów. Nie wiadomo jak wpłynie to na jakość pomiaru a nawet na sam pomiar. Może wprowadzać duże błędy czyli ustawienie potencjometru BASS może wpływać na ustawienia potencjometrów MID i TREBLE.
Chyba że coś źle zrozumiałem to proszę o wybaczenie.
Ertew pisze:A co do strzelania z armaty (Atmega128) w problem, może warto pomyśleć nad rodziną atXmega.
Zaproponowałem spory procek z rodziny AVR bo programuję w bascomie więc XMega jakby mnie "nie dotyczy" a sam autor zdaje się nie napisał w czym programuje.

Ja jednak upieram się przy odczycie ADC za pomocą zewnętrznych przetworników. Możemy zastosować procesor adekwatny do wymaganej ilości pamięci a nie do ilości potrzebnych pinów.
Można rozłożyć wyprowadzenia do potencjometrów a nie skupiać je przy procku.
Mamy wtedy sytuację że skupiamy potencjometry przy jednym zewnętrznym przetworniku i szyną leci do procka. To według mnie też zmniejszy zakłócenia.

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

Post autor: Ertew » 27 sie 2014, 20:06

Źle zrozumiałeś. Razem łączymy suwaki, a 'masa' i 'zasilanie' potencjometrów wisi w powietrzu. Napięcie na suwakach ustala jeden potencjometr aktualnie zasilany. Po odczycie jego zasilanie oraz masa są odłączane a załączane dla kolejnego potencjometru. Rozwiązanie takie jest wybitnie złe (będzie pięknie łapć zakłócenia), ale sprawdzone w praktyce.



Z resztą Twojego postu się nawet zgadzam, choć mam kilka uwag.

Atmega128 to przeżytek, można rzec że dinozaur. Lepszy od niego jest już tylko Mega2560 (chyba najlepszy z serii Mega który można polutować ręcznie) jednak i on przegrywa z nowszymi rodzinami mikrokontrolerów.
Zaproponowałem serię 'Xmega_A_U' która jest tańsza (nie licząc nowego programatora) i wydajniejsza od Mega przy większych możliwościach. Jednocześnie dostępne źródła podają, że da się je programować przy użyciu Bascoma.

A zaproponowany procesor (przypadkiem 128k flash) miał służyć jako przykład porównawczy. Ciężko kupić Xmegi mające 16 albo 64kB, dużo bardziej dostępne są te mające 128kB (w hurcie różnice cenowe są bardzo małe).

Z resztą, teraz widzę że zrobiłem błąd proponując ten procesor. Xmega32E5 jest zbliżona wymiarami do Megi8 (SMD), korzystna cenowo, co prawda tylko jeden ADC ale też ma 16 kanałów wejściowych. Nic tylko oprogramować go by programowo udawał proponowany MAX11605.
Jedna płytka ze stabilizatorem 3V, uC, translatorami napięć interfejsu komunikacyjnego i punktami lutowniczymi do potencjometrów/przycisków/kontrolek LED może zostać powielona kilkanaście razy tworząc spory pulpit sterujący czymkolwiek.

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 27 sie 2014, 20:18

Na pewno masz rację tylko ja przyzwyczajony do Bascoma proponowałem proste procesory, ale widząc co proponujesz może być nieźle i do tego wyjdzie modułowo a to może okazać się dość zbawienne a przede wszystkim wygodne w użyciu i dające duże możliwości rozbudowy.

Daxx
-
Posty: 4
Rejestracja: 25 sie 2014, 23:14
Lokalizacja: Zawiercie
Kontakt:

Post autor: Daxx » 30 sie 2014, 1:22

Dobra Panowie, trochę się dokształciłem, przeanalizowałem wasze wypowiedzi i biorę się do roboty, będę pisał jeśli będzie jakiś problem, jeszcze raz dzięki :D

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 30 sie 2014, 7:45

Jaką decyzję podjąłeś ?

ODPOWIEDZ