www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Krmilnik koračnih motorjev z PIC-om

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vitez93
Član
Član



Pridružen-a: Pet 19 Sep 2008 20:00
Prispevkov: 1018
Aktiv.: 4.76
Kraj: Celje- Dobrna

PrispevekObjavljeno: Pon Dec 06, 2010 9:57 am    Naslov sporočila:  Krmilnik koračnih motorjev z PIC-om Odgovori s citatom

Naredil sem že nekaj zanimivih stvari z PIC-om, sedaj bi pa rad še nekaj več. Padla mi je ideja, da bi razvil moj krmilnik koračnih motorjev. Želje so:
- 3 A toka
- najmanj 1/4 microstepping
- PWM regulacija toka (odpade hladilnik)

Za začetek bi vprašal, je 20 MHz PIC dovolj pogon vsega? Kolikšno frekvenco največ da od sebe Mach in LPT port?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 15.32

PrispevekObjavljeno: Pon Dec 06, 2010 3:07 pm    Naslov sporočila:  Re: Krmilnik koračnih motorjev z PIC-om Odgovori s citatom

vitez93 je napisal/a:

- 3 A toka
To je stvar izhodne stopnje. Krmiljena je samo logično "1" in "0", to zmore vsak MCU (razen PORTA,4).
vitez93 je napisal/a:

- najmanj 1/4 microstepping
- PWM regulacija toka (odpade hladilnik)
Vzameš PIC-a , ki ima že hardversko napravljen PWM in ga ti samo s spremenljivko krmiliš.

Microstepping pa je stvar programa. Lahko je izveden s klicanjem retlw tabel, z maskiranjem and--/ior--, z bcf/bsf, ...
To zmore vsak PIC.
LP,
Igor

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
vitez93
Član
Član



Pridružen-a: Pet 19 Sep 2008 20:00
Prispevkov: 1018
Aktiv.: 4.76
Kraj: Celje- Dobrna

PrispevekObjavljeno: Pon Dec 06, 2010 4:19 pm    Naslov sporočila:   Odgovori s citatom

Hvala za odgovor.
Vse je res, kar si napisal. To mi je vse jasno. Skrbi me procesorski čas. Predpostavimo, da bo največja frekvenca korakanja 45 khz. Torej bo med vsakim korakom 22 uS. Pri 20 Mhz procesorju je to samo 110 strojnih ciklov. Koliko pa traja A/D pretvorba?
Kako potem v 110 ciklih narediti tokovno regulacijo, kakršna se lepo vidi na linku?

http://www.lamja.com/wp-content/uploads/2010/08/FullStepMaxTorqueCurrentVoltage60V166Hz.png
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
boriskozjan
Član
Član



Pridružen-a: Pet 14 Nov 2008 23:23
Prispevkov: 956
Aktiv.: 4.51
Kraj: Šmarje pri Jelšah

PrispevekObjavljeno: Pon Dec 06, 2010 4:38 pm    Naslov sporočila:   Odgovori s citatom

http://www.fromorbit.com/projects/picstep/

tole verjetno že poznaš...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 15.32

PrispevekObjavljeno: Pon Dec 06, 2010 4:40 pm    Naslov sporočila:   Odgovori s citatom

V INIT nastaviš vse ADC parametre, porte, vhode, izhode, ...

Potem v programu samo nekje nastaviš register bsf -----,-- , s čimer sprožiš AD pretvorbo, in greš dalje.
Nato vsake toliko časa nekje preveriš btfs_ ----,-- , če je pretvorba že končana, saj se takrat postavi zastavica. Nato vzameš zgornjih 8 bitov pretvorbe in jih shraniš v spremenljivko za PWM.

ADC lahko sprožiš vsake pol sekunde, odvisno od potreb.

pADC podprogram na začetku preveri, če je že minilo pol sekunde. Če je, sproži meritev in leti ven. Nato ob vsakem klicu podprograma pADCend preveriš zastavico o statusu meritve. Če je končana, poštimaš registre za naslednjič in uporabiš rezultat. Podprograma se ob sproženi meritvi med seboj zakleneta (btfs_ return), dokler meritev ni končana in pripravljena za naslednjič, ko je čas potekel.

Imena registrov pišem na slepo, ker nimam datasheeta pred seboj.

