Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Poszukuje ukladu Invertera na niskie napiecie (od 1,5V)

Toners 25 Jun 2012 15:23 6359 77
Altium Designer Computer Controls
  • #31
    Tomasz Gumny
    Level 28  
    W takim razie można się podłączyć dusiem wprost do wejścia zerującego a po jakimś czasie bez impulsów wystarczy go uśpić.
  • Altium Designer Computer Controls
  • #32
    dondu
    Moderator on vacation ...
    Toners wrote:
    generalnie to przyciskiem S1 wlaczasz uC ktory zlicza impulsy (na przerwaniach), gdy przestaje zliczac moze byc wylaczony tym samym przyciskiem, badz programowo (po jakim czasie), uklad chce zasili bateria 3V i zalezy mi na tym aby dzialal jak najdluzej na 1 baterii.

    Czy Twoje urządzenie, składa się tylko z mikrokontrolera i przycisku?
    Jeżeli nie to ponownie przeczytaj:

    dondu wrote:
    Skoro poruszasz temat usypiania, to napisz coś więcej o celu jaki chcesz osiągnąć i innych wytycznych, bo budowa urządzenia oszczędzającego energię na maksa, znacznie się różni od oszczędzającego "tak sobie".

    Chcesz osiągnąć nA, µA czy mA poboru prądu przez całe urządzenie w czasie snu?
    Więc opisz dokładnie całe urządzenie, a najlepiej pokaż schemat.
  • Altium Designer Computer Controls
  • #33
    drzasiek
    CNC specialists
    Pomysł z budzeniem resetem jest świetny.
    Schemat:
    Poszukuje ukladu Invertera na niskie napiecie (od 1,5V)

    I objaśnienie:

    Jeśli przycisk nie jest wciśnięty, RESET widzi VCC. Przy działającym programie PC0 ustawione jest jako wejście, rezystor 100k to zewnętrzny pull-down, czyli (PINC & 1) jest równe 0. Jeśli przycisk zostanie wciśnięty, reset widzi dzielnik napięcia z rezystorów 4k7 oraz 100k więc można przyjąć, że widzi niemalże VCC a więc się nie resetuje, natomiast (PINC & 1) jest równe 1. Oznacza to, że można przejsć do procedury wyłączania urządzenia, a więc wyłączamy WSIO, PC0 ustawiamy jako wyjście i wymuszamy poziom 0 a następnie usypiamy uC. Teraz po wciśnięciu przycisku, reset zostanie zwarty z GND poprzez PC0, a wiec uC się obudzi. Jeden przycisk usypie i budzi.
  • #34
    dondu
    Moderator on vacation ...
    Nie bardzo rozumie w jakim celu tak kombinować?
    Przecież wystarczy podłączyć przycisk pod INT.

    Toners wrote:
    czy da sie uC uspic/wybudzic przyciskiem (nie podlaczonym do INT, gdyz chce miec mozliwosc wylaczenia ukladu)?

    Przecież podłączony przycisk pod INT realizujący programowo funkcję wyłączenia, a sprzętowo włączenia, to żaden problem, a wytłuszczony argument jest nietrafiony.
  • #35
    User removed account
    User removed account  
  • #36
    drzasiek
    CNC specialists
    dondu -> Bo autor do INT0 oraz INT1 ma podłączoną jakąś tajemniczą czujkę i nie chce nic innego do tych nóg podłączać. Ale skoro czujka ma zgłaszać przerwania na INT0/1 noto wtedy byłby problem z odróżnieniem wciśnięcia klawisza od sygnału z czujki. Oczywiście odpowiednim algorytmem wszystko da się ominąć :)
    Ale podążając za pomysłem budzenia urządzenia resetem podałem prosty sposób.

    albertb -> Sam ukręciłeś sobie głowę :) Proponuję zawieszenie broni, nie przyznaję się iżbym wprowadził w błąd kogokolwiek twierdząc, że atmega8 może pracować od napięcia 2,7V, no bo może. (w wersjach L i A)

    Natomiast co do drugiego fragmentu, to przyznałem się, nie doczytałem i mogłem wprowadzić kogoś w błąd. Stąd dziękuję za zwrócenie uwagi.

    Co do rozładowania baterii, wszystko zależy od założeń i częstości użytkowania.
    Miernik indukcyjności który pokazałem w linku używam nie tak rzadko, a wciąż pracuje na pierwszej baterii (mniejszej niż autor projektu chce zastosować) którą założyłem w listopadzie.

    Ale cała ta teoria i tak jest przereklamowana, bo autor chce użyć LCD zasilanego napięciem 5V.
  • #37
    dondu
    Moderator on vacation ...
    drzasiek wrote:
    dondu -> Bo autor do INT0 oraz INT1 ma podłączoną jakąś tajemniczą czujkę i nie chce nic innego do tych nóg podłączać.

    Dlatego prosiłem autora, by pokazał schemat, bo coś czuję w kościach, czytając jego posty, że zabiera się do tego z niewłaściwej strony.
    Dobrze wiemy (ale autor chyba nie), że aby:

    Toners wrote:
    ... uklad chce zasili bateria 3V i zalezy mi na tym aby dzialal jak najdluzej na 1 baterii.

    trzeba spojrzeć na całość, a nie tylko na to jak uśpić i wybudzić mikrokontroler.
    Autor niestety nie odpowiada na moje prośby pomimo, że post widział.
  • #38
    User removed account
    User removed account  
  • #39
    gaskoin
    Level 38  
    Toners wrote:
    ... uklad chce zasili bateria 3V i zalezy mi na tym aby dzialal jak najdluzej na 1 baterii.


    To chyba znak, że trzeba użyć czegoś innego niż atmega. microchip energymicro albo TI idą w energooszczędność :)
  • #40
    Tomasz Gumny
    Level 28  
    W majowym numerze EP z bieżącego roku jest opis wielokanałowego miernika do układów lampowych. Całość jest zasilana z +5V z przetwornicy na MCP1640 pędzonej z 2 baterii R6. Pracuje też z jednego ogniwa (do ~0.9V), ale gdy to się rozładuje, pojawiają się problemy ze startem. Dla zminimalizowania poboru prądu procesor jest budzony co 0.5s przez WatchDoga, odczytuje kilka kanałów ADC, wysyła wyniki do modułu LCD i ponownie usypia (listing jest w artykule).
    Mając impulsy podłączone do INT0/1 można nimi budzić procesor tylko po to, żeby zwiększyć licznik(i). Reset od watchdoga co max 2 sekundy powodowałby tylko uaktualnienie LCD.
  • #41
    drzasiek
    CNC specialists
    A mi się wydaje, że to jednak Ty będziesz musiał przyznać, że z Twoją logiką coś nie teges :)

    Napisałem:
    drzasiek wrote:

    Kwadrat nie jest prostokątem? Napisałem, że atmega8 może pracować od 2,7V.


    Na to ty odpowiedziałeś:

    albertb wrote:

    Nie możesz napisać że prostokąt ma równe boki bo przecież kwadrat który jest prostokątem tak ma.


    I teraz pomyśl gdzie tu sens i logika?
    Skoro pisałem, że może a nie że atmega8 pracuje od napięcia 2,7V.

    Przez analogię, prostokąt może mieć równe boki, bo przecież kwadrat który jest prostokątem tak ma.

    Czyż to zdanie nie jest prawdziwe?

    A teraz na poważnie. Przez szacunek nie mam zamiaru się z Tobą kłócić o taką bzdurę.
    To, że nie każda Atmega8 może pracować od 2,7V wiedziałem, natomiast przyznałem że o ograniczeniu 8MHz dla m8a przy 2,7V nie doczytałem.
    Natomiast chciałem jedynie odpowiedzieć na zarzuty odnośnie mojej logiki.
    Przyznaję, nieprecyzyjnie sformułowałem wypowiedź.
    Ale skoro odwołujesz się do logiki podając kompletnie nielogiczny argument, musiałem odpowiedzieć, sorki :)
    Dlatego dzięki za zwrócenie uwagi, na przyszłość postaram się precyzyjniej formułować wypowiedzi.
  • #42
    Toners
    Level 11  
    niestaty schematu nie mam, jeszcze przed zalozeniem tego watku myslalem ze zrobie on/off przycisk na hex inverterze :)

    ten czujnik to po prostu enkoder na 5V, ktory wysyla impulsy na przerwania, procek w przerwaniach ink(dek)rementuje wartosc, ktora jest wyswietlana na wyswietlaczu.


    Quote:
    Mając impulsy podłączone do INT0/1 można nimi budzić procesor tylko po to, żeby zwiększyć licznik(i)
    ..takze ten watek jest ciekawy.

    Quote:
    Chcesz osiągnąć nA, µA czy mA poboru prądu przez całe urządzenie w czasie snu?


    im mniej tym lepiej, wiec jakie rozwiazanie daje najmniejszy pobor.
  • #43
    User removed account
    User removed account  
  • #44
    dondu
    Moderator on vacation ...
    Toners wrote:
    ten czujnik to po prostu enkoder na 5V, ktory wysyla impulsy na przerwania, procek w przerwaniach ink(dek)rementuje wartosc, ktora jest wyswietlana na wyswietlaczu.

    Czyli tak jak pisałem wcześniej zabierasz się do sprawy z niewłaściwej strony.
    Szkoda INT na takie cele.

    Trzeba planować odwrotnie. Najpierw najważniejsze sprawy, a później mniej istotne.
    Najważniejszą w tym wypadku jest rezerwacja jednego INT na przycisk usypiania i wybudzania procesora. A obsługa enkoderów programowo w przerwaniu z timera.

    Enkodery optyczne czy stykowe?
  • #45
    drzasiek
    CNC specialists
    albertb wrote:

    Rozwiązaniem zbliżonym do optymalnego pod kątem poboru mocy mógłby być procesor energooszczędny pracujacy od 1,8V i wyświetlacz LCD bez sterownika.
    Albert

    I nawet nie trzeba daleko szukać.
    Nawet ZAZNACZAM (NIEKTÓRE)AVR-ki pracują już od 1.6V.
  • #46
    Tomasz Gumny
    Level 28  
    dondu wrote:
    Enkodery optyczne czy stykowe?
    Skoro zasilane, to pewnie optyczne. Zapytałbym jeszcze:
    1. Ile jest enkoderów?
    2. Jaka jest max częstotliwość przebiegu z enkodera?
    3. Jaki prąd pobierają enkodery z 5V?
  • #47
    Toners
    Level 11  
    nie bardzo rozumiem ta obsługa enkoderów programowo w przerwaniu z timera?
    Enkoderem jest czujnik pola magnetycznego (czujnik Halla)


    Quote:
    Rozwiązaniem zbliżonym do optymalnego pod kątem poboru mocy mógłby być procesor energooszczędny pracujacy od 1,8V i wyświetlacz LCD bez sterownika

    ...wiem, ale wole cos co ma sterownik i gotowa biblioteke

    Quote:
    1. Ile jest enkoderów?
    2. Jaka jest max częstotliwość przebiegu z enkodera?
    3. Jaki prąd pobierają enkodery z 5V?


    1 enkoder AS5304
  • #48
    Tomasz Gumny
    Level 28  
    Toners wrote:
    nie bardzo rozumiem ta obsługa enkoderów programowo w przerwaniu z timera?
    Traktujesz wyjścia enkodera jak przyciski, czyli np. wielokrotnie próbkujesz, co pozwala na odfiltrowanie drgań styków. Program interpretuje zmiany już przefiltrowanych wyjść (11, 01, 00, 10).

    40mA @ 5V! Raczej zapomnij o baterii. Chyba, że będziesz załączał zasilanie enkodera na chwilę co pewien czas, ale wtedy stracisz pozycję.
  • #49
    User removed account
    User removed account  
  • #50
    dondu
    Moderator on vacation ...
    Tomasz Gumny wrote:
    Skoro zasilane, to pewnie optyczne.

    A jednak obu nas zaskoczył, czujnikami Halla :)

    Toners wrote:
    nie bardzo rozumiem ta obsługa enkoderów programowo w przerwaniu z timera?

    To proste. Ustawiasz timer do generowania przerwania. W przerwaniu programowo sprawdzasz wejścia enkoderów i stwierdzasz zmianę stanów, kierunek obrotów.
  • #51
    Toners
    Level 11  
    filtrowac nie musze bo mam 2 kanaly i gdy 1 ma stan wysoki to porownuje z drugim i w zaleznosci od stanu drugiego kanalu jest i++/i--

    W takim razie jaki enkoder polecacie ktory pobiera jak najmniej pradu ?
  • #52
    LordBlick
    VIP Meritorious for electroda.pl
    Co do INT, to myślę, że Atmega8 przecz, i dajemy Atmega88A(z obniżonym poborem energii). Pin change na każdym pinie do enkodera i tym sposobem INT do wybudzania jest luzem. Jeśli układ pracuje w obszarze zakłóceń elektromagnetycznych(zwłaszcza w pobliżu silników trójfazowych), to bym się zastanowił nad dodatkowym zasilaniem z... anteny. ;)
  • #53
    drzasiek
    CNC specialists
    albertb wrote:
    No i walczysz o uA a czujnik pobiera 40mA ;-(

    40 mA to on pobiera przy zasilaniu 5V.
    Dodatkowo kilkanaście mA uC i kilka-kilkanaśnie na LCD.
    Z bateryjki przez przetwornicę, przy założeniu optymistycznie sprawności ok 91% z dokumentacji toto będzie żarło ze 100 mA (nie liczę) na full baterii. W miarę rozładowania więcej, więc długo toto nie pociągnie.
  • #54
    dondu
    Moderator on vacation ...
    LordBlick wrote:
    Co do INT, to myślę, że Atmega8 przecz, i dajemy Atmega88A(z obniżonym poborem energii). Pin change na każdym pinie do enkodera i tym sposobem INT do wybudzania jest luzem.

    I to jest właściwe rozwiązanie, a cena mikrokontrolera niewiele większa.
    A jeżeli może być inny producent, to pomyśl o PIC'ach.
  • #55
    gaskoin
    Level 38  
    Pobór energii (a także inne rzeczy, jak np: wykorzystanie RAM, CPU, czy cokolwiek innego) optymalizuje się w miejscu gdzie jest on największy. Twój czujnik je jak smok a Ty usypiasz procesor z myślą o zaoszczędzonej energii :) To tak jak kupując co miesiąc samochód i paczkę paluszków, zrezygnowałbyś z paczki paluszków, chcąc dokonać oszczędności. Zmniejsz samochód albo wymień go na rower :)
  • #56
    Tomasz Gumny
    Level 28  
    Toners wrote:
    filtrowac nie musze bo mam 2 kanaly i gdy 1 ma stan wysoki to porownuje z drugim i w zaleznosci od stanu drugiego kanalu jest i++/i--
    Jeśli przy zmianie stanu pojawią się zakłócenia, to procesor może zliczyć dziesiątki lub setki impulsów na jednym zboczu. Takie problemy występują w enkoderach mechanicznych. W optycznych raczej tego problemu nie ma. W halotronowych zapewne również nie.
    Toners wrote:
    W takim razie jaki enkoder polecacie ktory pobiera jak najmniej pradu ?
    W jakim zastosowaniu?
  • #57
    dondu
    Moderator on vacation ...
    Toners wrote:
    Jesli chodzi o zastosowanie to pomiar odleglosci, wezmy np taka sowmiarke chinska ..kupilem pare lat temu i do dzisiaj nie wymienilem baterii (fakt ze niewiele uzywam) - wyglada na ekonomiczna, jaki tsm jrdt enkoder ?

    Podsumuję cały ten temat ciągnący się już 2 strony:
    Nie przedstawiasz dokładnie założeń, a oczekujesz pomocy z najdrobniejszych aspektach. Poproszę więc po raz trzeci, ale dokładniej:

    1. opisz dokładnie, co projektujesz,
    2. jakie są założenia techniczne (parametry i funkcjonalności),
    3. jakie elementy chcesz użyć wraz z typami,
    4. zrób wstępny schemat (może być blokowy).

    Bez tego szkoda czasu (przynajmniej mnie) na ciągnięcie Ciebie za język.

    A przy okazji poczytaj to: http://mikrokontrolery.blogspot.com/2011/01/bateria-zasila-mikrokontroler-czesc-1.html
  • #59
    tmf
    Moderator of Microcontroller designs
    Tomasz Gumny wrote:
    Toners wrote:
    filtrowac nie musze bo mam 2 kanaly i gdy 1 ma stan wysoki to porownuje z drugim i w zaleznosci od stanu drugiego kanalu jest i++/i--
    Jeśli przy zmianie stanu pojawią się zakłócenia, to procesor może zliczyć dziesiątki lub setki impulsów na jednym zboczu. Takie problemy występują w enkoderach mechanicznych. W optycznych raczej tego problemu nie ma. W halotronowych zapewne również nie.
    Toners wrote:
    W takim razie jaki enkoder polecacie ktory pobiera jak najmniej pradu ?
    W jakim zastosowaniu?


    Niekoniecznie. Dobrze napisany program dekodowania kodu Graya z enkodera nie będzie zliczał śmieci, przez moment co najwyżej wartość impulsów będzie oscylowała wokół +/-1 aż ustali się prawidłowa.
  • #60
    Tomasz Gumny
    Level 28  
    tmf wrote:
    [...]Dobrze napisany program dekodowania kodu Graya z enkodera nie będzie zliczał śmieci
    Zgoda, ale coś mi się wydaje, że rozdzielczość będzie kilkukrotnie mniejsza od możliwej do uzyskania.