Sari la conținut
ELFORUM - Forumul electronistilor

Realizare driver MPP cu PIC si L298


bercioiu

Postări Recomandate

Cum spune si titlul acestui post, am in plan realizarea unui driver pentru motoare pas cu pas facut cu PIC. :freaza:

Tot citind pe net, am ajuns la concluzia ca cea mai buna solutie este un breakout board si drivere separate pentru fiecare axa.

Nu ma trimiteti sa cumpar drivere pentru ca nu vre-o economie de bani ma determina sa fac acest proiect... Prietenii stiu de ce :da

M-am gandit sa folosesc un 16F88 care sa conduca un L298. Am realizat o schita de conectare pe care am sa o atasez acestui post. De asemenea in arhiva veti gasi simularea in Isis si un hex pentru simulare.

Ce contine acest driver pana in prezent:

 

1. Semnalul STEP de la breakout board este tratat in intreruperea RB0

2. De asemenea semnalul DIR de la breakout board, conectat la RA4, se afla si el in acea intrerupere pentru a stabili daca odata primita comanda STEP se incrementeaza sau se decrementeaza motorul.

3. Exista un semnal ENABLE dar nu de la breakout board ci este o iesire din PIC pe pinul RB3 pentru a permite lui L298 sa energizeze motorul. Acest semnal l-am introdus pentru a realiza un chopper pentru limitarea curentului ce trece prin motor.

4. REF. este o tensiune de referinta pe care o compar cu tensiunea citita pe rezistentele de sens de la L298. O masor cu ADC AN0 (RA0) de pe cursorul unui semireglabil ce este conectat la +5v si masa

5. SENSE este o tensiune pe care o masor pe rezistentele de sens ale lui L298. Acest lucru il fac cu ADC AN1 (RA1). In momentul in care tensiunea de referinta este mai mica decat tensiunea de sens, enable este inhibat.

6. Pe RA3 si RA4 sunt doua dip switch-uri (sau doi jumperi) din care se poate seta modul de lucru al motorului:

- FULL STEP

- HALF STEP

- WAVE STEP

7. RB4-RB7 sunt iesiri de comanda al bobinelor motorului spre L298

8. Au ramas doi biti liberi ai portului B pe care am sa-i folosesc probabil pentru a comunica cu breakout board-ul (avans manual-jog, un LCD etc.).

9. PIC-ul are un ceas de 19.66 MHz

10. Resetul este extern.

 

Dupa expunerea celor "zece porunci" va cer sfatul in privinta urmatoarelor nelamuriri:

 

- Din ce am citit, chopper-ul trebuie sa aiba 20KHz, la mine, poate avea practic frecventa de lucru (5MHz). Trebuie neaparat sa-l fac la 20KHz?

- sceventa de step la mine este asa:

 

1. primeste semnalul step

2. porneste intreruperea

3. scaneaza intrarea DIR

4. scaneaza intrarile MODE (cele doua switch-uri pentru full/half/wave)

5. alimenteaza boua bobine (sau una in functie de modul de lucru ales)

6. incrementeaza /decrementeaza cele doua bobine (sau una) cu un pas

7. un delay de 20 ms

8. taie alimentarea bobinelor

 

Cam atat deocamdata. In simulare pare O.K. totusi, nu cred ca poate fi asa simplu sa fie gata asa, din prima ...

post-7378-139829568855_thumb.jpg

Link spre comentariu
  • Răspunsuri 27
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

