HDD klocka - persistens av vision (8 / 13 steg)

Steg 8: Börja snurra - att sätta lägre styrelsen i funktion



1. Inledning

Detta PCB ansvarar för att köra motorn tillräckligt snabbt för lysdioder att bli "osynlig" och deras ljus suddig. Jag gjorde två versioner av detta, eftersom jag inte kunde driva upp (PIC18F46J50 skulle inte program och jag inte ville fastna på det) den tidigare styrelsen. På den andra versionen beslutat jag att sätta en PIC18F4550 i ett stort DIP paket, att göra lödning och mätningar lättare. Jag gillar hålmontering PCB mycket, efter plocka DIP40 paketet för PIC jag vände allt annat till dopp och genomgående hål komponenter. Motstånd, integrerade kretsar, allt åt sidan MOSFETs.

Detta PCB är den enklaste av de styrelser jag gjorde (jag räknas magnet innehavaren alltför som en PCB, möjligen den svåraste som ska borra, stapla, såg..). Komponenterna i denna styrelse:

  1. 1 x PIC18F4550 mikrokontroller med USB - styr allt
  2. 6 x N kanal MOSFETs - float eller Anslut spolar av BLDC till PSU skenor
  3. 2 x CD4081B quad, dual input AND-gates - detta ger de signaler som vänder den MOSFETs på/av
  4. 1 x 7805 spänning stabilisator - ger en trevlig ren 5V strömförsörjning för PIC och dess kringutrustning
  5. 1 x LM2903 dubbla kontrollapparat med öppna avlopp utgång - fångar spänningstoppar att avancera med kommutering mönster
  6. 3 x lysdioder - signalera det läge där PIC är just nu: bootloader/användarprogrammet
  7. 2 x knappar - extern användare ingångar för felsökning
  8. 1 x Potentiometer - ändrar intermittensen som blir påklistrat med kommutering signalerna
  9. n x motstånd - nuvarande begränsa, pull-ups, pull-downs
  10. n x kondensatorer - filtrering caps
  11. n x Pin rubriker - anslutningen till andra styrelser

Detta är den första PCB vi måste sätta in funktion, eftersom den övre styrelsen kommer att dra sin makt från rörelsen av motorn. Detta är vad vi har att göra här:

  • Driva upp saken och sätta USB bootloader i funktion
  • Försäkra kontroll av de sex N-MOSFETs
  • Driva lysdioder
  • Analoga gränssnitt
  • Mätning av varvtal
  • Seriell kommunikation för felsökning

Låt oss ta dem en efter en!

2. starta upp enheten och göra användning av USB-module inuti PIC18F4550

Som jag nämnde i föregående steg, beslutade jag att använda USB för firmwareuppdatering. Efter blinka firmware till PIC, jag tog ett djupt andetag och vände på min PSU. Och sedan plötsligt... ingenting. Det fungerade, och det gav mig en sak att tänka på tills jag kom med extra kondensator lösningen. Efter det fanns det inga problem på alla, inga fel, ingenting. Den LED som fick börja blinka när bootloader var igång verkligen blinkande, efter byte till användaren Anmälningskod kunde jag flash en annan LED. Övergången mellan bootloader och användaren Anmälningskod fungerar bra också. Uppstart och bootloader användning: kollade!


3. kör den borstlösa likströmsmotor

BLDC motor har tre stift, vi måste kontrollera spänningen över alla tre att göra det flytta det sätt vi förväntar oss. Den stat där tre stiften är blir alltid annorlunda, byta mellan hög impedans, GND och VDD. Det mönster som dessa tre stift bör alternativa visas på bilden ovan. Åt sidan för att använda upp sex I/O pinnar av mikrokontroller, kommer jag också lägga en PWM-signal över de tre linjerna. Detta kan uppnås med sex och-portar med sina utgångar på sex utfärda utegångsförbud för MOSFET. Utfärda utegångsförbud för använde var: CD4081B. Detta sätt kan en kontrollera hastigheten med endast en variabel - intermittensen.

Vi måste ge ett gränssnitt att ändra intermittensen från utsidan, det mest bekväma sättet att göra detta, är att använda potentiometern. En intern, 10 bitars AD omvandlare tar spänningen på analog ingång och omvandlar den till ett digitalt värde. Tur oss, intermittensen register är 10 bitar bred också, ingen filtrering eller manipulation behövs, vi bara har att överföra värdet från ADC registrerar att arbetscykel registren. Inställningen av båda modulerna är lätt, jag använde koden skärmklipp från äldre projekt och justerat de faktiska beräkningarna till dem. Efter montering denna styrelse såg jag att motorn inte vände snabbt nog, det ganska stäpp. Kommutering signalerna skulle planeras av en slumpmässigt vald timer avbryta av 100 MS, och det var inte all-just. En vän föreslog mig att ändra denna timer avbrott till externa avbrott och göra vissa ändringar i hårdvaran också. Naturligtvis en annan PCB var uteslutet, en annan (mindre) PCB att utformas för att vara värd de extra komponenter som hans förslag nämns. Målet var att få spänningen från motor terminalerna, passera dem genom en avdelare, ansluta de tre signalerna tillsammans via strömbegränsande motstånd och slutligen sätta dem på en komparator ingång. Jag samlat här små PCB utan motstånd på icke-invertering indata, och mätte spänningen på inverterade indata, där denna signal från motorn kom från. Jag såg att det nådde ungefärligt 500mV, icke-invertering motstånden hade ska plockas så motsvarigheten utlöser varje gång en spik kom på en av de tre ingångarna. Se bilder för bättre förståelse av denna del!

Jag leds av motsvarigheten till ett yttre avbrott på PIC8F4550, och bytte avbrottstjänstens rutin att kolla mot denna händelse innan hopp till nästa kommutering cykel. Detta sätt motorn inte falla ur synk och kommer tur tillräckligt snabbt för oss att arbeta med den.

oszcilloszkop kep en harom jelrol, az egyesitett jelrol är

oszcilloszkop kep en komparator ket bemeneterol es a kimeneterol


4. driva lysdioder

Driva de debug eller status lysdioderna är så enkelt som det kan bli, jag beräknas motståndet för 20mA: R = U / jag = 5/0.02 = 250 ohm. Om du vill ha ljusare, sätta motstånd av lägre värde, om du vill ha dimmer, sätta högre motstånd värde motstånd.


5. analoga gränssnitt

Att ha en potentiometer justera PWM intermittensen är det bästa sättet att ange rotationshastighet för spindeln. Analog-digital-omvandlare kan användas för att läsa center kranen potentiometerns, spänningen kommer att läsas in i AD värde registren, från där den kan tas av firmware för vidare bearbetning och manipulation. Med detta värde innebär, att vi enkelt kan justera PWM intermittensen. Till min stora lycka båda värdena är 10-bitar, så vad jag behöver göra är att dirigera bitarna från värdet AD registrera till duty cycle registret. Initiera koden för modulen AD kan ses bland bilderna jag bifogat till detta steg.


6. mäta rotationshastighet

Mätning av rotationshastighet kan uppnås genom att mäta de externa avbrott (från kontrollapparaten som nämnts ovan) i en en sekund tidsperiod. Efter byte till externa kommutering signal synkronisering, lämnades timer avbrottet aktiverad och sätta till en andra. En räknare var ökas i externa avbrottstjänstens rutin, har vi bara att kontrollera hur många räknas vi har i en sekunder och klyftan av sex, en full rotation ger sex externa avbrott. Nu när vi vet antalet pulser i en sekund, kan vi multiplicera det med 60 att få rotationshastigheten i RPM.


7. seriell kommunikation

