Sida 1 av 1

PWM på en ATmega32

Postat: 1 februari 2004, 21:39:11
av marvin
Skulle någon vänlig själ kunna tänka sig att förklara för mig hur man använder PWM-utgångarna på mega32??
Jag skall använda dessa till ett R/C-servo, alltså skall signalen vara hög 1-2 ms. Har försökt att förstå något, men misslyckas ganska katastrofalt :)
Helst i assembler eller rent allmänt.

Postat: 6 februari 2004, 12:36:34
av marvin
ingen som ens har en ledtråd till mig??
skulle underlätta mycket

Postat: 6 februari 2004, 13:13:34
av RDX*
Du ska inte använda PWM:en till att styra servon.

Postat: 6 februari 2004, 13:45:49
av danei
om det går att dela ner frekvensen till PWM en så kan man använda den

Postat: 6 februari 2004, 14:07:42
av RDX*
danei>Jovist det går säkert, men i och med att man bara varierar tid-hög med ca 2%. Så känns det lite onödigt. Då är det lättare att använda polling.

tex:

Loop:
t=servopos
Porta.0=high
delayms(t)

Porta.0=Low
delayms(50)

goto Loop

Postat: 6 februari 2004, 18:29:38
av karlstedt
http://www.avrbeginners.net/ har dom ett exempel på PWM med 2313.

Postat: 6 februari 2004, 18:59:35
av danei
RDX* skrev:danei>Jovist det går säkert, men i och med att man bara varierar tid-hög med ca 2%. Så känns det lite onödigt. Då är det lättare att använda polling.

tex:

Loop:
t=servopos
Porta.0=high
delayms(t)

Porta.0=Low
delayms(50)

goto Loop
Han bad ju om kod i assembler eller beskrivning.

Postat: 6 februari 2004, 19:16:50
av marvin
Tack Danei, tror faktiskt att jag förstod ändå, trodde faktiskt inte det.
RDX* varför är det onödigt, tar väl mindre processorkraft att använda hårdvaran??
Karlstedt, har kollat lite på det exemplet, kan inte säga att jag förstår, om någon kunde berätta vilka register som jag skall använda och vad de är bra till skulle jag bli lätt överlycklig.