logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak przyspieszyć regulację obrotów silnika z Atmega 8 w Bascom?

ziguś 21 Paź 2013 08:04 3222 6
REKLAMA
  • #1 12998190
    ziguś
    Poziom 23  
    Posty: 1340
    Pomógł: 4
    Ocena: 269
    Witam
    Chciałm zrobić automatyczną regulację obrotów silnika. Pierwszy silnik napędza drugi silnik który pracuje jako prądnica i muszę wraz ze zmianą obciążenia prądnicy regulować obroty silnika tak aby uzyskać stałe napięcie na wyjściu prądnicy. Do sterowania zastosowałem Atmegę 8. Napisałem taki programik i niby działa, ale ... regulacja jest zbyt wolna. Czy ma ktoś jakiś pomysł jak to rozwiązać ?
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 12998334
    Gronczyński

    Poziom 20  
    Posty: 285
    Pomógł: 33
    Ocena: 51
    Witam
    Widzę dwie możliwe przyczyny takiego zachowania.
    1 Wyświetlacz LCD - jego obsługa pochłania sporo czasu więc lepiej wywalić poza główną pętlę programu - niech się odświeża raz na jakiś czas
    2 Zmienne typu single - ich liczenie zajmuje w Bascomie dużo czasu - warto przemyśleć zmianę
    Nie analizowałem całego kodu ale wydaje mi się że to są dwaj główni winowajcy.
    Konto firmowe:
    Elegron - Hubert Gronczyński
    Leśna 16/7, Pionki, 26-670 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: elegron.pl
  • REKLAMA
  • #3 12998417
    ziguś
    Poziom 23  
    Posty: 1340
    Pomógł: 4
    Ocena: 269
    A czy napisanie PID coś zmieni. Pytam w ten sposób bo nigdy nie pisałem PID i nawet nie za bardzo wiem jak się za to zabrać.
  • REKLAMA
  • #4 12998801
    Gronczyński

    Poziom 20  
    Posty: 285
    Pomógł: 33
    Ocena: 51
    Wszystko zależy od mechanicznej dynamiki układu. Ale bez względu na to jaki algorytm zostanie zastosowany w sterowniku najważniejszą rzeczą jest to żeby był szybszy od zmian w części mechanicznej. Możesz stworzyć świetny PID ale jeśli jego reakcje nie będą nadążały za mechaniką to całość będzie źle działała. Najczęściej jest tak, że prosty warunek porównawczy ale szybko działający będzie skuteczniejszy od skomplikowanej ale wolnej procedury regulacji.
    Konto firmowe:
    Elegron - Hubert Gronczyński
    Leśna 16/7, Pionki, 26-670 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: elegron.pl
  • REKLAMA
  • #5 12999660
    ziguś
    Poziom 23  
    Posty: 1340
    Pomógł: 4
    Ocena: 269
    I tutaj kolego masz rację. Zeby się to ładnie wszystko wyświetlało użyłem do tego celu instrukcji select case. Jak usunę "wyświetlanie" to układ reaguje dosłownie w momencie - jak błyskawica.
    Więc pojawił się kolejny problem. Jak to wyświetlać żeby nie spowalniało to procedury regulacji.
  • Pomocny post
    #6 12999689
    Gronczyński

    Poziom 20  
    Posty: 285
    Pomógł: 33
    Ocena: 51
    A jak często musisz odświeżać informacje na wyświetlaczu?
    Może wystarczy raz na np. dwie sekundy?
    Masz przecież wolny jeszcze timer - możesz wykorzystać go w przerwaniu aby odświeżał wyświetlacz. Taka chwilowa "niedyspozycja" kontroli będzie w zasadzie nie zauważalna dla silnika.
    Konto firmowe:
    Elegron - Hubert Gronczyński
    Leśna 16/7, Pionki, 26-670 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: elegron.pl
  • #7 12999729
    ziguś
    Poziom 23  
    Posty: 1340
    Pomógł: 4
    Ocena: 269
    W zasadzie to nie musi być często odświeżany, nie pomyślałem o takim rozwiązaniu. Spróbuję jeszcze jutro nad tym posiedzieć. Dzisiaj już mi głowa pęka - a w takiej sytuacji źle się myśli.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik poszukuje sposobów na przyspieszenie regulacji obrotów silnika napędzanego przez Atmegę 8 w Bascomie, aby uzyskać stałe napięcie na wyjściu prądnicy. Zidentyfikowano dwie główne przyczyny wolnej regulacji: obsługę wyświetlacza LCD oraz użycie zmiennych typu single, które spowalniają działanie programu. Proponowane rozwiązania obejmują usunięcie wyświetlania z głównej pętli programu oraz zastosowanie algorytmu PID, z zastrzeżeniem, że jego efektywność zależy od dynamiki mechanicznej układu. Użytkownik rozważa również odświeżanie wyświetlacza co kilka sekund, co może zminimalizować wpływ na regulację.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA