Sadržaj:
- Korak 1: Zahtjevi 1/3 - Hardver
- Korak 2: Zahtjevi 2/3 - Komponente za vaš krug
- Korak 3: Zahtjevi 3/3 - Softver
- Korak 4: Ulazni krug
- Korak 5: Izlazni krug
- Korak 6: [NEOBVEZNO] Stvaranje borada i komponenti za lemljenje tiskanog kruga
- Korak 7: SoC postavljanje
- Korak 8: Programiranje C HPS
- Korak 9: Digitalno preuzimanje ADC -a s kartice
- Korak 10: Izračun FFT -a
- Korak 11: Prikaz FFT -a
- Korak 12: Montaža
- Korak 13: Zvučni efekti
- Korak 14: [NEOBVEZNO] Izrada kacige
Video: Kaciga za izmjenu glasa Spartan: 14 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Zdravo! Mi smo tim od 4 učenika sa Politehničke škole Sveučilišta Sorbonne:
- Louis Buchert
- Bilal Melehi
- Bao Tinh Piot
- Marco Longépé
Ovaj projekt realiziran je u sklopu naših studija i ima za cilj uzeti u obzir brojne alate, te pokazati naša teorijska postignuća.
Poznati objekt poprima izgled kacige koja liči na heroja određene video igre čije će ime biti izgubljeno. Što se tiče dizajna, imamo i zaslon koji prikazuje Fourierovu transformaciju audio signala koji izlazi iz zvučnika. Svrha ovih slušalica je promijeniti glas operatera u stvarnom vremenu pomoću brojnih efekata koji se mogu birati.
Obrazovni ciljevi:
- Snimite zvuk s mikrofona
- Pojačajte, filtrirajte, digitalizirajte signal
- Ostvarite FFT signala
- Prikažite ovaj FFT na ekranu
- Sinteza signala
- Izvucite zvuk iz zvučnika
- Ostvarite efekte na audio zvuk (odjek, odjek itd.)
Sada kada smo stavili pozadinu i predstavili projekt, vrijeme je da ga uzmete u ruke!
Korak 1: Zahtjevi 1/3 - Hardver
Kako bismo uspješno izgradili vašu kacigu, trebat će nam neki hardver za pokretanje uređaja.
- DE0-Nano-SoC razvojna ploča kompanije Terasic + Adafruit TFT LCD ekran (Arduino)
- Pristup 3D pisaču za izradu kacige (Ako ste student sve bliže sveučilištu, neki imaju laboratorije dostupne studentima)
- Računalo s internetskom vezom i minimalnim povezivanjem (USB, Ethernet). Vaše računalo također mora imati snažan procesor jer sastavljanje programa na Qsys -u oduzima puno vremena.
- (Nije potrebno) Pisač koji izrađuje tiskane ploče (PCB) iz Gerberovih datoteka kako bi smanjio veličinu kruga + lemilicu za stavljanje komponenti na PCB.
- (Snažno preporučeno): Dobra kava za uživanje u poslu s našim Instructable:)
Korak 2: Zahtjevi 2/3 - Komponente za vaš krug
Evo komponenti potrebnih za vaš krug:
- Audio pojačalo klase Texas Instrument LM386 AB
- BreadBoard
- Set muško-muških, muško-ženskih kabela
- LM358P digitalno-analogni pretvarač (DAC)
- Zvučnik
- Mali mikrofon koji se koristi u analognom krugu
- Igrački skup otpornika od 1kOhm do 220kOhm
- Kondenzator 1,5nF
- Kondenzator 50nF
- Kondenzator 100nF
- Kondenzator 100uF
- Kondenzator 220uF
- x4 Kondenzatori 10uF
Korak 3: Zahtjevi 3/3 - Softver
Na kraju, ali ne i najmanje važno, trebat će vam softver:
- Quartus 15.1: Lite verzija
- C kompajler (gcc na primjer)
- Altium za projektiranje PCB -a
-
Alterin SoC ugrađeni paket za komunikaciju s SoC kartom
- Kit
Korak 4: Ulazni krug
Izgradimo krug. Upotrijebite gornju sliku kruga kako biste je sastavili na matičnoj ploči. Također ćete vidjeti sliku BreadBoarda i krug unutra kako biste vidjeli kako su pinovi povezani. Cijeli krug napaja se istosmjernom strujom (DC) od 5V. U tu svrhu možete koristiti 5V bateriju s USB-B pretvaračem ili generator funkcija.
Neki podsjetnici:
- Napajanje 5V i uzemljenje spojeni su na zasebnim vodoravnim vodovima ploče
- Ako želite spojiti 2 komponente paralelno, stavite ih u zajedničku liniju ploče
- Ako želite spojiti 2 serijske komponente, kompomenti moraju imati samo jedan pin u zajedničkom retku ploče.
Ne ustručavajte se pogledati namjenski vodič o korištenju matične ploče i povezivanju strujnog kruga na njoj. Također ne zaboravite pažljivo pročitati položaj pina audio pojačala LM358P (pogledajte gornju sliku)
Korak 5: Izlazni krug
Potpuno iste upute kao i korak 4. Četiri ulaza: SDI, a ne CS, SCK, a ne LDAC, dolaze s vaše ploče DE0-Nano-Soc. Kasnije ćemo vidjeti kako ih generirati.
Ne zaboravite pažljivo pročitati položaje pinova audio pojačala LM386 (pogledajte gornju sliku)
Korak 6: [NEOBVEZNO] Stvaranje borada i komponenti za lemljenje tiskanog kruga
Ako imate sreće da imate pisač na ploči ili ga možete koristiti, stvorit ćemo vlastitu tiskanu ploču (PCB). Imajte na umu da je ovaj korak neobavezan. Ovaj korak sastoji se samo u premještanju vašeg kruga s matične ploče na PCB.
Trebat će vam ove 2 GERBER datoteke.
Te su datoteke napravljene na Altiumu. Koristite ih na softveru pisača PCB -a za ispis vaše PCB -a. Nakon što nabavite PCB, provjerite je li PCB čist i jesu li pjesme ispravno ispisane.
Sada dolazi prava stvar: lemljenje. Gornje 2 slike su karta kruga na PCB -u. Svaka komponenta ima nazive (R6, C4, MK1 itd.). Slike u koraku 4 i 5 prikazuju parametre komponenti (otpor, vodljivost..). Stavite svaku komponentu s matične ploče na tiskanu ploču prema njihovim nazivima.
Nakon što ste sve lemili lemilicom, ispitajte sve komponente voltmetrom da biste provjerili ima li kratkog spoja.
Korak 7: SoC postavljanje
Što se tiče postavljanja SoC -a, morat ćete pokrenuti neke naredbe i skripte uključene u SoC ugrađeni paket unutar terminala. Da biste to učinili, morat ćete dodati $ PATH. PATH se unutar terminala koristi za traženje datoteke u direktorijima danim putem prilikom izvođenja naredbe. Da biste to učinili, upišite sljedeću naredbenu liniju:
izvoz PATH =/cygdrive/c/altera_lite/15.1/quartus/sopc_builder/bin: $ PATH
Zatim upišite naredbeni redak za generiranje zaglavlja iz sof datoteke. Soft datoteku dobivate sastavljanjem svog projekta na Quartusu. Da biste to učinili, upišite:./generate_header.
Korak 8: Programiranje C HPS
U ovom dijelu moramo shvatiti 2 stvari, naime pročitati pročitati vrijednost ADC -a i upisati je u SPI.
1. Očitajte vrijednost ADC -a
Adresa memorije u kojoj se nalazi ADC nije izravno dostupna, zapravo linux sustav prisutan na kartici postavlja apstrakciju memorije. Za stvarno pristupanje ADC adresi koristit ćemo funkciju mmap.
"h2p_lw_spi_addr = virtual_base + ((unsigned long) (ALT_LWFPGASLVS_OFST + SPI_0_BASE) & (unsigned long) (HW_REGS_MASK));"
Ova uputa omogućuje dodavanje pomaka na početku osnovne adrese kako bi se došlo do adrese memorije dodijeljene za ADC, te da se na rezultirajućoj adresi izvede logika I da se uzme u obzir maskiranje.
Nakon toga, bit će potrebno samo dereferencirati pokazivač u programu kako bi se dobila njegova vrijednost.
2. Upišite vrijednost ADC -a u SPI
Manipulacija je identična, ovaj put mmapi dajemo pomak za slijetanje na adresu dodijeljenu od strane SPI -a. Tijekom pisanja u SPI -u, u tehničkoj dokumentaciji je navedeno da morate na adresu + 1 upisati vrijednost adc -a.
"*(h2p_lw_spi_addr+1) = ((0x1 << 12) | *h2p_lw_adc_addr);"
Ova vam uputa omogućuje pisanje u SPI. Doista bit 4, dakle 1 << 12, je bit koji omogućuje aktiviranje SPI -a. S logičkim ILI, stoga dajemo i aktivacijski bit i vrijednost ADC -a SPI -ju.
Korak 9: Digitalno preuzimanje ADC -a s kartice
Prije svega, morat ćete postaviti Ethernet IP adresu svog računala putem Upravljačke ploče -> Mreža -> Karmetalne kartice. Odaberite ethernet sučelje kartice, svojstvo, ipv4 adresu i unesite fiksni IP, masku itd …
Zatim povežite karticu sa strane utičnice za napajanje mikro USB kabelom. Otvorite Quartus programer i pokrenite izvoz. Ova će se manipulacija ponoviti nakon svakog isključivanja kartice.
Promijenite mikro USB utični kabel, da biste se ovaj put povezali pokraj Ethernet priključka. Sada će se s Puttyjem morati povezati na karticu serijskom vezom. Konfiguracija je vidljiva na fotografijama, ideja je zamijeniti COM5 COM -om, a zatim broj koji možete pronaći u upravitelju uređaja (desnom tipkom miša kliknite logotip Windowsa da biste ga otvorili).
Pritisnite enter, povezani ste.
Podaci za ponovno pokretanje projekta: - Popravite ethernet ip koji odgovara kartici - Uključite karticu, svaki put kad uključite napajanje, potrebno je staviti sa "program" pod quartus projekt sastavljen na kartici. To se vrši putem mikro -USB priključka - Da bismo mogli prikazati rezultat programa, koristimo više mikro USB -a, ali UART - S kitom konfiguriranim za serijski COM5 (ili perifon sa 6 gledatelja) Spojite se na karticu. - Postavi lozinku (passwd) - Postavi IP adresu ifconfig ethxx IPchoice (IP nedaleko od one za eth računala) - Generiraj zaglavlje prema Qsys -u s ugrađenim terminalom (izvoz PATH) - napravi - scp l exec u map - izvršiti pod kitom prog
Korak 10: Izračun FFT -a
Kako bismo dobili brzu Fourierovu transformaciju u naš C program, koristit ćemo biblioteku koju je napisao Mark Borgerding: Kiss FFT. Knjižnicu možete preuzeti ovdje: https://kissfft.sourceforge.net/. Primjena FFT -a na signal neophodna je za izmjenu i primjenu efekata signala. Također može poslužiti za prikaz spektra signala.
Prvi korak u vašem C programu sastoji se u dodjeli memorije za pohranu rezultata FFT. Veličina memorije ovisi o broju točaka koje se koriste za izračun FFT -a. Što više bodova imate, to će FFT biti precizniji. Međutim, program će raditi sporije i koristit će više memorije. Imajte na umu da ćete od funkcije kiss_fft dobiti dva niza: ulaz i izlaz funkcije (cx_in i cx_out)
Nakon što je naš niz ispunjen novim FFT vrijednostima, tj. Kada je r = Win - 1, obrađujemo FFT. Što se tiče prikaza, prikazujemo samo pozitivni dio spektra jer postoji simetrija između negativnog i pozitivnog dijela.
Što se tiče vodoravne osi, smanjujemo vršne vrijednosti za 100*visinu/(visinu²) kako bismo razlikovali vrhove glavnih frekvencija.
Koristimo sistemski poziv usleep kako bismo definirali učestalost čitanja za ADC vrijednosti. Ova frekvencija je trenutno postavljena na 1,5 Hz.
Korak 11: Prikaz FFT -a
Na temelju primjera danog na Adafruit TFT LCD ekranu dostupnom ovdje: https://www.terasic.com/downloads/cd-rom/de0-nano-s… programirali smo NIOS našeg odbora tako da može čitati vrijednost ADC -a.
Dakle, ADC registar se dijeli između NIOS -a i HPS -a jer će se vrijednosti ADC -a koristiti za prikaz FFT -a na ekranu NIOS -a, a te iste vrijednosti bit će zapisane na SPI -u kako bi se izbacile s ploče i konačno pretvorile putem DAC -a za dobivanje analognog signala.
Korak 12: Montaža
Skoro smo gotovi! Morat ćete sastaviti svaki dio projekta (ulazni krug, izlazni krug i ploču). Spojite dijelove na ispravne igle prema Quartus projektu.
- Ulazni krug će poslati audio signal snimljen mikrofonom, pojačan, filtriran i pomaknut.
- Program C prisutan na kartici očitavat će vrijednosti ADC -a kao što smo već vidjeli, i zapisat će ih na SPI kako bismo mogli vratiti vrijednost na GPIO kartice.
- Tada će izlazni GPIO SPI -a prenijeti informacije koje će dekodirati naš DAC i pojačati trčanjem do zvučnika.
Korak 13: Zvučni efekti
Jedini korak koji preostaje su zvučni efekti.
Dostupni učinci su:
- Filter visoke frekvencije
- Filter niske frekvencije
- …
Pomoću gumba možete se prebacivati između efekata. Ovaj će gumb promijeniti varijablu u našem programu C, tako da može primijeniti pravi učinak.
Korak 14: [NEOBVEZNO] Izrada kacige
Ovdje smo u najručnijem koraku projekta:
- Prvo smo zalijepili različite 3D ispisane dijelove kacige.
- Kako bismo popunili praznine između zalijepljenih komada, dodali smo završnu obradu pomoću 3D olovke.
- Općenito smo polirali međuprostore ispunjene olovkom i kacigom tako da slika nakon toga dobro stoji.
- Obojili smo kacigu u 2 sloja: prvi u antracitno -crnoj boji izbliza, a drugi primarno zeleni od daljnjeg kako bismo dobili nijanse tamnije zelene.
- Konačno smo ispisali logo naše škole sa strane kacige
Preporučeni:
Zaštitna kaciga Covid 1. dio: Uvod u kola Tinkercada!: 20 koraka (sa slikama)
Zaštitna kaciga Covid 1. dio: Uvod u Tinkercad sklopove!: Zdravo, prijatelju! U ovoj dvodijelnoj seriji naučit ćemo kako koristiti Tinkercadova kola - zabavan, moćan i obrazovni alat za učenje o načinu rada sklopova! Jedan od najboljih načina učenja je učenje. Dakle, prvo ćemo osmisliti naš vlastiti projekt:
Visokonaponske naočale za izmjenu okluzije [ATtiny13]: 5 koraka (sa slikama)
Visokonaponske naočale za izmjenu okluzije [ATtiny13]: U mojim prvim uputama opisao sam kako izgraditi uređaj koji bi trebao biti od velike pomoći nekome tko želi liječiti ambliopiju (lijeno oko). Dizajn je bio vrlo jednostavan i imao je nedostataka (zahtijevao je korištenje dvije baterije i tekućine
Čaše s tekućim kristalima za ambliopiju (naočale za izmjenu okluzije) [ATtiny13]: 10 koraka (sa slikama)
Naočale s tekućim kristalima za ambliopiju (naočale za izmjenu okluzije) [ATtiny13]: ambliopija (lijeno oko), poremećaj vida koji pogađa približno 3% populacije, obično se liječi jednostavnim okularima ili kapima atropina. Nažalost, te metode liječenja zatvaraju jače oko na duge, neprekinute vremenske periode, bez
Killswitch za izmjenu gitare: 5 koraka
Killswitch koji se može ukloniti: Ako niste spremni izbušiti gitaru da biste instalirali killswitch, evo jednostavnog načina da napravite onu koju možete odmah skinuti ako je ne želite. Ako vam se ne da čitati, možete pogledati ovaj video. Također, odigrao sam malu demonstraciju u t
Multimeterska sonda za izmjenu Breadboard ploče: 4 koraka
Makeshift Breadboard Multimeter Sonda: Jeste li ikada radili na izgradnji strujnog kruga na ploči i odjednom morate provjeriti nešto s multimetrom, ali vaših dobrih sondi nema nigdje, a sigurnosne kopije su prevelike da bi stale? Ovo uputstvo će proći