Skocz do zawartości

Stroik do gitary elektrycznej


Pomocna odpowiedź

(edytowany)
1 godzinę temu, ethanak napisał:

Nie przesadzaj. Pierwsza struna (najwyższa) pusta i druga na piątym progu mają brzmieć tak samo. I nie obraź się - ale jeśli ktoś nie potrafi stwierdzić czy dwa dźwięki grane jednocześnie są takie same czy nie - powinien jak najszybciej sprawdzić, czy może ładnie rysuje 🙂

🙂

Sprawdzałem - nie rysuje ładnie. I na ucho też mi słoń nadepnął i nie oszukuję się, że będę grał na gitarze dla kogoś innego niż siebie. Tu raczej chodzi o wspólne sprzędzenie czasu z synem i umożliwienie mu spróbowania różnych rzeczy. I wydaje mi się, że on akurat ma większy dar ode mnie. Ostatnio grał Cichą noc i mnie zawołał: "Tata słyszysz to brzmi źle." I jak sprawdziłem nastrojenie gitary apką z komórki, to dokładnie ta jedna struna, którą wskazał, była rozstrojona a reszta nie. I to był ten moment kiedy pomyślałem - zróbmy stroik. Tak może się okazać, że nie wyjdzie. Może się okazać, że wyjdzie i nie będzie potem używany, bo zwykły kamerton wystarczy. A może wyjdzie coś ciekawego z tego... 

Edytowano przez pmochocki
  • Lubię! 1
Link to post
Share on other sites
1 minutę temu, pmochocki napisał:

Może się okazać, że wyjdzie i nie będzie potem używany bo zwykły kamerton wystarczy.

Popatrzyłem sobie na datasheeta od tego AD9833 - wygląda na to, że możesz na nim zrobić całkiem zgrabny kamerton (a jeśli wrzucisz tam gołą ATmegę albo jakiś Pro Mini czy Nano to nawet kieszonkowy). Na pewno bardziej się przyda niż jakieś mierniki częstotliwości.

  • Lubię! 1
Link to post
Share on other sites
7 minut temu, ethanak napisał:

Popatrzyłem sobie na datasheeta od tego AD9833 - wygląda na to, że możesz na nim zrobić całkiem zgrabny kamerton (a jeśli wrzucisz tam gołą ATmegę albo jakiś Pro Mini czy Nano to nawet kieszonkowy). Na pewno bardziej się przyda niż jakieś mierniki częstotliwości.

Wpisane jako kolejny projekt, bo i tak był w planach generator.
Tego projektu nie zarzucam na razie - chciałbym odpowiedzieć sobie na pytania, które się pojawiły. Czy pomysł na dodanie składowej stałej w zaproponowanym układzie zadziała tak, że będę mógł wyciągnąć z tamtą napięcie odniesienia? Czy komparator bez histerezy zadziała na tak małym sygnale?

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

16 minut temu, ethanak napisał:

Popatrzyłem sobie na datasheeta od tego AD9833

Testowałem niedawno moduł z Ali i jest ok, rozdzielczość naprawdę dobra jak na moduł za około 10zł.

Link to post
Share on other sites
1 godzinę temu, Gieneq napisał:

@pmochocki Może ten układ programowalnego generatora Ci się przyda. Możesz wytworzyć dość dokładny przebieg, zrównać fazy i sprawdzać czy się nałożą. Albo odwrócić fazę i sprawdzić czy się wygłuszy. 

Zacząłem czytać dokumentację - zapowida się ciekawie...

image.thumb.png.b1eccf93542a772dc32672939b2f6fec.png

Link to post
Share on other sites
(edytowany)
17 minut temu, Gieneq napisał:

Testowałem niedawno moduł z Ali i jest ok, rozdzielczość naprawdę dobra jak na moduł za około 10zł.

A mówią nie kupuj na Ali, tylko u sprawdzonych dostawców - w TME 52zł netto, a w Farnell wycofane z magazynu.

