Jump to content
ELFORUM - Forumul electronistilor
Guest sckippio

control motor

Recommended Posts

Guest sckippio

salut,as vrea sa invart un motor in functie de anumiti parametri. atasez schema facuta de mine si codul in mare. ceea ce vreau e sa citesc un senzor de presiune/ temperatura si in functie de parametri acesstora sa invart motorul, eventual sa-l controlez si din butoane. ce merge in ceea ce am facut : senzorul de temperatura am stiut sa-l citesc, cel de presiune citeste dar nu-mi dau seama de ce nu are o corelare intre senzor si LCD. iar motorul nu stiu sa-l comand nici de-al naibii.ma poat ajuta careva? pornisem programarea in mplab insa m-am confruntat cu niste probleme si am trecut pe mikroC pro. asa ca voi da codul din mikroC.

Link to comment
Share on other sites

Deci vrei sa comanzi un motor in functie de valorile citite de la senzorii de presiune/temperatura sau butoane, senzorul de temperatura DS18x20 pe interfata 1 wire, iar senzorul de presiune presupun ca este analogic?

Ca sa variezi turatia unui motor de CC trebuie sa ii variezi tensiunea de alimentare, adica trebuie sa folosesti un pwm, daca vrei sa faci un regulator de turatie iti mai trebuie un encoder(feedback)

 

te poti inspira de aici

http://www.edaboard.com/ftopic155264.html

http://www.pitt.edu/~sorc/robotics/hand ... ontrol.htm

http://www.upg-ploiesti.ro/sescom/pdf/s ... 06-ci2.pdf

http://www.microchip.com/forums/m327748-print.aspx

Link to comment
Share on other sites

Guest sckippio

Deci vrei sa comanzi un motor in functie de valorile citite de la senzorii de presiune/temperatura sau butoane, senzorul de temperatura DS18x20 pe interfata 1 wire, iar senzorul de presiune presupun ca este analogic?Ca sa variezi turatia unui motor de CC trebuie sa ii variezi tensiunea de alimentare, adica trebuie sa folosesti un pwm, daca vrei sa faci un regulator de turatie iti mai trebuie un encoder(feedback) te poti inspira de aici http://www.edaboard.com/ftopic155264.htmlhttp://www.pitt.edu/~sorc/robotics/hand ... ontrol.htmhttp://www.upg-ploiesti.ro/sescom/pdf/s ... 06-ci2.pdfhttp://www.microchip.com/forums/m327748-print.aspx

am facut ceea ce am dorit , dar am o chestie care nu reusesc sa-mi dau seama cum se face. ce fac:am un interval de presiune in care invart motorul si anume 14-34 (25 fiind valoarea "absoluta"/de mijloc).in cazul in care presiunea e intre 14 si 25 motorul se invarte intr-o directie, si daca e intre 25-34 se invarte in directia opusa. ce fac cand ajung la valoarea de 25? cum echiibrez motorul? cum il opresc? atasez codul si chema de simulare. sper sa fie o solutie. multam.
Link to comment
Share on other sites

Nu merge arhiva termometru_mpLab.rar

 

In fine, ai asa

 

speed =5;while (pres !=25){if (pres>=14 && pres<25)    roteste_dreapta(speed);if (pres>25 && pres <=34)    roteste_stanga(speed);}motor_stop();//presupun ca vrei sa opresti motorul inainte sa schimbi sensul//daca vrei sa il opresti lent faci o functie care iti decrementeaza pwm-ul pana ajunge la 0 PWM--;//sau daca vrei brusc dai vloare 0 la ambele pwm-uri
Link to comment
Share on other sites

Guest sckippio

uite aici arhiva, sper sa se deschida de data asta (prima data posibil sa fi facut figuri din cauza ca am creat arhica cu mplab-ul si proteusul deschis)am alea sunt functiile facute de mine si ce ai zis tu catkiller cam aia am facut si eu (numai ca ai grija la conditia aia din if && trbuie & pe biti) . eu am incercat cu && si nu a fost ok.arata-mi te rog cum sa configurez pwm-ul si cum sa-l folosesc.fata de prima arhiva am facut mici modificari ( am adaugat si o comunicare seriala).multumesc anticipat.

Link to comment
Share on other sites

Guest sckippio

eu folosesc HiTech. si eu am incercat in ambele seensuri si-mi face figuri.inca o intrebare: in cazul asta care l-am simulat procesorul initial mergea la 4 MHz. acum l-am facut sa mearga la 16. cum e mai bine sa mearga la frecventa cat mai mare sau cat mai mica? ai sa zici " de ce nu folosesti procesorul la capacitate maxima " . e intrebare de neinitiat.... sorry. varianta de ieri atasata comunicarea USART era facuta in graba (adika deloc o data ce nu mergea nik). acum am reusit comunicarea usart insa am nelamurirea de care te-am rugat sa ma ajuti legata de motor.aproppo catkiller , tu lucrezi cu atmel sau ce tipuri de proc?

Link to comment
Share on other sites

salut va ca ai functiile de pwm

 

simularea nu e 100% acurate

chiar daca simulezi la 16mhz nu o sa mearga la atat, nu in timp real

eu nu lucrez cu microchip, prefer atmel freescale ti

void PWM_INIT(){	TRISB = 0;		PR2 = 199;	CCPR2L = 0;	CCP2CON = 0x0C;	T2CON = 0x06;}void PWM_ON(unsigned int val){	CCPR2L=val;}void PWM_OFF(){	CCP2CON = 0x00;	if(PR2) PR2 = 0;	if(CCPR2L) CCPR2L =0;	TMR2ON = 0;	}
Link to comment
Share on other sites

am un interval de presiune in care invart motorul si anume 14-34 (25 fiind valoarea "absoluta"/de mijloc).in cazul in care presiunea e intre 14 si 25 motorul se invarte intr-o directie, si daca e intre 25-34 se invarte in directia opusa. ce fac cand ajung la valoarea de 25? cum echiibrez motorul? cum il opresc? atasez codul si chema de simulare. sper sa fie o solutie. multam.n-ar fi mai bine sa ai valoare absoluta 25 si 26? (este o idee)

Link to comment
Share on other sites

Guest sckippio

n-ar fi mai bine sa ai valoare absoluta 25 si 26? (este o idee)

nu-mi dau seama de ce sa fie doua valori absolute....care-i ideea ca nu-mi dau seama. :(
Link to comment
Share on other sites

Guest sckippio

de iesit trebuie sa iasa. discutam cu nel65 nu intelegeam e ce sa pun doua valori absolute, nu ii vad rostul.practic e ca si cum as pune un interval valoarea absoluta, si ma gandesc ca ar fi mai dificil de interpretat. in fine in cod nu mi-e greu sa schimb la if limitele dar ... eu stiu? asta pe partea de embadded, dar dar pe parte umana nu vad rostul....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines