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

Licznik arkuszy oraz ilość ark/h

30 Lip 2009 20:44 1920 7
REKLAMA
  • #1 6840099
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 6840421
    SzymonHK
    Poziom 21  
    Czy robisz to do maszyny offsetowej?
  • REKLAMA
  • #3 6840443
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #4 6840587
    SzymonHK
    Poziom 21  
    Tak myślałem, otałem sie o produkcje poligraficzną na maszynach offsetowych:D

    Główny problem to najniższa prękosc liczenia.
    Poza tym dość prosto, zewnętrzny kwarc jako podstawa czasu, wenętrzny ma za duże odchyłki. Timer 16-bitowy jako timer zliczający interwał czasu w którym odbywa się pomiar, drugi timer jako licznik impulsów z fototranzystora. Reszta to matematyka przeliczeń ark/h i wprowadzanie danych do kalkulacji czasu wydruku.
    Jesli ustalisz długi okres zliczania, to obniży częstotliwość podawania pomiaru szybkości i wpłynie na obliczenia czasu do końca drukowania.
    Przy ustalaniu tego czasu musisz wziać pod uwagę fakt iż procesor musi w tym czasie otrzymać minimum jeden impuls z fototranzystora, nie wiem jaka maszyna, ale wolne obroty to zwykle 500-1000 ark/h czyli 0,14 ark/s czyli minimalny czas zliczania to 7,2s trochę sporo, 1000 wyglada lepiej 3,6s, możesz podać na wyświetlaczu info że <1000.

    Czyli timer 16bit odmierza 3,6 a zliczasz impulsy z tcntx.
  • #5 6840809
    Konto nie istnieje
    Konto nie istnieje  
  • #6 6841038
    SzymonHK
    Poziom 21  
    Z przerwaniami nie jest tak trudno.

    
    Enable Interrupts                                           
    Config Timer1 = Timer ,  Prescale = costam       
    Timer1=costam2
    Enable Timer1
    On Timer2 etykieta
    Config Timer2 = counter , edge=falling
    Enable Timer2
    On Timer2 etykieta2
    


    coś takiego na przykład
    dobry zwyczaj to czas realizacji procedury pod daną etykietą był w granicach 10us, a wszystko pakuj do pętli głównej

    Jako Timer2 może być również Timer0. Z tą podziałka to przesada, pamiętaj że te dwa timery są 8-bit, czyli przy maksymalnej prędkości maszyny możesz zliczyć 256 impulsów w jednym interwale eg. 1sx256= 921600/h, myslę że 4 do 8 na jeden obrót cylindra to akurat.
  • REKLAMA
  • #7 6841316
    Konto nie istnieje
    Poziom 1  
  • #8 6841399
    SzymonHK
    Poziom 21  
    Kolego e marcus, w maszynie drukarskiej lepszym rozwiązaniem jest zliczanie impulsów w zadanym przedziale czasu, tak jak pisałem, kłopoty sprawia raczej wolny przebieg maszyny i jej zatrzymania, co powodowałoby odliczanie czasu do nieskończoności. Pomysl z czujnikiem Halla jest dobry, wystarczy na obwodzie cylindra nakleić odpowiednią ilość magnesów. Jakiego AVR'a użyć? Takiego jaki pasuje autorowi projektu, w przypadku jednostkowego wykonania cena uC nie ma znaczenia czy to będzie 3 zł czy 4,5zł, jeśli autor lepiej zna megę8 to łatwiej sobie poradzi z programem tudzież ma płytkę testową do uruchomień. Każdy problem można rozwiązać na kilka sposobów.
REKLAMA