Edytowano przez pmochocki
Link to post
Share on other sites

Sam kamerton zrobisz spokojnie na ESP32 - na 30 PLN na Allegro masz LOLIN32 LITE razem z kabelkiem do akumulatora, do tego wzmacniacz za 2.50, głośnik za 1.50, akumulatorek za mniej niż dwie dychy i możesz szaleć.

  • Lubię! 1
Link to post
Share on other sites

@pmochocki No bo tam jest loteria, choć mi się na razie trafiły całkiem dobre elementy. ESP32 dev-kit to jedyne co było takie sobie, bo elementy były przesunięte o 0,5mm, a tak to wszystko działa. Chyba że zepsują się za jakiś czas...

Link to post
Share on other sites
9 godzin temu, Gieneq napisał:

Popatrz na bibliotekę ArduinoFFT, może to będzie ten kierunek 🙂 Jeżeli przeprowadzisz transformację Fouriera (FFT) np dla 512 punków, to uzyskasz z tego tablicę 256 (tak, połowa) wartości, które odpowiadają udziałowi częstotliwości w sygnale (im większa wartość w danym elemencie tablicy, tym więcej tej częstotliwości w sygnale. .

Cześć,

przyjrzałem się tej bibliotece "EasyFFT" dla Arduino:

https://create.arduino.cc/projecthub/abhilashpatel121/easyfft-fast-fourier-transform-fft-for-arduino-9d2677

i dla "Arduino NANO" czy UNO (ATMega328) mają one ograniczenie długości do 128 punktów ze względu na ograniczoną do 2048 bajtów pamięć RAM. Nie robiłem jeszcze żadnych prób na sprzęcie, ale z opisów biblioteki "EasyFFT" i przykładowego projektu FFT z Opencores.org:

https://opencores.org/projects/cf_fft

Można bardzo niedokładnie (ale daje to pojęcie o czasach wykonania) wysnuć przybliżone wnioski:

1) Dla biblioteki "EasyFFT" dla "Arduino UNO" - czas obliczenia 128 punktowej FFT (liczby 16-bitowe) wynosi około 53ms. Patrz cytat z opisu biblioteki:

Cytat

Speed:

for Arduino nano it takes:

16 Points : 4ms

32 Points : 10ms

64 Points : 26ms

128 Points : 53ms

Step 5: Conclusion

This FFT code can be used in real-time applications. As it takes around 30 ms to complete the calculation. However, its resolution limited by a number of samples. The number of the sample is limited by Arduino memory. By using Arduino Mega or other higher performance board accuracy can be improved.

2) Dla podanego projektu FFT na FPGA czas obliczenia 4096 punktowej transformaty wynosi 2048 cykli zegarowych - patrz cytat z opisu algorytmu:

Cytat

This FFT can perform calculations on
continuous streaming data (one data set right after another).
More over, inputs and outputs are passed in pairs, doubling the
bandwidth. For instance, a 4096 point FFT can perform a transform
every 2048 cycles.

Dla zegara FPGA równego 100  MHz (10 ns okres) - czas obliczenia 4096 punktowej transformaty wynosi 2048 x 10 ns = 20,48 us (mikrosekundy),

a dla zegara FPGA równego 200  MHz (5 ns okres) - czas obliczenia 4096 punktowej transformaty wynosi 10,24 us.

Jak widać teoretyczne czasy liczenia FFT na Arduino i FPGA różnią się znacząco (czas liczenia FFT na Arduino UNO jest około 2 588 razy dłuższy od tego na układzie FPGA z zegarem 100 MHz).

Jak już mówiłem mam zamiar wykonać próby na sprzęcie FPGA na trzech zestawach FPGA (1024 próbki - 16 bit na próbkę):

1) Elbert V.2 - Spartan3A (XC3S50A): brak bloków DSP i trzy sprzętowe układy mnożące

2) Mimas V.2 - Spartan6 (XC6SLX9) : 16 bloków DSP48

