L297 Stepper Motor Kontroler - Development Modul
Uvod
L297 je novi development modul, koji se
trenutno nalazi u fazi razvoja. Sam dizajn modula je
modularan, pri čemu L297 integrisano kolo generiše četvorofazni
upravljački signal namenjen mikrokontrolerskom upravljanju dvofaznim
bipolarnim i četvorofaznim unipolarnim DC stepper motorima. S
obzirom da je zilsel-invent već razvio četvorokanalni DC motor
drajver za upravljanje četvorofaznim unipolarnim stepper motorima,
ovde prevashodno stavljamo akcenat na iste. Shodno tome blok šema
kompletnog sistema izgleda kao što je prikazano na slici 1.
Slika1. Blok šema sistema za upravljanje DC motorom baziranim na L297 kontrolerom i Serpent II DC motor drajverom. |
L297 Integrisano kolo
Pre nego što
krenemo sa opisom L297 integrisanog kola moramo reći da se isti može
implementirati i programskim kodom. Međutim za izvršavanje
programskog koda potreban vam je procesor (CPU) i procesorko vreme,
što znači da bi većim delom vremena CPU bio zauzet generisanjem
upravljačkih signala za upravljanje DC motorima. Tako nešto imamo
kod direktne sprege mikrokontrolera i integrisanog kola kao što je
ULN2803 (mada, L297 IC se takođe može direktno spregnuti sa ULN2803 integrisanim kolom, što je i bio slučaj dok sam radio na reviziji 1 L297 development modula). Kako bi se procesor oslobodio generisanja upravljačkih
signala, prave se hardwarska rešenja kao što je L297 integrisano
kolo, gde je zapravo elektronika ta koja generiše upravljačke
signale za DC motore, dok se procesoru oslobađa vreme za izvršavanje
drugih poslova. Jedina stvar koja ostaje na procesoru jeste da
generiše upravljačke signale za L297 integrisano kolo, kao što su:
enable, control, half/full, smer rotacije DC motora itd, ostalo sve
radi hardware.
Slika2. Blok šema L297 integrisanog kola. |
Centralni deo
integrisanog kola je Translator, ništa drugo nego state mašina ili
ti konačni automat sa tačno osam različitih stanja, gde svako
stanje generiše četvorkoanalni upravljački signal namenjen
kontroli DC stepper motora. Kako svaki konačni automat ima početno
stanje, tako i translator L297 integrisanog kola ima početno stanje
označeno brojem 1 i nazivom HOME. Vođen Clock signalom (PWM signal
koji može biti generisan VF Drajverom, zilsel-invent je razvio jedan
takav drajver ali samo u prototip varijanti) i trigerovanjem istog
Translator prelazi iz stanja u stanje sledećim redosledom: 1 →
2 → 3 → 4 → 5 → 6 → 7 → 8 → 1 … E sad, izlaz
iz Translatora je direktno spregnut sa OUTPUT LOGIC to jest izlaznom
logikom čija je svrha da generiše upravljačke signale za DC motor:
Channel A, Channel B, Channel C, Channel D itd. (pogledati blok
diagram, slika 2, L297 integrisanog kola). Međutim, Translator neće
prosleđivati svako stanje izlaznoj logici već samo one signale koji
pripadaju modu u kojem Translator radi. Mod Translatora je određen
kontrolnim signalom HALF STEP/FULL STEP. Translator se nalazi u HALF
STEP modu onda kada se na isti kontrolni signal dovede logička
jedinica sa mikrokontrolerskog pina, recimo sa Arduina. Pored HALF
STEP postoje još dva
moda Translatora koja
su određena FULL STEP kontrolnim signalom kad se na isti dovede
logička nula, a to su:
“One-phase-on full step mode” i
“Two-phase-on full step mode”. U “One-phase-on full step mode”
ulazi kada se Translator nalazi u parnom stanju, u “Two-phase-on
full step mode” ulazi kad se nalazi u neparnom stanju. Ukoliko
želimo da se Translator nalazi u jednom od ova
dva stanja moramo uraditi sledeće, to postižemo programskim kodom,
potrebno je uraditi niz koraka. Preduslov, mikrokontroler ili VFdrajver ne generiše clock signal.
- Potrebno je restartovati Translator (RESET kontrolni signal). Ukoliko na HOME pinu, koji je open kolektor od integrisanog tranzistora, koji je spregnut sa Translatorom, vežemo LED diodu i otpornik R na red, dobićemo LED indikaciju da se Translator nalazi u početnom stanju. To automatski znači da se Translator nalazi u neparnom stanju. Ukoliko u tom trenutku na kontrolni signal HALF STEP/FULL dovedemo logičku nulu i startujemo generisanje Clock signala, Translator će raditi u “Two-phase-on full step mode” režimu.
- Ukoliko nam je potreban “One-phase-on full step mode” režim Translatora, potrebno je da prebacimo Translator u parno stanje. To postižemo tako što ćemo generisati samo jedan Clock signal, ne celu povorku Clock signala. Taj jedan Clock signal postavlja Translator u parno stanje, koje je u ovom slučaju stanje sa brojem 2. Zatim na HALF STEP/FULL kontrolni signal dovodimo logičku nulu i započinjemo sa generisanjem čitave povorke Clock signala koja će navesti Translator da radi u “One-phase-on full step mode” režimu. Ovaj režim rada je zapravo onaj koji je potreban za upravljanje unipolarnim DC stepper motorima.
Pored Translatora,
integrisana je i elektronika koja služi za
merenje potrošnje električne struje. Za
isto su predviđeni
signali visoke impedanse SENS1 i SENS2 obzirom da su isti spregnuti
na invertujući ulaz komparatora (mada može da bude i operacioni
pojačavači, u svakom slučaju njihovi ulazni pinovi imaju visoku
impedansu što znači da nikakva struja ne ulazi u komparator tj.
operacioni pojačavač. Za merenje potrošnje struje ovom metodom,
dovoljan je samo naponski potencijal). Ovo je klasičan način da se
preko komparatora i Vref (referentnog napona) određuje potrošnja
električne struje. Na SENS1 i SENS2 se zapravo na red povezuju šant
otpornici koji zapravo imaju jako malu otpornost (jer otpornik ne
može da remeti protok struje, zato šant otpornik i ima malu
otpornost i veliku provodnost) ali se samim tim i dosta zagreva, te
je po konstrukciji izgrađen za velike snage, mnogi od njih čak
imaju i integrisan hladnjak, slika 3. je primer jednog šant
otpornika. Recimo, može se koristiti sledeći otpornik: K40H-0,1 -
keramički horizontalni 40W 5% 0,1 oma. Kako ovo zapravo izgleda
prikazano je na slici 4, sprega L297 kontrolera i drajvera L298, gde
su RS1 i RS2 šantovi (čak vidimo da su za iste
vrednosti otpornosti 0.5, to je upravo to, mala otpornost jer šant
ne može da remeti protok struje).
Slika3. Horizontalni keramički šant, 40W 5% 0,1 oma |
Slika4. Sprega L297 kontrolera i drajvera L298, gde
su RS1 i RS2 šantovi, (čak vidimo da su za iste vrednosti otpornosti 0.5, to je upravo to, mala otpornost jer šant ne može da remeti protok struje). |
L297 nije drajver, te
shodno tome sa istim nije moguće direktno upravljati DC
motorom. L297 je kontroler koji se spreže sa pojačavačem struje
tj. drajverom za DC motor što je već prikazano na slici 1. Na
osnovu kataloških podataka (specifikacije) vidimo sledeće: Phase
output voltage (pins 4, 6, 7, 9) Test conditions: Io = 10mA VOL, Max
0.4 V, Io = 5mA VOH 3.9 V. Ovo nije dovoljno da bi se pobudio DC
motor, zato je potrebno L297 povezati na drajver kakav je recimo
SERPENT II Pit Viper Rattle. Ovo je dovoljno za pobuđivanje LED
dioda kako bi mogli pratiti tok generisnja upravljačkih signala, što
je i urađeno na prvobitnoj reviziji developerskog modula koji je
razvio zilsel-invent, slika 5.
Slika5. L297 Stepper Motor Kontroler - Developer Modul designed by zilsel-invent (R). |
Potpunu specifikaciju za
L297 kontroler možete naći na ovom linku.
Autor: Vladimir Savić
zilsel-invent (R)
Napomena: tekst će biti preveden na engleski jezik by Nera Marković.
Napomena: tekst će biti preveden na engleski jezik by Nera Marković.
Comments
Post a Comment