Uf, sem zdajle opazil, da rabiš sproten odziv na tok. Meritev lahko izvajaš tudi bolj pogosto. Ko je vrednost uporabljena, sprožiš novo meritev. Nikar pa v zanki ne čakaj
ADCz ; zanka
btfss meritev_koncana,_
goto ADCz

saj je čas meritve odvisen od marsičesa in bi ti čakanje podrlo časovno shemo.
pADC
btfsc meritev_koncana,_
return ; ne še, gremo dalje
--- ; ja
---
--- ; uporabiš vrednost
bsf nova_meritev,_ ; sprožiš
return


LP,
Igor

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
vitez93
Član
Član



Pridružen-a: Pet 19 Sep 2008 20:00
Prispevkov: 1018
Aktiv.: 4.76
Kraj: Celje- Dobrna

PrispevekObjavljeno: Pon Dec 06, 2010 5:24 pm    Naslov sporočila:   Odgovori s citatom

Sem pogledal ta Picstep. Tam je uporabljen krmilnik toka za motorje, ki v HTE stane 31€
V datasheetu od 16f876 mislim da je napisano, da je za pretvorbo potrebnih 20 uS.
Stran 116: http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf
Pogledal sem še za 18f2550. Tam je čas pretvorbe 2 uS. To bi pa že šlo.

Recimo, da se omejim na frekvence do 20 kHz, torej korak motorja na 50uS.

Mnenja?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
vitez93
Član
Član



Pridružen-a: Pet 19 Sep 2008 20:00
Prispevkov: 1018
Aktiv.: 4.76
Kraj: Celje- Dobrna

PrispevekObjavljeno: Sre Dec 08, 2010 6:17 pm    Naslov sporočila:   Odgovori s citatom

Uporabil bom 30f2011. Ima 12 bit, 200 ksps A/D pretvornik.
H-mostič sem narisal, bo vredu? PNP tranzostorji prevajajo, ko steče tok iz baze proti masi, a ne? Tam je potem inverter signala na bazo diagonalnih si tranzistorjev. No, dodati moram še diode 1n5822. A, B je za krmiljenje toka levo in desno, C je za merjenje padca na 0R47 uporu za merjenje toka. Bi moral dodati tu kakšno glajenje napetosti?
Nekaj mi ni jasno. Kje teče tok čez navitje, ko si vsi tranzistorji zaprti?



H most.png
 Opis:

Download
 Ime datoteke:  H most.png
 Velikost datoteke:  7.15 KB
 Downloadano:  29 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
TESKAn
Član
Član



Pridružen-a: Sob 30 Jan 2010 15:15
Prispevkov: 56
Aktiv.: 0.28
Kraj: Cerkno

PrispevekObjavljeno: Ned Dec 26, 2010 11:53 am    Naslov sporočila:   Odgovori s citatom

Mnenje? Za hitro vrtenje ne rabiš microsteppinga. Tako da ko motor vrtiš s polno hitrostjo najprej izračunaš, koliko celih stepov moraš naredit, jih narediš, nato pa še toliko microstepov, da si na željeni poziciji. Ko pa vrtiš motor počasneje, imaš pa več časa za vse izračune.

Za H bridge si poglej izvedbe z MOSFETi in driverji za le - te. Enostavna zadeva, PWM signale iz PICa povežeš na driver, izhode iz driverja na MOSFETe in to je to.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vitez93
Član
Član



Pridružen-a: Pet 19 Sep 2008 20:00
Prispevkov: 1018
Aktiv.: 4.76
Kraj: Celje- Dobrna

PrispevekObjavljeno: Pet Jan 07, 2011 10:02 pm    Naslov sporočila:   Odgovori s citatom

TESKAn je napisal/a:
Mnenje? Za hitro vrtenje ne rabiš microsteppinga. Tako da ko motor vrtiš s polno hitrostjo najprej izračunaš, koliko celih stepov moraš naredit, jih narediš, nato pa še toliko microstepov, da si na željeni poziciji. Ko pa vrtiš motor počasneje, imaš pa več časa za vse izračune.

Hvala za idejo. Tole je vredno razmisleka. Very Happy

TESKAn je napisal/a:

Za H bridge si poglej izvedbe z MOSFETi in driverji za le - te. Enostavna zadeva, PWM signale iz PICa povežeš na driver, izhode iz driverja na MOSFETe in to je to.
Mi lahko pokažeš kakšen link, ker ne razumem kaj točno misliš?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 233 dni


Powered by phpBB © 2001, 2005 phpBB Group