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

AT90USB1286 Zasilanie z 3.3V

qwqwqw2 28 Gru 2014 13:43 924 17
  • #1 28 Gru 2014 13:43
    qwqwqw2
    Poziom 6  

    Witam.
    Posiadam płytkę Teensy 2.0++ z mikrokontrolerem AT90USB1286 i nie mogę jej uruchomić z zasilaniem 3.3V.
    Ogólnie sprawa wygląda prosto - wg. instrukcji na stronie producenta pjrc.com przeciąć ścieżkę 5V i połączyć zworkę na 3V, niestety na 3V mikrokontroler nie wstaje, a regulowany zasilacz wskazuje 0.00A poboru prądu.
    Mikrokontroler zaczyna działać dopiero od 3.5V, co jest dziwne bo ponoć ma działać od 2.7V.
    Schemat
    AT90USB1286 Zasilanie z 3.3V
    Z góry dziękuję za pomoc.

    1 17
  • Relpol
  • #2 28 Gru 2014 14:09
    dondu
    Moderator Mikrokontrolery Projektowanie

    W którym dokładnie miejscu przeciąłeś ścieżkę?

    Generalnie układ jest nieprawidłowo (według mnie) zaprojektowany - patrz kondensatory filtrujące w dolnym lewym rogu, które są podłączone do +5V zamiast do odpowiednich pinów VCC mikrokontrolera.

    0
  • #3 28 Gru 2014 14:26
    qwqwqw2
    Poziom 6  

    Faktycznie, układ jest daleki od ideału, wyprowadzenie +5 robi tu za wejście 3.3V
    Ścieżkę przeciąłem w ten sposób
    AT90USB1286 Zasilanie z 3.3V
    Niestety nie mogę dodawać linków, ale za pomocą google można trafić na ten poradnik "Using External Power and USB site:pjrc.com"
    Na stronce "Option #1"

    0
  • #5 28 Gru 2014 14:49
    qwqwqw2
    Poziom 6  

    Właśnie o tym myślałem, ale okazuje się że wsad którego używam ustawia zegar na 8MHz, a wg. dokumentacji mikrokontroler jest ustawiony do startu na 2MHz, nie mam pojęcia dlaczego to nie działa.
    Link

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • Relpol
  • #6 28 Gru 2014 14:52
    excray
    Poziom 39  

    Witam. Jeszcze jest wiszący w powietrzu RESET.

    0
  • #8 28 Gru 2014 15:04
    qwqwqw2
    Poziom 6  

    Próbowałem reset na sztywno do VCC, nic nie daje, próbowałem też program w Arduino (tam można ustawić 8 lub 16MHz), nie w zwykłym C z GCC, jak program wyżej, niestety to samo. Układ nawet nie zaczyna działać, nie pobiera wogóle prądu - na zasilaczu mam 0.000A, czasem 0,001A, a gdy przykręcę zasilaniem akurat na 3.5V, prąd wskakuje na 0,021A i program śmiga, dziwne.

    0
  • #9 28 Gru 2014 15:09
    vania
    Poziom 22  

    qwqwqw2 napisał:
    Próbowałem reset na sztywno do VCC, nic nie daje, próbowałem też program w Arduino (tam można ustawić 8 lub 16MHz), nie w zwykłym C z GCC, jak program wyżej, niestety to samo. Układ nawet nie zaczyna działać, nie pobiera wogóle prądu - na zasilaczu mam 0.000A, czasem 0,001A, a gdy przykręcę zasilaniem akurat na 3.5V, prąd wskakuje na 0,021A i program śmiga, dziwne.


    Sprawdź jeszcze fuse bity. Może problem leży w ustawieniach BOD.

    0
  • #10 28 Gru 2014 15:16
    qwqwqw2
    Poziom 6  

    Dobry pomysł, niestety w Teensy nie da się ustawić fusebitów

    Cytat:
    Do NOT attempt to change the fuses. If you connect an ISP programmer, you'll almost certainly destroy the bootloader. PJRC doesn't distribute that code, so this effectively ruins the board.

    I always say that first, because it's so important. Again, DO NOT ATTEMPT TO CHANGE THE FUSES. I know you're doing something else... but for anyone who finds this thread looking for Teensy's fuse setting info, this warning is important. Don't connect an ISP programmer, as it will only cause a lot of grief.

    The fuses CPU speed setting is merely an initial value for the clock prescaler. You can easily change the clock speed at the beginning of your program. There's no need to change the fuses. The fuses cause the CPU speed to start at 2 MHz, which allows Teensy 2.0 to boot up and run at lower voltages where 16 MHz isn't officially supported (but probably works anyway). Every C language example PJRC distributes, as well as every program built with Teensyduino, configures the CPU speed at startup, so the value in the fuses is only used for a very brief moment as the chip boots up.

    Now, with all that warning and disclaimer stuff out of the way, here's the fuse settings used on Teensy 2.0:

    Code:
    Code:
    #define FUSE_MSB        0b11011111    // pg 350, bootloader, 512 bytes, using HWB
    
    #define FUSE_LSB        0b01011111    // pg 350, pg29 (8-16 MHz xtal), pg 31
    #define FUSE_EXT        0b11110100    // pg 349, pg 51 (2.4V), HWB enabled
    #define LOCK_BITS       0b11001100    // protected

    0
  • #11 28 Gru 2014 15:32
    dondu
    Moderator Mikrokontrolery Projektowanie

    BOD jest wyłączony:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    qwqwqw2 napisał:
    Układ nawet nie zaczyna działać, nie pobiera wogóle prądu - na zasilaczu mam 0.000A, czasem 0,001A, a gdy przykręcę zasilaniem akurat na 3.5V, prąd wskakuje na 0,021A i program śmiga, dziwne.

    To właśnie sugeruje fakt, że zegar taktujący mikrokontroler stoi, a to prawdopodobnie związane jest z tym o czym pisałem wyżej.

    0
  • #12 28 Gru 2014 15:38
    qwqwqw2
    Poziom 6  

    Chyba tylko to zostało, pewnie faktycznie zegar stoi. Próbowałem, skompilowałem przykład pod Arduino miganie diodą, zaznaczyłem 8MHz, to samo.

    0
  • #14 28 Gru 2014 15:48
    qwqwqw2
    Poziom 6  

    Niestety z tego co wyczytałem Link nie można zmieniać fusebitów, dziwne bo rok temu już raz używałem tego programu i działał bez problemu.

    0
  • #15 28 Gru 2014 15:54
    dondu
    Moderator Mikrokontrolery Projektowanie

    Masz dostępne piny SCK, PDI oraz PDO możesz więc programować, co zechcesz, ale musisz mieć programator.
    Możesz więc odczytać aktualne ustawienie fusebitów, ustawić nowe, przeprowadzić próby i ponownie ustawić wcześniej odczytane fusebity.

    0
  • #16 28 Gru 2014 16:08
    qwqwqw2
    Poziom 6  

    Niestety nie posiadam programatora do AVR, ogólnie sprawa jest dziwna, pamiętam raz używałem jej w takiej konfiguracji i normalnie działało, a wg. producenta układ powinien działać od 2.7V, producent odradza zmiany fusebitów, po zakupie płytka przyjeżdża z wgranym bootloaderem i ustawionymi fusami. Ogólnie boję się kombinować ze względu na ten bootloader bo nie można go nigdzie ściągnąć, a jak coś to płytka do kosza, a nowa to prawie 40$ i to tylko z USA :/

    0
  • #17 28 Gru 2014 16:12
    dondu
    Moderator Mikrokontrolery Projektowanie

    Brak dostępu do bootloadera, to oczywiście jest przeszkoda nie do pokonania jeżeli układ jest zabezpieczony, a tak właśnie jest.

    Pozostaje Ci napisać pytania do producenta, jak rozumieć ograniczenia napięcia vs częstotliwość vs Twój przypadek.

    0
  • #18 28 Gru 2014 19:49
    qwqwqw2
    Poziom 6  

    OK, pozostaje mi czekać.

    Dodano po 1 [godziny] 46 [minuty]:

    Zrobiłem jeszcze jeden eksperyment. Napisałem prosty program do migania diodą, układ przekonfigurowywuje się na częstotliwość 2MHz, a ja zmieniam napięcie na niższe, niestety jeśli zejdę z 3.5V na 3.4V po prostu wszystko się wyłącza.
    Może coś nie tak z tym jumperkiem?

    Dodano po 1 [godziny] 37 [minuty]:

    Problem rozwiązany - jeśli dzieją się niewytłumaczalne rzeczy to znaczy że są gdzieś zimne luty, reflow z fluxem rozwiązał problem.
    Dziękuję wszystkim za pomoc.

    0