Modding en tank för trådlös kontroll (6 / 9 steg)

Steg 6: Funktioner som styr min DC motorer



DC-motorer är den vanligaste typen som kan hittas i apparater. Jag börjar med en kort beskrivning av de funktioner som jag skrev till Aktivera DC motorisk kontroll på min bräda:

INIT_DC()
initierar PCA9635 DC motor signalgenerator, återställer duty cycle stiften till 0% och sätter den riktning pin till 0. De två nollorna på H bridge kontroll input stiften lämna motor undriven och gratis spinning.

DC_drivers()
modifierar utdata drivrutiner staten. Det finns fyra lägen, utmatningsdrivrutinerna kan arbeta i:
00 - LED driver x är off (standard uppstart stat).
01 - LED driver x är fullt på (enskilda ljusstyrka och grupp ljusreglering/blinka inte kontrolleras).
10 - LED driver x enskilda ljusstyrka kan kontrolleras genom dess PWMx register.
11 - LED driver x enskilda ljusstyrka och grupp ljusreglering/blinka kan kontrolleras genom dess PWMx register och GRPPWM registrerar.
Funktionsläget av varje utgång driver lagras på två bitar. Fyra chauffören påstår är grupperade i ett enda register, registernamn parametern driver_id i funktionen DC_drivers. Den andra parametern är driver_mode, har användaren att förse en 8 bitars värde med den efterlysta driver Utläge skiftat till sin plats.
Till exempel om det finns behov av en växel från "helt på" till "PWM kontrolleras" läge för utgång LED1, bitar 3:2 i LEDOUT0 måste ändras från 01 till 10. I standard IMP motorisk kontroll styrelsen koden görs detta i funktionen DC_command().
Här är ett exempel på detta:

...
Temp = I2C_ReadByte (PCA9635, LEDOUT0); Läs innehållet register
Temp = temp & 0xF3; ta bort de bitar som hittade på lite fält 3:2
Temp = temp | 0x08; Ange de 3:2 bitarna till 10
DC_drivers (0, temp); kalla DC_drivers() med två parametrar, LEDOUTx-i vårt fall är x 0, och den uppdaterade registren värde
...

Att läsa registret tidigare till data förändring det är nödvändigt, eftersom de andra bitarna i registret kan påverka de andra utgångarna som vi använder. För att undvika detta, har jag läst det första, ändrade de används två bitarna, och skrev det tillbaka igen.

DC_command()
används funktionen för att ändra hastighet och riktning av den valda likströmsmotor. Den första parametern id berättar funktionen som DC-utgång ändra med två parametrar: riktning och duty_cycle. De sista två parametrar vilket innebär är okomplicerat. Intermittensen är begränsad till 99,6%, något större värde kommer att resultera i att ändra intermittensen till 100% genom att ändra utdata driver staten till "helt på"-läge.
Olika program har olika belastning på motorerna, att få bakom detta, en ramp-up algoritm kan användas till att gradvis öka intermittensen.

SleepMode()
Utnyttjar vilolägesfunktionen av DRV8835. Eftersom denna H-brygga drar mycket lite ström från logik leverans (vanligtvis 450 μA, max 2 mA), det kan drivas direkt från en PCA9685 stift, som kan anskaffa högst 10 mA. Detta är användbart när en av broarna inte används, att sätta den till viloläge kommer att minimera den nuvarande dras från belastning leverans till ~ 10 nA. Den första parametern "bro" väljer en av de två broarna ombord, och kan ta "AB" eller "CD" som värde. Dessa inaktivera bron märkta på samma sätt, synlig på styrelsen silkscreen. Den andra parametern är aktiv låg, aktiverar eller inaktiverar viloläge på bron valts ut av den första parametern.

Se Steg
Relaterade Ämnen

Hur man gör ett urinblåsan system för en vatten pistol

dag jag kommer att lära dig hur till få mer makt från en vatten pistol genom att lägga till en blåsa det fungerar bara på vissa vattenpistoler men någon som har en grundläggande kunskap om hur en super soaker fungerar bör ha några problem att göra de...

R/C bil balansera Robot

Hej! Detta är Kaeru ingen Ojisan.Vi kan hitta många balanserande robotar (även med öppen källkod) i hemsida.Då jag har försökt att hitta en balanserande robot baserad på en verklig bil eller ett kommersiellt säljs R/C bil som Tamiya R/C bil. Men jag...

Skum RC plan byggnad Guide

** Alla min RC och robotics projekt kan hittas här:https://projectinkerer.wordpress.com/ **Vid projektets start blev jag inspirerad till design och bygga en billig RC plan som jag kunde flyga för njutning och kanske i framtiden hålla en kamera på. So...

Barn skärm Timer med Arduino

