Sisukord:

Kaktus 2000: 7 sammu
Kaktus 2000: 7 sammu

Video: Kaktus 2000: 7 sammu

Video: Kaktus 2000: 7 sammu
Video: СУПЕР СМЕШНАЯ КОМЕДИЯ! "Как Извести Любовницу За 7 Дней" РУССКИЕ КОМЕДИИ НОВИНКИ, ФИЛЬМЫ HD, КИНО 2024, November
Anonim
Kaktus 2000
Kaktus 2000

PROJEKTI KESKKONTROLLI EISE4

Français:

Lors de notre quatrième année d'école ingénieur, nous avons réalisé un midi-contrôleur. Pour ce faire, nous avions à notre disposition:

  • Une carte DE0 Nano Soc
  • Ostsilloskoobid, multimeedrid
  • Erinevat tüüpi eri komponendid (võimendi, vastupidavus, mahtuvus …)
  • Un micro ja un haut-parleur
  • Väike petlik

Il nous a fallu passer par différentes étapes périlleuses afin de réussir le projet. Nous allons vous les présenter dans set Instructable.

Valage käivitaja, le dessin du circuit de base était nécessaire afin de récupérer le son du micro et le rendre au haut-parleur. Une fois le circuit dessiner, le 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'occupa 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 le haut-parleur. Finallement, il nous a fallu créer des effets sonores pour modifier le son.

Inglise:

Neljanda kooliaasta jooksul saime aru midi-kontrollerist. Selleks oli meie käsutuses:

  • Kaart DE0 Nano Soc
  • Ostsilloskoobid, multimeetrid
  • Eri tüüpi komponendid (võimendi, takistus, võimsus …)
  • Mikrofon ja kõlar
  • Väike ekraan

Projekti õnnestumiseks pidime läbima mitmesuguseid ohtlikke samme. Tutvustame teile seda juhendit.

Esiteks põhiskeemi disain, mis on vajalik mikrofoni poja taastamiseks ja kõlari valmistamiseks. Pärast vooluahela joonistamist tuli PCB teha Altiumi tarkvaraga. Kui kaks õpilast tegelesid sisend- ja väljundplaatide haldamisega, siis ülejäänud kaks töötasid DE0 Nano Soci kaardi käivitamise nimel, et kaart saaks mikrofoniproove üles võtta ja kõlarile signaali anda. Lõpuks pidime heli muutmiseks looma heliefekte.

Samm: kontseptsioon Du Circuit En Entrée / sissepääsuahela kujundus

Kontseptsioon Du Circuit En Entrée / Sissepääsuahela disain
Kontseptsioon Du Circuit En Entrée / Sissepääsuahela disain

Français:

La première étape consiste à mettre en place un circuit qui puisse prendre le signal envoyer sur le micro pour le transmettre à 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-inverseur. Suitsuvorm:

Vs = Ve (1 + Z1/Z2)

Valitud võimenduse korral 101 mett R1 = 100 kOhm et R2 = 1 kOhm.

Cet võimendi va servir a võimendi le son du micro.

(3) Les deux résistances vont créer un offset afin que laension de sortie soit sisaldab entre 0 et 4 V.

(4) Võimendi mikrovõimendi võimendi.

(5) CAG (Controle Automatique de Gain)

(6) Pour finir, nous avons créé un filtre passe-bas du second ordre avec deux RC. L'ordre 2 ei vaja enam aega - 40 dB kümnendi kohta. Valikuvõimalus on 20 kHz.

Inglise:

Esimene samm on ahela seadistamine, mis suudab mikrofoni saadetud signaali edastada DE0 Nano Soci kaardile. Meie sissekande skeemi kohal.

(1) Inverter taastab 5 volti ja muundab selle 5 V pingeks. - 5 V töötab võimendi jaoks, mida näeme allpool.

(2) Siin on meil inverteerimata võimendi. Vastavalt järgmisele valemile:

Vs = Ve (1 + Z1 / Z2)