För att hålla PCB enkel, jag kommer inte komplicera det med debug bildskärmar och många debug lysdioder, de skulle inte vara bra på sak, när det fungerar all-just. Det är därför jag beslutade att använda seriell kommunikation och en följetong-usb konverter göra grundlig felsökning om det behövs. Om allting fungerar, kan detta debug gränssnitt enkelt inaktiveras, så den inte äter upp processortid. Hantera UART i PIC processorer är mycket enkel och mycket bekvämt när det gäller användarvänlighet, lär läst databladet du dig allt som finns till den.

8. problem jag slog när du arbetar på baskortet

Ett problem som jag träffade när du arbetar på baskortet var felaktigt spänningsnivåer på MOSFET grindarna. Spårade jag slutligen tillbaka problemet till felaktigt urval av IC, jag trodde 74LS08 är pin-kompatibel med CD4081B, som jag ursprungligen gjorde PCB för. Jag kunde inte hitta någon CD4081B på lokala butiker och tänkte att helt enkelt ersätta dem med 74HC08 och det är det. Det var inte det, om du kolla datablad, förstår du vad jag talar om. Grindarna är placerade något olika i de två paketen, utgångar fick inverterad med ingångar, det är där de felaktigt spänningsnivåer kom ifrån! Jag beställde några 4081 ICs på Internet, problemet löst!

Ett annat problem hade något att göra med en saknad anslutning. Jag glömde helt enkelt att borra två hål och kontakt Q6 med utfärda utegångsförbud för motståndet! Det spårade jag med tre sonder på bron utgångarna och en sond reser tillbaka på sättet att den saknade pulsen. Livet är verkligen lättare när du har en fyra channel oscilloskop. Jag lyckades felsöka två fel tack vare det. Köpa ett scope var var en riktigt stor men riktigt bra investering.

Se Steg
Relaterade Ämnen

Hard Drive persistens av Vision (HDPOV)

tallrik av en hårddisk snurrar bra över sextio gånger per sekund. Om en smal springa var skuren i tallrik så att lamporna lysa igenom, kan vi uppnå flimra fusion och lura ögat att se en stabil bild. Detta fenomen kallas persistens av vision (POV). De...

Hårddisk Clock (HDD klocka med Arduino Uno)