Denna enhet ger en förälder verkligen robust metod för att kontrollera skärmen-tid (TV / DVD / console) sina barn ha varje dag. Det fungerar genom att ha ett intelligent tid-switch som styr HDMI-signalen passerar mellan en enhet och TV-skärmen. Jag h...

Ledningar min bil Air Conditioner för maximal kylning!

Luftkonditioneringen i min 1999 civic är i fin form utom OEM controller växlar kompressorn lite för ofta (inte snabbt i fall låg eller hög köldmedium tryck). Jag bor i ett varmt klimat och AC kompressorer bör inte cykling ofta. De bör vara på oftare...

One Touch Wardrobe

====================================================================UPPDATERINGTORSDAG, MARS 01, 2012"FULL KÄLLKOD"på steg 6.SÖNDAG, MARS 04, 2012"NYA VIDEO"på denna sida=================================================================...

SANNINGEN om Nrf24L01 sändtagaren

Jimmy Wales sade: "vi är i den allra första början av internet. Kan använda den klokt"Sanningen om nrf24L01 sändtagaren är att det är mycket lätt att använda och roligt att arbeta med om du gör vissa saker på rätt sätt. Tyvärr innehåller interne...

Arduino/Easy Driver Animation Control Board

Detta instructable tjänar två syften i förhållande till församlingen och använder ett Animation Control Board (PCB). PCB är en spin off från mitt projekt att skapa en N-skala vindbrygga som är funktionella och drivs av en Arduino ihopkopplad med en l...

Halogen arbete ljus projektorn Mod V2.0

Daterad mod:Projektor mods jag gjorde är ut av den här gången. Det finns projektorer med mycket bättre optik, ljusstyrka och kasta avstånd. Om du letar efter en lång använder projektorn, med billig lökar, som jag var när du gör detta mod, skulle jag...

Altay K'nex Tank

uppdatering: om du gillar min tank, snälla rösta på mig på tävlingen (söta lilla omröstningen knappen längst upp till höger :))UPPDATERING 2: Extra "K'nex Motor Heavy Duty & RC ändring" steg (08.11.2015)Hej alla,Jag nämnde min tank i min för...

Astronomens rött ljus (Maglite mod)

jag har tagit några intresse i amatör astronomi nyligen och insåg att, som en hobby, det kan bli mycket dyrt mycket mycket snabbt. Den utrustning som finns på någon prisklass är enorm och precis har börjat kan det betyda att dela ut några stora penga...

Modded Xbox införlivas med en Scion TC

detta projekt är inte för de procrastinators som är svagt hearted.Gör detta projekt innehar DIY'er alla ansvar för någon typ av skada. Om det fysiska, psykiska, eller egendom.Hjärnan av projektet är en Xbox softmodded med linux kör XBMC (Xbox Media C...

Nerf Mods: En Nybörjarguide

nybörjare kan drivas enkelt från världen av Nerf gun modding genom att se en ändring "uppskrivning" som verkar komplicerat. Många ändringar uppskrivningar verkar förvirrande i början. Men modding en Nerf pistol är inte mycket svårt--det tar helt...

Uppc, Powerbocking, hoppa styltor--snabb On/Quick av hovar--The Re Mod

detta är en uppföljning på från min Instructable--uppc, Powerbocking, hoppa styltor - Off Road Powerbocking.Den tidigare mods för off road och komfort fungerar mycket bra och innovationer är bra men jag fann att långa sträckor på hårt (betong eller a...

Dorm Room Mods: INGU dörrkontroll och projektor teatern

Hej Instructables!*********************************************************************************************************************Detta är min post för förbättra ditt rum ungdom Design Challenge. Om du gillar detta Instructable, snälla rösta på...

Lätt etsmedel Tank

Det finns massor av planer för PCB etsmedel tankar ute och här skiljer sig inte riktigt. Jag bifogar det här eftersom det var lätt, billig, och visade sig vara exakt vad jag behövde.De flesta av delarna av detta projekt kan köpas på din lokala djuraf...

Hemgjord Atomizer + Mod E-cigarett på billiga

Hejhär är en kort video att visa dig hur jag fullt gjorde min E-cigarettförångaren är gjord av ett gammalt objektivden tank som passar i linsen är ett kommande från en juice flaskaBorra hål i botten av tankenPeal av isoleringen av de elektriska konta...

IPod Radio Dock Mods

Hey guys detta är min första Instructable. Så nu när det är är vägen hit vad vi ska göra. Ill Visa dig hur du mod din radio, ja jag inte skulle säga mod men kanske utforska eller ta saker ur det för senare projekt så här det ärSteg 1: Samla nödvändig...

LOG Workbench Mod

några av er kanske vet att detta lata gamla Geek gillar att göra Instructables om Arduinos och elektronik. Så jag har en arbetsbänk och jag nämnt ens det här:Ibland får jag filosofiska och tänka "Vad är syftet med min arbetsbänk?" Oroa dig inte,...