Sari la conținut
ELFORUM - Forumul electronistilor

Multiplexare porturi PWM


slave2anubis

Postări Recomandate

Vizitator minDark

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
  • Răspunsuri 20
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • slave2anubis

    8

  • puiu

    7

  • Liviu M

    2

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

offtopic: uite ce publicitate face nea mitica :ras: "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

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
Vizitator minDark

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

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