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

attiny2313+avt1790 - napisanie programu

dziobi 30 Lis 2015 18:10 1299 6
  • #1 30 Lis 2015 18:10
    dziobi
    Poziom 10  

    Witam, mam problem z napisaniem programu pod kit avt1790. Zależy mi na tak dużych cyfrach.
    Posiadam kod źródłowy ze strony: http://mirley.firlej.org/minitermometr_uniwersalny
    Chciałem go przerobić ale nie daje rady. Kod podany jest w załączniku. Muszę zrobić jeden układ na tym kicie.
    Proszę jakąś dobrą istotę o pomoc.
    Z góry wielkie dzięki.

    0 6
  • #2 01 Gru 2015 10:39
    373522
    Użytkownik usunął konto  
  • #3 02 Gru 2015 17:38
    dziobi
    Poziom 10  

    Chodzi o to że posiadam układ avt1790 oparty na attiny2313 i potrzebuje napisać program w bascomie który będzie wyświetlał temperaturę, ale nie mam pojęcia jak on ma wyglądać? Może da radę przerobić program podany w załączniku pierwszego postu na pasujący pod układ avt1790. W układzie ze strony http://mirley.firlej.org/minitermometr uniwersalny wykorzystane są inne piny niż w układzie avt1790.

    0
  • #4 28 Gru 2015 17:56
    dziobi
    Poziom 10  

    Witam,
    proszę o pomoc w zmianie programu:

    Kod: bascom
    Zaloguj się, aby zobaczyć kod


    trochę sam pozmieniałem ale nadal nie działa wyświetla same 8888.
    Fusebity ustawione na: LowValue=E4 HighValue=DF

    0
  • #5 29 Gru 2015 02:59
    emarcus
    Poziom 34  

    dziobi napisał:
    W układzie ze strony http://mirley.firlej.org/minitermometr uniwersalny wykorzystane są inne piny niż w układzie avt1790.


    Nie tylko że inne piny, ale także inne wyświetlacze, które potrzebują do zasilania wyższego napięcia, pobierają większy prąd, dlatego zastosowano w zasilaniu katod dodatkowy układ ULN, który pracuje jako inverter i akurat do jego wysterowania wymagane są odwrotne stany logiczne z processora w porównaniu z projektem Mirley, gdzie katody wyświetlaczy są pdłączone bezposrednio do processora. Przy małych wyświetlaczach i niskim poborze prądu, możesz sobie pozwolić na takie ryzyko obciążenia portu processora, jednak generalnie winno się trzymać zasady stosowania dodatkowych 'wzmacniaczy' zarówno w zasilaniu anod jak i katod, co widać w twoim układzie AVT. Porównaj funkcjonalność tranzystorów stosowanych przez Mirley w zasilaniu anod wyświetlaczy z uładem UDNxx w AVT...
    Z tego właśnie powodu tabela z której bierzesz sygnał wysterowania segmentów stosowana przez Mirley nie może być tu użyta.
    Musisz utworzyć ja swoją, stosowną do istniejącego (nowego) układu.
    Czy w nowym układzie potrzebujesz mierzyć temperaturę w 2-ch objektach (por. Mirley), czy tylko w jednym?
    Wydaje mi się że łatwiej będzie stworzyc program od początku nowy niż kopiowac coś co było dopasowane do całkowicie innego układu.

    Przeszukaj net, albo tą grupę; o ile pamiętam, nie tak bardzo dawno temu było wiele przykładów wysterowania wysoko napięciowego wielo-cyfrowego wyświetlacza LED. Pomiar temperatury z Ds18B20 jest tu powielany kilka razy w miesiącu. Złóż te dwa tematy w jeden i masz gotowy projekt.
    Dla ułatwienia programu i utworzenia nowej tabeli wszystkie katody segmentów LED podpiąłbym pod jeden port w kolejności alfabetycznej: a,b,c,d,e,f,g odpowiednio pod piny; 0,1,2,3,4,5,6 i ewentualnie dp, pod pin 7. Naturalnie jest to w znaczeniu ich kontroli przez ULNxx.

    Instrukcja dla AVT1790 podaje że ten układ fabrycznie jest termometrem, dlaczego więc potrzebujesz go 'przerobic' własnie na TERMOMETR?

    e marcus

    0
  • #6 29 Gru 2015 10:08
    dziobi
    Poziom 10  

    Cześć, potrzebuję ten konkretny układ avt1790 ponieważ mam parę sztuk a chciałbym mieć nad nim kontrolę tzn. kod źródłowy. Wsad posiadam natomiast kodu nie mam.
    Problem polega na tym że pomimo ustawiania odpowiednich pinów i usunięcia obsługi przycisków nadal program nie działa. Nawet jakby tabela była zła to coś by się na wyświetlaczu zmieniało a tu nic same 8888.
    Proszę o pomoc w napisaniu programu ewentualnej przeróbce programu wyżej wymienionego. Troszeczkę w tym programie pozmieniałem ale nic to nie dało. Będę niezmiernie wdzięczny osobie która mi pomoże.
    pozdrawiam

    0
  • #7 30 Gru 2015 07:03
    emarcus
    Poziom 34  

    dziobi napisał:

    Problem polega na tym że pomimo ustawiania odpowiednich pinów i usunięcia obsługi przycisków nadal program nie działa. Nawet jakby tabela była zła to coś by się na wyświetlaczu zmieniało a tu nic same 8888.


    Twój 'przerobiony' program funkcjonuje w symulatorze tak samo jak rzeczywisty u ciebie naniesiony na AVT.Nie może być inaczej bo:
    Po pierwsze: nie ma odczytu temperatury z DS bo obslugę Ds masz skierowaną na inny port niż faktycznie podpięty układ do processora.
    Po drugie: wysterowanie anod wyświetlaczy masz na porcie B1....4, które prawie cały czas są wszystkie załączone; owszem są krótkie momenty że ktoryś jest wyłączony lecz z uwagi na multiplexing może to być nie zauważalne.
    Po trzecie:Podobna sytuacja jest z katodami, które sa sterowane z portu D; a i te obwody są w większości czasu załączone. Zatem układ wyświetla wszystkie segmenty na wszystkich wyświetlaczach, co w efekcie daje same ósemki i chyba wszystkie dp.
    Nic więcej ci tu nie dodam, bo musiałbym cały program tworzyć od podstaw pod twoj istniejący układ. A to w tym miejscu już jest twój projekt.

    e marcus

    0