Võimendus 101 valiti, seadistades R1 = 100 kOhm ja R2 = 1 kOhm.

Seda võimendit kasutatakse mikrofoni heli võimendamiseks.

(3) Kaks takisti loovad nihke nii, et väljundpinge jääb vahemikku 0 kuni 4 V.

(4) Mikrofon, mida võimendi võimendab.

(5) AGC (automaatne võimenduskontroll)

(6) Lõpuks lõime teise järgu madalpääsfilter kahe RC-ga. Telli 2 oli vaja sumbumiseks -40 dB kümnendi kohta. Valitud piirisagedus on 20 kHz.

2. etapp: kontseptsioon Du Circuit En Sortie / Väljundahela kujundus

Kontseptsioon Du Circuit En Sortie / Väljundahela disain
Kontseptsioon Du Circuit En Sortie / Väljundahela disain

Français:

Dans un second temps, nous avons penser à la création du circuit en sortie.

Ci-dessus le schéma de notre sortie.

(1) Le DAC (digitaalsest analoogmuunduriks), mis võimaldab signaali numbrilisel saatjal par la carte DE0 Nano Soc et le converter en signal analogique (vaatamisväärsus valada)

(2) Lapacité va servir a virer la composante keep de notre signal.

(3) Montaaži võimendi võimendus la puissance de notre. Nous avons prit le schéma:

www.ti.com/lit/ds/symlink/lm386.pdf

lk 10

Õppeaine on võimeline saavutama 200 qui est nécessaire car notre signal est vraiment faible.

Inglise:

Meie väljundi diagrammi kohal.

(1) DAC (Digital to Analog Converter), mis võimaldab taastada DE0 Nano Soc kaardi saadetud digitaalsignaali ja teisendada selle analoogsignaaliks (vajalik valjuhääldi jaoks).

(2) Võimsust kasutatakse meie signaali pideva komponendi edastamiseks.

(3) Paigaldus, mis suurendab meie signaali võimsust. Võtsime skeemi:

www.ti.com/lit/ds/symlink/lm386.pdf

lk 10

See skeem võimaldab saada võimendust 200, mis on vajalik, kuna meie signaal on tõesti nõrk.

3. samm: PCB kontseptsioon / PCB disain

PCB kontseptsioon / PCB disain
PCB kontseptsioon / PCB disain

Français:

Une fois que nos circuit ont eté instanciés il nous a fallu les mettre sur des PCB.

Pour ce faire, nous avons utiliser le logiciel Altium. Il faut que tout soit correctement connecter puis cliquer sur:

Menüü kujundus -> Uuenda PCB dokumenti.

Privaatne vannituba, klõpsates "Valideeri muudatused". Valage chaque changement validé, unustage heegeldamine vertikaalselt: "Check".

Après cela, vous aurez un nouvel onglet qui va s'ouvrir et il faudra placer les composants dans cette fenêtre.

Puis, il faut aller dans men menüüst "File" -> "Fabrication Output" -> "Gerber Files"

Une fenêtre s'ouvre, dans celle-ci vous trouverez;

  • Selle menüü "Kihid" saab valida, kui palju on vaja valida kihtide ja kihtide vahel.
  • Selles menüüs "Puurjoonistus" on lequel il faut que tout soit décocher.
  • Menüüst „Apertures“on võimalik jätkata ka „Embedded apertures“.

Toute ses étapes sont complétées?

Revenons hooldab a la fenêtre avec les composants sur celle-ci vous cliquez sur

Fail-> Valmistamise väljund -> NC puurifailid

C'est enfin finit, il ne reste plus qu'à donner à l'imprimante 3D les fichiers.

Vous trouverez ci-joint les photos de nos deux PCB.

Inglise:

Kui meie vooluringid olid aktiveeritud, pidime need PCB -dele panema.

Selleks kasutame tarkvara Altium. Kõik peab olema õigesti ühendatud ja klõpsake nuppu:

Menüü kujundus -> Uuenda PCB dokumenti.

