Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Licznik arkuszy oraz ilość ark/h

30 Lip 2009 20:44 1743 7
  • Użytkownik usunął konto  
  • Poziom 20  
    Czy robisz to do maszyny offsetowej?
  • Użytkownik usunął konto  
  • Poziom 20  
    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.
  • Użytkownik usunął konto  
  • Poziom 20  
    Z przerwaniami nie jest tak trudno.

    Code:

    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.
  • Poziom 36  
    marcindtp napisał:
    1 obrót cylindra to 1 arkusz
    więc jeśli na osi umieścimy "podziałkę" z drukarki atramentowej HP (taki foliowy krążek z naswietloną podziałką)
    i element odczytujący (takze z tej drukarki)
    wtedy uzyskamy kilkaset impulsów na 1 obrót - czy wtedy bedzie łatwiej?

    np. 1 obrót = 500 impulsów
    500 impulsów = 1 ark.
    250 impulsów/sek = 0,5 ark/s =1800ark/h

    Zakres prędkości to min. 1000 do ok. 6000 ark/h

    Największy problem mam z konfiguracją timerów i przerwań
    i tego nie bardzo potrafię zaprogramować z resztą programu sobię poradzę.


    Majac tylko jeden arkusz wydruku na jeden pelny obrot cylindra wiec przyjmij to jako watrosc stala, bez zadnej dodatkowej podzialki na tarczy impulsowej. Jeden impuls na jeden obrot = 100% dokladnosci !!!
    Do realizacji projektu w zupelnosci wystarczy ci uzyc tylko Attiny 2313 z zewn. kwarcem np. 4 MHz, ktory z latwoscia obsluzy zarowno licznik drukowanych kopii, obsluge wyswietlacza LCD, z podaniem predkosci druku w dowolnych jednostkach (n/min; n/h, itp), obsluge eeprom dla licznika wydrukowanych kopii, jego kasowanie w zaleznosci od potrzeb.
    W programie uzyjesz tylko jednego timera np. Timer1 - do pomiaru czasu pomiedzy impulsami.
    Impulsy mozesz 'zbierac' z "Hall Switch" (kosztuje nie wiecej niz 3 zl), zatem nie potrzeba stosowac "debounce". - podasz je na INT0 lub INT1.
    reszta to zwykla arytmetyka, z ktora attiny doskonale sobie radzi.
    Caly program mozna spokojnie zmiescic w pamieci tego processora (2kB).

    e marcus
  • Poziom 20  
    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.