PWM Controller

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
vojnik
Inlägg: 106
Blev medlem: 9 november 2008, 17:50:19
Ort: Jönköping

PWM Controller

Inlägg av vojnik »

Söker efter en krets som kan generera ca 5 st PWM-signaler. Tanken är att en huvud-PIC ska kommunicera(i2C SPI) med kretsen och ge börvärden. För att styra RC-servon behöver periodtiden kunna ställas mellan 10-20ms och pulsbredden mellan ca 1-2 ms. Vill inte att huvud-PIC:en ska göra genereringen då den är upptagen med annat.
Skulle en sådan krets ge stabilare signaler än vad en extra PIC skulle kunna generera?
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: PWM Controller

Inlägg av Icecap »

Jag har en sådan krets, baserat på en PIC16F628A, på min hemsida (under Freebies). Den är dock inte begränsat till 5 RC-servos men kan istället styra 12 st.

Och det är INTE PWM du söker, det är pulsbredd styrning.
Senast redigerad av Icecap 16 april 2009, 17:41:16, redigerad totalt 1 gång.
Mindmapper
Inlägg: 7099
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: PWM Controller

Inlägg av Mindmapper »

Beror väl på vad huvudkretsen håller på med. Är det att beräkna storleken på universum så har den nog, nog mycket jobb med det. Men dagens MCU'er är kraftfulla och kan göra mer än vad man tror. Att dela upp det på flera, skapar bara en massa merarbete (kanske) i onödan. Merarbete både för programmerare och MCU'er. Lämpliga interrupt löser det mesta på ett smidigt sätt.
Glömde kostnaderna.
Användarvisningsbild
Sencor
Inlägg: 91
Blev medlem: 29 november 2004, 22:24:57
Ort: Göteborg
Kontakt:

Re: PWM Controller

Inlägg av Sencor »

Här finns smidigt litet projekt projekt som skulle passa, fast med en tiny2313 och på tyska: Länk

Håller dock med Mindmapper, att styra några servon belastar inte en mcu speciellt mycket.
Användarvisningsbild
rickardg
Inlägg: 195
Blev medlem: 5 november 2008, 07:37:09
Ort: Rönninge
Kontakt:

Re: PWM Controller

Inlägg av rickardg »

En ATMEGA88 har 6 kanalers hårdvaru-PWM och både SPI och I2C så den kretsen uppfyller dina önskemål, dock krävs det väl en 30-rader c-kod för att programmera den att göra det du vill men då nästan allt hanteras av hårdvaran har du 99% av CPU-tiden ledig i mega88:an så kan den lika bra hantera ditt huvudprogram åxå ;)
Användarvisningsbild
vojnik
Inlägg: 106
Blev medlem: 9 november 2008, 17:50:19
Ort: Jönköping

Re: PWM Controller

Inlägg av vojnik »

Icecap skrev:Jag har en sådan krets, baserat på en PIC16F628A, på min hemsida (under Freebies). Den är dock inte begränsat till 5 RC-servos men kan istället styra 12 st.
Jag har tittat lite på din kod och vad jag kan förstå så kommer periodtiden för varje servo variera beroende på vilken pulsbredd som de andra servona får. Rent teoretiskt kan periodtiden vara 13-26ms på 13 servon(enligt koden) mellan att alla servon får 1ms och 2ms insignal. Hur känsligt är ett servo för dessa variationer?

Min lösning på detta var/är att sätta alla utgångar höga samt att ha ett interrupt med den tiden som man vill ha upplösning på pulsbredden och sedan räkna ett antal interrupt innan man sänker utgången. Enligt min uppskattning går det åt en del mcutid till detta för att få till en bra upplösning. Med den här metoden får man inte variationerna i periodtid.
Skriv svar