Seejärel klõpsake "Valideeri muudatused". Iga kinnitatud muudatuse korral ilmub veergu „Kontrolli” roheline linnuke.

Pärast seda avaneb uus vahekaart ja peate komponendid sellesse aknasse paigutama.

Seejärel peate minema menüüsse "File" -> "Output Output" -> "Gerber Files"

Avaneb aken, siit leiate;

Menüü "Kihid", mis võimaldab teil valida, millised kihid teie trükkplaati toetavad. Menüü "Puurijoonis", kus kõik tuleb märkimata jätta. Menüü "Ava", kus peate kontrollima "Manustatud seaded".

Kõik tema sammud on lõpetatud?

Läheme nüüd tagasi akna juurde, mille komponendid sellel klõpsate

Fail-> Tootmisväljund -> NC puurifailid

See on lõpuks läbi, piisab, kui anda 3D -printerile failid.

Lisatud on fotod meie kahest PCB -st.

Samm 4: Périphériques Valage La Carte DE0 Nano Soc / välisseadmed DE0 Nano Soc kaardi jaoks

Périphériques Pour La Carte DE0 Nano Soc / välisseadmed DE0 Nano Soc kaardi jaoks
Périphériques Pour La Carte DE0 Nano Soc / välisseadmed DE0 Nano Soc kaardi jaoks

Francais:

IP -süsteemide optimeerimise võimalused Intel FPGA ja pepent être implémentés pour réduire la conception et le temps de test.

Grâce au logiciel Qsys nous avons pu créer des périphériques embarqués dans notre carte.

Voici une liste des périphériques que nous avons ajouter:

  • Side SPI DAC -i kaudu
  • ADC on vastuvõtja ja valeandmete analüütiline signaal ja konverteeritav ning digitaalne
  • HPS (protsessor) valage koodid
  • GPIO pour les boutons qui vont servir à exécuter certains effets
  • Mémoire (kiibimälul)

Inglise:

IP -tuumad on optimeeritud Inteli FPGA -seadmete jaoks ja neid saab hõlpsasti rakendada, et lühendada disaini ja testimisaega.

Tänu Qsys tarkvarale saime oma kaardile luua sisseehitatud välisseadmeid. Siin on lisatud seadmete loend:

  • SPI -side DAC -i jaoks
  • ADC, et saada meie signaalist analoogväärtused ja teisendada need digitaalseteks andmeteks
  • HPS (protsessor) kõigi koodide haldamiseks
  • GPIO nuppude jaoks, mida kasutatakse teatud efektidega toimetulemiseks
  • Mälu (kiibi mälus)

Samm: L'écran LT24

L'écran LT24
L'écran LT24

Français:

Il nous a fallu comprendre et gérer l'écran LT24 celui-ci sera guidé par uneureur simulé NIOS.

Valage l'initaliser, nous avons lu beaucoup de documentations sur celui-ci.

Au final, notre écran sert à afficher la FFT, à sélectionner l'effet voulu.

Inglise:

Me pidime mõistma ja haldama ekraani LT24, seda juhib simuleeritud NIOS -protsessor. Selle algatamiseks lugesime selle kohta palju dokumentatsiooni.

Lõpuks kasutatakse meie ekraani FFT kuvamiseks soovitud efektini.

Samm 6: Koodid Utiles En C ++ / Kasulikud koodid C ++ -is

Koodid Utiles En C ++ / Kasulikud koodid C ++ keeles
Koodid Utiles En C ++ / Kasulikud koodid C ++ keeles

Je vais vous montrer les code en C ++ qui nous ont utiles afin de réaliser des effets sonores.

Voici d'abord esitab deklaratsioonid (oui un peu išsitav…):

Näitan teile C ++ koodid, mis olid meile heliefektide loomiseks kasulikud.

Esiteks kõik meie avaldused (jah, pisut ammendavad …):

#kaasake

#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_SPAN (0x0de400) HW_REGS_SPAN - 1) #define 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; const pikk SAMPLE_RATE = 12500000; // Création de la configuration et des buffers in et out pour 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 globaalne = 0; int i = 0; lühiandmed, andmed2;