M-am tot uitat dupa alte drivere. Da, intr-adevar, aveti dreptate, L298 este depasit. "Si-a trait traiul si-a mancat malaiul..." Cred ca singurul sau scop acum este unul educativ. Mi-au atras atentia trei drivere: doua de la Allegro (SLA706x si A3906) si unul de la Tosiba - TB6560AHQ. In final m-am oprit asupra lui TB6560AHQ, vazand ca se bucura de foarte multa popularitate si pretul este foarte atragator (sub 20 lei). Probabil ca driverul pe care il voi face va fi cu acest chip. Prezenta unui microcontroller in tandem cu acest chip ar` fi oarecum redundanta, din moment ce acest chip foloseste direct semnal de STEP pentru functionare fata de L298 care avea nevoie de semnal pentru fiecare bobina in parte. Functia unui microcontroller in tandem cu acest chip se rezuma la cea a unor dip switch-uri... Mai studiez problema, am gasit un tread pe un forum strain ( unul cunoscut despre CNC ) unde se dazbate acest chip si constructia de drivere cu el. Am sa revin cu detalii pe masura ce apar noi informatii. Mi-au atras atentia doua drivere: unul de la AllegroTosiba

Allegro_A3906-Datasheet.pdf

Allegro_SLA706x-Datasheet.pdf

TB6560AHQ.pdf

Link spre comentariu

bunaDaca te-ai hotarat sa mergi pe picatunci fa driverul cu pic 16f870 plus feturi irfz44asta e pentru unipolarpentru studiu e buneu am incercat mai demult si confirm ca a mersatentie la rezistentele de puteresau poti merge pe tb6560 sau un cip mai nou tb6600pe asta il studiez eu, acumapretul e bunoricum ai de unde alege ca sunt atatea scheme pe netpoti incerca si l298 , e bun pentru motoare mici, succes

Link spre comentariu

Multumesc pentru indrumari. Am sa merg pe Toshiba 6560. Ma enerveaza rezistentele de putere. Echilibrul este instabil... functie de temperatura, etc. Daca pui rezistente prea mari nu mai trege motorul si tot asa. Am facut unul cu feturi si IRLZ-ur cel de pe Pminmo sau cam asa ceva. Nu mai fac teste, merg la sigur cu choper inclus, microstep si tot restul avantajelor. Deja m-am apucat sa desenez un cablaj cu TB6560HQ. Revin cand am noutati sau nelamuriri.Multumesc!Editat ulterior:Misto tb6600 dar nu prea il gasesc pe la noi... Are in plus microstep pentru 1/4, curentul motoarelor a crescut la 4.5A (5A pick), tensiunea de asemenea a crescut la 42V (50V absolut rating), frecventele sunt mai sus: clock 200KHz fata de 15KHz, frecventa oscilatorului la6MHz fata de 600KHz, nu stiu choperul la 6560 cat este dar la asta nou este de 200KHz. Ce vad eu, are in minus (cel putin la prima vedere) reglajul TQ, care este mai sumar sau cum sa ma exprim? se regleaza doar 30% sau 100%. Oricum este de retinut in momentul cand o aparea pe la noi. Nu am comandat pana acum de pe ebay... acolo il gasesti.

Link spre comentariu

Am desenat un pcb pentru Toshiba 6560. driver_6550.pdf Este facut in doua straturi. Unde nu se poate accesa lipitura pe layer-ul superior din cauza componentei, am tras o portiune de traseu si am pus cate un vias intre layer-e pentru a putea fi facute lipiturile fara cuptor (dar am lasat si padurile pe layerul superior pentru lipire la cuptor). M-am ghidat dupa datasheet si dupa un forum cunoscut de afara de CNC. Forma pcb-ului am imprumutat-o de pe acel forum.Nu am facut separare galvanica pe dirver, urmand sa o fac pe breakout board.Ce nu mi-e clar: :scarpin 1. In datasheet sunt aratate diodele de protectie si cum circula curentul prin mosfeturi dar la indicatii se spune ca trebuiesc luate masuri de siguranta in legatura cu Back-EMF:

When a motor rotates in the reverse direction, stops or slows down abruptly, a current flow back to the motor’s power supply due to the effect of back-EMF. If the current sink capability of the power supply is small, the device’s motor power supply and output pins might be exposed to conditions beyond maximum ratings. To avoid this problem, take the effect of back-EMF into consideration in system design.

Sa inteleg ca mai trebuiesc montate si alte diode exterioare, sau mai sunt si alte masuri de precautie care trebuiesc luate ? Daca da, care sunt acelea?2. Tot in datasheet spune ca toate intrarile sunt pull-down prin rezistente de 100k intern. De asemenea intreb, deoarece am vazut o multime de drivere facute pe acel forum si majoritatea mai puneau alte rezistente exterioare spre masa. Mai au rost rezistente exterioare?Deocamdata astea sunt nelamurilire, voi reveni cand voi avea noutati.
Link spre comentariu

Sfaturi:

 

* Tranzistoarele interne deja au acele diode care sunt reziduu benefic al procesului de fabricatie. Diode externe pui in cazul in care ai motoare mari cu inductante mari, sau folosesti sisteme in care motorul este adus instant de la viteza maxima, la stop, oricum daca pui diode externe trebuie sa fie de viteza si voltaj destul de mare (cred ca iti iei drivere gata facute la banii care i-ai da pe diode :) ), altfel fac caldura degeaba.

 

* Liniile PROT si MO nu sunt facute pentru a lega led-uri (curentul de drena maxim absolut = 1mA).

 

* Nu ai nevoie de rezistente de pull-up/down pentru nici un pin. Daca folosesti dip-switch pentru configurare e suficienta legarea pinului prin switch la +5V, astfel incat pt. sw. inchis vei avea 1 logic pe pin iar pt. sw. deschis 0 logic, datorita rezistentei interne de PD.

 

* Frecventa de oscilatie alege-o cat mai mare posibil (Per TB6560AHQ Cosc = 100pF).

 

* Cel mai important aspect in utilizarea driverelor de tip chopper este folosirea unor rezistoare de SENSE calitative si de putere adecvata (>2W, se calculeaza functie de motorul folosit), rezistoarele NU trebuie sa fie tip bobina, si sa aiba deriva termica mica. Aceste rezistoare actioneaza ca un sunt, deci trebuie conectate fizic intre punctele de interes cu o conexiune stea intre NFa/b si PGNDa/b, si trasee cat mai scurte, pentru a evita buclele de masa si rezistentele parazitare ale traseelor.

 

* Foloseste o siguranta per driver. In caz de defectiune sare doar siguranta, nu si cablajul.

 

Penultimul punct chiar face diferenta :)

 

Eu am folosit asa ceva:

http://ro.farnell.com/vishay-dale/wsr2r5000fea/resistor-metal-strip-0-5-ohm-1/dp/1107456

Link spre comentariu

Va multumesc pentru sfaturi! M-am apucat sa reproiectez cablajul cu masa in stea (toate catre un singur punct). Am facut o zona in jurul bornei de alimentare si spre ea vin toate masele. Citisem despre aspectul asta dar am crezut ca este vorba doar de PGNDA si PGNDB. De asemenea, am eliminat sursa de 5 volti si am adaugat un bloc terminal pentru cei 5 volti care vor veni extern, inaintea alimentarii inalte cu o secunda sau doua. Am adauga fuzibila pe cablaj daca am facut loc scotand sursa de 5 v. Fuzibila intentionam sa o intercalez pe fir la alimentare si eventual sa o scot pe panou. Cunosc si aspectul tipului rezistentei, acum voi vedea de unde o cumpar ca nu fac comenzi online.Referitor la liniile MO si PROT, ce sa va zic... 99,9 % din schemele studiate au leduri pe ele... iar despre capacitorul oscillatorului, in toate schemele vazute este de 330 pF.AM sa revin cu noul cablaj cand il voi finaliza.Numai bine!

Link spre comentariu

Chiar nu stiu care este diferenta dintre TB6560AHQ si TB6560HQ defapt nici nu stiam ca exista doua chip-uri si chiar daca exista, ma indoiesc ca in afara de ceva parametri maximi sa difere... Cat despre separarea galvanica , aceasta va fi pe breakout board. Sa stiti ca am o colectie impresionanta de scheme cu acest chip luate din mai multe locuri, inclusiv de pe scest forum.Editat ulterior:M-am uitat pe net si am vazut ca exista doua chipuri... Driverul meu este cu AHQ.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări