Мазмуну:
- 1 -кадам: Conception Du Circuit En Entrée / Entrance Circuit Design
- 2 -кадам: Conception Du Circuit En Sortie / Output Circuit дизайн
- 3 -кадам: Концепция Дес ПХБ / ПХБнын дизайны
- 4 -кадам: Périphériques DE0 Nano Soc Card үчүн La Carte DE0 Nano Soc / Perifherals куюңуз
- 5 -кадам: L'écran LT24
- 6 -кадам: C ++ тилиндеги En C ++ коддору / Пайдалуу коддор
- 7 -кадам: Le Final / Final
Video: Кактус 2000: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
MIDI-CONTROLEUR EISE4 ДОЛБООРУ
Французча:
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:
- Карталар DE0 Nano Soc
- Des oscilloscopes, des multimètres
- Дифференциалдын түрлөрү (күчөтүү, каршылык, сыйымдуулук …)
- Un micro et un haut-parleur
- Анча -мынча
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.
Башталгычты төк, негизги схеманы түзөбүз, ошондо де рецепюер ле сону микро микро ле рендре au haut-parleur. Төмөнкү схема боюнча: Кулон 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 le le haut-parleur. Жыйынтыктоо, il nous a fallu créer des effets sonores modifier le son төк.
Англисче:
Төртүнчү курста биз миди-контролерду ишке ашырдык. Бул үчүн, бизде болгон:
- Карта DE0 Nano Soc
- Осциллографтар, мультиметрлер
- Ар кандай типтеги компоненттер (күчөткүч, каршылык, кубаттуулук …)
- Микрофон жана динамик
- Кичине экран
Долбоорду ийгиликтүү кылуу үчүн ар кандай коркунучтуу кадамдарды басып өтүүгө туура келди. Биз сизди ушул Нускамалык менен тааныштырабыз.
Биринчиден, микрофондун уулун калыбына келтирүү жана динамик кылуу үчүн керектүү негизги схеманын дизайны. Райондук чүчү тарткандан кийин, ПХБ Altium программалык камсыздоосунда жасалышы керек болчу. Эки студент кирүү жана чыгаруу ПКБларын башкаруу менен алек болуп жатканда, калган экөө DE0 Nano Soc картасын иштетүү үчүн иштеп жатышты, ошондо карта микрофондун үлгүлөрүн алып, спикерге сигнал бере алды. Акырында, үндү өзгөртүү үчүн үн эффекттерин түзүүгө туура келди.
1 -кадам: Conception Du Circuit En Entrée / Entrance Circuit Design
Французча:
La première étape arrange à 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) 5 вольт жана трансформатордун 5 - 5 V. Le - 5 V серверлери l'amplificateur que nous verrons ci -dessous.
(2) Ici, nous avons un amplificateur nonseverse. D'après la formule suivante:
Vs = Ve (1 + Z1/Z2)
Чогуу алганда, кирешенин өлчөмү 101де R1 = 100 kOhm et R2 = 1 kOhm болот.
CET amplificateur va servir a amplifier le son du micro.
(3) Les deux résistances vont créer un offset off in the que la gərginlik de sortie soit compre entre 0 et 4 V.
(4) кичине күчөткүч.
(5) CAG (Controle Automatique de Gain)
(6) Финляндия, жаңы аба чыпкасын тазалоо жана тазалоо үчүн экинчи даражадагы RC төк. L'ordre 2 etéit nécessaire - 40db / он жылдыктын аягында. La fréquence de coupure choisit est 20 kHz.
Англисче:
Биринчи кадам - микрофонго DE0 Nano Soc картасына берүү үчүн сигналды кабыл ала турган схеманы орнотуу. Биздин жазуунун диаграммасынын үстүндө.
(1) Инвертер 5 Вольтту калыбына келтирет жана аны 5 В айландырат. - 5 В - биз төмөндө көрө турган күчөткүч үчүн кызмат кылат.
(2) Бул жерде бизде инверттелбеген күчөткүч бар. Төмөнкү формула боюнча:
Vs = Ve (1 + Z1 / Z2)
101 кирешеси R1 = 100 kOhm жана R2 = 1 kOhm коюу менен тандалды.
Бул күчөткүч микрофондун үнүн күчөтүү үчүн колдонулат.
(3) Эки резистор чыгуунун чыңалуусу 0 менен 4 В ортосунда болгондой кылып ордун түзөт.
(4) Күчөткүч аркылуу күчөтүлө турган микрофон.
(5) AGC (Автоматтык кирешени башкаруу)
(6) Акыр-аягы, биз эки RC менен экинчи даражадагы аз өтмө чыпканы түздүк. 2 -заказ -40db / он жылдык өчүрүү үчүн керек болгон. Тандалган чек жыштыгы 20 кГц.
2 -кадам: Conception Du Circuit En Sortie / Output Circuit дизайн
Французча:
Экинчи темпте, nous avons penser à la création du circuit en sortie.
Ci-dessus le schéma de notre sortie.
(1) Le DAC (Digital to Analog Convert)
(2) Ишенимдүү сигналды улантуу.
(3) Montage qui va permettre d'amplifier la puissance de notre сигнал. Nous avons prit le schéma:
www.ti.com/lit/ds/symlink/lm386.pdf
10 -бет
Убакыттын өтүшү менен автоматтык түрдө 200 сигналды алуу мүмкүн эмес.
Англисче:
Биздин чыгаруунун диаграммасынын үстүндө.
(1) DAC (Digital to Analog Converter), бул DE0 Nano Soc картасы аркылуу жөнөтүлгөн санариптик сигналды калыбына келтирүүгө жана аны аналогдук сигналга (үн күчөткүч үчүн зарыл) айландырууга мүмкүндүк берет.
(2) кубаттуулугу биздин сигналдын үзгүлтүксүз компонентин өткөрүп берүү үчүн колдонулат.
(3) Биздин сигналдын күчүн күчөтүүчү монтаж. Биз схеманы алдык:
www.ti.com/lit/ds/symlink/lm386.pdf
10 -бет
Бул схема мүмкүн болгон 200гө ээ болууга мүмкүндүк берет, анткени биздин сигнал чындыгында алсыз.
3 -кадам: Концепция Дес ПХБ / ПХБнын дизайны
Французча:
Төмөнкү схемалар он -лайн режимде жаңырат, бирок алар ПХБдан баш тартышат.
Altium, faire, nous avons utiliser le logiciel quit. Туура оңдоолор туташтыргычы puis cliquer sur:
Меню дизайны -> PCB документин жаңыртуу.
"Өзгөртүүлөрдү текшерүү" деген бөлмө. Төмөнкү колоннадан токулган нерселерди алмаштырыңыз: "Текшерүү".
Апрель cela, vous aurez unou nouvel onglet qui va s'ouvrir et il faudra placer les les compants dans cette fenêtre.
Бирок, меню "Файл" -> "Өндүрүш" -> "Гербер Файлдары"
Une fenêtre s'ouvre, dans celle-ci vous trouverez;
- "Катмарлар" менюсу ПКБнын катмарын жана катмарын тандап алат.
- Меню "Drill Drawing" danc lequel il faut que tout soit décocher.
- "Диафрагмалар" менюсу "Embedded appertures" деп аталат.
Toute ses étapes sont şikayetler?
Revenons maintenant à la fenêtre avec les composes celle-ci vous cliquez sur
File-> Даярдоо Чыгуусу -> NC Drill Files
Эң аягында, дагы бир нерсе жок, жана дагы үч эселенген өлчөмдөгү 3D фишерлери.
Vous trouverez ci-joint les photos de nos deux PCB.
Англисче:
Биздин микросхемалар жасалгандан кийин, биз аларды ПХБга коюуга туура келди.
Бул үчүн биз Altium программасын колдонобуз. Баары туура туташкан болушу керек, андан кийин чыкылдатыңыз:
Меню дизайны -> PCB документин жаңыртуу.
Андан кийин "Өзгөртүүлөрдү Текшерүү" баскычын чыкылдатыңыз. Ар бир текшерилген өзгөртүү үчүн "Текшерүү" тилкесинде жашыл белги пайда болот.
Андан кийин, сиз ачыла турган жаңы өтмөккө ээ болуп, компоненттерди ушул терезеге жайгаштырууга туура келет.
Андан кийин "Файл" -> "Чыгуу Чыгуусу" -> "Gerber Files" менюсуна өтүшүңүз керек
Терезе ачылат, мында сиз таба аласыз;
"Катмарлар" менюсу PCBңизди колдой турган катмарды тандоого мүмкүндүк берет. "Бургулоо чиймеси" менюсу, анда баары текшерилбеши керек. Меню "Диафрагмалар", анда сиз "Камтылган апертюраларды" текшеришиңиз керек.
Анын бардык кадамдары бүттүбү?
Келгиле, азыр сиз баскан компоненттери бар терезеге кайра баралы
File-> Өндүрүү өндүрүшү -> NC Drill Files
Акыры бүттү, болгону 3D принтерге файлдарды берүү керек.
Сиз биздин эки ПХБнын сүрөттөрүн тиркелет.
4 -кадам: Périphériques DE0 Nano Soc Card үчүн La Carte DE0 Nano Soc / Perifherals куюңуз
Франсис:
Төмөнкү оптимизаторлор Intel FPGA жана peuvent étre implémentés réduire la концепцияга жана ле темптерге тестти төгүп салыңыз.
Grâce au logiciel Qsys nous avons pu créer des périphériques embarqués dans notre carte.
Төмөнкү тизмелердин тизмеси:
- Байланыш SPI төк le DAC
- ADC куюуну калыбына келтирүү
- ГЭСтер (processeur) lérer tout les коддорун төк
- GPIO les boutons qui vont servir à exécuter ырастайт
- Mémoire (чиптин эс тутумунда)
Англисче:
IP ядролору Intel FPGA түзмөктөрү үчүн оптималдаштырылган жана дизайнды жана сыноо убактысын оңой эле ишке ашырса болот.
Qsys программасынын жардамы менен биз картабызга орнотулган перифериялык түзүлүштөрдү түзө алдык. Бул жерде биз кошкон түзмөктүн тизмеси:
- DAC үчүн SPI байланышы
- ADC биздин сигналдан аналогдук баалуулуктарды алуу жана аларды санариптик маалыматка айландыруу
- Бардык коддорду башкаруу үчүн ГЭС (процессор)
- Белгилүү эффекттер менен күрөшүү үчүн колдонула турган баскычтар үчүн GPIO
- Эстутум (чиптин эсинде)
5 -кадам: L'écran LT24
Французча:
LT24 түзмөгүн колдонуу NIOS процессинин симуляциясы менен коштолот.
Төмөнкү документтерди толтуруу үчүн, документтерди толтуруңуз.
AF final, notre écran sert à afficher la FFT, a sélectionner l'effet voulu.
Англисче:
Биз LT24 экранын түшүнүшүбүз жана башкарышыбыз керек болчу, ал симуляцияланган NIOS процессору менен жетектелет. Аны баштоо үчүн, биз бул боюнча көптөгөн документтерди окудук.
Акыр -аягы, биздин экран FFTти каалаган эффектке көрсөтүү үчүн колдонулат.
6 -кадам: C ++ тилиндеги En C ++ коддору / Пайдалуу коддор
C ++ тилдеринин коддору сизди кызыктырган нерселерди колдонууга жардам берет.
Документтердин жоктугу (vui un peu charutif…):
Мен сизге C ++ тилиндеги үн эффекттерин түзүү үчүн пайдалуу болгон коддорду көрсөтөм.
Биринчиден, биздин бардык билдирүүлөрүбүз (ооба бир аз толук …):
#кошуу
#кошуу #кошуу #кошуу #кошуу #кошуу #кошуу #кошуу #кошуу #кошуу "WavUtils.cpp" #кошуу "Biquad.cpp" #кошуу #кошуу #кошуу "hps_0.h" #кошуу "hps.h" #include "alt_gpio.h" #include "hwlib.h" #include "socal.h" #include #include "kiss_fft.h" #debine nbpoint 1000 #define HW_REGS_BASE (ALT_STM_OFST) #define HW_REGS00_00 (Hx_reGS_00_00) 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 ат мейкиндигин колдонуу менен; const long SAMPLE_RATE = 12500000; // Création de la configuration et des buffers in and 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; кыска маалыматтар, маалыматтар2;
Модуляциялоонун жаңы функциялары:
Төмөндө модуляцияга мүмкүндүк берүүчү биздин функциялардын бири:
боштук модуляциясы (int freq)
{if (i <NFFT) {data = data*cos (2*PI*freq*i/FE); in .r = маалыматтар; i ++; } else i = "0"; }
Негизги функциялар:
Булар биздин негизги милдетибиз:
int main (int argc, char ** argv)
{туруксуз unsigned long *h2p_lw_spi_addr = NULL; туруксуз белгисиз узун *h2p_lw_led_addr = NULL; туруксуз белгисиз узун *h2p_lw_adc_addr = NULL; туруксуз белгисиз узун *h2p_lw_blue_addr = NULL; туруксуз белгисиз узун *h2p_lw_red_addr = NULL; туруксуз белгисиз узун *h2p_lw_black_addr = NULL; void *virtual_base; int fd; printf ("1 / n"); // spi регистрлери үчүн дарек мейкиндигин колдонуучу мейкиндигине картага салыңыз, алар менен иштеше алабыз. // биз иш жүзүндө ГЭСтин бүтүндөй КСЖ диапазонунда карта түзөбүз, анткени биз бул аралыкта ар кандай реестрлерге кирүүнү каалайбыз, эгер ((fd = open ("/dev/mem", (O_RDWR | O_SYNC))) == -1) {printf ("ERROR: \"/dev/mem / "… / n" ача алган жок); кайтуу (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 () ишке ашпай калды… / n"); жабуу (fd); кайтуу (1); } printf ("4 / n"); printf ("5 / n"); h2p_lw_spi_addr = virtual_base + ((белгиси узун) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (узун белгиси жок) (HW_REGS_MASK)); h2p_lw_led_addr = virtual_base + ((белгиси узун) (ALT_LWFPGASLVS_OFST + PIO_LED_BASE) & (узун белгиси жок) (HW_REGS_MASK)); h2p_lw_adc_addr = virtual_base + ((белгиси узун) (ALT_LWFPGASLVS_OFST + ADC_0_BASE) & (узун белгиси жок) (HW_REGS_MASK)); h2p_lw_blue_addr = virtual_base + ((белгиси узун) (ALT_LWFPGASLVS_OFST + PIO_BLUE_BASE) & (узун белгиси жок) (HW_REGS_MASK)); h2p_lw_black_addr = virtual_base + ((белгиси узун) (ALT_LWFPGASLVS_OFST + PIO_BLACK_BASE) & (узун белгиси жок) (HW_REGS_MASK)); h2p_lw_red_addr = virtual_base + ((белгиси узун) (ALT_LWFPGASLVS_OFST + PIO_RED_BASE) & (узун белгиси жок) (HW_REGS_MASK)); // int i = 0; int маалыматтары; int i = 0, j; // Création de la configuration et des buffers in and 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); эгер (*h2p_lw_black_addr == 1) alt_write_word (h2p_lw_led_addr, 0x0F); эгер (*h2p_lw_red_addr == 0) alt_write_word (h2p_lw_led_addr, 0xF0); alt_write_word (h2p_lw_spi_addr+1, маалыматтар | 0b111000000000000); } бекер (конфигурация); бекер (ичинде); бекер (сыртка); return 0; }
7 -кадам: Le Final / Final
Французча:
Кактус 2000 -жылдын акыркы күнү.
ПКБга кирүү жана жаңыртуу карталарын DE0 Nano Soc.
Ensuite, ses components sont placés à l'interieur d'une boite jaune.
Сүрөттөмө кайра англисче (Кошмо Штаттар) тилине которулсунбу?
Постту бөлүштүрүү бул пункттун перпендикулярдык байланышы. Отчетту түзүү-бул сиз менен болгон мамилеңиз.
C'est tout pour aujourd'hui.
Instructable vous soit utile.
Англисче:
Мына биз (акыры) биздин Кактус 2000дин акыркы рендеринги.
Биз DE0 Nano Soc тактасына туташкан кирүү жана чыгуу ПХБларын койдук.
Андан кийин, анын компоненттери сары кутуга салынат.
Коробкада слайддын потенциометри бар, ал үн көлөмүн башкара алат, кээ бир эффекттерди чыгаруучу баскычтар жана баскычтар жана FFTди көрсөтө турган экран.
Динамик баскычтарга перпендикуляр жайгашкан. Микрофон кутунун башка жагында динамикке карата жайгашкан.
Мунун баары бүгүнкү күн үчүн.
Бул Инструкция сиз үчүн пайдалуу деп үмүттөнөбүз.
Сунушталууда:
Лазердик кактус: 3 кадам
Лазердик көрсөтүүчү кактус: Мектептеги бир долбоор үчүн мен Arduino менен бир нерсе жасашым керек болчу, мен мышыкка бир нерсе жасагым келди, аны сен мышык менен өзүң ойной аласың. Мен биринчи жолу чычкан жөнүндө ойлондум, бирок ушунчалык кичинекей нерсени жасоо бир аз кыйын болду
2000 ватт индукциялык жылыткыч: 9 кадам (сүрөттөр менен)
2000 ватт индукциялык жылыткыч: индукциялык жылыткычтар - бул металл мейкиндиктерин жылытуу үчүн эң сонун курал, алар DIYers жумуш мейкиндигинде колдонууга жарактуу, эгер сиз нерселерди бүтүндөй мейкиндикти бузбастан, кызып кетишиңиз керек. Ошентип, бүгүн биз өтө күчтүү индукцияны түзөбүз
2000 Ватт чыңалуусун жөндөгүчтү кантип жасоо керек: 7 кадам
Вольт жөндөгүчтү 2000 ватт кантип жасоо керек: Диммерлер - электр жүгүнүн электр жөнгө салуучулары электр кыймылдаткычтарынын айлануу ылдамдыгын, күйөрман ылдамдыгын, жылытуучу элементтердин жылытуучу элементтерин, бөлмөлөрдүн электр менен жарыктандыруунун интенсивдүүлүгүн көзөмөлдөө үчүн кеңири колдонулат. лам
DIY 2000 ватт PWM ылдамдыкты жөнгө салуучу: 8 кадам (сүрөттөр менен)
DIY 2000 Ватт PWM ылдамдыкты жөнгө салуучу: Мен велосипедимди автоматтык эшик механизми үчүн DC кыймылдаткычынын жардамы менен электрдикке айландыруу боюнча иштеп келе жатам жана ал үчүн 84v DC токтоочу батарейка пакетин жасадым. Эми бизге энергия делосун чектей турган ылдамдыкты жөндөгүч керек
Чечим чыгаруучу 2000: 4 кадам
Чечим чыгаруучу 2000: Чечимдерди кабыл алууда кыйынчылыктар барбы? Жашоону өзгөрткөн чечимдер кокусунан калганга жакшыбы? Эми Decision Maker 2000 менен бул оңой! Сиз жана досторуңуз эч кандай аракет кылбастан маанилүү чечимдерди кабыл ала аласыз. Decision Maker 2000 маанилүү суроолорго жооп берсин