Ci-dessous une de nos fonctions permettant modulation:

Allpool üks meie funktsioone, mis võimaldavad modulatsiooni:

tühine modulatsioon (sagedus)

{kui (i <NFFT) {andmed = andmed*cos (2*PI*sagedus*i/FE); .r = andmed; i ++; } muu i = "0"; }

Peamised häältekstid:

Need on meie põhifunktsioonid:

int main (int argc, char ** argv)

{lenduv allkirjastamata pikk *h2p_lw_spi_addr = NULL; lenduv allkirjastamata pikk *h2p_lw_led_addr = NULL; lenduv allkirjastamata pikk *h2p_lw_adc_addr = NULL; lenduv allkirjastamata pikk *h2p_lw_blue_addr = NULL; lenduv allkirjastamata pikk *h2p_lw_red_addr = NULL; lenduv allkirjastamata pikk *h2p_lw_black_addr = NULL; tühine *virtual_base; int fd; printf ("1 / n"); // kaardistage spi -registrite aadressiruum kasutajaruumi, et saaksime nendega suhelda. // me kaardistame tegelikult kogu HPS -i CSR -i ulatuses, kuna soovime selle ajavahemiku jooksul pääseda juurde erinevatele registritele, kui ((fd = open ("/dev/mem", (O_RDWR | O_SYNC))) == -1) {printf ("VIGA: ei saanud avada \"/dev/mem / "… / n"); tagasitulek (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 ("VIGA: mmap () ebaõnnestus… / n"); sulgema (fd); tagasitulek (1); } printf ("4 / n"); printf ("5 / n"); h2p_lw_spi_addr = virtual_base + ((allkirjastamata pikk) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (allkirjata pikk) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((allkirjastamata pikk) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (allkirjata pikk) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((allkirjastamata pikk) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (allkirjata pikk) (HW_REGS_MASK)); h2p_lw_blue_addr = virtual_base + ((allkirjastamata pikk) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (allkirjata pikk) (HW_REGS_MASK)); h2p_lw_black_addr = virtual_base + ((allkirjastamata pikk) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (allkirjata pikk) (HW_REGS_MASK)); h2p_lw_red_addr = virtual_base + ((allkirjastamata pikk) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (allkirjata pikk) (HW_REGS_MASK)); // int i = 0; int andmed; int i = 0, j; // Création de la configuration et des buffers in et out pour 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)); samas (1) {andmed = *(h2p_lw_adc_addr+2); if (*h2p_lw_blue_addr == 1) andmed = kaja (andmed, 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, andmed | 0b111000000000000); } tasuta (konfiguratsioon); tasuta (sisse); tasuta (väljas); tagasitulek 0; }

7. samm: finaal / finaal

Finaal / finaal
Finaal / finaal

Français:

Eh voilà (enfin) le rendu final de notre Cactus 2000.

Nous avons mis les PCB entrée and sortie qui sont reliés à la carte DE0 Nano Soc.

Enuiite, ses heliloojad sont placés à l'interieur d'une boite jaune.

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.

Le haut-parleur est positionné perpendiculairement par rapport aux boutons. See mikro-positsioon on la Boîte par rapport au haut-parleur.

C'est tout pour aujourd'hui.

En esperant que cet Instructable vous soit utile.

Inglise:

Siin on (lõpuks) meie Cactus 2000 viimane renderdus.

Panime sisend- ja väljundplaadid, mis on ühendatud DE0 Nano Soci plaadiga.

Seejärel paigutatakse selle komponendid kollasesse kasti.

Karbil on slaidipotentiomeeter, millega saab hallata heli helitugevust, nuppe ja nuppe, mis käivitavad mõned efektid, ning ekraan, millel kuvatakse FFT.

Kõlar on paigutatud nuppudega risti. Mikrofon on kõlari suhtes karbi teisel poolel.

Tänaseks on see kõik.

Loodan, et see juhend on teile kasulik.

Soovitan: