Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 8 maja 2026, o 14:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 1 maja 2016, o 18:21 
Offline
Nowy

Dołączył(a): 05 cze 2015
Posty: 18
Pomógł: 0

Witajcie,
w kodzie atmelowskim z pidem, do pliku main zaleca się wrzucić następującą funkcję:

Kod:
void Init(void)
{
  pid_Init(K_P * SCALING_FACTOR, K_I * SCALING_FACTOR , K_D * SCALING_FACTOR , &pidData);

  //Set up timer, enable timer/counte 0 overflow interrupt
  TCCR0A = (1<<CS00);
  TIMSK0 = (1<<TOIE0);
  TCNT0 = 0;


o ile pid_Init rozumiem, o tyle ustawienie timera jest dla mnie niezrozumiałe. Do czego on ma służyć? To nie jest ustawienie licznika do wyjścia PWM, mam rację? Jeśli chcę zaadoptować wartość funkcji wyjściowej do PWM 8 bitowego muszę gdzieś zainicjalizować dodatkowo FastPWM oraz wartość wyjściową typu int16_t przypisać przez (uint8_t) (wyjscie+32'768)/255. Dobrze kombinuję?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2016, o 21:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 lip 2014
Posty: 30
Pomógł: 2

Zapewne służy do odmierzania czasu aktualizacji wartości zmiennych.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 maja 2016, o 22:43 
Offline
Nowy

Dołączył(a): 05 cze 2015
Posty: 18
Pomógł: 0

A czy wartość wyjściowa z funkcji pid_Controller(); dokładniej, jej znak, jest równoważny znakowi aktualnego błędu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 maja 2016, o 07:55 
Offline
Użytkownik

Dołączył(a): 08 wrz 2012
Posty: 505
Pomógł: 6

Ja mam pytanie trochę z innej beczki, czy do pliku pdf avr221 jest jakiś przykładowy kod? Piszesz
Cytuj:
w kodzie atmelowskim z pidem, do pliku main zaleca się wrzucić następującą funkcję:
ja wielokrotnie czytałem tego pdf-a i nic nie widziałem, a byłoby to bardzo pomocne bo sam pdf mało do mnie trafia. Zastanawiam się tylko czy coś przeoczyłem.

Tak się dziwnie złożyło że już sam sobie pomogłem. Jest post/pytanie kolegi
http://forum.atnel.pl/topic9447.html?uid=548
gdzie autor zamiescił link do dokumentacji, jest tam również plik z przykładowym kodem. Jakoś tego wcześniej nie zauważyłem :P

Kliknij sobie readme.html jest w paczce z przykładowym programem, mniej więcej w połowie jest opisana funkcja Timera0, może to Ci coś pomoże.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO