Sari la conținut
ELFORUM - Forumul electronistilor

PWM atmega 8


Vlad Mihai

Postări Recomandate

Salut, poate cineva să facă un program pentru un atmega 8 smd care să genereze 2 semnale pwm în antifază şi să le pot regla factorul de umplere din push butoane? Și dacă se poate să afişeze pe LCD ce factor de umplere am. Frecvenţa pwm o vreau la 50khz..Am cuarţ de 12mhz! Mulţumesc!

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

Top autori în acest subiect

  • Vlad Mihai

    7

  • ratza

    5

  • matache

    2

  • simplex

    1

Top autori în acest subiect

As aprecia gestul, Atasez un format cu as vrea sa fie semnalele: Uitati-va la pagina 6 aicihttp://www.ti.com/lit/ds/symlink/tl494.pdf

Deci vreau sa simulez un controller smps half-bridge cu aceast atmega 8. Se poate implementa o reactie?

Deci ziceam ca vreau sa am factorul de umplere variabil din 2 push butoane, si daca se poate regla frecventa pwm sa se poata face tot din 2 push butoane cu pasul de 1khz, de la 30khz la 100khz, in caz ca nu se poate sa fie fixa de 62.5khz. Toate aceste date sa fie afisare pe un LCD 2x16.

 

Daca nu cer prea mult. Multumesc! :jytuiyu

Link spre comentariu

Semnalele alea nu sînt absolut deloc în atinfază. Reacţia poate fi făcută, dar e foarte lentă, ADC-ul din ATmega8 fiind de 15kS/s, deci nu prea ajută. Ce vrei să-ţi faci, sursă reglabilă?

Link spre comentariu

Pai vreau sa fac o sursa comutatie half bridge cu o tensiune fixa pe iesire. undeva la 2x25v. si acesta atmega sa controleze sursa. Semnale, feedback etc. Semnale sa fie ca in catalog ca practic ia locul acelui tl494+ pe LCD v-a afisa tot timpul puterea(tensiune+curent) livrata pe iesire.

Link spre comentariu

M-am săturat de electronică analogică, Vreau să încerc ceva şi digital :freaza: .... Știu că am idei proaste uneori dar aia e..... Deci revin, să fie fără reacţie, frecvenţa să fie fixă. undeva la 50khz. şi să pot regla eu factorul de umplere din 2 push butoane. Și dacă se poate să se adauge şi un LCD 2x 16.

Link spre comentariu

Nu-ţi pot face fix 50kHz din cauza prescalerului. La 12MHz ies 46,875kHz. Cel mai aproape de adevăr ar ieşi 51,2kHz cu cuarţ de 3,2768MHz şi prescaler 64. Restul e simplu. E ok cu pas de 1%?

Link spre comentariu

De ce nu mergi pe clasic, analogic? Cu controllerul doar îţi afişezi ce-ţi trebuie.

---

M-am săturat de electronică analogică, Vreau să încerc ceva şi digital

1) Daca vrei sa faci electronica digitala, cu microcontroler, atunci te apuci de invatat programare, sa zicem BASCOM ca este cam cel mai simplu de folosit. Atita vreme cit nu tu scrii programele tot electronica analogica faci ca patea numerica ti-o realizeaza altii.

2) Folosesti microcontroller acolo unde se justifica nu asa oriunde doar de dragul de a folosi un procesor.

Link spre comentariu

Corect, dar nu am timp să iau de la 0.

- Nu o iei de la zero. Programe in Bascom deja facute se gasesc, de exemplu, aici:

http://www.mcselec.com/index.php?option ... mitstart=0

Trebuie doar sa le modifici. Cel mai simplu mod de a invata programare este sa alterezi putin cite putin coduri sursa scrise de altii.

 

- Un exemplu de termometru termostat cu Amega8 si afisaj LCD, program plus schema electrica:

vezi aici: http://www.mcselec.com/index.php?option ... &Itemid=57

Dupa cum constati, schema este un grup de citeva componente asezate in jurul unui Atmega8. Realizarea ei nu presupune decit un efort minor de citeva ore, o zi.

Programul este adevarata problema, aici se directioneaza 90% din efortul proiectantului.

 

A cere cuiva sa-ti scrie codul, pentru un montaj oarecare cu uC, este echivalent practic cu a-i propune sa-ti faca proiectul, contributia ta fiind neglijabila.

Link spre comentariu

Ca un exemplu, ca sa vezi ce usor este sa modifici un program, codul de mai jos genereaza doua semnale in antifaza cu frecventa de 10 kHz. Schimbind "Waitus 50" cu "Waitus 10" obtii semnale cu frecventa de 50 kHz.

'Generates two 90 degree phase shifted square waves$regfile = "m8def.dat"                                      ' ATmega8$crystal = 12000000                                         ' 12 MHz crystalConfig Pinb.0 = Output                                      'Port B,pin 0 set as outputConfig Pinb.1 = Output                                      'Port B,pin 1 set as outputDo                                                          'Generates two square waves Portb.0 = 1                                                'Port B,pin 0 set to 1 Portb.1 = 0                                                'Port B,pin 1 set to 0 Waitus 50                                                  'Wait 0.05 ms Portb.0 = 0                                                'Port B,pin 0 set to 0 Portb.1 = 1                                                'Port B,pin 1 set to 1 Waitus 50                                                  'Wait 0.05 msLoop                                                        'Repeat everything from Do
Modificind "Waitus 50" cu "Waitms 100" si conectind la cei doi pini ai portului B leduri iti faci un montaj cu lumini care se aprind alternativ.
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