eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Digispark i USB - u kogoś działa?
Ilość wypowiedzi w tym wątku: 12

  • 1. Data: 2019-05-01 23:26:12
    Temat: Digispark i USB - u kogoś działa?
    Od: Atlantis <m...@w...pl>

    Podczas zakupów w sklepie elektronicznym z ciekawości kupiłem dwie
    płytki Digispark (takie jak ta: https://allegro.pl/oferta/6766868826).
    Przyznam, że początkowo byłem przekonany, że siedzi tam jakiś mały
    mikrokontroler ze sprzętowym modułem USB - na coś takiego wskazywałaby w
    końcu forma płytki. Tymczasem nie - jak się okazuje jest to zwyczajne
    Attiny85, korzystające z biblioteki VUSB, której kiedyś używało się z
    AVR-ami, zanim upowszechniły się układy zapewniające sprzętową obsługę USB.

    Zmuszenie płytek do pracy okazało się nieco bardziej skomplikowane, niż
    mi się wydawało. Po pierwsze nie posiadały one wgranego bootloadera,
    więc w grę wchodziło jedynie programowanie przez ISP. Zgodnie z sugestią
    znalezioną w Sieci wgrałem bootloader micronucleus, z którego korzysta
    Arduno (po dodaniu definicji tych płytek). To jednak nie wszystko - pin
    reset w projekcie płytki jest przewidziany jako GPIO, trzeba więc albo
    dodać brakujący rezystor do VCC, albo wyłączyć ten pin za pomocą fusebita.

    Generalnie jestem rozczarowany pracą płytki w roli urządzenia USB:
    - Przykład z klawiaturą HID działa przez chwilę. Potem przestaje.
    - Przykład z CDC przez chwilę odbiera dane, potem połączenie zostaje
    zerwane.
    - dmesg pokazuje w tych momentach sporo błędów związanych z USB,
    zakończonych informacją :Failed to enumerate".

    Da się to jakoś obejść, czy te płytki po prostu nie nadają się na
    stabilne urządzenie USB i lepiej zastosować coś ze sprzętową obsługą tej
    magistrali, choćby Arduino Leonardo/Pro Micro?


  • 2. Data: 2019-05-01 23:56:54
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: Zbych <a...@o...pl>

    Atlantis wrote on 01.05.2019 23:26:
    > Podczas zakupów w sklepie elektronicznym z ciekawości kupiłem dwie
    > płytki Digispark (takie jak ta: https://allegro.pl/oferta/6766868826).
    > Przyznam, że początkowo byłem przekonany, że siedzi tam jakiś mały
    > mikrokontroler ze sprzętowym modułem USB - na coś takiego wskazywałaby w
    > końcu forma płytki. Tymczasem nie - jak się okazuje jest to zwyczajne
    > Attiny85, korzystające z biblioteki VUSB, której kiedyś używało się z
    > AVR-ami, zanim upowszechniły się układy zapewniające sprzętową obsługę USB.
    >
    > Zmuszenie płytek do pracy okazało się nieco bardziej skomplikowane, niż
    > mi się wydawało. Po pierwsze nie posiadały one wgranego bootloadera,
    > więc w grę wchodziło jedynie programowanie przez ISP. Zgodnie z sugestią
    > znalezioną w Sieci wgrałem bootloader micronucleus, z którego korzysta
    > Arduno (po dodaniu definicji tych płytek). To jednak nie wszystko - pin
    > reset w projekcie płytki jest przewidziany jako GPIO, trzeba więc albo
    > dodać brakujący rezystor do VCC, albo wyłączyć ten pin za pomocą fusebita.
    >
    > Generalnie jestem rozczarowany pracą płytki w roli urządzenia USB:
    > - Przykład z klawiaturą HID działa przez chwilę. Potem przestaje.
    > - Przykład z CDC przez chwilę odbiera dane, potem połączenie zostaje
    > zerwane.
    > - dmesg pokazuje w tych momentach sporo błędów związanych z USB,
    > zakończonych informacją :Failed to enumerate".
    >
    > Da się to jakoś obejść, czy te płytki po prostu nie nadają się na
    > stabilne urządzenie USB i lepiej zastosować coś ze sprzętową obsługą tej
    > magistrali, choćby Arduino Leonardo/Pro Micro?

    Wbudowany generator RC ATTiny85 ma rozrzut +/- 10%, strona 164:
    http://ww1.microchip.com/downloads/en/DeviceDoc/Atme
    l-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-A
    Ttiny85_Datasheet.pdf

    USB wymaga przy prędkości 1,5Mb/s dokładności lepszej niż 1,5%. Może to
    jest przyczyną? Spróbuj skalibrować zegar:

    https://github.com/pepaslabs/CalibrateATtiny85OSCCAL


  • 3. Data: 2019-05-02 11:52:26
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: ww <w...@o...pl>

    W dniu 2019-05-01 o 23:26, Atlantis pisze:
    > Zmuszenie płytek do pracy okazało się nieco bardziej skomplikowane, niż
    > mi się wydawało. Po pierwsze nie posiadały one wgranego bootloadera,
    > więc w grę wchodziło jedynie programowanie przez ISP. Zgodnie z sugestią
    > znalezioną w Sieci wgrałem bootloader micronucleus, z którego korzysta
    > Arduno (po dodaniu definicji tych płytek). To jednak nie wszystko - pin
    > reset w projekcie płytki jest przewidziany jako GPIO, trzeba więc albo
    > dodać brakujący rezystor do VCC, albo wyłączyć ten pin za pomocą fusebita.
    >
    >
    > Da się to jakoś obejść, czy te płytki po prostu nie nadają się na
    > stabilne urządzenie USB i lepiej zastosować coś ze sprzętową obsługą tej
    > magistrali, choćby Arduino Leonardo/Pro Micro?

    U mnie to działa i nie wgrywałem żadnego bootloadera (bo już był).
    Testowałem tylko tryb CDC. Rewelacyjnie stabilne to nie jest (w
    porównaniu z rozwiązaniami sprzętowymi) ale da się używać do
    przesłania niewielkich ilości danych. Nowsze wersje tych attiny mają
    dodatkowo stabilniejszy generator i tam to działało jeszcze lepiej.

    A że lepiej sprzętowe USB to chyba oczywiste.


  • 4. Data: 2019-05-02 11:56:01
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: ToMasz <N...@o...pl>

    > Generalnie jestem rozczarowany pracą płytki w roli urządzenia USB:

    ja robię bardzo proste urządzenia na arduino nano i też chciałem
    próbować na mniejszym - sparku. na 3 projekty jeden działa. A nie były
    to prototypy tylko przeniesienie z nano na mniejszy wymiar. dałem sobie
    spokój

    ToMasz

    ps na YT great scott przerabiał, dorabiał jakieś sterowanie, pad,
    joystick na usb. może jego film będzie dla Ciebie pomocny?


  • 5. Data: 2019-05-02 12:32:10
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: cezar <c...@t...pl.nospam>

    On 02/05/2019 10:56, ToMasz wrote:
    >> Generalnie jestem rozczarowany pracą płytki w roli urządzenia USB:
    >
    > ja robię bardzo proste urządzenia na arduino nano i też chciałem
    > próbować na mniejszym - sparku. na 3 projekty jeden działa. A nie były
    > to prototypy tylko przeniesienie z nano na mniejszy wymiar. dałem sobie
    > spokój
    >
    > ToMasz
    >
    > ps na YT great scott przerabiał, dorabiał jakieś sterowanie, pad,
    > joystick na usb. może jego film będzie dla Ciebie pomocny?

    on chyba uzyl teensy

    Ja bym spojrzal na jakis lepszy MCU atmela z USB np: ATmega32U4

    https://www.mouser.co.uk/new/microchip/Atmel-atmega3
    2/


    https://www.sparkfun.com/tutorials/337



  • 6. Data: 2019-05-02 17:02:42
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: Atlantis <m...@w...pl>

    On 02.05.2019 11:52, ww wrote:

    > U mnie to działa i nie wgrywałem żadnego bootloadera (bo już był).
    > Testowałem tylko tryb CDC. Rewelacyjnie stabilne to nie jest (w
    > porównaniu z rozwiązaniami sprzętowymi) ale da się używać do
    > przesłania niewielkich ilości danych. Nowsze wersje tych attiny mają
    > dodatkowo stabilniejszy generator i tam to działało jeszcze lepiej.

    Problem polega na tym, że u mnie miała to być część większego projektu.
    Na mikrokontrolerze chciałem zrobić dedykowane sterowane (kilka
    przycisków, enkoder), które gadałoby z procesem na komputerze.
    Pierwotnie planowałem zrobić to na jakimś Arduino i przepychać dane
    serialem. Potem pojawił się pomysł zrealizowania tego na Leonardo/Pro
    Micro w formie interfejsu HID.

    Kod po stronie mikrokontrolera jest bardzo prosty, więc kiedy odkryłem
    te Digisparki pomyślałem, że będą się one idealnie do tego nadawały.
    Problem w tym, że gdyby się miało okazać, że sterownik będzie przez
    kilka minut działał, a potem przez kilkanaście nie, to "trochę" mija się
    to z celem. ;)


  • 7. Data: 2019-05-02 17:53:08
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: Atlantis <m...@w...pl>

    On 02.05.2019 12:32, cezar wrote:

    > Ja bym spojrzal na jakis lepszy MCU atmela z USB np:  ATmega32U4

    Ten układ jest właśnie używany w Arduino Leonardo/Pro Micro. Początkowo
    planowałem właśnie wykorzystać tę płytkę, jednak (biorąc pod uwagę
    minimalną ilość kodu po stronie MCU) te Digisparki mnie zaciekawiły.
    Jeśli jednak nie uda się na nich osiągnąć sensownej stabilności, to mija
    się to z celem...

    Tak naprawdę problemem nie jest dostępność układów, bo prawie każdy
    współczesny 32bitowy mikrokontroler ma co najmniej moduł USB device.
    Sądziłem po prostu, że skoro te Digisparki mają formę płytki wkładanej w
    port USB, to zostały zaprojektowany z myślą o takich zastosowaniach i
    będą się w nich sprawdzały.


  • 8. Data: 2019-05-02 17:57:12
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: ww <w...@o...pl>

    W dniu 2019-05-02 o 17:02, Atlantis pisze:
    > ga na tym, że u mnie miała to być część większego projektu.
    > Na mikrokontrolerze chciałem zrobić dedykowane sterowane (kilka
    > przycisków, enkoder), które gadałoby z procesem na komputerze.
    > Pierwotnie planowałem zrobić to na jakimś Arduino i przepychać dane
    > serialem. Potem pojawił się pomysł zrealizowania tego na Leonardo/Pro
    > Micro w formie interfejsu HID.
    >
    > Kod po stronie mikrokontrolera jest bardzo prosty, więc kiedy odkryłem
    > te Digisparki pomyślałem, że będą się one idealnie do tego nadawały.
    > Problem w tym, że gdyby się miało okazać, że sterownik będzie przez
    > kilka minut działał, a potem przez kilkanaście nie, to "trochę" mija się
    > to z celem. ;)

    U mnie właśnie kilka tak prostych urządzeń działa. Ale zdarzało się np,
    że z jakimś konkretnym hubem nie chciało działać. A teraz np podpiąłem
    do WIN10 i mam błąd "żądanie deskryptora nie powiodło się". Do tej pory
    korzystałem z WIN7 i tam działało bez problemu. Ale zdarzało się, że
    np przez jakiś konkretny hub komputer tego nie wykrywał.

    Lepiej chyba jednak użyć dedykowanych rozwiązań a takie cuda traktować
    jako czysty eksperyment.


  • 9. Data: 2019-05-02 18:17:04
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: Mirek <m...@n...dev>

    On 02.05.2019 17:53, Atlantis wrote:

    > Sądziłem po prostu, że skoro te Digisparki mają formę płytki wkładanej w
    > port USB, to zostały zaprojektowany z myślą o takich zastosowaniach i
    > będą się w nich sprawdzały.
    >

    To raczej z myślą o programowaniu dla mocno niezaawansowanych, którzy
    nie mają nawet programatora... z resztą po co kupować i wlutowywać
    złącze do programowania jak można narysować złącze USB ;)

    --
    Mirek.


  • 10. Data: 2019-05-02 19:11:18
    Temat: Re: Digispark i USB - u kogoś działa?
    Od: Atlantis <m...@w...pl>

    On 02.05.2019 18:17, Mirek wrote:

    > To raczej z myślą o programowaniu dla mocno niezaawansowanych, którzy
    > nie mają nawet programatora... z resztą po co kupować i wlutowywać
    > złącze do programowania jak można narysować złącze USB ;)

    Tyle tylko, że właśnie taka filozofia leżała u podstaw projektu Arduino.
    Niby zwykła płytka z Atmegą, niby można to zaprogramować przez ISP, ale
    przeciętny użytkownik nie musi o tym nawet wiedzieć, bo podpina płytkę
    do kabla USB i programuje przez bootloader.

    Forma płytki wkładanej do portu USB wskazuje jednak na dość specyficzne
    zastosowanie. Zastosowanie w którym ta płytka zdaje się sobie nie radzić. :)

    Spróbuję jeszcze kalibracji, jednak nie obiecuję sobie nie wiadomo
    czego. Chyba wrócę do pomysłu wykorzystania standardowych płytek Arduino.

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: