Kuinka käyttää PIC18F4550 lisäksi hallita servo moottori?

U

Uudistaja

Guest
Hei ...Olen uusi mikro.Äskettäin minulle annettiin tehtäväksi käyttää PIC18F4550 lisäksi hallita servo moottori.Miten tämä on mahdollista?Olen vaurioitunut varsin harvat niistä omassa koulussa lab.

Olen kuullut, että servo moottori, ja PWM ajoissa sen keskellä on 1.5ms.En tarvitse aktivoida laserosoitin (at RC0), kun se on sen keskellä.

Tämä servo moottori on liikkua edestakaisin 5 kertaa.Eli se toimi ikään kuin se suorittaa skannausta.

En ole varma, jos kynnys on tarpeen, jos se tarvitaan sitten it'll on 3.5V.

Voiko joku auta minua?Tarvitsen näytteen ohjelma yrittää selvittää asioita.Olen yrittänyt haun online mutta en ole löytänyt niistä tässä erityisesti PIC.Olen epätoivoinen kantaa, koska olen yrittänyt tehdä tätä muutaman viikon, mutta vielä ei voinut saada sitä tehneet, ja se johtuu pian.Todella arvostaa, jos voit auttaa.

FYI u saattaa haluta käyttää seuraavia I / O-portit:

Panokset

Käynnistä-kytkin: RB0 (aktiivinen matala)
Keskeytä kytkin: RB1
Valodiodin anturi: RA0
Palautetta LDR ilmoittamaan, jos kyseessä on osuma: RA1Tuotokset

Servo moottori: RC2
Laser Pointer RC0

 
Useimmat ohjelmat ovat yhteensopivia PICS vain vähän muutoksia (header tiedostojen nimet, satama nimet, kokoonpano, jne.), joten servo ohjelmat löysit voi toimia varten 18F4550 myös.

On olemassa muutamia tapoja edetä näin:
- Käytä TMR1 käynnissä korkean prescaler (niin se punkkien hidas) ja sen on matkaa vähintään syketaajuuteen, loppuun, servo syketaajuuteen, ja jälleen alussa seuraavan pulssin.
- Jos sinun ei tarvitse tehdä mitään, kun servo on käynnissä, käytä viivästyksiä ja luoda servo pulssin avulla muuttujan välinen pienin pulssin ja jos haluat, että pulssin loppuun (eli päälle RC2, odota vähimmäismääräaika ( avulla sanoa 1ms), sitten odottaa vielä vähän aikaa, kunnes se saavuttaa haluttu pituus (0.5ms tässä esimerkiksi keskellä),
sammuta RC2, odota sitten, että 18ms tai mitä siihen asti, kunnes seuraava pulssi on myönnetty)

Nyt pyörivä markkinaehtoperiaatteen on todella helppoa: on vain muuttuja, joka pitää kirjaa haluttu pulssin pituus kasvatettu tai decremented.Kun se pääsee keskustaan arvo päälle laserosoitin.

Sorry, no-ohjelmaan.En tuntuu kirjallisesti yhden ja sitten sanomalla, että se on virhe vapaa koska minulla ei testaamalla sitä.

EDIT: Olen käyttänyt tätä paikkaa, johon servo pulssin viitataan ensimmäistä kertaa Tein servo controller: http://www.mcmanis.com/chuck/robotics/projects/servo.html

 

Welcome to EDABoard.com

Sponsor

Back
Top