Detta är ett roligt projekt som kan göras enkelt och också billigt. I detta instructable vi kommer att förklara steg för steg hur man gör denna vackra POV klocka.Använda materialet:Arduino Uno,Tiny RTC modul,ULN 2003,IR diod och IR transistor (använd...

GÖR Controller persistens av Vision effekt med lysdioder

Hej, detta är min första instructable och jag hoppas du gillar den. Det är ett enkelt projekt, göra styrenhet (en mycket användbar controller från www.makezine.com), som gör en uthållighet-av-vision-effekt med hjälp av lysdioder. När du flyttar styre...

Persistens av vision

den ursprungliga idén till projektet kom från David Bjanes som har många projekt i hans Projektkön lysande sinne. Inspirationen kom när David såg en video av en liknande POV display på Youtube.com. Vi kontaktade Bruce Land, vår professor, för att dis...

Ultra låg kostnad sol-uppladdningsbara persistens av vision display

denna enhet ger en ljusstark och iögonfallande Visa för att skriva text och små bilder genom luften. Det använder under £2 (ca $3,20 USA på i skrivande stund) i delar, och är en trevlig liten helg projekt att imponera på dina vänner och familj.Det an...

Arduino persistens av Vision visar

en vision (PoV) display är en rad med lysdioder som flash ut kolumnerna i ett meddelande. När matrisen med lysdioder flyttas, som när monterad på ett cykelhjul, kan meddelandet läsas som om det var många LED hela, i stället för en enda rad.Maskinvaru...

En LED persistens av Vision namnbricka

detta Instructable visar en namnbricka som jag har byggt för min dotter.Jag har sett Defcon märken, och trodde att de var cool. Varför kan mina barn har också - men speciellt byggd för dem?Så här går du - en enkel märke som använder en PIC 16F88, och...

Persistens av Vision trollstav för Arduino

i detta instructable, jag visar dig hur du skapar en trollstav (slags) så att du kan skriva i luften, som bilden ovan visar.Steg 1: Hårdvara Behöver du:-Lödkolv-Löda-5 3v gröna lysdioder-fästa startkablarObs: I stället för lödning, du kan göra detta...

3D POV Clock from a HDD

I detta Instructable kommer vi att omvandla en gammal hårddisk till en 3D persistens av Vision klocka.POV klockor använder en enkel metod för att Visa tid på ett riktigt snyggt sätt. En POV klocka snurrar en uppsättning av lysdioder riktigt snabbt, v...

Lite Brite LED klocka

Lite Brite pinnar ser ut som lysdioder inte de? Det är vad jag dock häromdagen efter att ha arbetat på en LED cube i några timmar. Jag råkade se min dotters Lite Brite sitter där, och jag tittade på högen av lysdioder på mitt skrivbord. Vad en perfek...

Sunrise Alarm LED klocka

Förmågan att förstå och kontrollera ledde matriser är en viktig färdighet för alla som vill vara väl bevandrade i elektronik. Förståelsen av SKIFT register och rad scanning tekniker behövs för sådana bedrifter kommer att vara användbara i otaliga and...

2,5" HDD ta tid

detta är en 2,5" HDD klocka jag gjort från en inaktiv extern hårddisk. Jag använde en 2,5-tums enhet i stället för en 3,5-enhet som i Storbritannien är det mycket svårt att hitta urverk som har en tillräckligt lång spindel att gå hela vägen.Detta är...

Ihållande Vision (POV)-2 sätt att spela -

efter trött på att söka POV handledning som inte klart och komplicerad, jag hittade till slut det bästa en. I detta instructable jag kommer att återskapa en POV (persistens av Vision) trollstav inspirerad av amandaghassaei's ursprungliga design. När...

(POV) Ihållande Vision världen

! Uppdatera! Jag har lagt till ett excel-program som gör det mycket lättare att rita och kod nya bilder!En enkel persistens av vision klot. Spela upp VIDEODetta är ett projekt som jag haft i åtanke under en längre tid och "Göra det Glow" tävling...

Återvunnet hårddisk Clock - FuneLab

Hej alla!Detta är min femte projekt på Instructables & Tack alla gillade detta.Du har en trasig hårddisk? Du skulle lägga den i papperskorgen eller sälja det på Ebay för några dollar? Åh nej!Gör dig redo att vända kraschade hårddisken till en unik kl...

ESP8266 Desktop Clock (WiFi synkroniserad!)

ESP8266 är en awesome chip; med integrerad WiFi, 80MHz klockfrekvens, totalt 160kb RAM, 512kb flash-minne, och massor av andra funktioner, gör det en regelbunden Arduino ser ut som ett skämt. Projektet visas i detta Instructable är enbart baserad på...

Mikro - wrist watch LED mönster TIDMÄTARE

en annan RGB Sunset produktioner produktion!Detta projekt är ett kretskort för att göra en wrist watch storlek version av min mina klocka:med några fler funktioner mer tillämplig på en bärbar enhet. En hel del hjälp och förslag kom från ians 01 / \ /...

Multiplexering med Arduino och 74HC595

74HC595 är en lätt och billig (på cirka 60 cent styck) sätt att öka antalet digitala ut stiften på din Arduino. I denna tutorial ska jag visa dig hur man kör upp till 16 lysdioder med en 74HC595 med hjälp av en teknik som kallas multiplexing. I slutä...

Charlieplexing lysdioder - teorin

detta instructable är mindre en bygga dina egna projekt och mer en beskrivning av teorin av charlieplexing. Den är lämplig för personer med grunderna i elektronik, men fullständig inte nybörjare. Jag har skrivit det som svar på de många frågor jag få...