Bygga och kod en MONSTER musikaliska teslaspole med en mikrokontroller (9 / 11 steg)
Steg 9: Steg 7 â programmering mikrokontroller
Nu är det dags att använda din 1337 (elit) hacking färdigheter för att gränssnittet din teslaspole med datorn från grunden.
Detta steg, ger för första gången någonsin i tesla ringlande historia, ett direkt och enkelt sätt för genomsnittliga hobby att bygga och mixtra runt med sin egen musik ombord. Lägesställare inte normalt gå in i detalj med det här steget eftersom de utgår från att om du får fram till denna punkt, då du förmodligen inte behöver detaljerade instruktioner (plus det är ganska coolt, så varför bara ge instruktioner bort gratis?). Jag producerade denna musik styrelsen eftersom jag inte ville bara att köpa en av dem de flyter runt nätet (de var $200 när jag letade!).
Vi kommer att använda mikrokontroller är Texas Instruments MSP430 mikrokontroller. Varför? Det är verkligen lätt att använda, och till skillnad från arduinos och liknande, är smuts billigt (medan arduino är mer som en allmän "allt är här" styrelsen, MSP430 är mer specifikt, vi får precis vad vi behöver och inte behöver betala för mycket, det är runt $5).
Du måste installera koden kompositör studio för din MSP430 för att läsa in koder till den. Ange en mapp som du vill arbeta och starta ett nytt projekt kallat Muzak. Följ instruktion boken som medföljer din MSP430 att göra detta. När du har koden kompositör Studio, Hämta dessa filer och/eller kopiera och klistra in sin kod (detta kräver öppna .rar filen): http://www.mediafire.com/?oogn9t59vvk4p2b
Sätta Muzak.h i projektmappen. Filen innehåller en tabell med anteckningar som du behöver.
Sätta Muzak.c i mappen "privat". Filen innehåller kod som anger pulse bredd, klocka och ofta information.
Lägg Main.c i projektmappen. Filen innehåller allmänna anvisningar till mikrokontroller.
Lägg Song.c i en ny mapp i projektmappen kallas "låtar." Denna fil är en musikfil som din microcontroller kommer att spela.
Sätta Rest.c i samma mapp. Denna fil är en musikfil som är tom.
Vad denna kod gör sätts en signal via pin P1.0. När du laddar koden storbildsformat, borde du se den röda LED (light) blinkar. Detta beror på att musik signalen skickas genom LED och därmed det blinkar tillsammans med sången. Att höra låten, ta bort bygeln över stift 1 krok upp två trådar från en högtalare till P1.0 och marken. Här bör du den låt som spelas. Känner du igen det?
ÄNDRA FÖR ATT PASSA DIN SPOLE
Titta på signalen genom ett oscilloskop.
Signalen för "på" är när spänningen når förbi en plasttransistorn (den övre delen av den kvadratiska våg). Oroa dig inte om tröskeln spänning ännu, eftersom vi kommer att använda op-förstärkare för att öka amplituden av signalen. Men i princip den övre delen av fyrkantsvåg är "på" och den långa nedre delen vid nära 0 volt är "off". När spolen är "på" energi flödar fritt i primärkretsen. En bra analogi är en daglig lekplats swingset; Tänk dig att svänga ett sätt representerar energi går in i kondensatorn och svänga åt andra hållet energi går in i induktor (primära spolen). När du svingar, energi går fram och tillbaka, men för att gå fram och tillbaka krävs det att börjar du trycka svingen. När energin flödar in i primärkretsen är ("on" scenen) jämförbar med någon trycka.
Jag vet att du verkligen vill, men du kan inte bara helt enkelt kopplar musik styrelsen i tesla coil. Du måste justera signalen puls bredd, frekvens och DUTY CYCLE. Om bredd för synkpuls är för hög, då för mycket makt kommer att gå igenom IGBTs på en gång och de kommer att blåsa. På samma sätt om pulser går igenom IGBTs en efter den andra för snabbt, kommer de också blåsa. Slutligen, om IGBTs är på för hög en procentandel av tiden (månadskapacitet) då de kommer att överhettas och/eller blåsa. Nyckeln är att hålla pulse bredd, frekvenser och duty cycle låga, sedan att gradvis öka dem för att se vad de kan hantera eller inte kan hantera. I min spole, jag begränsad (absolut maximum) min puls bredd till 200uS (mikrosekunder), frekvensen till runt 150Hz (200 pulser per sekund), och runt 2,5% intermittensfaktor (det kan vara på 2,5% av tiden). Förvänta dig inte något mycket högre för din spole! Digitala oscilloskop (om du inte har en som jag, se om du kan använda någon annans i en datorsal, college, eller på en vänlig ingenjörens hus) har den fördelen att de mäter alla dessa för dig.
Justera koden gör att du kan justera alla dessa parametrar. Öppna Muzak.c. Det finns variabler övre märkt speciellt för dig. Ändra deras värden och se vad som händer med produktionen vågformen. Du kan också redigera Main.c för att ge din microcontroller allmänna instruktioner. För närvarande är två instruktionerna i filen:
playSong(); <-detta spelar låten
och sedan
delay_ms(0); <-detta säger spolen att vila under en viss tid innan låten upprepas
När du har justerat koden, kontrollera output vågformen med oscilloskopet och fortsätta ändra tills du får en önskad effekt som du känner bra kommer att fungera bra med din spole (starta låg först!). År sedan första gången jag experimenterat med ljud styrelser min frekvens var alldeles för högt, och så min teslaspole blåste (plus den audio kvaliteten var inte att bra eftersom då min H färdigheter inte var 1337 så jag inte var kodning låtar, jag var bara med elektronik kretsar för att ändra ljudutgång från alla mp3-spelare (det var "analog" istället för "digital.").
KODNING LÅTAR
Jag har tagit några låten instruktioner här: http://www.mediafire.com/?t48qa78eoplx760, men om du vill koda din egen, kommer jag att förklara kort hur. I min High School java klass, vi programmerade en falska robot och gav det en lista med instruktioner. I huvudsak, kodning musik fungerar på samma sätt. ger du din teslaspole en lista med instruktioner om vad du ska spela. Den kod som vi arbetar med liknar java-kod i att det är objektorienterade.
Ladda Anvil Studio och en .midi fil av ditt val. Öppna filen .midi med hjälp av programmet. Du kommer att få en grafisk representation av songen av ditt val och du kommer att se som noterar spela när och hur länge (detta är en bra referens). Detta är all information du behöver för att koda en låt! I koden finns en tabell över anteckningar som jag har pre-kodad i, så allt du behöver göra är att ange en lista över anteckningar som kommer att spela i din låt i följd, och för varje anteckning, ange hur länge den spelas upp och infoga vilar. Efter några försök och tester, hittar du som så småningom börjar din kodade låt likna vad du skulle vilja. Du kan leka med att göra egna låtar tills du är nöjd.
Till exempel i Song.c instruktionen ljudsignal (G1H, 120); berättar mikrokontroller till "beep" med en anteckning G1H löptid på 120 tidsenheter (bestäms av den microcontroller klockfrekvens). Obs "R" är en vila.
Du kan inte ha din låt för länge eftersom annars kommer du får slut på minne. Dessutom, dessa verktyg visar dig hur man gör en monofoniska teslaspole ljud ombord, och så, med andra ord, du kan bara spela en ton i taget.