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.

[atmega8][C] - Projekt minutnika do sprawdzenia.

pbuhne 16 Lut 2013 20:13 1998 9
  • #1 16 Lut 2013 20:13
    pbuhne
    Poziom 14  

    Witam,

    chciałbym zaprezentować schemat wykonany w Eagle'u i poprosić o sprawdzenie.

    Schemat przedstawia minutnik, który:
    - będzie zasilany z baterii 2 x AAA,
    - sterowany jedynie enkoderem obrotowym,
    - posiadał 3 cyfrowy wyświetlacz 7-seg ( będzie on tylko chwilowo pracował),
    - sygnalizował koniec odliczania buzerem,
    - miał możliwość późniejszego przeprogramowania bez otwierania obudowy,
    - pracował w trybach power-save oraz power-down,
    - zegar 1MHz.

    Wykonam go na procku mega8A - takie akurat mam.

    Prosiłbym w szczególności o sprawdzenie części analogowej - tranzystorów.

    Co do potencjalnych pytań:
    - ADC nie będzie używane,
    - Enkoder nieprzypadkowo jest podłączony pod INT0 i 1, ale nie będzie obsługiwany na zasadzie przerwań - przerwania te maja na celu wybudzanie z power down,
    - dioda LED nie wiem do końca czy i jak będzie używana, być może jedynie do błyśnięcia co parę sekund - jako wskaźnik pracy,
    - buzer - taki już mam - będzie generowany z PWM'a,
    - kwarc jest tu dla TIMERA,

    Całość planuję wykonać na płytce zrobionej samodzielnie.

    Jest to mój pierwszy projekt (nie licząc pająka i prototypu) któremu chciałbym nadać jakiś kształt.

    [atmega8][C] - Projekt minutnika do sprawdzenia.

    0 9
  • #2 16 Lut 2013 20:28
    BlueDraco
    Specjalista - Mikrokontrolery

    Odwrotnie podłączyłeś tranzystory sterujące wyświetlaczem. Rezystory wyświetlaczy chyba ciut za duże na multipleks i to napięcie - dałbym max. 47R. Dioda LED tak nie zaświeci. Rezystory przy enkoderze zbędne.

    0
  • #3 16 Lut 2013 20:34
    tmf
    Moderator Mikrokontrolery Projektowanie

    1. Rezystory szeregowo z enkoderem są niepotrzebne. Jeśli już to powinny być jako pullupy (wewnętrzne mają koło 50 k i czasai to za dużo),
    2. Nie masz kondensatorów przy kwarcu - niby można je włączyć programowo, ale lepiej dać zewnętrzne dla świętego spokoju,
    3. Rezystor 5,1 k z resetu do Vcc to za mało, niektóre programatory mogą mieć z tym problem, lepiej dać 10k lub sobie odpuścić,
    4. Musisz przemyśleć kwestię zasilania. Baterie w miarę zużycia będą dawać co raz niższe napięcie, nówki dadzą ci zaledwie 3V, rozładowane koło 2,2V i mniej, raz, że wyświetlacz będzie świecił różnie, dwa, że będzie problem, żeby całą pojemność baterii wykorzystać. Przemyśl czy nie dać przetwornicy impulsowej, która umożliwi ci wydrenowanie baterii do końca. To oczywiście komplikuje układ, ale jednocześnie staje się on atrakcyjniejszy. Można też dać przetwornicę umożliwiającą np. ładowanie aku LiIon, dzięki czemu nie trzeba wymieniać baterii, tylko w celu ładowania wkądasz np. do USB - powoli nawet sprzęt kuchenny ma taki port :) Taką przetwornicą dwa w jednym jest np. LTC1980, zresztą ta firma ma w ofercie wiele fajnych przetwornic.
    5. Warto też pomyśleć, żeby dla oszczędności energii sterować LED przez PWM, wtedy zmniejszasz znacznie rezystory szeregowe (mniejsze straty), a sterujesz np. z duty cycle 10-20%, więc masz prawie 5 krotną oszczędność energii, a LED to będzie główny prądożerca.

    0
  • #4 16 Lut 2013 20:34
    Raphaw
    Poziom 20  

    1. Tranzystory źle podłączone - odwrotnie kolektor i emiter
    2. Dioda nie zaświeci- katodę podłącz do masy
    3. Kondensatory do kwarcu, jeśli już się na niego upierasz - można by bez, ew wykorzystać timer 2 w trybie Real Time Counter i dać kwarc zegarkowy
    4. Na reset 10 k

    0
  • #5 16 Lut 2013 20:35
    tmf
    Moderator Mikrokontrolery Projektowanie

    6. Wymień starą Mega8 na coś nowszego, uzyskasz znaczne zmniejszenie pobieranej mocy, chociaż przy taktowaniu 32 K to może nie mieć wielkiego znaczenia.
    7. Przy okazji może zmnienić LED na LCD i wsadzić AVRa z interfejsem do LCD? Takie z cyframi są proste, tanie, prawie nie zużywają energii, jak AVR ma interfejs do LCD to żadne elementy zewnętrzne nie są potrzebne.

    0
  • #6 16 Lut 2013 21:08
    pbuhne
    Poziom 14  

    Zmieniłem:
    - podłączenie tranzystorów i diody led ( często mi się myli kierunek )
    - rezystory segmentów na 47
    - rezystor resetu na 10k,
    - usunąłem rezystory enkodera.
    - rezystor diody z 1,1k na 330

    Co do kwarcu - jest to kwarc 32 768 zegarkowy, kondensatory wewnętrzne, napędza on tylko Timer, całość natomiast działa na wewnętrznym oscylatorze - 1MHz. Mam działającego pajączka.

    LEDy w 7-seg nie będą działały cały czas, wyświetlą jedynie wartość w trakcie ustawiania oraz w czasie ręcznego sprawdzenia - w obu przypadkach max 2-3 sek.

    LTC1980 - poszukam i przyjrzę się temu, a czy jest jakaś popularna i łatwo dostępna alternatywa?

    Wymiana Mega8A na coś innego - na razie nie wchodzi w rachubę, bo po prostu mam 3 takie klocki ( i tylko takie ;) ) i coś na początek trzeba z nimi zrobić.


    Poprawiony schemat:
    [atmega8][C] - Projekt minutnika do sprawdzenia.

    0
  • #7 16 Lut 2013 21:15
    BlueDraco
    Specjalista - Mikrokontrolery

    Jeśli ten kwarc ma jakieś kondensatory w środku, to użyłeś złego symbolu na schemacie i złego elementu w projekcie płytki, bo musi być jakież podłączenie tych kondensatorów do masy. Dioda z rezystorem 1k1 ledwie zaświeci przy tym napięciu - potrzeba 150..300R.

    0
  • #8 16 Lut 2013 21:23
    pbuhne
    Poziom 14  

    Napisałem nieco pokrętnie, kondensatory wewnętrzne - owszem ale Atmegi, nie kwarcu.

    Na diodę dam 330.

    0
  • #9 16 Lut 2013 22:05
    Raphaw
    Poziom 20  

    Można by jeszcze pomyśleć o zabezpieczeniu przeciwko odwrotnej polaryzacji napięcia zasilającego.

    0
  • #10 16 Lut 2013 22:07
    BlueDraco
    Specjalista - Mikrokontrolery

    Przy tym napięciu to tylko MOSFET.

    0