Satura rādītājs:

Kaktuss 2000: 7 soļi
Kaktuss 2000: 7 soļi

Video: Kaktuss 2000: 7 soļi

Video: Kaktuss 2000: 7 soļi
Video: 113 Days In 33 Seconds - Dragon Fruit Cactus 2024, Jūlijs
Anonim
Kaktuss 2000
Kaktuss 2000

PROJEKTA VIDES KONTROLES 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:

  • Viena karte DE0 Nano Soc
  • Daļēji osciloskopi, dažādi multimetri
  • Dažādu veidu komponenti (pastiprinātājs, pretestība, kapacitāte …)
  • Un mikro un haut-parleur
  • Neliels ekrāns

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

Ielieciet iesācēju, 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.

Angļu:

Ceturtajā skolas gadā mēs sapratām midi kontrolieri. Lai to izdarītu, mūsu rīcībā bija:

  • Karte DE0 Nano Soc
  • Osciloskopi, multimetri
  • Dažādu veidu sastāvdaļas (pastiprinātājs, pretestība, jauda …)
  • Mikrofons un skaļrunis
  • Neliels ekrāns

Mums bija jāiziet dažādi bīstami soļi, lai projekts būtu veiksmīgs. Mēs jūs iepazīstināsim ar šo pamācību.

Pirmkārt, pamata shēmas dizains, kas nepieciešams, lai atgūtu mikrofona dēlu un izveidotu skaļruni. Kad ķēde tika izvilkta, PCB bija jādara ar programmatūru Altium. Kamēr divi studenti bija aizņemti ar ievades un izvades PCB pārvaldību, pārējie divi strādāja, lai palaistu DE0 Nano Soc karti, lai karte varētu uzņemt mikrofona paraugus un dot signālu skaļrunim. Visbeidzot, mums bija jāizveido skaņas efekti, lai mainītu skaņu.

1. solis: koncepcija Du Circuit En Entrée / ieejas ķēdes dizains

Koncepcija Du Circuit En Entrée / Ieejas ķēdes dizains
Koncepcija Du Circuit En Entrée / Ieejas ķēdes dizains

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. D'après la formule suivante:

Vs = Ve (1 + Z1/Z2)

Izvēloties un palielinot de 101 en mettant R1 = 100 kOhm et R2 = 1 kOhm.

Cet pastiprinātājs va servir a pastiprinātājs le son du micro.

(3) Les deux résistances vont créer un offset afin que la feszülts de sortie soit ietver entre 0 et 4 V.

(4) Mikroviļņu pastiprinātājs ar pastiprinātāju.

(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 ētait nécessaire pour avoir une atténuation de - 40db / desmitgadē. Izvēles laiks ir 20 kHz.

Angļu:

Pirmais solis ir izveidot ķēdi, kas var uztvert signālu, kas nosūtīts uz mikrofonu, lai to pārsūtītu uz DE0 Nano Soc karti. Virs mūsu ieraksta diagrammas.

(1) Invertors atgūs 5 voltus un pārveidos to par - 5 V. - 5 V kalpos pastiprinātājam, ko redzēsim zemāk.

(2) Šeit mums ir neinvertējošs pastiprinātājs. Pēc šādas formulas:

Vs = Ve (1 + Z1 / Z2)

Pastiprinājums 101 tika izvēlēts, iestatot R1 = 100 kOhm un R2 = 1 kOhm.

Šis pastiprinātājs tiks izmantots, lai pastiprinātu mikrofona skaņu.

(3) Abi rezistori radīs nobīdi tā, lai izejas spriegums būtu no 0 līdz 4 V.

(4) Mikrofons, kuru pastiprinātājs pastiprinās.

(5) AGC (automātiskā pastiprinājuma kontrole)

(6) Visbeidzot, mēs izveidojām otrās kārtas zemas caurlaides filtru ar diviem RC. 2. pasūtījums bija nepieciešams, lai tā vājinājums būtu -40 dB / desmitgadē. Izvēlētā robežfrekvence ir 20 kHz.

2. solis: koncepcija Du Circuit En Sortie / Izvades ķēdes dizains

Koncepcija Du Circuit En Sortie / Izejas ķēdes dizains
Koncepcija Du Circuit En Sortie / Izejas ķēdes dizains

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 (digitālais līdz analogo pārveidotājs), kas nodrošina signāla numura pārsūtīšanu no la carte DE0 Nano Soc et le converter en signal analogique (necessaire pour le haut parleur)

(2) Lapacité va servir a virer la composante turpināt de notre signal.

(3) Montāžas qui va permettre d'amplifier la puissance de notre signal. Nous avons prit le schéma:

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

10. lpp

Ce schéma permet d'avoir un gain de 200 qui est nécessaire car notre signal est est vraiment faible.

Angļu:

Virs mūsu produkcijas diagrammas.

(1) DAC (Digital to Analog Converter), kas ļaus atgūt digitālo signālu, ko nosūta DE0 Nano Soc karte, un pārvērst to par analogo signālu (nepieciešams skaļrunim).

(2) Jauda tiks izmantota, lai pārsūtītu mūsu signāla nepārtraukto komponentu.

(3) Montāža, kas pastiprinās mūsu signāla jaudu. Mēs paņēmām shēmu:

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

10. lpp

Šī shēma ļauj iegūt 200 pieaugumu, kas ir nepieciešams, jo mūsu signāls ir patiešām vājš.

3. solis: PCB koncepcija / PCB dizains

PCB koncepcija / PCB dizains
PCB koncepcija / PCB dizains

Français:

Une fois que nos circuit ont été 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:

Izvēlnes dizains -> Atjaunināt PCB dokumentu.

Ensuite, cliquez sur "Apstiprināt izmaiņas". Pour chaque changement validé, un tamborējiet vert apparaît dans la colonne: «Pārbaudīt».

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

Atklājiet izvēlni "Fails" -> "Izgatavošanas izeja" -> "Gerber faili"

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

  • Izvēlnē "Slāņi" ir iespējams izveidot choisir sur quel slāņu slāņus, kas sastāv no PCB.
  • Izvēlnē "Drill Drawing" ir lequel il faut que tout soit décocher.
  • Izvēlnē "Apertures" ir lequel il faut cocher "Embedded entertures".

Toute ses étapes sont complétées?

Revenons apkalpo à la fenêtre avec les composants sur celle-ci vous cliquez sur

Fails-> Izgatavošanas izvade -> NC urbšanas faili

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.

Angļu:

Kad mūsu ķēdes tika parādītas, mums tās bija jāuzliek uz PCB.

Lai to izdarītu, mēs izmantojam programmatūru Altium. Visam jābūt pareizi savienotam, pēc tam noklikšķiniet uz:

Izvēlnes dizains -> Atjaunināt PCB dokumentu.

Pēc tam noklikšķiniet uz "Apstiprināt izmaiņas". Katrai apstiprinātajai izmaiņai slejā "Pārbaudīt" parādās zaļa atzīme.

Pēc tam jums tiks atvērta jauna cilne, un jums būs jāievieto komponenti šajā logā.

Tad jums jāiet uz izvēlni "Fails" -> "Izejas izvade" -> "Gerber faili"

Atveras logs, šajā jūs atradīsit;

Izvēlne "Slāņi", kas ļaus jums izvēlēties, kuri slāņi atbalstīs jūsu PCB. Izvēlne "Urbšanas zīmējums", kurā viss ir jāatceļ. Izvēlne "Apertūras", kurā jums jāpārbauda "Iegultās izkārtnes".

Visi viņa soļi ir pabeigti?

Tagad atgriezīsimies pie loga ar komponentiem, uz kuriem noklikšķināt

Fails-> Ražošanas izlaide -> NC urbšanas faili

Tas beidzot ir beidzies, viss, kas jums jādara, ir dot 3D printerim failus.

Pielikumā atradīsit mūsu abu PCB fotoattēlus.

4. darbība: Périphériques Pour La Carte DE0 Nano Soc / perifērijas ierīces DE0 Nano Soc kartei

Périphériques Pour La Carte DE0 Nano Soc / Perifērijas ierīces DE0 Nano Soc kartei
Périphériques Pour La Carte DE0 Nano Soc / Perifērijas ierīces DE0 Nano Soc kartei

Francais:

Tiek izvēlēti IP IP optimālie optimālie līdzekļi, lai ievietotu Intel FPGA un peuvent ê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:

  • Sakaru SPI ielejiet DAC
  • ADC ieraksta rekuperatoru, kas ir signālu signāls un konvertē, kā arī pārvērš digitālos
  • HPS (procesors) ielej labākos kodus
  • GPIO pour les boutons qui vont servir à exécuter certains effets
  • Mémoire (mikroshēmas atmiņā)

Angļu:

IP kodoli ir optimizēti Intel FPGA ierīcēm, un tos var viegli ieviest, lai samazinātu dizainu un pārbaudes laiku.

Pateicoties Qsys programmatūrai, mēs savā kartē varējām izveidot iegultās perifērijas ierīces. Šeit ir pievienoto ierīču saraksts:

  • SPI komunikācija DAC
  • ADC, lai izgūtu analogās vērtības no mūsu signāla un pārvērstu tās digitālos datos
  • HPS (procesors), lai pārvaldītu visus kodus
  • GPIO pogām, kas tiks izmantotas, lai tiktu galā ar noteiktiem efektiem
  • Atmiņa (mikroshēmas atmiņā)

5. darbība: 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 un processeur simulé NIOS.

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

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

Angļu:

Mums bija jāsaprot un jāpārvalda ekrāns LT24, to vadīs simulēts NIOS procesors. Lai to uzsāktu, mēs izlasījām daudz dokumentācijas par to.

Galu galā mūsu ekrāns tiek izmantots, lai parādītu FFT līdz vēlamajam efektam.

6. darbība: Kodi Utiles En C ++ / Noderīgi kodi C ++

Kodi Utiles En C ++ / Noderīgi kodi C ++
Kodi Utiles En C ++ / Noderīgi kodi C ++

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

Voici d'abord toutes nos deklaration (oui un peu izsmelt…):

Es jums parādīšu kodus C ++, kas mums bija noderīgi, lai radītu skaņas efektus.

Pirmkārt, visi mūsu paziņojumi (jā, nedaudz izsmeļoši …):

#iekļaut

#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 (0xS0400 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, izmantojot nosaukumu telpas std; const garš 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 globāls = 0; int i = 0; īsi dati, dati2;

Ci-dessous une de nos fonctions permettant modulācija:

Zemāk viena no mūsu funkcijām, kas ļauj modulēt:

tukša modulācija (bieži)

{if (i <NFFT) {data = data*cos (2*PI*freq*i/FE); .r = dati; i ++; } cits i = "0"; }

Galvenais balss fonts:

Šī ir mūsu galvenā funkcija:

int main (int argc, char ** argv)

{gaistošs neparakstīts garš *h2p_lw_spi_addr = NULL; gaistošs neparakstīts garš *h2p_lw_led_addr = NULL; gaistošs neparakstīts garš *h2p_lw_adc_addr = NULL; gaistošs neparakstīts garš *h2p_lw_blue_addr = NULL; gaistošs neparakstīts garš *h2p_lw_red_addr = NULL; gaistošs neparakstīts garš *h2p_lw_black_addr = NULL; void *virtual_base; int fd; printf ("1 / n"); // kartējiet spi reģistru adrešu telpu lietotāja telpā, lai mēs varētu ar tiem mijiedarboties. // mēs faktiski kartēsim visu HPS CSR diapazonu, jo vēlamies piekļūt dažādiem reģistriem šajā diapazonā, ja ((fd = open ("/dev/mem", (O_RDWR | O_SYNC))) == -1) {printf ("KĻŪDA: nevarēja atvērt \"/dev/mem / "… / n"); atgriešanās (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 ("KĻŪDA: mmap () neizdevās… / n"); aizvērt (fd); atgriešanās (1); } printf ("4 / n"); printf ("5 / n"); h2p_lw_spi_addr = virtual_base + ((neparakstīts garš) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (neparakstīts garš) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((neparakstīts garš) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (neparakstīts garš) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((neparakstīts garš) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (neparakstīts garš) (HW_REGS_MASK)); h2p_lw_blue_addr = virtual_base + ((neparakstīts garš) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (neparakstīts garš) (HW_REGS_MASK)); h2p_lw_black_addr = virtual_base + ((neparakstīts garš) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (neparakstīts garš) (HW_REGS_MASK)); h2p_lw_red_addr = virtual_base + ((neparakstīts garš) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (neparakstīts garš) (HW_REGS_MASK)); // int i = 0; int dati; 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)); kamēr (1) {dati = *(h2p_lw_adc_addr+2); ja (*h2p_lw_blue_addr == 1) dati = atbalss (dati, 20); ja (*h2p_lw_black_addr == 1) alt_write_word (h2p_lw_led_addr, 0x0F); ja (*h2p_lw_red_addr == 0) alt_write_word (h2p_lw_led_addr, 0xF0); alt_write_word (h2p_lw_spi_addr+1, dati | 0b111000000000000); } bezmaksas (konfigurācija); bezmaksas (in); bezmaksas (ārā); atgriezties 0; }

7. solis: fināls / fināls

Fināls / fināls
Fināls / fināls

Français:

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

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

Ensuite, ses composants 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. Le micro est positionné de l'autre coté de la boîte par rapport au haut-parleur.

C'est tout pour aujourd'hui.

En esperant que cet Instructable vous soit utile.

Angļu:

Šeit mēs esam (beidzot) mūsu Cactus 2000 galīgā atveidošana.

Mēs ievietojām ievades un izvades PCB, kas ir savienotas ar DE0 Nano Soc plati.

Pēc tam tā sastāvdaļas ievieto dzeltenā kastē.

Uz kastes ir slaidu potenciometrs, kas var pārvaldīt skaņas skaļumu, pogas un pogas, kas iedarbinās dažus efektus, un ekrāns, kurā tiks parādīts FFT.

Skaļrunis ir novietots perpendikulāri pogām. Mikrofons ir novietots kastes otrā pusē attiecībā pret skaļruni.

Tas viss šodien.

Ceru, ka šī pamācība jums ir noderīga.

Ieteicams: