forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
atmega16 + servomotor(SG90) + 8bit timer

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR
 
Nymik
Nováček
Nováček


Založen: 11.10.2016
Příspěvky: 6

PříspěvekZaslal: 07 listopad 2016, 22:37    Předmět: atmega16 + servomotor(SG90) + 8bit timer Citovat

Dobrý den,

rád bych poprosil o radu, snažím se ovládat servomotor pomocí FAST PWM s časovačem TIMER0, časovač je 8bitový a nemá možnost zapisovat do ICRx, díky které bych byl schopný zvolit přesnou frekvenci a to 50hz. Je nějaká možnost jak změnit jak pomocí 8bitového časovače u atmega16 měnit frekvenci. Napadlo mě, že prostě jednoduše bude počítat čas na 20ms pomocí časovače, které servo potřebuje. Předem děkuji za jakoukoliv pomoc.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 461

PříspěvekZaslal: 08 listopad 2016, 1:51    Předmět: Citovat

Předně je potřeba si uvědomit co vlastně potřebuješ generovat a to je ve skutečnosti impuls v délce 1-2 [ms] s určitým rozlišením, nikoliv přesnou frekvenci 50Hz. Servu je jedno jestli je to 45 nebo 55 Hz.
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Nymik
Nováček
Nováček


Založen: 11.10.2016
Příspěvky: 6

PříspěvekZaslal: 08 listopad 2016, 8:20    Předmět: Citovat

Takže pokud to chápu správně, tak by mi prostě jednoduše mělo stačit podržet log.1 na pinu přesnou dobu tedy podle toho kam chci otočit servem a tudíž není vůbec potřeba používat PWM ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Balů
Profesionál
Profesionál


Založen: 29.10.2012
Příspěvky: 708

PříspěvekZaslal: 08 listopad 2016, 8:39    Předmět: Citovat

Stačí chvilka hledání :

http://www.pojezdy.eu/view.php?cisloclanku=2011070004 napsal:
Řídící pulzy jsou periodicky opakovány 50x za sekundu, tato hodnota však není kritická. Pro správnou funkci serva by se však měla pohybovat mezi 30 a 60 Hz. Úhel natočení nezáleží na opakovací frekvenci, ale pouze na šířce pulzů.


Je to tam jednom v odstavci vedle obrázku s polohama serva a impulzama do něj. Při použití interního oscilátoru (1/2/4/8 MHz) jsi schopný se dostat na 30,5 Hz nebo 61 Hz.

Pokud bys trval na 50 Hz, pak bys musel použít krystal 3,2768MHz (nebo jiný, vypočítaný z požadované frekvence, rozlišení čítače a jednoho z dostupných prescalerů), startovat impulzy druhým časovačem nebo signál generovat zcela softwarově.
__________________________________

To byla reakce na Tvojí prosbu o radu (první příspěvek) a teď odpověď na Tvou otázku (druhý příspěvek) :

Pochopil jsi to správně. Nicméně pokud použiješ HW PWM, pak s tím má procesor daleko méně práce, než když budeš generovat signál plně softwarově. Zkusil bych PWM s frekvencema, jak jsem psal výše (30,5 nebo 61 Hz). Pokud by to dělalo potíže, pak by asi záleželo na tom, co všechno má procesor na starosti.

1) Pokud v podstatě jenom generuje signál pro servo a na polohu dostává po UARTu nebo AD převodníkem a nic jinýho, pak bych asi sahnul po té variantě s použitím jednoho časovače v PWM režimu na generování pulzu s tím, že při TOV by se vypnul a druhý časovač v CTC režimu nastavený tak, aby k přerušení docházelo s periodou cca 50 Hz a startoval bych PWM časovač pomocí něho.

2) Pokud by toho měl na starosti mnohem více, pak bych asi sahnul po variantě HW PWM + krystal.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> AVR Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)