3) CMod A7-35 - Artix7 -(XC7A35T): 90 bloków DSP48

Z trzema różnymi częstotliwościami zegara układów FPGA.

Dla "Arduino Mega" spróbuję obliczyć 128  punktową transformatę FFT, jeili będę miał czas (i ochotę) , to może spróbuje obliczyć FFT także dla ESP32.

BTW: dla IP Core "FFT v.7.1" Xilinx'a z ISE 14.7 interfejs (porty) jest następujący:

COMPONENT IP_FFT
  PORT (
    clk : IN STD_LOGIC;
    start : IN STD_LOGIC;
    xn_re : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
    xn_im : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
    fwd_inv : IN STD_LOGIC;
    fwd_inv_we : IN STD_LOGIC;
    scale_sch : IN STD_LOGIC_VECTOR(9 DOWNTO 0);
    scale_sch_we : IN STD_LOGIC;
    rfd : OUT STD_LOGIC;
    xn_index : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
    busy : OUT STD_LOGIC;
    edone : OUT STD_LOGIC;
    done : OUT STD_LOGIC;
    dv : OUT STD_LOGIC;
    xk_index : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
    xk_re : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);
    xk_im : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
  );
END COMPONENT;

Jak widać próbki wejściowe są liczbami zespolonymi: po 16 bitów na część rzeczywistą i urojoną - my będziemy zostawiać część urojoną każdej próbki równą zero. Wyniki w dziedzinie częstotliwości także są liczbami zespolonymi. Ten IP Core intensywnie korzysta z bloków DSP dostępnych w układzie FPGA - dlatego rzeczywiste czasy liczenia FFT powinny się różnić dla trzech podanych układów FPGA.

Pozdrawiam

Edytowano przez FlyingDutch
  • Lubię! 1
  • Pomogłeś! 1
Link to post
Share on other sites
21 godzin temu, FlyingDutch napisał:

Ten IP Core intensywnie korzysta z bloków DSP dostępnych w układzie FPGA - dlatego rzeczywiste czasy liczenia FFT powinny się różnić dla trzech podanych układów FPGA.

Te DSP wyglądają bardzo ciekawie. 

Screenshot_20211230_141012.thumb.jpg.2978923eb1eb7a53d823606613efd4c1.jpg

Dużo można z nich wycisnąć jak się umiejętnie z nich korzysta. 

Link to post
Share on other sites
2 godziny temu, pmochocki napisał:

Te DSP wyglądają bardzo ciekawie. 

Screenshot_20211230_141012.thumb.jpg.2978923eb1eb7a53d823606613efd4c1.jpg

Dużo można z nich wycisnąć jak się umiejętnie z nich korzysta. 

Ogólnie realizują szybkie mnożenie (precyzję można zmieniać) z sumowaniem i przeniesieniem. Rzadko kiedy użytkownik projektujący jakiś układ używa ich bezpośrednio (powołuje ich instancję do życia), natomiast są używane automatycznie przez software do syntezy FPGA kiedy w grę wchodzi dużo obliczeń.

Pozdrawiam

  • Pomogłeś! 1
Link to post
Share on other sites
(edytowany)

Proponowany przeze mnie obwód nie zadziała. Już wyjaśniam dlaczego. Pooglądałem kilka wzmacniaczy gitarowych i stwierdziłem, że muszę się troszkę doedukować. Zazwyczaj nie było komentarzy dlaczego takie, a nie inne wartości elementów zostały wybrane. Znalazłem wątek na elektroda.pl z takim schematem:

gitar_pre_sch.thumb.gif.bd44968554258f596ae61df8aaacee1d.gif

oraz z takim komantarzem (pisownia oryginalna):

jest tu parę podstawowych knotów:

z impedancją wejściową rzędu 100k musi brznieć jak kapeć

R1 zewrzeć R3 też można, jakby się zaczął wzbudzać to R3 przywrócić, po nim można do masy kondensator jeden -kilka nano

R2 i R4 wymienić na jakieś młt rzędu 1-2 Mega

Rozumiem, że autor sugerujący poprawki chciał znacząco zwiększyć impedencję wejściową. Co wzbudziło u mnie wątpliwości to:

  • Rezystancja rzędu MΩ spowoduje przecież problemy ze względu na wejściowy prąd polaryzujący 0.2µA. Na rezystorze 1MΩ odłoży się napięcie 200mV.
  • Napięcie to można zniwelować zwiększając rezystancje w pętli sprzężenia zwrotnego. 
  • Ale jaki sens stosować niskoszumny NE5532 jeśli trzeba dodać dużą szumiącą rezystancję

Ale dlaczego potrzebna jest aż tak duża rezystancja wejsciowa?

Trochę informacji udało mi się znaleźć w książce Small Signal Audio Design autorstwa Douglasa Selfa

Pickup Characteristics

Both standard and humbucking guitar pickups have several thousands of turns in the coil to get an adequate output, which also means a substantial series inductance. Typical values range from 1 H to 10 H; there are many variations in design. Compare this with a moving-magnet (MM) phono cartridge, which will have an inductance almost always in the limited range of 400 to 700 mH, while a moving-coil phono cartridge has negligible inductance. For both guitar pickups and MM cartridges, the inductance has a very great effect on the signal/noise ratio that is possible. The inductance of a pickup can be measured fairly simply; measuring its frequency response is a bit more involved because an air-cored transmitting coil is required to present a magnetic signal to the pickup.

Guitar pickups are always operated into a relatively high impedance to avoid the loss of high frequencies. A 10 H pickup loaded with 1.25 kΩ will roll off by -3 dB at 20 kHz; this does not sound demanding for an amplifier design, but apart from the amplifier input impedance, there will also be tone and volume controls loading the pickup. The amplifier is therefore designed for a high input impedance of the order of 500 kΩ to 1 MΩ, which is easily obtained either with opamps or discrete transistors.

Pickups have significant internal capacitance between the many turns, and this, in conjunction with any shunt capacitance, will resonate with the inductance. The frequency at which this occurs should be above the audio band.

Screenshot_20220101_220834.thumb.jpg.061d7c068b96044a71d0de8100c7ab24.jpg

Więc ja najpierw postaram się wzmocnić sygnał używając TL072. Ma on na wejściach tranzystory polowe złączowe FET. O wiele łatwiej będzie uzyskać tak dużą rezystancję wejściową. 

Gdyby ktoś miał jakieś materiały o wzmacniaczach gitarowych, to proszę o info. 

 

Edytowano przez pmochocki
Link to post
Share on other sites
(edytowany)

Oto układ przedwzmacniacza, który wymyśliłem:

image.thumb.png.411a6c64709d878b6d89dc0d567ad1e3.png

Układ jest prosty, oczywisty i bez żadnej finezji, ale omówię go dla formalności. Zasilenie z jednej baterii 9V. Rezystancja wejściowa to R2 || R3 = 1MΩ. Rezystory są dobierane tak aby składowa stała na wejściu była równa połowie napięcia zasilania. R1 z C2 tworzą prosty filtr dolnoprzepustowy o częstotliwościowi granicznej 720Hz. Wzmocnienie wynosi 1 + R4/R5. Planowałem dobrać coś sensownego podczas testów. C3 jest niezbędne aby nie wzmacniać składowej stałej. Potem miał być filtr aktywny i podpięcie do AC lub ADC w ATTiny.

No i teraz.... zoooong. Zacząłem czytać o rożnych wersjach TL072 i się okazało, że te dostępne pracują przy zasilaniu od +10V. Ogólnie pomyślałem więc aby zakupić OPA2342 Mógłbym używać z baterii AAA 3x1.5V. Ktoś bardziej obeznany w zasilaczach operacyjnych podpowie czy to dobry pomysł?

Edytowano przez pmochocki
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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.