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

ATtiny13 termometr z LM13 - pytanie o zmiany w programie

robbud 15 Paź 2011 20:24 3414 20
  • #1 10031081
    robbud
    Poziom 11  
    Witam, chciałbym skorzystać z projektu z linku

    http://diy.elektroda.eu/interaktywna-podstawka-pod-kufel/

    na użytek mojego modelu samochodu RC do mierzenia temperatury silnika szczotkowego żeby go nie przegrzać powyżej 80 stopni i mam pytanie:

    1) Co trzeba zmienić w programie jeśli mam ATtiny13 20Mhz (twórca projektu użył ATTiny13V 10MHz) żeby dobrze przeliczał.

    2) Co i gdzie zmienić w programie zakres temperatur np. <50st BLUE; 50-75st GREEN; >75st RED

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #2 10032375
    Józef18
    Poziom 32  
    robbud napisał:
    Witam, chciałbym skorzystać z projektu z linku

    http://diy.elektroda.eu/interaktywna-podstawka-pod-kufel/

    na użytek mojego modelu samochodu RC do mierzenia temperatury silnika szczotkowego żeby go nie przegrzać powyżej 80 stopni i mam pytanie:

    1) Co trzeba zmienić w programie jeśli mam ATtiny13 20Mhz (twórca projektu użył ATTiny13V 10MHz) żeby dobrze przeliczał.

    2) Co i gdzie zmienić w programie zakres temperatur np. <50st BLUE; 50-75st GREEN; >75st RED

    Kod: text
    Zaloguj się, aby zobaczyć kod


    1. Z programu wynika że program jest przystosowany do pracy z rezonatorem kwarcowym o częstotliwości 4,8 MHz "$crystal = 4800000 - w programie"
    2. Cały zakres jest przedstawiony w programie Select Case Przejscie

    Pozdrawiam
    Józef
  • #3 10033718
    MarianRe
    Poziom 11  
    Dla ścisłości:
    robbud napisał:
    termometr z LM13

    W projekcie jest czujnik temperatury LM35.
    Józef18 napisał:
    Z programu wynika że program jest przystosowany do pracy z rezonatorem kwarcowym o częstotliwości 4,8 MHz "$crystal = 4800000 - w programie"

    A z opisu wynika:
    "wewnętrzny oscylator 4,8MHz, nie dzielony przez 8"
    Pozdrawiam.
  • #4 10033739
    robbud
    Poziom 11  
    Czyli jeśli dobrze rozumuję (bo w układzie nie ma żadnego zewnętrznego kwarcu) to nie muszę się przejmować tym, że mam ATtiny13 0-20MHz a nie ATtiny13V 0-10MHz.
  • #5 10033764
    MarianRe
    Poziom 11  
    robbud napisał:
    Czyli jeśli dobrze rozumuję (bo w układzie nie ma żadnego zewnętrznego kwarcu) to nie muszę się przejmować tym, że mam ATtiny13 0-20MHz a nie ATtiny13V 0-10MHz.

    Też jestem początkujący, ale wiem, że wystarczy tylko odpowiednio ustawić fusebity :D
  • #6 10033790
    piotrva
    VIP Zasłużony dla elektroda
    Te dane to MAKSYMALNE częstotliwości pracy, a za to z jaką rzeczywistą częstotliwością pracuje układ są odpowiedzialne między innymi te fusebity.
  • #7 10034692
    robbud
    Poziom 11  
    Dziękuję za odpowiedzi i postaram się jutro skorygować program <50st BLUE; 50-75st GREEN;
    >75st RED i poproszę o zerknięcie. Pozdrawiam
  • #8 10039288
    robbud
    Poziom 11  
    Skorygowałem program i mam prośbę jakby ktoś zobaczył ile byków narobiłem :-) bo próbowałem wziąć to na chłopski rozum ale nie wiem czy to wystarczy.
    Pozdrawiam
    ----------------------------------------------------------------------------
    Select Case Przejscie

    Case 0:
    'zapalam B
    Incr B
    'przy 50*C i powyżej całkowicie zaniknie
    If B < 500 Then Przejscie = 1

    Case 1:
    'gaszę R
    If R < 6 Then
    Przejscie = 2
    Else
    Decr R
    End If

    Case 2:
    'zapalam G
    Incr G
    If G > 500 Then Przejscie = 3

    Case 3:
    'gaszę B
    If B < 6 Then
    Przejscie = 4
    Else
    Decr B
    End If

    Case 4:
    'zapalam R
    Incr R
    If R > 750 Then Przejscie = 5


    Case 5:
    'gaszę G
    If G < 6 Then
    Przejscie = 0
    Else
    Decr G
    End If

    End Select

    End If


    'jeśli temperatura
    If Temp > 0 And Temp < 300 Then
    If R > 0 Then Decr R 'wygaszam kolory
    If G > 0 Then Decr G
    If B > 0 Then Decr B
    Wyl = 0


    Loop
  • #9 10039592
    MarianRe
    Poziom 11  
    Ja zrobiłbym to tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Pominąłem programową PWM (timer i przerwania). LED-y pracują w trybie "włączona/wyłączona".
    Ale, jak już wspomniałem, jestem początkujący. Na symulatorze program działa.
  • #10 10040499
    robbud
    Poziom 11  
    Witam widocznie jesteś bardziej zaawansowany (na jakim symulatorze to sprawdzasz) niż ja bo do tej pory korzystałem z gotowców i nawet się nie zastanawiałem jak programy się pisze. Jutro zrobię układ na pająka jak kupie diody RGB bo się okazało,że mam ze wspólną anodą a nie katodą jak na schemacie a dzisiaj robię sobie lutownicę HOT AIR.
  • #11 10040724
    MarianRe
    Poziom 11  
    robbud napisał:
    kupie diody RGB bo się okazało,że mam ze wspólną anodą

    I taka dioda będzie odpowiednia do tego układu (programu) - można zrezygnować z użycia tranzystorów i sterować katody bezpośrednio z wyjść µC (poprzez szeregowe rezystory). Tranzystory byłyby potrzebne dla diod dużej mocy (a poza tym, program można przecież bardzo prosto dostosować do dowolnego typu diod).
    A symulator jest oczywiście BASCOM-a :D
  • #12 10041525
    robbud
    Poziom 11  
    (a poza tym, program można przecież bardzo prosto dostosować do dowolnego typu diod)

    Czyli jak trzeba przerobić program?
  • #13 10041847
    MarianRe
    Poziom 11  
    robbud napisał:
    Czyli jak trzeba przerobić program?

    Dla diody RGB ze wspólną anodą podłączonej tak, jak napisałem wcześniej - niczego nie trzeba zmieniać.
    ATtiny13 termometr z LM13 - pytanie o zmiany w programie

    Ewentualna zmiana programu (dla wspólnej katody lub użycia kluczy tranzystorowych) polega na zamianie miejscami poleceń Set i Reset.
  • #14 10042567
    robbud
    Poziom 11  
    Witam, mógłbyś wrzucić program który napisałeś bo jak ja go napisałem w BASCOM-ie to pokazuje mi błąd w 3 liniach.
  • #15 10042718
    MarianRe
    Poziom 11  
    No cóż, program źródłowy już "wrzuciłem" - wystarczy go skopiować. Pewnie zrobiłeś błędy przy pisaniu.
    W załączniku są pliki .bas i .hex.
  • #16 10042911
    robbud
    Poziom 11  
    Jak wrzucę do BASCOM AVR i próbuję zrobić symulację albo kompilację to pokazuje mi błędy. Czy tak może być bo spróbowałem na innym programie np. MiniLampkaRGB i tam mi nie pokazuje błędów?
  • #18 10044012
    robbud
    Poziom 11  
    Dzięki teraz błędy nie wyskakują.
  • #19 10080829
    robbud
    Poziom 11  
    Witam,dzisiaj zlutowałem układ i działa jak należy (dopisałem tylko do niego te trzy linijki). Spróbuję się nim jeszcze pobawić i jak coś wymyślę to dam znać. Dziękuję za pomoc.
  • #20 10086729
    MarianRe
    Poziom 11  
    Ja też złożyłem układ i stwierdziłem, że należy wprowadzić czas oczekiwania po włączeniu diody (linia : Waitms 20 'jaśniej świecą). Dodatkowo można uzyskać pulsujące świecenie diody czerwonej (po przekroczeniu maksymalnej temperatury).
    Ta wygląda zmodyfikowany program:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Pozdrawiam
  • #21 10087348
    robbud
    Poziom 11  
    Witam, wielkie dzięki , ja dzisiaj trochę poczytałem i zbieram :-) wiedzę do zrobienia płynnego przejścia pomiędzy kolorami jak się uda to dam znać. Pozdrawiam
REKLAMA