Amanduino – klon Arduino

Wprowadzenie

Początkowo zainteresowany samym projektem Arduino postanowiłem stworzyć jego klona. Tak zrodziło się Amanduino. Amanduino jest bardziej rozbudowane niż jego pierwowzór Arduino Duemilanove, a jednocześnie mniejsze!

Możliwości

  • ATmega328 – wydajny procesor (zegar 16MHz)
    • 30kB na program użytkownika
    • 2kB pamięci wykonywalnej RAM
    • 1kB pamięci zapisywalnej EEPROM
    • sześć 10-bitowych przetworników analogowo-cyfrowych
    • 14 cyfrowych pinów (wejście/wyjście)
      • jeden port szeregowy (UART)
      • 6 pinów z modulacją PWM
    • magistrala I2C
  • DS1307 – wbudowany zegar czasu rzeczywistego
    • opcjonalne potrzymanie bateryjne (3V)
    • generator fali prostokątnej
  • FT232RL – port szeregowy przez USB
    • wygodne programowanie
    • prosty dostęp do danych
  • 100% kompatybilności z „tarczami” (ang. shields) zaprojektowanymi dla Arduino
  • Zasilanie
    • 8V-16V/1A DC (przez gniazdo jack)
    • 5V/500mA (z gniazda USB)
  • Współpracuje z płytkami stykowymi – dodatkowe wyprowadzenia
  • Wygodne prototypowanie – wyprowadzone żeńskie piny stykowe oraz dodatkowe piny VCC, GND i I2C
  • Niewiarygodnie mały rozmiar – tylko 4,8×5,4cm!

Projekt budzi dosyć spore zainteresowanie na forum Arduino. Dzięki społeczności tego forum dodano kilka ważnych możliwości tj. współpraca z płytkami stykowymi, wyprowadzenia magistrali I2C czy generatora fali prostokątnej. Udało mi się zmniejszyć wymiary płytki po przez usunięcie kilku mniej potrzebnych elementów zasilania, nie zmniejszając w ten sam sposób funkcjonalności projektu.

Schemat

Płytka drukowana

Podsumowanie

Zapraszam do zakupu (metodą przedsprzedaży) – tylko $25 używając PayPala. Przeczytaj więcej o projekcie Amanduino.


