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

uProg - mały, szybki, przenośny programator AVR z SD

manekinen 10 Jun 2011 20:36 144235 364
phoenixcontact
  • uProg - mały, szybki, przenośny programator AVR z SD
    Jedyny taki przenośny programator układów AVR. Pomoże wszędzie tam, gdzie trzeba zaktualizować oprogramowanie, a układ docelowy znajduje się w trudno dostępnym miejscu i nie mamy możliwości (lub chęci) ciągać ze sobą laptopa i mnóstwa przewodów. Banalnie łatwa obsługa, niski koszt wykonania, super mały, super szybki, obsługuje karty SD...

    Cechy:
    -supermały - wymiary tylko 44 x 39 x 5,5 mm
    -superszybki - zapis do 12,5kB/s, odczyt do 14,5kB/s
    -używa taniego nośnika danych - wszechobecnych kart SD/MMC
    -obsługuje system plików FAT16 oraz FAT32
    -odczyta, zapisze, zweryfikuje pamięć flash i eeprom
    -odczyta, zapisze, zweryfikuje fusebity i lockbity
    -zapis i odczyt do plików BIN, HEX oraz TXT
    -potrafi ustawić fabryczne wartości fusebitów, kasować pamięci
    -tani, łatwo dostępny wyświetlacz graficzny - LPH7779
    -wyświetla zabawne animacje po każdej operacji
    -standardowe złącze programowania Atmel 6-PIN ISP
    -posiada funkcję autoaktualizacji własnego oprogramowania
    -bardzo prosta obsługa, nawigacja 4 przyciskami
    -menu ustawień dla użytkownika
    -automatyczne dobieranie prędkości programowania (do 4MHz)
    -praca przy 3V, programowanie układów od 3V do 5V

    Obsługa:
    Programator włączamy przytrzymując przycisk LE(lewo). Pierwsze co widzimy to ekran powitalny oraz informacje o wersji - informacje te znikają po chwili i już możemy nawigować w menu. Przyciskami UP(góra) oraz DN(dół) wybieramy żądaną opcję, przyciskiem RI(prawo) zatwierdzamy operację/wchodzimy w opcję menu, a przyciskiem LE(lewo) anulujemy operację, cofamy się w menu, które wygląda tak:

    Flash: >Write >Read >Verify
    Eeprom: >Write >Read >Verify
    Fusebits: >Write >Read >Verify >Default
    Lockbits: >Write >Read >Verify >Chip erase
    Settings: >Auto Verify >Auto Erase >Show Anims >Progr bar >Files type

    Opis funkcji:
    Write - zapisuje do wybranej pamięci zawartość pliku z karty. Należy wskazać plik z listy. W przypadku fusebitów lub lockbitów zapisuje bajty ustawień (z pliku txt). Długość pliku jest długością, jaką programator zapisze do pamięci, reszta pamięci nie będzie zapisana.
    Read - odczytuje zawartość wybranej pamięci i zapisuje do pliku na karcie. Plik tworzony automatycznie w odpowiednim folderze. Format nazwy to "x.yyy", gdzie x to numer kolejny pliku, a yyy to rozszerzenie BIN lub HEX. Np. "4.bin" lub "22.hex" - nazwa jest wyświetlana i dobrze będzie ją sobie gdzieś zanotować. Odczytana zostanie cała dostępna pamięć, niezależnie ile danych się w niej znajduje. W przypadku fusebitów lub lockbitów, zapisuje do pliku bajty ustawień do pliku txt.
    Verify - porównuje zawartość wybranej pamięci z zawartością wskazanego pliku, wynikiem operacji jest "PASS" lub "FAIL at x", gdzie x to numer pierwszej komórki w jakiej wystąpiła niespójność. W przypadku fusebitów lub lockbitów porównuje bajty ustawień.
    Default - resetuje wszystkie fusebity do wartości fabrycznych.
    Chip erase - wewnętrzna komenda "chip erase" czyści całą pamięć układu i resetuje zabezpieczenia lockbit.

    Opis ustawień:
    Auto verify - umożliwia automatyczną weryfikację pamięci (tak jak opcja "verify"), z tym że robi to automatycznie po każdym zapisie. Ustawienia: ON lub OFF. Dotyczy tylko operacji na pamięciach flash oraz eeprom, bajty fusebitów i lockbitów są odczytywane od razu po zapisie.
    Auto erase - automatycznie wykonuje komendę "chip erase" przed każdym zapisem do pamięci flash. Ustawienia: ON lub OFF. Dotyczy tylko pamięci flash, którą obowiązkowo należy czyścić przed zapisem. Wyjątkiem jest sytuacja, kiedy wiemy że pamięć jest wyczyszczona, a na jej końcu mamy np. wgrany bootloader. Wyłączenie tej opcji spowoduje nadpisanie danych bez czyszczenia zawartości, co z kolei spowoduje zachowanie naszego bootloadera czy innych danych.
    Show anims - wyświetla krótkie animacje po każdej operacji zależnie od tego, czy się powiodła czy nie. Ustawienia: ON lub OFF. Animacje w każdej chwili można przerwać naciskając przycisk LE. Są to śmieszne animacje i dodają specyficznego charakteru dla programatora, wytrawny internauta z pewnością je rozpozna :) Animacje to odtwarzane kolejno pliki BMP z danego folderu - więc można je podmienić na własne! Format pliku: Bitmapa (*.BMP), 84x48 pikseli, monochromatyczny (2bit). Kolejność odtwarzania nie jest alfabetyczna, pliki są odtwarzane w takiej kolejności w jakiej zostały skopiowane na kartę.
    Progr bar - pasek postępu dla operacji zapisu, weryfikacji oraz odczytu pamięci flash oraz eeprom. Ustawienia: ON lub OFF. Pasek postępu nieznacznie spowalnia proces, patrz "testy szybkości".
    Files type - wybór typu plików, z jakimi chcemy pracować. Ustawienia: BIN lub HEX. Dotyczy operacji na pamięciach flash oraz eeprom zależnie od wyboru na liście będą wyświetlanie tylko pliki danego rodzaju. Podczas odczytu do pliku tworzony także będzie odpowiedni plik (w przypadku plików HEX liczona będzie również suma kontrolna).

    Karta pamięci, pliki:
    Pliki umieszczać należy na karcie w odpowiednich folderach, tj. pliki dla pamięci flash w folderze "flash", eeprom w "eeprom", fusebits w "fuseb" oraz lockbits w "lockb". Folder "system" zawiera pozostałe pliki potrzebne do działania programatora, m.in. bazę danych µProcesorów, plik przechowujący ustawienia czy obrazy BMP. Na kartę pamięci skopiować należy ZAWARTOŚĆ folderu "SD-FILES" z załącznika.

    O ile w przypadku plików BIN flash i eeprom nie ma żadnej wątpliwości, bo są to pliki generowane przez kompilatory, to budowę plików fusebitów i lockbitów należy opisać. Są to zwykłe pliki tekstowe, do których wpisujemy wartości w postaci hexadecymalnej:

    Plik fusebitów powinien zawierać kolejno dane dla: fuse low, fuse high, fuse extended - w formacie HEX. Przykładowo, zawartość pliku z fusebitami dla Attiny45 powinna wyglądać tak: 62DFFF. Plik może być dłuższy, mogą być w nim dodatkowe komentarze, ale pod uwagę będą brane tylko trzy pierwsze bajty (6 znaków). Jeśli procesor posiada dwa lub tylko jeden bajt fusebitów, to oczywiście wykorzystywana będzie tylko taka liczba bajtów.

    Budowa pliku lockbitów jest analogiczna do budowy pliku fusebitów. Z tą tylko różnicą że tutaj wykorzystywany będzie tylko jeden bajt, należy jednak pamiętać że nieużywane bity zawsze muszą wynosić 1. Czyli jeśli chcemy włączyć bity LB0 i LB1, należy użyć wartości "FC" (11111100). W przypadku fusebitów obowiązuje taka sama zasada, wprawdzie nawet jeśli postąpimy inaczej i spróbujemy włączyć nieistniejące bity (zapisać w nie 0), to przy weryfikacji otrzymamy błąd, bo te bity będą wynosić 1.

    Przy odczycie fusebitów i lockbitów do pliku programator utworzy pliki tekstowe wg opisanego wyżej schematu.

    Wybierając odpowiednią pamięć w menu, a następnie opcję zapisu lub weryfikacji, wyświetlona zostanie lista dostępnych plików BIN/HEX lub TXT z odpowiedniego katalogu. Pliki nie są sortowane alfabetycznie lub w inny sposób, pojawiają się w takiej kolejności, w jakiej je skopiowano i/lub utworzono. Można umieszczać dowolną liczbę plików, wszystkie pojawią się na liście. Wybór pliku przyciskami UP oraz DN, zatwierdzenie przyciskiem RI, anulowanie przyciskiem LE. Za jednym razem na ekranie mieści się 6 nazw, kolejna karta plików odsłania się po przyciśnięciu DN, gdy wskazywany będzie ostatni plik na karcie. Karty plików można przełączać tylko w przód (w dół), po dojściu do końca wyświetlona zostanie pierwsza karta.

    Programator obsługuje karty MMC oraz SD. Przetestowane przeze mnie karty to: 128MB, 512MB, 1GB, 2x2GB. Nazwy plików dowolne, lecz na wyświetlaczu pojawią się one w formacie DOS 8.3 (8 znaków + rozszerzenie). Dłuższe pliki będą oddzielone tyldą (`), a jeśli ich nazwy w pierwszych 8 znakach będą się różniły, pliki będą oznaczone numerem kolejnym. Nie będą również wyświetlane znaki diakrytyczne i inne wynalazki - więc pliki radzę nazywać czytelnie, aby nie było później problemu z ich zidentyfikowaniem.

    W planach: obsługa kart SDHC.

    Zasilanie, napięcia:
    Układ przeznaczony jest do pracy z zasilaniem bateryjnym, ale nic nie stoi na przeszkodzie, aby użyć odpowiedniego zasilacza.
    Nominalne napięcie pracy: 3,3V
    Maksymalne napięcie pracy: 3,6V
    Minimalne napięcie pracy: 2,7V*
    Pobór prądu podczas uruchamiania: do 100mA*
    Pobór prądu podczas procesu programowania: ok. 10mA*
    Pobór prądu w menu: 5mA
    Pobór prądu w stand-by: 0.10µA

    *zależne od włożonej karty SD

    Na spodniej części płytki znajduje się miejsce do przylutowania dwóch gniazd na baterie CR2032 - napięcie pracy będzie wynosić 3V, a wydajność prądowa takich baterii z reguły nie pozwoli na dołączenie zasilania do układu programowanego - spadek napięcia prawdopodobnie narobi bałaganu na programowanym układzie lub na karcie pamięci. Zamiast lutować podstawki użyć można innej baterii o większej wydajności (może być to np. bateria z telefonu komórkowego), nie można jednak dopuścić do przekroczenia maksymalnego napięcia pracy.

    Cały programator pracuje przy napięciu takim, jakie otrzyma z baterii, ponieważ nie posiada żadnego stabilizatora. Także proces programowania odbywa się na takim poziomie (stan wysoki). Układ docelowy (programowany) może być programowany przy napięciach od 3V do 5V, kiedy programator pracuje przy 3V. Z jednej strony na linii wejściowej MI-SO znajduje się zabezpieczenie w postaci rezystora i diody zenera 3V3, które ochroni wejście programatora przed zbyt wysokim napięciem, a z drugiej strony układ zasilany z 5V prawidłowo rozpozna stan wysoki na poziomie 3V na liniach MO-SI oraz SCK (patrz nota: electrical characteristics > dc characteristics > VIH = 0.6 VCC, co oznacza nic innego jak 0.6*5V=3V - jest to gwarantowana wartość).

    Programator nie posiada mechanicznego wyłącznika, włączanie i wyłączanie realizowane jest poprzez przytrzymanie przycisku LE. Po wyłączeniu programator odcina zasilanie wyświetlacza oraz karty pamięci, a sam przechodzi w tryb głębokiego uśpienia pobierając z baterii (typowo) 0,1µA.

    ISP:
    Złącza:
    uProg - mały, szybki, przenośny programator AVR z SD
    Wyprowadzenie programujące to 6pin męski w standardzie ISP ATMEL. Położenie pinów obrazuje rysunek, wcięcie wtyczki od spodniej strony płytki. Bez problemu można wykonać tasiemkę zakończoną gniazdem 10pin żeński w standardzie ISP KANDA lub uniwersalną tasiemkę posiadającą kombinację gniazd 10PIN i 6PIN. Po zakończeniu programowania linie SCK, MOSI, MISO oraz RESET stają się przezroczyste dla układu docelowego.

    Automatyczne dobieranie prędkości programowania:
    Programator przy każdej inicjacji programowania z układem docelowym automatycznie dobiera prędkość programowania (prędkość linii zegarowej SCK). Dostępnych jest 7 kroków regulacji: 4MHz, 2MHz, 1MHz, 500KHz, 250KHz, 125KHz, 62,500KHz. Teoretycznie będzie to 1/4 częstotliwości pracy układu docelowego, lecz nie zawsze. Programator za każdym razem zaczyna od najwyższej prędkości i wykonuje 10-krotnego testu odczytu sygnatury - jeśli pojawi się jakiś błąd, prędkość zostanie zmniejszona, a test powtórzony aż do zejścia do najniższej prędkości. Jeśli najniższa prędkość zawiedzie, programator zwróci komunikat, że układ nie odpowiada. W przypadku bardzo długiej taśmy łączącej programator może użyć niższej prędkości, jeśli pojawią się błędy - krótki test może nie ujawnić błędów komunikacji, które mogą wyjść dopiero przy zapisie do pamięci. Zalecam używanie taśmy nie dłuższej jak 20cm. Podane wartości SCK dotyczą taktowania układu programatora z prędkością 8MHz.

    Pomocniczy sygnał zegarowy
    Ponieważ programator jest zasilany bateryjnie, zrezygnowałem ze zwykłej funkcji pinu VCC (5 pin gniazda 6 ISP) i nie ma możliwości podania zasilania na układ docelowy na tym pinie. Zamiast tego, na pinie tym dostępny jest pomocniczy sygnał zegarowy 8MHz który można wykorzystać, jeśli układ docelowy ma ustawiony jakieś dziwne/zewnętrzne źródło zegarowe. Sygnał ten jest dołączony przez rezystor 1K, więc nie trzeba modyfikować taśmy łączącej, jeśli na tej linii będzie występowało napięcie z układu docelowego.

    Aktualizacja oprogramowania:
    Jeśli pojawi się nowa wersja oprogramowania, można ją zaktualizować na dwa sposoby:
    ISP: Podłączyć swój programator pod złącze ISP-6 oraz zewrzeć piny oznaczone jako "SLF-PRG" - dzięki temu złącze to stanie się złączem do aktualizacji oprogramowania (tak jak w USBasp).
    BootLoader: Urządzenie posiada wbudowany bootloader, dzięki któremu firmware można zaktualizować w bardzo prosty sposób! Do głównego katalogu karty (root) kopiujemy plik BIN aktualizacji firmware i nadajemy mu nazwę "000.bin". Jeśli po włączeniu układu na wyświetlaczu nic się nie pojawiło - to dobrze! Plik z nowym firmware został prawidłowo rozpoznany, wystarczy teraz nacisnąć przycisk RI, aby potwierdzić chęć aktualizacji. Urządzenie samo zaktualizuje sobie firmware, potrwa to kilka sekund, a następnie się uruchomi - na ekranie powitalnym będzie widniała nowa wersja programu - to wszystko! Teraz z karty wystarczy usunąć wcześniej wgrany plik, aby urządzenie nie uruchamiało się w trybie aktualizacji. W trybie aktualizacji niektóre karty mogą być nieobsługiwane - więc jeśli po wgraniu pliku "000.bin" urządzenie uruchomiło się normalnie - to jest właśnie jedna z tych kart.

    Uwagi:
    Fusebity: Ext:07, high:D0, low:A2
    (wewnętrzny oscylator 8MHz bez dzielenia /8, włączone wyjście CLKO, brown-out detection 2,7V, wektor resetu na adres bootloadera, pamięć bootloadera 4kB, włączony EESAVE)

    Wewnętrzny oscylator Atmegi328P może być kalibrowany w bardzo szerokim zakresie. Skalibrowany fabrycznie zegar do 8MHz można "kalibrować" od 50% do nawet 200%, czyli od 4MHz do nawet 16MHz. Zmiana bit4 w pliku "config.ini" na "1" spowoduje wybranie maksymalnej częstotliwości - znacząco przyśpieszy to programowanie, jednak producent nie gwarantuje stabilnej pracy w takich warunkach (napięcie zasilania vs częstotliwość). Początkowo to ustawienie jest wyłączone.

    Wyświetlacz, jakiego użyłem jest oryginalny - posiada sterownik PCD8544, organizację 84x48, standardowy dla niego zestaw instrukcji oraz może przyjmować dane z max zegarem 4MHz - i z taką właśnie prędkością pracuje. Jeśli Twój wyświetlacz pokazuje głupoty lub nic nie pokazuje, są dwie możliwości:
    a) posiada sterownik inny niż PCD8544 - w pliku "config.ini" przestaw bit6 na "1" - wyświetlacz będzie inaczej traktowany, choć nie gwarantuje to poprawnego działania.
    b) nie może pracować przy 4MHz - w pliku "config.ini" przestaw bit5 na "1" - wyświetlacz będzie pracował przy 2MHz, taka prędkość nie powinna sprawiać mu problemów.

    Wyświetlacz potrzebuje kondensatora dla wbudowanej przetwornicy napięcia (C2, C3), wartość nominalna to 1µF. U mnie z powodzeniem pracuje z pojemnością 200nF. Jeśli masz kłopoty z kontrastem, zwiększ tę pojemność - w miejsce C2 oraz C3 można wlutować bokiem kilka kondensatorów SMD. Jeśli wyświetlacz posiada pola lutownicze, to można połączyć go za pomocą przewodów - jeśli posiada pola kontaktowe, użyj gumki kontaktowej, która była w telefonie, a sam wyświetlacz dobrze umocuj. Mimo tego, że mój wyświetlacz posiada pola lutownicze, to użyłem właśnie gumki kontaktowej. Uchwyty wykonałem z fragmentu obudowy "złącza E+J". Może być to dowolny fragment czegokolwiek o wymiarze wewnętrznym 5,2mm - akurat takie złącze walało mi się pod ręką :)

    Karta pamięci, zależnie na jaką trafimy, przy rozruchu pobiera "bardzo duży" prąd - rzędu 100mA. Bardzo duży, czyli jak na możliwości baterii pastylkowej. Kondensator C4 pomaga podtrzymać napięcie podczas inicjacji karty, dobrze żeby był możliwie jak największej pojemności, ale też bez przesady - kondensator ładują trzy piny procesora, nie można ich przeciążyć. U mnie 10uF wystarcza na rozruch wszystkich kart, które testowałem, ale w miarę rozładowania baterii mogą pojawiać się problemy.

    Programator operuje tylko we własnych folderach i nie będzie się poruszał po reszcie folderów/plików znajdujących się na karcie. UWAGA - należy jednak mieć na uwadze, że w skutek jakiegoś błędu struktura plików może zostać uszkodzona i dane na karcie mogą zostać bezpowrotnie stracone lub będzie trudno je odzyskać! Może mieć to miejsce podczas wyjmowania/wkładania karty podczas pracy urządzenia lub odcięcia zasilania podczas odczytu/zapisu. Może się również zdarzyć (bardzo rzadko), że programator będzie się zawieszał przy próbie otwarcia listy plików w jakimś folderze. Rozwiązanie problemu to usunięcie ostatnio utworzonego przez programator pliku w tym folderze.

    Płytka PCB o wymiarach 39mm x 44mm x 5,5mm, dwustronna. Pady przelotek są umiejscowione w łatwo dostępnych miejscach (nie pod obudowami), więc płytkę z powodzeniem można wykonać w warunkach domowych. Użyte przeze mnie gniazdo kart micro SD to dosyć popularne MSDE208, footprint pochodzi stąd czyli od gniazda 500873-0806 - jak widać nie jest problemem znaleźć kilka kompatybilnych ze sobą gniazd, wystarczy poszukać takiego, które swoje pady ma "pod sobą" i porównać z datasheetem - powinno pasować.

    Testy szybkości:
    Test szybkości programowania wykonany przy pomocy Atmega644A (jako układ docelowy) pracującego przy 25MHz, prędkość SCK 4MHz, pamięć flash, wielkość danych 64kB, taktowanie układu programatora 16MHz:

    plik BIN, pasek postępu wyłączony:
    Zapis z pliku: 5,1s.
    Odczyt do pliku: 4,4s.

    plik BIN, pasek postępu włączony:
    Zapis z pliku: 5,1s.
    Odczyt do pliku: 5,0s.

    plik HEX, pasek postępu wyłączony
    Zapis z pliku: 12,5s.
    Odczyt do pliku: 11,6s.

    plik HEX, pasek postępu włączony
    Zapis z pliku: 12,5s.
    Odczyt do pliku: 12,2s.

    Jak widać - najlepsze rezultaty można uzyskać przy plikach BIN, ponieważ jego rozmiar to długość danych i nie ma żadnych udziwnień. Odczyt z pliku HEX wymaga uprzednio "przelecenia" całego pliku i policzenia wszystkich bajtów w nim zawartych, a w przypadku zapisu do takiego pliku liczone są sumy kontrolne każdego ciągu - więc trochę to trwa.
    Pasek postępu praktycznie nie spowalnia procesu, gdy układ docelowy jest programowany stronami (jak w powyższym teście). W przypadku programowania bajtami lub odczytu (który zawsze jest realizowany bajt po bajcie) włączony pasek postępu spowoduje znaczne spowolnienie operacji.

    Lista obsługiwanych układów:
    Układy przetestowane w praktyce: tiny13, tiny45, tiny2313, mega8, mega88, mega16, mega32, mega328, mega644
    Nie wszystkie układy są jeszcze w pełni obsługiwane, patrz plik "chip.db". Niekompletne wpisy oznaczają, że działać będą jedynie operacje na fusebitach i lockbitach.
    Lista przetestowanych układów będzie uaktualniana na stronie domowej projektu.

    1kB:
    AT90s1200, Attiny12, Attiny13/A, Attiny15
    2kB:
    Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343
    4kB:
    Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
    8kB:
    Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
    16kB:
    Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
    32kB:
    Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
    64kB:
    Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
    128kB:
    Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
    256kB:
    Atmega2560, Atmega2561

    Strona domowa projektu: µProg - mały, szybki, przenośny programator AVR z SD

    uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD

    uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD

    uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD

    uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD

    uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD uProg - mały, szybki, przenośny programator AVR z SD





    W załączniku:
    Pliki eagle 5.10: PCB, SCH; alternatywne PDF; Wsad HEX oraz BIN; pliki pomocnicze.
    PCB ver.1.0
    Program ver.1.0 – wersja BETA.

    -stabilna wersja beta
    -zapis/odczyt/weryfikacja ponad 128kB (extended memory chips) nie była testowana, ale jest zaimplementowana
    -zapis/odczyt/weryfikacja plików HEX gwarantowana tylko do 64kB – także nie testowano
    -programator w pełni przetestowany z: tiny13, tiny45, tiny2313, mega8, mega88, mega16, mega32, mega328, mega644

    Przed wrzuceniem flasha zapoznaj się z TYM LINKIEM

    //aktualizacja

    Aktualizacja nr 2 znajduje się TUTAJ

    Płytki drukowane i wyświetlacze są dostępne TUTAJ
    Attachments:

    Cool? Ranking DIY
    About Author
    manekinen
    Level 29  
    Offline 
    manekinen wrote 1629 posts with rating 2330, helped 76 times. Live in city Kętrzyn. Been with us since 2006 year.
  • phoenixcontact
  • #2
    cooltygrysek
    Conditionally unlocked
    Powiem krótko WOW !! Opis i wykonanie perfekcyjne nie ma o co zapytać. Coś takiego przyda się wszystkim bez wątpienia więc płytek zamówisz pewnie sporo :-) Mam jedno pytanko jakie są koszta wykonania przez ciebie programatorka ??
  • #3
    maniak0790
    Level 23  
    LCD pewnie z nokii 3310. Jak lutowałeś slot karty pamięci, stacją HA? Nie myślałeś nad własna produkcją i sprzedażą takiego programatora zanim udostępniłeś pliki. Dorób jeszcze obudowę.
  • #4
    ZapleT
    Level 15  
    Szok! Trampki spadły mi z nóg :D Przed takimi DIY powinny być ostrzeżenia, żeby człowiek zdążył usiąść.
    manekinen wrote:
    użyć można innej baterii o większej wydajności (może być to np. bateria z telefonu komórkowego)

    Czy urządzenie będzie działało prawidłowo z bateriami litowo-polimerowymi? Miałeś może okazję to sprawdzić?
  • #5
    stepawel
    Level 15  
    Świetne urządzenie. Myślałem kiedyś też nad czymś takim, ale niestety tylko na tym się skończyło.
    Myślę, że można byłoby jeszcze umożliwić komunikację programatora przez USB z komputerem.
    Daję oczywiście fajne, chociaż to i tak zdecydowanie za niska ocena :)
  • phoenixcontact
  • #6
    Belialek
    Level 22  
    Jak dla mnie projekt roku. Szczerze gratuluję pomysłu, wiedzy oraz wykonania urządzenia - jak również samej dokumentacji. Tradycyjnie już wszystkie materiały potrzebne do odtworzenia projektu w domowym zaciszu opublikowane :) I tak właśnie powinno wyglądać DIY!
  • #7
    perszeron
    Level 21  
    Nic dodać nic ująć projekt na 6+ jestem pod wrażeniem pomysłu i realizacji,
    wiele osób kopiując projekt na pewno użyje akumulatorki 3,7V z mp3 itp. może by dodać test stanu baterii , moje wrodzone lenistwo chciało by zapytać ile w przybliżeniu (orientacyjnie ) kosztowały by płytki, wiem że zależy to od ilości które Pan zamówi ale widełki + -
    Pozdrawiam ;-)
  • #8
    manekinen
    Level 29  
    lukas12 wrote:
    Czego się uczyłeś, żeby takie coś wykonać

    Hmm nie do końca rozumiem pytanie :) Wykorzystałem gotową i sprawdzoną bibliotekę obsługi kart SD, na forum znalazłem program do obsługi wyświetlacza (i mocno go zmodyfikowałem, był zasobożerny), protokół ISP i potrzebne dane są w notach AVRków - do tego wystarczy to wszystko skleić do kupy pisząc program tak aby sam proces programowania (przepisania bajtu z jednego sprzętowego SPI na drugi) nie był spowolniony przez jakieś niepotrzebne instrukcje.

    norbis15 wrote:
    Jestem zszokowany perfekcją wykonania. Dokładam się do pytania Lukas12. Co to za wyświetlacz?

    Wyświetlacz, LPH7779 - czyli od telefonu nokia 3310.
    cooltygrysek wrote:
    Mam jedno pytanko jakie są koszta wykonania przez ciebie programatorka ??

    Bardzo niski, kupiłem jedynie gniazdo kart za 3zł, Atmega328P-20AU za chyba 14zł, no i wykonałem 5 płytek prototypowych za 69zł (czyli jedna 13,8). Reszta części to drobnica którą każdy chyba posiada. Wyświetlacz jak i gumka do jego połączenia pochodzą z telefonu. Więc jak widzisz wychodzi jakieś 30zł :)

    maniak0790 wrote:
    Jak lutowałeś slot karty pamięci, stacją HA?

    Nie, lutownicą kolbową z bardzo cienkim grotem. Wsuwam od strony karty SD, a przez otwory ładnie widać co się dzieje. Dopiero potem zauważyłem że tą blaszkę z gniazda można łatwo zdjąć (zatrzaski) no i następne już przylutowałem rozebrane a potem blaszka ładnie wskoczyła na swoje miejsce. Trzeba tylko uważać żeby nie pogubić mechanizmu wyrzucającego kartę.

    maniak0790 wrote:
    Nie myślałeś nad własna produkcją i sprzedażą takiego programatora zanim udostępniłeś pliki.

    Oczywiście że myślałem. Ale daje go całkowicie za darmochę ;)

    ZapleT wrote:
    Przed takimi DIY powinny być ostrzeżenia, żeby człowiek zdążył usiąść

    Mam nadzieję że kolega sobie krzywdy nie zrobił, na przyszłość proszę o zajęcie pozycji siedzącej ;)

    ZapleT wrote:
    Czy urządzenie będzie działało prawidłowo z bateriami litowo-polimerowymi? Miałeś może okazję to sprawdzić?

    Nie sprawdzałem, ale nie widzę powodów dla których coś nie będzie działać - skoro działa na dwóch bateriach pastylkowych. Ważne aby nie przekroczyć dopuszczalnego napięcia. Choć podczas pierwszych testów na nowej płytce niechcący podałem 5V na kilkanaście sekund - wszystko przeżyło.

    stepawel wrote:
    Myślę, że można byłoby jeszcze umożliwić komunikację programatora przez USB z komputerem.

    No właśnie już mi to proponowano, ale nadal nie rozumiem po co? Karta sama w sobie zapewnia ogromną wygodę. Hm?

    stepawel wrote:
    Daję oczywiście fajne, chociaż to i tak zdecydowanie za niska ocena

    Dziękować, dziękować.
    perszeron wrote:
    może by dodać test stanu baterii

    Nie ma problemu, płytka jest już przygotowana tak aby układ mógł mierzyć własne napięcie zasilania. A płytki, jeśli bym zamawiał, to już nie jako prototypy, i przy większej ilości powinno wyjść taniej. Muszę się zorientować.

    cooltygrysek wrote:
    Opis i wykonanie perfekcyjne nie ma o co zapytać

    Zauważyłem że tematy zawierające staranne i wyczerpujące opisy mają właśnie bardzo mało postów, a te bez opisów ciągną się stronami bo każdy o coś właśnie pyta :)

    Pozdrawiam!
  • #9
    piotrva
    VIP Meritorious for electroda.pl
    Projekt był mi już wcześniej znany i kolejny raz chylę czoła przed kolegą manekinen za kolejny dopracowany i przydatny projekt. Wielki + za całokształt.
    ---
    Nasuwa mi się takie przemyślenie, bo ten projekt to rzeczywiście DIY i mocno kontrastuje poziomem skomplikowania i wykonania z przedstawionymi ostatnio chyba 4 zasilaczami na gotowcach, może administracja zrobiłaby dział "DIY Zasilacze"? :D
  • #10
    Karol966
    Level 31  
    Tomekddd wrote:
    Genialne, gdybyś zamawiał płytki i wyświetlacze to prosiłbym o informację np na PW czy meila.


    Napisać to za mało:
    Quote:
    Jeśli jesteś zainteresowany płytką - nie pytaj na forum czy na PW, ale weź udział w ankiecie na stronie domowej - dzięki temu będę wiedział ile osób jest chętnych i będę mógł zamówić płytki. Potem zamieszczę stosowną informację.


    Do autora. Całość w Bascomie? Nie planujesz zapewne przesiadki na C w przyszłości? Możesz napisać w jakiej firmie wykonałeś płytki. To jest odwieczny problem z tym wyborem firmy. PS. Może napiszesz na swojej stronie przy sondzie orientacyjny koszt płytki przy większym zamówieniu. Inna sprawa zasilanie - czy bateria tak na prawdę jest konieczna? Można by pobierać zasilanie z układu docelowego. Jaki jest pobór prądu przez ten układ?
  • #11
    Tomekddd
    Level 23  
    Quote:
    Zasilanie, napięcia:
    Układ przeznaczony jest do pracy z zasilaniem bateryjnym, ale nic nie stoi na przeszkodzie aby użyć odpowiedniego zasilacza.
    Nominalne napięcie pracy: 3,3V
    Maksymalne napięcie pracy: 3,6V
    Minimalne napięcie pracy: 2,7V*
    Pobór prądu podczas uruchamiania: do 100mA*
    Pobór prądu podczas procesu programowania: ok. 10mA*
    Pobór prądu w menu: 5mA
    Pobór prądu w stand-by: 0.10µA

    *zależne od włożonej karty SD


    Podejrzewam ze dało by się tylko co z poziomami napięć, tu jest 3,6V a sporo układów korzysta z 5V
  • #13
    syntetyczn dran
    Level 12  
    Jakoś podejrzanie tanio te płytki koledze wyszły. Dołączam się do pytanie, jaka to firma?:) Bo przy tej cenie jakoś przestaje się opłacać samodzielne wykonanie. Bo i czasu szkoda, i nerwów:P
  • #14
    poorchava
    Level 18  
    Projekt mega ciekawy i użyteczny. Na głowę bije np. podobną fukncję programmer-to-go w narzędziach Microchpa. Stopień przemyślenia i "przestrzennego" zaprojektowania całości budzi podziw.

    Ja bym szczerze mówiąc postarał się wcisnąć tam FT232 + USB mini/micro B, albo chociaż max2323. Powód jest prosty. Sporo komputerów nie ma slotu na karty, a USB ma każdy.

    Oczywiście zamiast FT można by wykorzystać tą avrusb (czy jakoś tak. anyway - softowe usb na AVR to, które jest np. w usbasp)

    Pytanko: gdzie kolega zamawiał płytki?
  • #15
    eurotips
    Level 39  
    Taki sprzętowy programator ma wiele zalet ale przysporzy również kilku problemów które nie występują w typowych programatorach działających przez port USB, np własne zasilanie i jego monitoring czyli albo akumulatorek albo i tak kabelek tym razem służący tylko do zasilania. Także możliwości upgrade są bardziej ograniczone, a Atmel często coś dorzuca do kolekcji.
    Może w zakładzie produkcyjnym rzecz przydatna, bo aby mieć 10 stanowisk do programowania nie potrzeba 10 licencji na Win i Progd, ale dla hobbysty to raczej nie ma sensu takie autonomiczne programowanie.
    Za innowacyjność to trzeba przyznać koledze 120/100,
    co zresztą widać po zainteresowaniu,
    perełka wsród DIY na Elektrodzie.
  • #16
    lukas12
    Level 17  
    BASCOMA uczyłeś się indywidualnie, czy przez szkołę :?:
  • #17
    leonow32
    Level 30  
    poorchava wrote:
    Ja bym szczerze mówiąc postarał się wcisnąć tam FT232 + usb miniB/microB, albo chociaż max2323. Powód jest prosty. Sporo komputerów nie ma slotu na karty, a USB ma każdy.

    Tylko, że po co? Na tym właśnie polega idea tego urządzenia, żeby działało bez komputera. Karta SD to konieczność, bo gdzie indziej za rozsądne pieniądze trzymać programy - np AT24C1024 wystarczył by na jeden wsad do ATmega128, a kosztuje to 20zł. Karta SD razem ze złączem wyjdzie taniej, a czytnik do komputera można kupić za 1zł, więc to nie żaden problem.
  • #18
    krzycho123
    Level 31  
    Jestem pod wielkim wrażeniem, układ niesamowicie przemyślany i przydatny. Malutkie urządzenie może schować wszędzie.

    Doskonałe w teren , aż dziwne że nikt tego wcześniej nie zaczął komercyjnie sprzedawać :D
  • #19
    drzasiek
    CNC specialists
    lukas12 wrote:
    BASCOMA uczyłeś się indywidualnie, czy przez szkołę :?:

    A kto się teraz w szkole Bascoma na AVR uczy? :) W Bascomie programują Ci którzy kiedyś chcieli programować a nie znali jeszcze żadnego języka a dla samouków chyba Bascom najłatwiejszy.
    Co do projektu, to super proste urządzenie sprzętowo (wystarczy spojrzeć na płytkę), i myślę, że jak się trochę poczyta to i programowo niezbyt skomplikowane, a budzi ogromny szacunek da konstruktora!!! A dlaczego? Bo przydatne, bo nie jest to kopia setny raz zasilacza, linefollowera czy lampki RGB, ale jest to projekt od początku przemyślany i zaprojektowany. Super! O to chodzi w DIY :)
    Szkoda, że już konkursów w dziale DIY nie ma :( Warto nagradzać takie projekty.
  • #20
    narasta
    Level 21  
    lukas12 wrote:
    BASCOMA uczyłeś się indywidualnie, czy przez szkołę :?:

    Bascoma uczą i to nawet na studiach (kto chce akurat projekty może pisać w C), ale na pewno nie uczą aż takich zaawansowanych rzeczy jak biblioteki SD czy ISP...
    To co w szkole, to kończy się raczej na zapaleniu LEDów albo napisaniu Hello World na LCDku.

    Ja też jestem ciekaw gdzie zamiawałeś PCB?

    Jestem pod wrażeniem tego, że udało Ci się sklecić kod z kilku różnych większych partów i to jeszcze w BASCOMIE. Lubisz utrudniać sobie życie Czyli jesteś ambitny :P

    Elegancko złożyłeś wszytko, tylko jeszcze obudowa i git :)

    Zrób w kolejnej wersji SW możliwość ręcznego wpisywania fusbitów - 4 przyciski spokojnie wystarczą do tego celu.
  • #21
    shadow0013
    Level 34  
    Wielki szacunek za pomysł i realizację projektu oraz oprogramowanie w Bascomie (prosiłbym o źródła w celach dydaktycznych).
    Dla leniwych kolegów koszt realizacji projektu:
    - wyświetlacz z nokii 10-30zł (w zależności od źródła i od tego czy przyczepiony jest do niego telefon),
    - procesor od 10-12-20zł (w zależności od źródła zakupu)
    - gniazdo microSD 0-3-10zł. (w zależności od wykonania, źródła i od tego czy przyczepiony jest do gniazda telefon),
    - cena płytki zależna od autora tematu (sonda na jego stronie - w zależności od ilości chętnych),
    - reszta to drobiazgi - kilka złotych
    Ceny pochodzą z Allegro i kilku sklepów internetowych - oczywiście dochodzi koszt(y) przesyłki 7-18zł. Dla niecierpliwych - czasami warto kupić części w lokalnych sklepach (drożej ale szybciej - idziesz i masz - czasami).
  • #22
    manekinen
    Level 29  
    piotrva wrote:
    Projekt był mi już wcześniej znany i kolejny raz chylę czoła przed kolegą manekinen za kolejny dopracowany i przydatny projekt. Wielki + za całokształt.

    Dzięki, pamiętaj że jak będziesz miał trochę wolnego to daj znać i poleci płyteczka ;)

    Karol966 wrote:
    Do autora. Całość w Bascomie? Nie planujesz zapewne przesiadki na C w przyszłości?

    Tak, bascom. Na C nie planuje się przesiadać bo kompletnie nie mam czasu żeby się go uczyć, a z bascomem się zaprzyjaźniłem (wiem, co niektórych to kłuje w oczy). I bardzo proszę żeby na tym zakończyć dyskusje o C/Bascom ;)

    syntetyczn dran wrote:
    Jakoś podejrzanie tanio te płytki koledze wyszły. Dołączam się do pytanie, jaka to firma? Bo przy tej cenie jakoś przestaje się opłacać samodzielne wykonanie. Bo i czasu szkoda, i nerwów

    Płytki robione w satland prototype - 68,08zł wraz z wysyłką - 4 płytki. Przysłali 5. Nie chciałbym robić reklamy, ale płytki wykonane perfekcyjnie (troszkę otwory przesunięte), a jakością krawędzi nie mogłem się nacieszyć przez tydzień, jest tak idealna że płytki można stawiać w pionie :)

    poorchava wrote:
    Ja bym szczerze mówiąc postarał się wcisnąć tam FT232 + usb miniB/microB, albo chociaż max2323. Powód jest prosty. Sporo komputerów nie ma slotu na karty, a USB ma każdy.

    Oczywiscie zamiast FT można by wykorzystać tą avrusb (czy jakoś tak. anyway - softowe usb na AVR to, które jest np. w usbasp)

    Czytnik kart kosztuje dosłownie kilka złotych. Na USB. Softowy USB pod bascom też istnieje, ale będzie to raczej ślimak. Nadal nie widzę powodu pchania tam USB. Hm? Nie wiem co Was napadło, to chyba jakaś mania, bo w dzisiejszych czasach w każdym jednym urządzeniu jest te usb, nawet układy migające diodą mają usb żeby sobie klikać przyciskiem i "migać przez usb" ;)

    eurotips wrote:
    Może w zakładzie produkcyjnym rzecz przydatna, bo aby mieć 10 stanowisk do programowania nie potrzeba 10 licencji na Win i Progd, ale dla hobbysty to raczej nie ma sensu takie autonomiczne programowanie.

    Ależ to nie jest przeznaczone do użytku na jakichś stanowiskach programowania przy produkcji jakichś tam urządzeń. Wyobraź sobie że masz gdzieś na słupie/drzewie/dachu zamontowany układ meteorologiczny i chcesz w nim zaktualizować program. Wchodzisz tam z laptopem? ;)

    leonow32 wrote:
    Tylko, że po co? Na tym właśnie polega idea tego urządzenia, żeby działało bez komputera. Karta SD to konieczność, bo gdzie indziej za rozsądne pieniądze trzymać programy - np AT24C1024 wystarczył by na jeden wsad do ATmega128, a kosztuje to 20zł. Karta SD razem ze złączem wyjdzie taniej, a czytnik do komputera można kupić za 1zł, więc to nie żaden problem.

    Dzięki! O to własnie chodzi.

    krzycho123 wrote:
    Jestem pod wielkim wrażeniem, układ niesamowicie przemyślany i przydatny. Malutkie urządzenie może schować wszędzie.

    Jeśli będziesz robił zamówienie grupowe PCB daj znać, na pewno sporo osób będzie zainteresowanych .
    Ja na pewno wziąłbym kilka sztuk, jak nie będziesz robił to daj znać gdzie zamawiasz tak tanie prototypy

    Przecież będę, proszę brać udział w ankiecie na temat płytek.
    drzasiek wrote:
    Co do projektu, to super proste urządzenie sprzętowo (wystarczy spojrzeć na płytkę), i myślę, że jak się trochę poczyta to i programowo niezbyt skomplikowane, a budzi ogromny szacunek da konstruktora!!! A dlaczego? Bo przydatne, bo nie jest to kopia setny raz zasilacza, linefollowera czy lampki RGB, ale jest to projekt od początku przemyślany i zaprojektowany. Super! O to chodzi w DIY
    Szkoda, że już konkursów w dziale DIY nie ma Warto nagradzać takie projekty.

    Zawsze można zagłosować, a zaś jakieś gadżety dostanę? :)
    Różnic w programowym/sprzętowym SPI praktycznie nie ma, z tym że ten pierwszy jest kilkukrotnie wolniejszy no i trzeba go samemu stworzyć. No chyba że chodziło o protokół ISP. To jest najzwyklejszy w świecie SPI, ślesz dane podane w tabelce datasheeta i tyle - żadna filozofia. Cóż, gorzej w praktyce :)

    narasta wrote:
    Elegancko złożyłeś wszytko, tylko jeszcze obudowa i git

    Obudowa? Hmm ekran i płytka stanowią obudowę. Ekran można przyłapać na dwustronną taśmę aby nie przesuwał się na boki - minimalne przesunięcie powoduje że gumka kontaktowa nie trafia w piny i już nic nie widać. W kieszeni raczej tego nie można nosić z racji ekranu który szybko pęknie, ale jak komuś potrzebna większa wytrzymałość to oczywiście w jakąś obudowę można to to wkomponować.

    narasta wrote:
    Jestem pod wrażeniem tego, że udało Ci się sklecić kod z kilku różnych większych partów i to jeszcze w BASCOMIE

    Właśnie to było najłatwiejsze! ;)

    narasta wrote:
    Zrób w kolejnej wersji SW możliwość ręcznego wpisywania fusbitów - 4 przyciski spokojnie wystarczą do tego celu.

    Pomysł dobry, a może rozwiniesz jak by to miało wyglądać? Przełączanie pojedynczych bitów? Czy może zwiększanie/zmniejszanie wartości hex?

    maniakhv wrote:
    Czy jest możliwość zamiany wyświetlacza na LCD??

    Zapewne własnie chodzi o HD44780. Zastanawiałem się nad wersją przewlekaną która by wykorzystywała taki wyświetlacz. Była by to bardziej dostępna wersja dla każdego, bo przecież nie każdy potrafi składać takie drobiazgi.

    Dodano po 2 [minuty]:

    shadow0013 wrote:
    (prosiłbym o źródła w celach dydaktycznych)

    Źródełek nie udostępniam. Powodów chyba można się domyślić? Ewentualnie mogę pokazać jakieś fragmenty jeśli ktoś będzie wiedział o co pyta :)
  • #23
    qscgu
    Level 34  
    drzasiek wrote:
    narasta wrote:
    Bascoma uczą i to nawet na studiach

    Na jakich studiach uczą BASCOMA?

    Też jestem bardzo ciekaw bo mieliśmy AVR i prowadzący nawet nie wspomnieli że coś takiego jak bascom w ogóle istnieje.

    Wszystko robiliśmy w C a nawet też w Assemblerze. (Politechnika śląska - Gliwice)
  • #24
    Sebastian.R
    Level 20  
    Jestem pod MEGAwrażeniem. Posiadam USBasp , od niedawna USBtiny, ale Twój projekt bije je na łeb :D . No bo tak , załóżmy że mamy do czynienia w pracy z kompem zabezpieczonym hasłem administratora. Nie uruchomimy w/w programatorów, bo zakrzyczy o sterowniki, a jeśli nie mamy dostępu do systemu by zainstalować to wszystko szlag trafia. Twój projekt sprawę rozwiązuje. Wsadzamy na kartę plik hex czy bin oraz epp i lu! programujemy bez użycia kompa.
    Ja jeśli mógłbym o coś poprosić, to czy istnieje wersja tej konstrukcji z wyświetlaczem LS020 - od starego siemnsa CX65 ? Wyświetlacz kolorowy. Wyglądałoby to jeszcze bardziej "bajernie". Pozdrawiam.
  • #25
    lukas1121
    Level 18  
    narasta z tym Hello World zgadzam się w 100%:D znam na własnej skórze.
    A projekt popisowy warto było by go w jakimś konkursie wystawić konkurencji większej by nie miał:D
    A może administracja pomyślała by o nagradzaniu userów z takimi popisowymi dziełami?? w końcu taka konstrukcja to juz że tak powiem wymierający gatunek:( trzeba promować dobrze wykonaną robotę.
  • #26
    Tomasz.W
    Level 35  
    lukas1121 wrote:
    ....A projekt popisowy warto było by go w jakimś konkursie wystawić konkurencji większej by nie miał:D ....
    Powiadasz iż konkurencji by nie miał.
    Jak znam życie to i tak wygrała by deska z koślawymi dziurami opisana jako KOLUMNA :cry:
  • #27
    manekinen
    Level 29  
    Sebastian.R wrote:
    Ja jeśli mógłbym o coś poprosić, to czy istnieje wersja tej konstrukcji z wyświetlaczem LS020 - od starego siemnsa CX65 ? Wyświetlacz kolorowy. Wyglądałoby to jeszcze bardziej "bajernie". Pozdrawiam.

    Nie, nie istnieje, i raczej nie powstanie. Czasochłonność, brak miejsca w pamięci na takie rzeczy, większy pobór prądu, no i przerost formy nad treścią.

    Panowie, dzięki za dobre słowa, bo to chyba jest najlepsza motywacja do dalszej pracy nad układem :)

    Dodam jeszcze zdjęcia płytek w wysokiej rozdzielczości https://www.elektroda.pl/rtvforum/viewtopic.php?p=9600875#9600875

    Natłukliście już sporo głosów w ankiecie, połowa z Was wolałaby zestaw płytka + LCD. Także rozejrzę się za wyświetlaczami, a w poniedziałek myślę że zamówię pierwszą partię płytek.
  • #28
    leonow32
    Level 30  
    manekinen wrote:
    Natłukliście już sporo głosów w ankiecie, połowa z Was wolałaby zestaw płytka + LCD. Także rozejrzę się za wyświetlaczami, a w poniedziałek myślę że zamówię pierwszą partię płytek.

    Ale zanim to zamówisz to lepiej zrób zapisy i przedpłaty. Już niestety wiem czym takie "czyny społeczne" potrafią się kończyć - jak przyjdzie do płacenia to każdy się rozmyśli, a Ty będziesz miał pełno płytek, z którymi nie będziesz wiedział co zrobić.
  • #29
    perszeron
    Level 21  
    Mam jeszcze pytanie do autora gdzie poda info że płytki są do kupienia sam jestem zainteresowany 2 sztukami ,dodam jeszcze że że chodź dołączenie do komputera tego modułu i programowanie bezpośrednio przez komputer było by powolne dodał by uniwersalności projektowi warto zastanowić się nad taką opcją , tym bardziej jeśli można by było tym samym łączem komputer >moduł dobrać się do zasobów karty by modyfikować pliki na karcie np. w menu dodać zakładkę dysk i karta była by widziana jako normalny dysk .... o wsad źródłowy nawet nie śmiem prosić :-)
  • #30
    manekinen
    Level 29  
    krzysiekdg wrote:
    Mam pytanko czy musi byc to ta Atmega328P-20AU czy moze byc atmega32?
    Pytam bo mam pod reka tylko uP smd zwykla 32 pin, a i na zdjeciach jest chyba atmega32 - 40 pin.

    Na jednym ze zdjęć jest Atmega32-16PU bo na niej właśnie był zrobiony prototyp. Na schemacie masz Atmega328P-20AU i taką musisz zastosować. W prawdzie dużych różnic nie ma (Atmega32 ma tylko jeden sprzętowy SPI) ale kod nie będzie na Atmega32 działał, są to całkiem inne układy i nie można ich tak po prostu używać zamiennie.
    perszeron wrote:
    dodam jeszcze że że chodź dołączenie do komputera tego modułu i programowanie bezpośrednio przez komputer było by powolne dodał by uniwersalności projektowi warto zastanowić się nad taką opcją

    Nie będzie żadnego USB, nie ma takiej opcji. Ani płytka nie jest do tego przygotowana, ani miejsca w pamięci nie ma na takie rzeczy. Musiałbym bootloader wywalić żeby uzyskać 4kB, a on jest ważniejszy - bo praktyczny. USB nie będzie praktyczne, będzie tylko zabawką.