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

Jak napisać kod w Bascom dla przepływomierza 648 impulsów/litr na ATmega32?

michal19835524 21 Lip 2014 20:48 7500 62
  • #1 13814531
    michal19835524
    Poziom 11  
    Witam. Chciałem zrobić przepływomierz, ale nie wiem jak się za to zabrać. Przepływomierz na litr podaje 648 impulsów. Jak napisać kod bascom, żeby zliczał litry. Proszę o podpowiedź jak zacząć.
  • #3 13814562
    michal19835524
    Poziom 11  
    Nie,ma liczyć litry tak jak dystrybutor.

    Dodano po 2 [minuty]:

    Nie wiem w jaki sposób dodawać litry do zmiennej po przekroczeniu określonej liczby impulsów z przepływomierza. To co znalazłem to liczone wszystkie w czasie, a tu chyba chodzi o przepełnienie licznika.
  • #4 13814576
    slawko_k
    Poziom 35  
    Cytat:
    Przepływomierz na litr podaje 648 impulsów jak napisać kod bascom żeby zliczał litry

    litry = impulsy / 648
    Litry mają być typu single.
  • #5 13814583
    janek1815
    Poziom 38  
    Dobrze kolega napisał najpierw naucz się migać diodą a później naucz się obsługi timerów. Kolejny krok jak zliczysz 648 impulsów to zwiększasz zmienną litr o jeden. Zerujesz licznik i zaczynasz od nowa. I tak w koło. To jest przepływomierz do wody czy auta?
  • #6 13814590
    michal19835524
    Poziom 11  
    Do nawozów azotowych w formie wodnego roztworu saletrzano-mocznikowego.

    Dodano po 4 [minuty]:

    slawko_k napisał:
    Cytat:
    Przepływomierz na litr podaje 648 impulsów jak napisać kod bascom żeby zliczał litry

    litry = impulsy / 648
    Litry mają być typu single.

    Raczej single, bo różny klient może być, a i tak muszę się dokładnie z tego rozliczyć.

    Dodano po 2 [minuty]:

    janek1815 napisał:
    Dobrze kolega napisał najpierw naucz się migać diodą a później naucz się obsługi timerów. Kolejny krok jak zliczysz 648 impulsów to zwiększasz zmienną litr o jeden. Zerujesz licznik i zaczynasz od nowa. I tak w koło. To jest przepływomierz do wody czy auta?

    Miganie diodą kolego opanowałem. Tak jak pisałem, nie chce gotowca, ale mała podpowiedź by się bardzo przydała, za co dziękuję wszystkim.

    Dodano po 12 [minuty]:

    Z całą resztą sobie poradzę, ale jak ustawić timer0???
  • #7 13814689
    BlueDraco
    Specjalista - Mikrokontrolery
    Zacznij od oszacowania typowych częstotliwości impulsów - jakie są spodziewane minimalne/maksymalne przepływy? Jaka jest wymagana dokładność pomiaru?
    Do tego dobierz okres zliczania impulsów.

    Oczywiście nie potrzebujesz żadnych danych zmiennopozycyjnych, na których obliczenia skutecznie zarżną mikrokontroler. Możesz przecież zliczać przepływ np. w mililitrach.
  • #8 13814765
    michal19835524
    Poziom 11  
    BlueDraco napisał:
    Zacznij od oszacowania typowych częstotliwości impulsów - jakie są spodziewane minimalne/maksymalne przepływy? Jaka jest wymagana dokładność pomiaru?
    Do tego dobierz okres zliczania impulsów.

    Oczywiście nie potrzebujesz żadnych danych zmiennopozycyjnych, na których obliczenia skutecznie zarżną mikrokontroler. Możesz przecież zliczać przepływ np. w mililitrach.

    Przepływ średni to około 70l/min, czyli 45360 impulsów, dokładność to około 0,5 litra, przepływomierz jest turbinowy, wie taka duża liczba impulsów da rade przez niego 120l/min. Problem mam z ustawieniem licznika. Czy muszę liczyć impulsy w określonym czasie, czy można w czasie rzeczywistym po zliczeniu 648 dodać 1 do zmiennej. Nie wiem jak włączyć przepełnienie licznika po której doda 1 zmiennej (np. litry).
  • #9 13814875
    piotrva
    VIP Zasłużony dla elektroda
    Poczytaj manuala bascoma - to rozumiałem pod pojęciem migania diodą.
    jest Enable Timer0, On Timer0 podprogram itd.
  • Pomocny post
    #10 13817058
    Konto nie istnieje
    Poziom 1  
  • #11 13822110
    michal19835524
    Poziom 11  
    Dziękuje e marcus za kod dzieki niemu zrozumiałem zasade działania .
  • #12 13845891
    michal19835524
    Poziom 11  
    dlaczego resetuje mi zmienną L do zera po zliczeniu 256 impulsów przez taimer0
    L = L + counter0
    Chciałbym zliczyć wszystkie impulsy prosze o pomoc jakim kodem zliczyć np 10000 impulsów z timer0 = counter
  • #13 13845895
    piotrva
    VIP Zasłużony dla elektroda
    Hmm, moim zdaniem gdzieś jest zmienna 8 bitowa (Byte) musisz zmienić ją na większy typ. np. Word, Long.
  • #14 13845912
    michal19835524
    Poziom 11  
    piotrva napisał:
    Hmm, moim zdaniem gdzieś jest zmienna 8 bitowa (Byte) musisz zmienić ją na większy typ. np. Word, Long.

    zmienna word

    Dodano po 1 [minuty]:

    A czy trzeba konfigurować port
    Config Pinb.0 = Input
    Set Portb.0
    pod counter0
    atmega 32

    Dodano po 11 [minuty]:

    Kod: text
    Zaloguj się, aby zobaczyć kod
    [/syntax][/syntax]
  • #15 13846004
    Konto nie istnieje
    Poziom 1  
  • #16 13846701
    michal19835524
    Poziom 11  
    Kod: text
    Zaloguj się, aby zobaczyć kod


    [size=9:e4aef3265c]Dodano po 1 [godziny] 4 [minuty]:[/size:e4aef3265c]

    a czy poprawnie jest zapis eeprom nie chciałbym po dwóch dniach stracić pamięć poprzez częste zapisy. myslałem o IC2 ale zamała wiedza

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #17 13847834
    michal19835524
    Poziom 11  
    Prosze o słowa krytyki , to mój pierwszy program wiec błędy napewno są . Sprawdzałem na płycie evb i działa według założenia.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #18 13865147
    michal19835524
    Poziom 11  
    Co jest źle?


    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #19 13872400
    Freddy
    Poziom 43  
    Licz i przechowuj impulsy, potem w razie potrzeby zawsze możesz zawsze obliczyć ilość litrów.
    Sprawdź, czy pojemność zmiennej typu Single Ci wystarczy, czy nie będziesz potrzebował typu Double.
    Poszukaj programu licznika impulsów / częstościomierza, to pomoże Ci.
  • #20 13873321
    Konto nie istnieje
    Poziom 1  
  • #21 13875100
    michal19835524
    Poziom 11  
    Witam. Czy możliwe jest zawieszanie sie procesora poprzez stycznik który jest oddalony około 15 cm w innej obudowie .Stycznik służy do sterowania silnikiem 1.1kW. A może ma wpływ na działanie kwarca zew.? Dzieje się tylko podczas wyłączenia się pompy po zadanej jlości lub ręcznym zatrzymaniu . Podczas włączania pompy tego objawu nie ma . Może silnik pompy ma taki wpływ podczas wyłączania powstaje jakieś napięcie zwrotne lub coś w tym rodzaju . Silnik oddalony około 50cm.
    Objawem jest zniknięcie wszystkiego z wyświetlacza LCD 4x20 big i zawieszenie procka
  • #22 13875727
    Konto nie istnieje
    Poziom 1  
  • #23 13882053
    michal19835524
    Poziom 11  
    Witam. Czy możliwe jest zawieszanie sie procesora poprzez stycznik który jest oddalony około 15 cm w innej obudowie .Stycznik służy do sterowania silnikiem 1.1kW. A może ma wpływ na działanie kwarca zew.? Dzieje się tylko podczas wyłączenia się pompy po zadanej jlości lub ręcznym zatrzymaniu . Podczas włączania pompy tego objawu nie ma . Może silnik pompy ma taki wpływ podczas wyłączania powstaje jakieś napięcie zwrotne lub coś w tym rodzaju . Silnik oddalony około 50cm.
    Objawem jest zniknięcie wszystkiego z wyświetlacza LCD 4x20 big i zawieszenie procka

    Dodano po 9 [minuty]:

    Procesor poza obudowa dystrybutora działa poprawnie . Obudowa jest metalowa cała reszta w obudowach plastikowych . Po uziemieniu dystrybutora jest lepiej ale czasami zawiesza tak jak wyżej pisałem . Może zbiera zakłócenia timer0 co prawda nie dałem ekranowanego przewodu z powodu braku .Timer0 podciągnięty wew. przez set .
  • #24 13882159
    Konto nie istnieje
    Poziom 1  
  • #25 13882376
    michal19835524
    Poziom 11  
    Witam. Co do płytki to jest w fazie projektu tymczasowo zastosowałem płytke EvB 5.1 v5. Przewiduje oczywiście poligon GND
    jeśli o to chodzi .Co do ścieżek to będą w lini prostej zgodnie z wyprowadzeniami procka. Planuje wszystko zrobić na dwóch płytkach ,osobno zasilanie wraz z przekaźnikiem który steruje stycznik oraz procek osobno . Myślałem także o odseparowaniu galwanicznym pomiędzy przekaźnik a procek . Obecne sterowanie poprzez ULN2803 i wpięta dioda wraz z kon. równolegle w przekaźnik. Jeszcze wymienię na ekranowane przewody i obudowy powyklejam folia aluminiową. Ostatecznie co pozostanie to filtracja 230volt .
    A tak ogólnie to jestem bardzo zadowolony dziś miałem pierwsze tankowanie ponad 500 litrów i testy wypadły super. Jak wykonam płytkę to wstawię na forum może komuś się przyda. Kod jest bardzo długi i zawiły ale działa według założeń. Dziękuje wszystkim za podpowiedzi i pozdrawiam. Tematu jeszcze nie zamykam.
  • Pomocny post
    #26 13882445
    Konto nie istnieje
    Poziom 1  
  • #27 13882583
    michal19835524
    Poziom 11  
    Święta racja i akurat mam kilka sztuk transoptory i triaki . Dzięki temu mniej zakłóceń . Faktycznie 2803 ma diody zabezpieczające . Ukłony dla e marcus
  • #28 13882600
    Konto nie istnieje
    Poziom 1  
  • #30 13934773
    Konto nie istnieje
    Poziom 1  
REKLAMA