Komentarze do notki “Amanduino – klon Arduino”

  1. Caladan 

    Fajnie, ale wątpię, że do zasilania potrzeba tylko 6V, kiedy w szeregu masz diodę i stabilizator 5V. Jak dla mnie minimalne zasilanie z power jacka to jakieś 8V.

  2. alfanick 

    @Caladan: Masz rację, trochę bezmyślnie napisałem te 6V :)

  3. Caladan 

    Trochę mnie śmieszą te zestawy z ATmegami. „Wydajny procesor” to wyrażenie trochę na wyrost jak na określenie 8-bitowego proca pracującego z zegarem 16MHz. Cóż, era 8-bitowców powoli mija, są ARMy7, 9 i 11, a także MIPSy i AVRy32… Rozumiem, że tutaj cały urok kryje się w łatwości rozpoczęcia zabawy.

  4. Caladan 

    A z drugiej strony płytka wygląda jak potraktowana autorouterem. Przelotki na zegarze? Jakaś ścieżka pod FT232R puszczona zygzakiem? Zresztą FT232R może generować zegar dla ATMegi, wtedy kwarc mniej. No i po 4 przelotki na liniach danych USB...
    Rozumiem, że płytki poszły już do produkcji, ale następna wersja powinna być znacznie poprawiona. Naaahm, ta płytka to kaszanka! Zobacz tutaj, projekt mniejszy, bo tylko atmega 16, ale i płytka mniejsza:
    http://caladan.rootnode.net/elektronika/UDv2-brd.png

  5. sprae 

    Bardzo ładnie, ale dostrzegłem pewną nieścisłość. Sygnał DTR z układu IC3 nie steruje sygnałem RESET w AVR. Jak w takim razie przebiega programowanie? Należy ręcznie wcisnąć?

  6. alfanick 

    @sprae: Dzięki, poprawię to jutro – zgadza się w założeniach miało być ręczne resetowanie, ale przecież wystarczyć połączyć te dwa sygnały :)

    @Caladan: Na szczęście płytki nie są w produkcji :) Na razie jest tylko przedsprzedaż. Postaram się poprawić co się da. Zgadzam się część ręcznie routowałem (głównie zasilanie) resztę pozostawiłem na pastwę autoroutera. Ten zygzak jest jakimś koszmarem, zupełnie go przeoczyłem… Postaram się lepiej zaprojektować płytkę. Dzięki za uwagi, bo są bardzo przydatne!

  7. Caladan 

    Wiesz, w Eagle’u autorouter to jakieś nieporozumienie, nigdy go nie używałem. Są pewne zasady projektowania. Tutaj masz narzucone na przykład te złączki do „tarcz”, ok, to musi być. Sygnał USB D+ i D- mają spore pierwszeństwo, są szybkie. Kwarc umieszczaj blisko procka, nie dawaj na liniach XTALa przelotek, one wnoszą indukcyjność, a tam w końcu te parenaście MHz jest. Stabilizator 5V dałeś w dużej obudowie, jak na oko to ma wydajność z 800mA, to jednak chyba trochę za dużo. Przelotek koło elementów unikaj, mają małą powierzchnię styku z płytką, łatwo się odkleją i dupa, płytka do niczego. Zasilanie fajnie jest rozprowadzić za pomocą takiej głównej magistrali, może na drugiej stronie, potem robisz tylko odczepy do zasilania układów. Masę zostaw sobie na koniec, zrób oblanie na obu warstwach, możesz wyłączyć thermalsy, nie są takie krytyczne tutaj. Zasilanie tak samo jest rozwiązane w oryginalnej wersji? W sensie 5V z USB i z zewnętrznego zasilacza? To trochę dziwne, można coś łatwo uszkodzić. Fiu, można by sporo wyliczać...

    Ogólnie – zrób ripup i zacznij od nowa ;)
    Tak, to trochę trwa, ale jak się postarasz to po paru godzinach będzie ładna płytka.

  8. alfanick 

    @Caladan: Dzięki jutro zacznę porządnie przeprojektowywać płykę ;) Zasilanie w oryginalne jest bardziej zaawansowane, ale ze względu na brak miejsca dosyć bardzo je ograniczyłem. Wszystko się sprowadza do tego, iż w aktualnej postaci nie powinno się używać USB i zasilacza jednocześnie… Może jednak zastosuję jakieś zabezpieczenie przed takimi sytuacjami. W końcu mogę jeszcze porozmieszczać elementy na drugiej stronie płytki :D

  9. Caladan 

    Aha, i jeszcze kondziołki 100n na liniach zasilania przy scalakach. Odezwij się do mnie na jabberze jak poprawisz, to zobaczę, czy jest już znośnie. A i jeszcze używaj DRC. Zobacz jakie płytki zrobią, z jakim wymiarem, raczej nie schodź poniżej 10 milsów ścieżki/odstępu. Jak zaprojektujesz płytkę z wymiarem 5 mils to nikt jej nie będzie chciał robić :D

  10. Airborn 

    ech, czasami żałuję, że wybrałem trochę inną drogę na studiach. samodzielny routing to była fajna sprawa, a tak to teraz nawet nie pamiętam jak trzeba by było najprostszą płytkę zaprojektować. wstyd i hańba ;/

    powodzenia z projektem!

  11. sprae 

    Chciałbym zapytać, czy 4 I2C to nie przesada? Dziś równoważnym interfejsem jest SPI (również ma ciekawe peryferia) lub 1-wire. W Arduino chyba chodziło głównie o to, że Sheldy miały być tematyczne, a sama płytka dość „tolerancyjna” (mówiąc współczesnym językiem Europejskim ;)). Jak bym miał zaproponować jakieś rozwiązanie, to wybrałbym goldpiny skierowane w bok. To pozwoliłoby na stosowanie małych przelotowych płytek rozszerzeń.
    Z takim wystawieniem SPI byłby większy problem, gdyż wymagana jest obecność sygnału aktywującego układ (CS), ale każda płytka „boczna” miałaby goldpin, który łączyło by się przewodem z wolnym pinem w płytce głównej.
    To takie moje 3 gr do otwartego projektu.

  12. alfanick 

    Postanowiłem zastosować system zasilania podobny jak w oryginalnym Arduino Duemilanove. Pozwoli to na korzystanie z USB równocześnie z używaniem zasilacza. Niestety doszło trochę elementów, zaprojektowanie ładnej płytki (nie zmieniając jej rozmiarów) to istny koszmar :) Postaram się jakoś elementy rozłożyć (część na spodniej stronie) tak by udało mi się to porządnie (ręcznie) zroutować. Dziękuję wszystkim za wskazówki!

Zostaw odpowiedź