Sari la conținut
ELFORUM - Forumul electronistilor

Brushless comandat de pic


adrianfasie2007

Postări Recomandate

In plus, e mai mare rasul sa folosesti un pwm de 555 cand ai un procesor pe care il poti pune la munca.

Are dreptate, dar dupa cum vedeti, eu am deja telecomanda facuta si as vrea sa fac conversie din PWM in PPM. Ma puteti ajuta in acest sens?M-am gandit sa folosesc codul asm care l-am postat mai devreme, si atunci cand pe portul in care intra PWM-ul citesc 1 sa incrementeze pulseles si cand citesc 0 sa decrementeze (pwm 40 Hz am eu). Astfel, conversia e facuta. Daca am duty cycle de 80% citesc mai mult 1 si mai putin 0 deci mai mult se incrementeaza si se decrementeaza mai putin. Daca am 50% incrementarea=decrementarea deci valoarea lui pulselen nu se schimba. Ce prere aveti??Dati-mi o sugestie cu conversia.CIRIP ziceai ca MPLAB e o bogatie. Asa este, dar bogatia mea in acest moment sunteti voi (sunt la inceput si nu prea ma descurc, dar promit ca ma straduiesc). Va Multumesc, nu aveti idee cat de mult m-ati ajutat.
Link spre comentariu
  • Răspunsuri 51
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • adrianfasie2007

    22

  • cirip

    9

  • 25L91N11

    4

  • francezu

    3

Top autori în acest subiect

Salut,

 

In primul rand citeste textul cu atentie. Am scris un pumn de 555, cee ce e sinonim cu "o galeata", o mare cantitate de ...

 

In al doilea rand, chiar daca esti incantat de codul scris pana acum, nu prea ai ce sa faci cu el. Ca sa poti face atatea lucruri simultan, nu se poate folosi o procedura de intarziere prin numarare (decfsz). Asta ocupa procesorul si nu mai ai timp sa faci nimic. Ca sa poti sa jonglezi mai multe "activitati" simultan, trebuie sa folosesti la greu intreruperile si sa gestionezi surse multiple de intrerupere. Nu mai vorbesc ca prin numarare nu ai rezolutie. De exemplu, daca vrei sa generezi un puls de 1ms si daca durata minima de executie a buclei de intarziere este de 10us, nu poti genera mai mult de 100 de pasi (e doar un exemplu, nu stiu cat dureaza de fapt, o poti afla cu simulatorul). In schimb , daca folosesti un timer condus de clocul de sistem, care probabil e de 1MHz, poti avea rezolutie de 1000 pasi/ms.

 

Cred ca trebuie sa lasi putin deoparte proiectul mare si sa incepi sa explorezi lucrul cu timerele si cu intrerupri de la mai multe surse. Nu merge altfel. De asemenea, asteapta-te sa creasca dimensiunea codului destul de mult. Nu poti face tot ce vrei intr-o pagina de cod.

 

Chiar daca ai vrea sa citesti 555urile cu procesorul, ca sa transformi PWM in PPM, tot trebuie sa folosesti timerele, modulele capture/compare si ce-o mai trebui pe-acolo, ca sa degrevezi procesorul de numarat boabe de orez. De aia aia periferice, ca sa le folosesti.

 

Parerea mea.

Cirip

 

EDIT: Nu eram sigur ce PIC folosesti, dar am observat ca vrei sa pui 16F84. Nu cred ca poate sa faca atatea lucruri. Cred ca trebuie ceva cu mai multa periferie, care sa il ajute in munca.

Link spre comentariu

Nu prea esti clar in cea ce vrei sa faci. Trasmisia proprortionala este legiferata a fi folosita la transmiterea semnalelor radio pentru navomodele, aeromodele, etc. Ea nu se face la 40Hz. De fapt acest stadard este facut pentru ca sa utilizezi emitatoarele sdandard ale lor.(aeromodelistilor). De fapt acest lucru ridica o problema in sensul ca trebuie comanda ta sa lucreze numai asupra modelului tau nu si al vecinului. Transmisia PPM este o transmisie a cinci canale a caror PWM este cuprins intre 1,1 ms si 2,1 ms. Cu mentiunea ca la 1.6 ms comanda este zero. Pentru a face conversia intre cele 5 PWM si PPM trebuie sa dai mai multe detalii despre emitator si apoi trebuie sa faci receptorul. Nu cumva trebuie sa faci doar la receptie decodificarea semnalului pentru fiecare canal?

Link spre comentariu

Sa va zic ce probleme mai am.... . Intre timp mi-a venit comanda de 3 ESC-uri. http://phoenixmodels.ro/shop/gx30a-blmc-p-2558.html Acum problema este ca ESC-urile nu vor sa invarta motorul. Am incercat cu pic si labview. Aveti in imagine programul in labview, iar cu pic 16f84a am trimis 1 pe rb7 am pus delay de 1.5 ms dupa care am facut 0 pe rb7 si delay de 18,5 ms. Am incercat si cu 20 ms.

 

Conectez alimentarea de 5v si 2A la ESC iar apoi cand conectez firul pe care trimit semnalul atat in labview cat si cu pic la inceput se invarte de cateva ori dupa care scoate un sunet ciudat si se opreste.

 

Eu zic ca am respectat semnalul. Am facut si o simulare cu mplab si am vazut ca semnalul este bun (1.5 ms rb7 e 1 si 18,5 rb7 e0).

 

Poate este de la alimentare? Tensiune si curentul sunt mici? Pe garantie scrie 2-3 celule LI-Po sau 4-10 celule NI-MH.

 

Va rog, ajutati-ma sa pornesc motorul cu aceste esc-uri. :speriat

Link spre comentariu

Precis incurci ceva pe alimentare,masa trebuie sa fie comuna , alimenteaza din acumulatori,cu un simplu servo tester facut cu un 555 ai sa vezi ca mer ESC-urile ,nu mai zic cu o telecomanda .

Link spre comentariu

Va rog, ajutati-ma sa pornesc motorul cu aceste esc-uri. :speriat

Pe pagina cu ESCul scrie asa:"Protectie la pornire accidentala: blocheaza motorul daca acceleratia este in pozitie diferita de zero in momentul alimentarii"Ai respectat cerinta asta?Este o chestie pe care o verific de fiecare data cand ma duc la joaca. Daca telecomanda nu e cu gazul pe zero cand alimentez, ESCul nu armeaza si motorul nu poate fi pornit. Armarea este de obicei semnalizata de o melodie cantata de ESC prin intermediul motorului.
Link spre comentariu

Precis incurci ceva pe alimentare,masa trebuie sa fie comuna , alimenteaza din acumulatori,cu un simplu servo tester facut cu un 555 ai sa vezi ca mer ESC-urile ,nu mai zic cu o telecomanda .

Ai avut dreptate cu masa comuna!!! Acum alimentez din calculator 5V si am incercat si cu 12V iar semnalul il trimit pe portul paralel cu labview. Dar sa vedeti ce problema noua a mai aparut!!!

"Protectie la pornire accidentala: blocheaza motorul daca acceleratia este in pozitie diferita de zero in momentul alimentarii"

Da, eu accelerez dupa ce alimentez motorul. In momentul alimentarii nu trimit nici un semnal. Dar cand incerc sa trimit semnal scoate bip, bip, 2 bip, 2 bip, 3 bip, 3 bip si se repeta. Exact cum scrie in certificatul de garantie la "programarea regulatorului". Am incervat si varianta dein garantie sa accelerez la maxim, apoi cand aud 2 bip sa pun acceleratia la minim, dar nu primesc bip-ul de confirmare asa cum scrie.Semnalul il trimit din labview si cred ca e destul de corect. Dar nu inteleg de ce nu merge.
Link spre comentariu

Un pc cu windows nu e masina de timp real, asa ca n-as paria prea mult pe acuratetea celor 1..2 ms pe care le astepti in labview. Ai cum sa verifici semnalele astea (osciloscop)?

Link spre comentariu

Nu am acces la un osciloscop, dar ESC-ul are destula toleranta ca sa accepte si semnalul meu. Am incercat si cu pic cu un puls fix de 1,5 ms care se repeta la 20 ms !! Tot asa.

Link spre comentariu

Eu nu prea am idee cum functioneaza telecomenzile astea care comanda ESC-urile, asa ca poate intrebarea mea e aiurea, da' intreb. Esti sigur ca ce trimiti tu din calculator pe post de semnale "acceleratie la maxim" respectiv "acceleratie la minim" e ce asteapta ESC-ul? Ca eu din paginile scanate pe care le-ai atasat nu mi-am dat seama cum arata semnalele respective.

Link spre comentariu

nu imi vine sa cred!!!! Unii controleaza un esc cu un banal de 555, iar eu nu reusesc nici cu pic si nici cu labview. :sparge: Va rog, ajutati-ma!!! am dat 150 Ron pe motoare si 135 pe esc-uri si nu am reusit sa pornesc nici un motor. Puteti sa-mi dati detalii? Sa fac un tester su ne555?

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