Skocz do zawartości

Pomocna odpowiedź

Napisano

Witajcie, jestem w trakcie pisania programu do minisumo i mam problem z PWM, sterowane 2 silniczki przez mostek H, silniki mam wpiete miedzy diody Schottk-iego. Oto mój kod programu

$regfile "M8def.dat"                                        'procesor
$regfile = 8000000                                          'taktowanie

Config Portd.4 = Output                                     'mostek
Config Portd.5 = Output                                     'mostek
Config Portd.6 = Output                                     'mostek
Config Portd.7 = Output                                     'mostek


Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1       'konfiguracja pwm


Compare1a = 225                                             'Pwm
Compare1b = 225                                             'PWM

Portd.7 = 1 
Portd.6 = 1 
Portd.5 = 0 
Portd.4 = 1 

End                                                         

Niestety nie działa, jak podpinam zasilanie to jeden silniczek delikatnie "buczy" ale nic wiecej sie nie dzieje..

matt90, nie napisałeś jakiego używasz mostka, nie podałeś schematu, a bez tego nie wiadomo czy twój kod jest poprawny. A błąd na pierwszy rzut oka masz w częstotliwości PWMa, wpisałeś Prescale =1, przy takim dzielniku PWM ma częstotliwość pewnie w okolicach kilkuset kHz, a więc dużo za dużo dla większości mostków i silników.

Pasowałoby gdzieś wystartować ten timer - sama konfiguracja go nie uruchamia chyba. No i zamiast compare1a/b proponowałbym pwm1a/b.

Ok silniki ruszyły brakowało startu 🙂 ale mam inny problem ustawiam ze maja ruszyc oba a rusza tylko jeden i chodzi tylko przez chwile i pozniej zaczyna "buczec" albo "buczy" i nie chce w ogole ruszyc, muszę odłączyć zasilanie i po ponownym przyłączeniu dopiero rusza i czasami uruchamia sie prawy a czasami lewy. Czemu? Jak ustawie żeby chodził tylko jeden a drugi wyłączony to rusza odrazu i wszystko ładnie chodzi.

Kod programu:

$regfile "M8def.dat"                                        'procesor
$regfile = 8000000                                          'taktowanie

Config Portd.4 = Output                                     'mostek
Config Portd.5 = Output                                     'mostek
Config Portd.6 = Output                                     'mostek
Config Portd.7 = Output                                     'mostek


Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1       'konfiguracja pwm

Start Timer1

Pwm1a = 225                                                 'Pwm
Pwm1b = 225                                                 'PWM

Portd.7 = 1
Portd.6 = 0
Portd.5 = 1
Portd.4 = 0


End

A czym toto zasilasz? Bo nie widzę stabilizatora na schemacie, coś mi mówi, że to 3 paluszki lub coś podobnego, na których siada napięcie w momencie włączenia silników i uC nie pracuje poprawnie. Podłącz do tego źródła zasilania swój silniczek, zatrzymaj go ręką i zmierz napięcie na akumulatorze/baterii wtedy. Co to za silniki?

Narazie zasilam przez zasilacz 12V. Elektronika zasilania przez 7805. Później jak wszystko bedzie działało będzie to zasilane prawdopodobnie przez 4 paluszki. Póki co za zasilniki służą przerobione mikroserwa modelarskie, w przyszłości będą to dwa Pololu. Poniżej schemat stabilizatora

[ Dodano: 03-09-2012, 19:38 ]

Czy moglby ktos mi podpowiedziec czym jest spowodowane to ze nie dzialaja jednoczesnie oba silniki tylko albo jeden albo drugi. Prosze Was o pomoc bo sam sobie z tym nie poradze... z gory dziekuje

Podłącz do tego źródła zasilania swój silniczek, zatrzymaj go ręką i zmierz napięcie na akumulatorze/baterii wtedy.

Potem możesz powtórzyć to dla dwóch silników.

Niestety nie mam miernika bo stary mam zepsuty :/ ale jak podlaczam dwa silniczki to dioda na zasilaczu lekko przygasa wiec chyba jest spadek.. Nigdy nie ruszaja dwa silniki jednoczesnie, albo rusza jeden lub obydwa "bucza" lub delikatnie w obydwu drga zebatka od silniczka...

To że będzie spadek było pewne - kwestia tylko do jakiej wartości spada napięcie - czy mega się już resetuje. Zaopatrz się w jakiś miernik - i tak przyda się na przyszłość.

  • Pomogłeś! 1

jutro spróbuję coś zorganizować. Jak juz zmierze to napiecie to co wtedy? Czy to bedzie jakis blad na plytce czy czym to moze byc spowodowane? Jak zatrzymam reka silniczek to nic mu sie nie stanie? Nie chcialbym go spalic na samym poczatku 🙂

matt90, silnik w momencie startu pobiera prąd zbliżony do pradu przy zatrzymanym wale - dlatego chcę, abyś zmierzył napięcie na akumulatorze przy zatrzymanych silnikach, byłaby to symulacja momentu startu silników. Krótka szpilka na zasilaniu (szpilka - krótki impuls) jest w stanie zresetowac mikrokontroler, bo napięcie spada poniżej dolnej dopuszczalnej granicy. Przynajmniej tego się spodziewam, bo często taki problem się pojawia przy niewystarczającym źródle prądu 🙂

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...