Vizitator minDark Postat Decembrie 3, 2010 Partajează Postat Decembrie 3, 2010 Salut! Poti incerca un generator de PWM soft, asa cum a zis si Dl. Puiu. Eu am facut cu 16F877, cam ce vrei tu, 6 canale independente, 11 trepte de viteza (nu setez chiar orice factor de umplere) si comanda I2C. Cu pic-ul tactat la 20MHz, scot maxim 6.5KHz din PWM. Problema ar fi ca aceasta frecventa nu e prea fixa, variaza in functie de ce factor de umplere setez (variaza intre 5 si 6.5KHz, inca nu mi-am dat seama de ce face asta, pt. ca rutina de generare impulsuri e identica pt. orice factor de umplere) dar pt. mine nu conteaza. Daca n-ai pretentii prea mari de la PWM poti incerca si varianta asta. Link spre comentariu
puiu Postat Decembrie 4, 2010 Partajează Postat Decembrie 4, 2010 1. Pentru @minDark: Este adevarat ca rutina de generare a impulsurilor e identica pentru orice factor de umplere, deci timpul necesar pentru aceasta este constant si este egal=??. Se poate ca variatia ta sa prvina de la faptul ca timpul rutinei este mai mare decat timpul necesar pentru factorul de umplere sau altfel spus tp>tfu si in acest caz daca nu se trateaza cazul respectiv se obtin timpi diferiti. E un caz, dar mai pot fi alte necazuri. Link spre comentariu
slave2anubis Postat Decembrie 4, 2010 Autor Partajează Postat Decembrie 4, 2010 offtopic: uite ce publicitate face nea mitica "Mujeres sexy en el chat www.sms-contactos.es Iniciar ahora gratis ¡No necesitas registrarte!" Bine acum legat de ideea de a folosi un PWN soft (emulat) mam gandit la asta si am discutat cu domnul puiu, decat sa te complici cu debugging ca nu merge mai bine mergi pe picuri cu multe porturi de PWM, cauta pe microchip si vei gasi cateve din seria 18f... Numa bine Link spre comentariu
Vizitator minDark Postat Decembrie 6, 2010 Partajează Postat Decembrie 6, 2010 1. Pentru @minDark: Este adevarat ca rutina de generare a impulsurilor e identica pentru orice factor de umplere, deci timpul necesar pentru aceasta este constant si este egal=??. Se poate ca variatia ta sa prvina de la faptul ca timpul rutinei este mai mare decat timpul necesar pentru factorul de umplere sau altfel spus tp>tfu si in acest caz daca nu se trateaza cazul respectiv se obtin timpi diferiti. E un caz, dar mai pot fi alte necazuri.Acum nu prea mai am timp sa-mi bat capul cu asta. In practica lucreaza bine si asa (comanda 6 motoare de CC cu punti H). Treaba e ca eu n-am folosit niciun timmer, (n-am intrerupere) si din cauza asta e posibil sa am variatii. Cu timmer imi deregla comunicatia I2C (pierdeam octetii trimisi de master) si am recurs la varianta fara timmer. Link spre comentariu
puiu Postat Decembrie 6, 2010 Partajează Postat Decembrie 6, 2010 1. Vezi ca faptul ca nu ai intreruperi e una iar faptul ca nu ai timer este alceva. Poti sa ai timer si sa nu ai intreruperi si invers!! Link spre comentariu
Vizitator minDark Postat Decembrie 6, 2010 Partajează Postat Decembrie 6, 2010 Da, eu ma refeream la intreruperea de overflow a timmer-ului. Initial asa facusem rutina de generare pwm. Daca setam un timp suficient de mare (mai mare decat timpul de executie a rutinei), functiona fara probleme. Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum