Mục lục:

Cactus 2000: 7 bước
Cactus 2000: 7 bước

Video: Cactus 2000: 7 bước

Video: Cactus 2000: 7 bước
Video: How to grow Astrophytum Asteries cactus from seeds - Hướng dẫn tách và gieo hạt xương rồng 2024, Tháng bảy
Anonim
Cây xương rồng 2000
Cây xương rồng 2000

DỰ ÁN MIDI-CONTROLEUR 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:

  • Sóc Nano Soc
  • Máy hiện sóng Des, des multimètres
  • Des composants de différents các loại (khuếch đại, résistance, tụ điện…)
  • Un micro et un haut-parleur
  • Un petit ecran

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 Có thể dạy được.

Đổ thương hiệu, le tráng miệng du mạch de base était nécessaire afin de récupérer le son du micro et le rendre au haut-parleur. Un fois le mạch tráng miệng, le PCB était à faire sur le logiciel Altium. Mặt dây chuyền 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.

Tiếng Anh:

Trong năm học thứ tư của chúng tôi, chúng tôi nhận ra một bộ điều khiển giữa. Để làm điều này, chúng tôi đã sử dụng:

  • Bản đồ DE0 Nano Soc
  • Máy hiện sóng, vạn năng
  • Linh kiện các loại (khuếch đại, điện trở, công suất…)
  • Một micrô và một loa
  • Một màn hình nhỏ

Chúng tôi đã phải trải qua nhiều bước nguy hiểm khác nhau để dự án thành công. Chúng tôi sẽ giới thiệu cho bạn tài liệu có thể hướng dẫn này.

Thứ nhất, cần thiết kế mạch cơ bản để phục hồi con trai của micro và làm loa. Sau khi vẽ mạch, PCB sẽ được thực hiện trên phần mềm Altium. Trong khi hai sinh viên đang bận quản lý đầu vào và đầu ra PCB, hai người còn lại đang làm việc để chạy thẻ DE0 Nano Soc để thẻ này có thể nhận các mẫu mic và phát tín hiệu cho loa. Cuối cùng, chúng tôi phải tạo hiệu ứng âm thanh để thay đổi âm thanh.

Bước 1: Thiết kế mạch Du Circuit En Entrée / Entrance

Thiết kế mạch Conception Du Circuit En Entrée / Entrance Circuit
Thiết kế mạch Conception Du Circuit En Entrée / Entrance Circuit

Français:

La première étape includee à mettre en place un circuit qui puisse prendre le signal envoyer sur le micro pour le transmettre à la carte DE0 Nano Soc.

Ci-tráng miệng le schéma de notre entrée.

(1) L'inverseur va permettre de récupérer le 5 Volt et le biến áp en - 5 V. Le - 5 V servira pour l'amplificateur que nous verrons ci-tráng miệng.

(2) Ici, nous avons un amplificateur non-inverseur. D'après la formule suivante:

Vs = Ve (1 + Z1 / Z2)

Trên một choisit un gain de 101 en mettant R1 = 100 kOhm et R2 = 1 kOhm.

Cet amplificateur và servir một bộ khuếch đại le son du micro.

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

(4) Bộ khuếch đại Le micro qui và être par l'amplificateur.

(5) CAG (Điều khiển Automatique de Gain)

(6) Đổ finir, nous avons créé un filtre Pass-bas du second ordre avec deux RC. L'ordre 2 était nécessaire pour preferir un atténuation de - 40db / thập kỷ. La fréquence de coupure choisit est 20 kHz.

Tiếng Anh:

Bước đầu tiên là thiết lập một mạch có thể lấy tín hiệu gửi trên micrô để truyền đến thẻ DE0 Nano Soc. Phía trên sơ đồ mục nhập của chúng tôi.

(1) Biến tần sẽ phục hồi 5 Volt và biến nó thành - 5 V. - 5 V sẽ phục vụ cho bộ khuếch đại mà chúng ta sẽ thấy bên dưới.

(2) Ở đây chúng ta có một bộ khuếch đại không đảo. Theo công thức sau:

Vs = Ve (1 + Z1 / Z2)

Mức tăng 101 được chọn bằng cách đặt R1 = 100 kOhm và R2 = 1 kOhm.

Bộ khuếch đại này sẽ được sử dụng để khuếch đại âm thanh của micro.

(3) Hai điện trở sẽ tạo ra một hiệu số để điện áp đầu ra nằm trong khoảng từ 0 đến 4 V.

(4) Micrô sẽ được bộ khuếch đại khuếch đại.

(5) AGC (Kiểm soát độ lợi tự động)

(6) Cuối cùng, chúng tôi đã tạo một bộ lọc thông thấp bậc hai với hai RC. Lệnh 2 là cần thiết để có độ suy giảm -40db / thập kỷ. Tần số cắt được chọn là 20 kHz.

Bước 2: Conception Du Circuit En Sortie / Thiết kế mạch đầu ra

Conception Du Circuit En Sortie / Thiết kế của mạch đầu ra
Conception Du Circuit En Sortie / Thiết kế của mạch đầu ra

Français:

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

Ci-tráng miệng le schéma de notre sortie.

(1) Le DAC (Digital to Analog Converter) qui va permettre de récupérer le signal numérique envoyer par la carte DE0 Nano Soc et le converttir en signal analogique (nécessaire pour le haut parleur)

(2) La Capé va servir a virer la composante tiếp tục tín hiệu.

(3) Tín hiệu Montage qui va permettre d'amplifier la puissance de notre. Nous avons prit le schéma:

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

trang 10

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

Tiếng Anh:

Trên sơ đồ đầu ra của chúng tôi.

(1) Bộ DAC (Bộ chuyển đổi kỹ thuật số sang tương tự) cho phép khôi phục tín hiệu kỹ thuật số được gửi bởi thẻ DE0 Nano Soc và chuyển đổi thành tín hiệu tương tự (cần thiết cho loa).

(2) Dung lượng sẽ được sử dụng để chuyển thành phần liên tục của tín hiệu của chúng ta.

(3) Gắn kết sẽ khuếch đại sức mạnh của tín hiệu của chúng tôi. Chúng tôi đã lấy sơ đồ:

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

trang 10

Đề án này làm cho nó có thể đạt được mức tăng 200 là cần thiết vì tín hiệu của chúng tôi thực sự yếu.

Bước 3: Khái niệm về PCB / Thiết kế của PCB

Khái niệm về PCB / Thiết kế của PCB
Khái niệm về PCB / Thiết kế của PCB

Français:

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

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

Thiết kế Menu -> Cập nhật Tài liệu PCB.

Ensuite, cliquez sur «Xác thực các thay đổi». Pour chaque changement validé, un crochet vert apparaît dans la colonne: «Kiểm tra».

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

Puis, il faut aller dans le menu "Tập tin" -> "Đầu ra chế tạo" -> "Tập tin Gerber"

Un fenêtre s'ouvre, dans celle-ci vous ladverez;

  • Le menu "Lớp" qui vous permettra de choisir sur quel lớp và s'appuyer votre PCB.
  • Le menu "Drill Drawing" dans lequel il faut que tout soit décocher.
  • Le menu "Khẩu độ" dans lequel il faut cocher "Đồ trang trí nhúng".

Toute ses étapes sont than phiền?

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

Tệp-> Đầu ra chế tạo -> Tệp khoan NC

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

Bức ảnh của Vousrouverez ci-Joint les de nos deux PCB.

Tiếng Anh:

Khi mạch của chúng tôi đã được khởi tạo, chúng tôi phải đặt chúng trên PCB.

Để làm điều này, chúng tôi sử dụng phần mềm Altium. Mọi thứ phải được kết nối chính xác sau đó nhấp vào:

Thiết kế Menu -> Cập nhật Tài liệu PCB.

Sau đó nhấp vào "Xác thực các thay đổi". Đối với mỗi thay đổi đã được xác thực, một dấu kiểm màu xanh lá cây sẽ xuất hiện trong cột "Kiểm tra".

Sau đó, bạn sẽ có một tab mới sẽ mở ra và bạn sẽ phải đặt các thành phần trong cửa sổ này.

Sau đó, bạn phải vào menu "File" -> "Output Output" -> "Gerber Files"

Một cửa sổ mở ra, trong cái này bạn sẽ tìm thấy;

Menu "Lớp" sẽ cho phép bạn chọn lớp nào sẽ hỗ trợ PCB của bạn. Menu "Bản vẽ khoan" nơi mọi thứ phải được bỏ chọn. Trình đơn "Khẩu độ" trong đó bạn phải chọn "Thiết bị nhúng".

Tất cả các bước của anh ấy đã hoàn thành?

Bây giờ chúng ta hãy quay lại cửa sổ với các thành phần trên cái này mà bạn nhấp vào

Tệp-> Đầu ra sản xuất -> Tệp khoan NC

Cuối cùng thì cũng xong, tất cả những gì bạn phải làm là cung cấp cho máy in 3D các tệp.

Bạn sẽ tìm thấy các bức ảnh đính kèm của hai PCB của chúng tôi.

Bước 4: Périphériques Pour La Carte DE0 Nano Soc / Thiết bị ngoại vi cho thẻ DE0 Nano Soc

Périphériques Pour La Carte DE0 Nano Soc / Thiết bị ngoại vi cho thẻ DE0 Nano Soc
Périphériques Pour La Carte DE0 Nano Soc / Thiết bị ngoại vi cho thẻ DE0 Nano Soc

Francais:

Les cœurs IP sont Optimiisés pour les périphériques Intel FPGA et peuvent être implémentés pour réduire la Thought et le temps de test.

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

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

  • Giao tiếp SPI pour le DAC
  • ADC pour recupérer les valeurs analogique de notre signal et les converttir en donnée digitales
  • HPS (người đặt gia công) pour gérer tout les code
  • GPIO pour les boutons qui vont servir à exécuter certains effets
  • Mémoire (trên bộ nhớ chip)

Tiếng Anh:

Các lõi IP được tối ưu hóa cho các thiết bị Intel FPGA và có thể dễ dàng triển khai để giảm thời gian thiết kế và kiểm tra.

Nhờ phần mềm Qsys, chúng tôi đã có thể tạo các thiết bị ngoại vi nhúng trong bản đồ của mình. Đây là danh sách các thiết bị chúng tôi đã thêm:

  • Giao tiếp SPI cho DAC
  • ADC để truy xuất các giá trị tương tự từ tín hiệu của chúng tôi và chuyển đổi chúng thành dữ liệu kỹ thuật số
  • HPS (bộ xử lý) để quản lý tất cả các mã
  • GPIO cho các nút sẽ được sử dụng để đối phó với các hiệu ứng nhất định
  • Bộ nhớ (trên bộ nhớ của chip)

Bước 5: 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.

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

Au cuối cùng, notre écran sert à afficher la FFT, à sélectionner l'effet voulu.

Tiếng Anh:

Chúng tôi phải hiểu và quản lý màn hình LT24, nó sẽ được hướng dẫn bởi một bộ xử lý NIOS mô phỏng. Để bắt đầu nó, chúng tôi đã đọc rất nhiều tài liệu về nó.

Cuối cùng, màn hình của chúng tôi được sử dụng để hiển thị FFT, với hiệu ứng mong muốn.

Bước 6: Codes Utiles En C ++ / Các mã hữu ích trong C ++

Codes Utiles En C ++ / Các mã hữu ích trong C ++
Codes Utiles En C ++ / Các mã hữu ích trong C ++

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

Voici d'abord giới thiệu các tuyên bố nos (oui un peu expustif…):

Tôi sẽ chỉ cho bạn các mã trong C ++ hữu ích cho chúng tôi để tạo hiệu ứng âm thanh.

Đầu tiên, tất cả các tuyên bố của chúng tôi (có một chút đầy đủ…):

#bao gồm

#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 (0x0400AS0000W) 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 dài 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 global = 0; int i = 0; dữ liệu ngắn, dữ liệu2;

Điều chế Ci-tráng miệng une de nos fonctions permettant la:

Dưới đây một trong các chức năng của chúng tôi cho phép điều chế:

điều chế void (int freq)

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

Voici notre fonction main:

Đây là chức năng chính của chúng tôi:

int main (int argc, char ** argv)

{variable unsigned long * h2p_lw_spi_addr = NULL; biến long không dấu * h2p_lw_led_addr = NULL; biến long không dấu * h2p_lw_adc_addr = NULL; biến long không dấu * h2p_lw_blue_addr = NULL; biến long không dấu * h2p_lw_red_addr = NULL; dễ bay hơi không dấu dài * h2p_lw_black_addr = NULL; void * virtual_base; int fd; printf ("1 / n"); // ánh xạ không gian địa chỉ cho các thanh ghi spi vào không gian người dùng để chúng ta có thể tương tác với chúng. // chúng ta sẽ thực sự ánh xạ trong toàn bộ khoảng CSR của HPS vì chúng tôi muốn truy cập các thanh ghi khác nhau trong khoảng đó if ((fd = open ("/ dev / mem", (O_RDWR | O_SYNC))) == -1) {printf ("LỖI: không thể mở \" / dev / mem / "… / n"); quay lại (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 ("LỖI: mmap () không thành công… / n"); đóng (fd); quay lại (1); } printf ("4 / n"); printf ("5 / n"); h2p_lw_spi_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_blue_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_black_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (unsigned long) (HW_REGS_MASK)); h2p_lw_red_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (unsigned long) (HW_REGS_MASK)); // int i = 0; dữ liệu int; 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)); 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, dữ liệu | 0b111000000000000); } miễn phí (cấu hình); miễn phí (trong); miễn phí (hết); trả về 0; }

Bước 7: Le Final / Chung kết

Le Final / trận chung kết
Le Final / trận chung kết

Français:

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

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

Ensuite, các nhà soạn nhạc ses sont patés à l'interieur d'une boite jaune.

Sur la boîte on tréve 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 Có thể hướng dẫn vous soit utile.

Tiếng Anh:

Đây là (cuối cùng) bản vẽ cuối cùng của Cactus 2000 của chúng tôi.

Chúng tôi đặt các PCB đầu vào và đầu ra được kết nối với bo mạch DE0 Nano Soc.

Sau đó, các thành phần của nó được đặt bên trong một hộp màu vàng.

Trên hộp là một chiết áp trượt, có thể quản lý âm lượng của âm thanh, các nút và nút sẽ khởi chạy một số hiệu ứng và màn hình sẽ hiển thị FFT.

Loa được đặt vuông góc với các nút. Micrô được đặt ở phía bên kia của hộp so với loa.

Đó là tất cả cho ngày hôm nay.

Hy vọng rằng Tài liệu hướng dẫn này hữu ích cho bạn.

Đề xuất: