Obsah:
- Krok 1: Koncepce Du Circuit En Entrée / Design vstupního obvodu
- Krok 2: Koncepce Du Circuit En Sortie / Návrh výstupního obvodu
- Krok 3: Koncepce Desky plošných spojů / Návrh desky plošných spojů
- Krok 4: Périphériques Pour La Carte DE0 Nano Soc / Periferie pro kartu DE0 Nano Soc
- Krok 5: L'écran LT24
- Krok 6: Codes Utiles En C ++ / Užitečné kódy v C ++
- Krok 7: Le Final / finále
Video: Cactus 2000: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
PROJEKT MIDI-KONTROLEUR EISE4
Français:
Lors de notre quatrième année d'école ingénieur, nous avons réalisé un midi-contrôleur. Nalijte ce faire, nous avions a notre dispozice:
- Une carte DE0 Nano Soc
- Osciloskopy, multimétres
- Různé typy skladeb (zesilovač, odpor, kapacita…)
- Mikrofon a vysoká úroveň
- Un petit ecran
Různé průchodné rozdíly v různých projektech. Nous allons vous les présenter dans cet Instructable.
Nalijte spouštěč, zakryjte základní okruh a přilepte se k mikrofonu a vykreslete jej na maximum. Jednosměrný obvodový desiner, PCB était à faire sur le logiciel Altium. Pendant que deux élèves s'occupaient de gérer les PCB de l'entrée et de la sortie, les deux autres s'occupaient de faire fonctionner la carte DE0 Nano Soc afin que la carte puisse récupérer les echantillons du micro et redonner un signal pour le haut-parleur. Finallement, il nous a fallu créer des effets sonores pour modifier le son.
Angličtina:
Během čtvrtého ročníku školy jsme realizovali midi ovladač. K tomu jsme měli k dispozici:
- Mapa DE0 Nano Soc
- Osciloskopy, multimetry
- Komponenty různých typů (zesilovač, odpor, kapacita …)
- Mikrofon a reproduktor
- Malá obrazovka
Aby byl projekt úspěšný, museli jsme projít různými nebezpečnými kroky. Představíme vám tento Instructable.
Za prvé, návrh základního obvodu potřebný k obnovení syna mikrofonu a vytvoření reproduktoru. Jakmile bude obvod nakreslen, PCB měla být provedena na softwaru Altium. Zatímco dva studenti byli zaneprázdněni správou vstupních a výstupních desek plošných spojů, další dva pracovali na spuštění karty DE0 Nano Soc, aby karta mohla vyzvednout vzorky mikrofonu a dát signál reproduktoru. Nakonec jsme museli vytvořit zvukové efekty pro změnu zvuku.
Krok 1: Koncepce Du Circuit En Entrée / Design vstupního obvodu
Français:
První premiéra se skládá z více míst, kde je obvod zapojen do vysílání signálu vysílače, který mikroskopicky přenáší transmetre à la carte DE0 Nano Soc.
Ci-dessus le schéma de notre entrée.
(1) L'inverseur va permettre de récupérer le 5 Volt et le transformer en - 5 V. Le - 5 V servira pour l'amplificateur que nous verrons ci -dessous.
(2) Ici, nous avons un amplificateur non-inverzní. D'après la formule suivante:
Vs = Ve (1 + Z1/Z2)
Při volbě zisku 101 mettantu R1 = 100 kOhm et R2 = 1 kOhm.
Zesilovač s malým výkonem a zesilovačem.
(3) Les deux résistances vont créer un offset afin que la napětí de sortie soit obsahující 0 a 4 V.
(4) Le micro qui va être amplifier par l'amplificateur.
(5) CAG (Controle Automatique de Gain)
(6) Nalijte vše, co potřebujete, abyste filtrovali druhé pasáže druhé řady RC. L'ordre 2 était nécessaire pour avoir une atténuation de - 40db / decade. Volba frézování je 20 kHz.
Angličtina:
Prvním krokem je nastavení obvodu, který může přijímat signál odeslaný na mikrofon a přenášet jej na kartu DE0 Nano Soc. Nad diagramem našeho vstupu.
(1) Střídač obnoví 5 voltů a transformuje je na - 5 V. - 5 V bude sloužit pro zesilovač, který uvidíme níže.
(2) Zde máme neinvertující zesilovač. Podle následujícího vzorce:
Vs = Ve (1 + Z1 / Z2)
Zisk 101 byl zvolen nastavením R1 = 100 kOhm a R2 = 1 kOhm.
Tento zesilovač bude použit k zesílení zvuku mikrofonu.
(3) Dva odpory vytvoří offset, takže výstupní napětí je mezi 0 a 4 V.
(4) Mikrofon, který bude zesilován zesilovačem.
(5) AGC (automatické řízení zisku)
(6) Nakonec jsme vytvořili dolní propust druhého řádu se dvěma RC. Objednávka 2 byla potřebná k útlumu -40 dB / dekádu. Zvolená mezní frekvence je 20 kHz.
Krok 2: Koncepce Du Circuit En Sortie / Návrh výstupního obvodu
Français:
Dans un second temps, nous avons penser à la création du circuit en sortie.
Ci-dessus le schéma de notre výpad.
(1) Le DAC (Digital to Analog Converter) qui va permettre de récupérer signal signal numérique envoyer par la carte DE0 Nano Soc et le converir en signal analogique (nécessaire pour le haut parleur)
(2) Kapacita signálu a skladba signálu pokračování.
(3) Montage qui va permettre d'amplifier la puissance de notre signal. Nous avons prit le diagram:
www.ti.com/lit/ds/symlink/lm386.pdf
strana 10
Schéma permet d'avoir un gain de 200 qui est nécessaire car notre signal est vraiment faible.
Angličtina:
Nad diagramem našeho výstupu.
(1) DAC (převodník digitálního signálu na analogový), který umožní obnovit digitální signál odeslaný kartou DE0 Nano Soc a převést jej na analogový signál (nezbytný pro reproduktor).
(2) Kapacita bude použita k přenosu spojité složky našeho signálu.
(3) Montáž, která zesílí sílu našeho signálu. Vzali jsme schéma:
www.ti.com/lit/ds/symlink/lm386.pdf
strana 10
Toto schéma umožňuje zisk 200, který je nezbytný, protože náš signál je opravdu slabý.
Krok 3: Koncepce Desky plošných spojů / Návrh desky plošných spojů
Français:
Nejsou k dispozici žádné obvody s jinými instancemi, které by mohly mít dopad na desku plošných spojů.
Nalijte ce faire, nous avons utiliser le logiciel Altium. Pokud to chcete udělat, opravte svůj spojovací kabel a klikněte na:
Nabídka Design -> Aktualizovat dokument DPS.
Ensuite, cliquez sur «Ověřit změny». Nalijte chaotickou změnu platnosti, háčkujte přibližně ve sloupci: «Zkontrolovat».
Après cela, vous aurez un nouvel onglet qui va s'ouvrir et il faudra placer les composants dans cette fenêtre.
Přejděte do nabídky „Soubor“-> „Produkční výstup“-> „Gerberovy soubory“
Une fenêtre s'ouvre, dans celle-ci vous trouverez;
- Nabídka „Vrstvy“obsahuje více vrstev, než které vyberete PCB.
- Nabídka „Drill Drawing“obsahuje všechny možnosti.
- Nabídka „Clony“v nabídce „Vložené apertury“.
Chcete to udělat?
Údržba Revenons à la fenêtre avec les composants sur celle-ci vous cliquez sur
Soubor-> Výrobní výstup -> Soubory NC vrtáků
C'est enfin finit, il ne reste plus qu'à donner à l'imprimante 3D les fichiers.
Velké množství fotografií spojených s deskou plošných spojů.
Angličtina:
Jakmile byly vytvořeny naše obvody, museli jsme je dát na desky plošných spojů.
K tomu používáme software Altium. Vše musí být správně připojeno a poté klikněte na:
Nabídka Design -> Aktualizovat dokument DPS.
Poté klikněte na „Ověřit změny“. U každé ověřené změny se ve sloupci „Kontrola“zobrazí zelené zaškrtnutí.
Poté budete mít novou kartu, která se otevře, a budete muset umístit součásti do tohoto okna.
Poté musíte jít do nabídky „Soubor“-> „Výstupní výstup“-> „Gerberovy soubory“
Otevře se okno, v kterém najdete;
Nabídka „Vrstvy“, která vám umožní vybrat, které vrstvy budou podporovat vaši desku plošných spojů. Nabídka „Drill Drawing“, kde je třeba vše odškrtnout. Nabídka "Clony", ve které musíte zaškrtnout "Vložené clony".
Jsou všechny jeho kroky dokončeny?
Vraťme se nyní k oknu s komponentami v tomto, na které kliknete
Soubor-> Výrobní výstup -> Soubory NC vrtáků
Je konec, vše, co musíte udělat, je dát 3D tiskárně soubory.
V příloze naleznete fotografie našich dvou desek plošných spojů.
Krok 4: Périphériques Pour La Carte DE0 Nano Soc / Periferie pro kartu DE0 Nano Soc
Francais:
Nejlepší IP adresy jsou optimalizovány pro Intel FPGA a další a mají lepší přehled o koncepcích a testech.
Grâce au logiciel Qsys nous avons pu créer des périphériques embarqués dans notre carte.
Volby liste des périphériques que nous avons také:
- Komunikace SPI nalít DAC
- ADC využívá své analogové signály a převádí digitální data
- HPS (processeur) pour gérer tout les codes
- GPIO prochází určitými efekty
- Mémoire (na čipové paměti)
Angličtina:
IP jádra jsou optimalizována pro zařízení Intel FPGA a lze je snadno implementovat ke snížení času návrhu a testování.
Díky softwaru Qsys jsme mohli v naší mapě vytvářet integrovaná periferie. Zde je seznam zařízení, které jsme přidali:
- SPI komunikace pro DAC
- ADC načte analogové hodnoty z našeho signálu a převede je na digitální data
- HPS (procesor) pro správu všech kódů
- GPIO pro tlačítka, která budou použita ke zvládnutí určitých efektů
- Paměť (v paměti čipu)
Krok 5: L'écran LT24
Français:
Všechny základní a střední LT24 celui-ci sera guidé par un processeur simulé NIOS.
Nalijte l'initaliser, nous avons lu beaucoup de documentations sur celui-ci.
Au final, notre écran sert à afficher la FFT, à sélectionner l'effet voulu.
Angličtina:
Museli jsme pochopit a spravovat obrazovku LT24, která bude vedena simulovaným procesorem NIOS. Abychom to mohli spustit, přečetli jsme si o tom spoustu dokumentace.
Nakonec naše obrazovka slouží k zobrazení FFT s požadovaným efektem.
Krok 6: Codes Utiles En C ++ / Užitečné kódy v C ++
Je možné sledovat různé kódy v jazyce C ++ a používat další nástroje pro zvýšení efektivity.
Voici d'abord toutes nos déclarations (oui un peu vyčerpávající …):
Ukážu vám kódy v C ++, které nám byly užitečné při vytváření zvukových efektů.
Nejprve všechna naše prohlášení (ano, trochu vyčerpávající …):
#zahrnout
#include #include #include #include #include #include #include #include #include "WavUtils.cpp" #include "Biquad.cpp" #include #include #include #include "hps_0.h" #include "hps.h" #include "alt_gpio.h" #include "hwlib.h" #include "socal.h" #include #include "kiss_fft.h" #define nbpoint 1000 #define HW_REGS_BASE (ALT_STM_OFST) #define HW_REGS_W (Hx_40000) HW_REGS_SPAN - 1) #definovat PI 3.1415926535 #define NFFT 80 #define FE 41000 #define F2 10000 #define F1 5925 #define PH 5000 #define PB 15000 #define MOD 2000 using namespace std; konstantní SAMPLE_RATE = 12500000; // Konfigurace vytvoření a uložení vyrovnávacích pamětí pro nalít s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL); const kiss_fft_cfg config_inv = kiss_fft_alloc (NFFT, 1, NULL, NULL); kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*inv = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); queueoutBuf; int global = 0; int i = 0; krátká data, data2;
Ci-dessous une de nos fonts permettant la modulation:
Pod jednou z našich funkcí umožňujících modulaci:
prázdná modulace (int freq)
{if (i <NFFT) {data = data*cos (2*PI*freq*i/FE); v .r = data; i ++; } else i = "0"; }
Hlavní část Voici Notre:
Toto je naše hlavní funkce:
int main (int argc, char ** argv)
{volatile unsigned long *h2p_lw_spi_addr = NULL; volatile unsigned long *h2p_lw_led_addr = NULL; volatile unsigned long *h2p_lw_adc_addr = NULL; volatile unsigned long *h2p_lw_blue_addr = NULL; volatile unsigned long *h2p_lw_red_addr = NULL; volatile unsigned long *h2p_lw_black_addr = NULL; void *virtual_base; int fd; printf ("1 / n"); // namapujte adresní prostor pro spi registry do uživatelského prostoru, abychom s nimi mohli komunikovat. // budeme vlastně mapovat v celém CSR rozpětí HPS, protože chceme přistupovat k různým registrům v tomto rozpětí if ((fd = open ("/dev/mem", (O_RDWR | O_SYNC))) == -1) {printf ("CHYBA: nelze otevřít \"/dev/mem / "… / n"); návrat (1); } printf ("2 / n"); virtual_base = mmap (NULL, HW_REGS_SPAN, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, HW_REGS_BASE); printf ("3 / n"); if (virtual_base == MAP_FAILED) {printf ("ERROR: mmap () failed … / n"); zavřít (fd); návrat (1); } printf ("4 / n"); printf ("5 / n"); h2p_lw_spi_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (bez znaménka) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (bez znaménka) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (bez znaménka) (HW_REGS_MASK)); h2p_lw_blue_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (bez znaménka) (HW_REGS_MASK)); h2p_lw_black_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (bez znaménka) (HW_REGS_MASK)); h2p_lw_red_addr = virtual_base + ((bez znaménka) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (bez znaménka) (HW_REGS_MASK)); // int i = 0; int data; int i = 0, j; // Konfigurace vytvoření a uložení vyrovnávacích pamětí pro nalít s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL); kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); while (1) {data = *(h2p_lw_adc_addr+2); if (*h2p_lw_blue_addr == 1) data = echo (data, 20); if (*h2p_lw_black_addr == 1) alt_write_word (h2p_lw_led_addr, 0x0F); if (*h2p_lw_red_addr == 0) alt_write_word (h2p_lw_led_addr, 0xF0); alt_write_word (h2p_lw_spi_addr+1, data | 0b11100000000000000); } zdarma (config); zdarma (in); zdarma (ven); návrat 0; }
Krok 7: Le Final / finále
Français:
Eh voilà (enfin) le rendu final de notre Cactus 2000.
Mnoho avon mis les PCB entrée and sortie qui sont reliés à la carte DE0 Nano Soc.
Vlastní skladba a další skladba interiéru.
Sur la boîte on trouve un potentiomètre glissière, qui permet de gérer le volume du son, des potentiomètres et des boutons qui permettrons de lancer certains effets, ainsi que un ecran qui permettra d'afficher la FFT.
Nejvýznamnější pozice kolmých na vzájemné vazby. Nejkratší poloha ve spojení se vztahem.
C'est tout pour aujourd'hui.
Důležitá otázka Instructable vous soit utile.
Angličtina:
Zde jsme (konečně) konečným vykreslením našeho Cactus 2000.
Vložili jsme vstupní a výstupní desky plošných spojů, které jsou připojeny k desce DE0 Nano Soc.
Poté jsou jeho součásti umístěny do žlutého pole.
Na krabici je posuvný potenciometr, který dokáže řídit hlasitost zvuku, knoflíky a tlačítka, která spustí některé efekty, a obrazovka, která zobrazí FFT.
Reproduktor je umístěn kolmo na tlačítka. Mikrofon je umístěn na druhé straně krabice vzhledem k reproduktoru.
To je pro dnešek vše.
Doufáme, že vám tento Instructable bude užitečný.
Doporučuje:
Indukční ohřívač 2000 W: 9 kroků (s obrázky)
Indukční ohřívač 2 000 wattů: Indukční ohřívače jsou skvělým nástrojem pro ohřev kovových předmětů, které se mohou hodit v pracovním prostoru pro kutily, když potřebujete rozžhavit věci, aniž byste zpackali celý prostor. Dnes tedy vytvoříme extrémně silnou indukci
Jak vyrobit regulátor napětí 2000 W: 7 kroků
Jak vyrobit regulátor napětí 2000 W: Stmívače - elektronické regulátory výkonu zátěže jsou široce používány v průmyslu a v každodenním životě k plynulé regulaci otáček elektromotorů, otáček ventilátoru, topných prvků topných těles, intenzity osvětlení místností elektrickými lam
12 € Led Cactus (dekorace neonové místnosti): 4 kroky
12 € Led Cactus (neonová dekorace pokoje): Dobrý den, v tomto návodu vám ukážu, jak jsem vytvořil tuto úžasnou dekoraci místnosti Led Cactus Začněme
Získejte kalendář z aplikace Microsoft Outlook 2000 na Ipod bez softwaru: 3 kroky
Získejte kalendář z aplikace Microsoft Outlook 2000 na Ipod bez softwaru: V tomto Instructable vám ukážu, jak dostat kalendáře z aplikace Microsoft Outlook 2000 (nebo jakékoli verze nepodporované itunes) do vašeho iPodu (pouze ten, který podporuje použití disku) bez stahování softwaru. Je několik věcí, které bych chtěl
Jak zajistit, aby systém Windows 2000 vypadal jako Windows XP: 5 kroků
Jak zajistit, aby Windows 2000 vypadal jako Windows XP: Během tohoto tutoriálu budete moci pomocí několika softwarů vytvořit své nudné rozhraní Windows 2000 přesně jako XP. Existuje několik položek, které nebudou zahrnuty, například vzhled ovládacího panelu a podobně. Budete