EdW 1/2006 - Płytka testowa kursu AVR-GCC

Jeżeli masz jakieś uwagi dotyczące bieżącego lub archiwalnych numerów "Elektroniki dla wszystkich" lub zauważyłeś błędy czy nieścisłości to jest to odpowiednie miejsce aby o tym napisać.
ODPOWIEDZ
Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 02 lut 2006, 21:54

Sprawa wygląda tak, że do produkcji trafiły płytki według poprzedniego projektu. Aktualnie jestem na etapie pracy nad rozwiązaniem problemu. Przedstawiam najważniejsze fragmenty listu informującego do czego doszedłem:
  • Przeprowadziłem kilka eksperymentow. Oto wnioski (za nimi proponowane rozwiązanie problemu):
    1. Proste rozwiązanie, oparte o zmniejszenie rezystancji rezystorów zabezpieczających złącze ISP nie przynosi pełnego rezultatu. Rozumiem przez to, że działa z niektórymi z posiadanych przeze mnie wyświetlaczy, z innymi nie. Zależy to najprawdopodobniej od tego jak "silne" wywołują one wysterowanie podczas odczytu. Czynnik losowy nie ma tutaj miejsca - napisalem specjalne oprogramowanie ustawiające wyświetlacz na najgorszą, z punktu widzenia eksperymentu, możliwość.
    2. Nie widzę możliwości przerobienia płytki tak, aby zrobić to w sposób elegancki. Problemem jest wprowadzenie zworki przełączającej wyświetlacze. W razie życzenia wyślę zdjęcie, ale u mnie jest ona pod kątem i wciśnięta między tranzystory. Na nowej płytce ciągnęłem ścieżki przez 1/4 jej długości aby umieścić ją w wygodnym miejscu. Ogólnie na płytce jest mało wolnego miejsca, co nie ułatwia zadania.
    3. Wyprowadzenie punktu -12V nie stanowi problemu.

    Uwagi dodatkowe:
    Złącze ISP jest blokowane jedynie przez wyświetlacz LCD. Nie jest blokowane zawsze. Dzieje się tak w chwili gdy na pozycji wskazywanej przez kursor znajdują się logiczne "0" na pozycjach odpowiadających pinom programatora. Układ więc jest sprawny, jego programowanie wymaga jedynie wyjęcia LCD na ten czas (co nie jest wygodne przy nauce). Problem straci na ważności w chwili gdy zajmiemy się bootloaderem - program będzie mógł być ładowany przez port RS232.

    Proponowane rozwiązanie końcowe:
    Widzę natomiast taką możliwość: Stworzenie maleńkiej płytki separującej między płytkę główną i wykonawczą. Odłączałby on (za pomocą kluczy elektronicznych) piny ISP od płytki wykonawczej w chwili programowania. Płytka jednostronna, zawierałaby jeden układ stalony kluczy CMOS, dwa złącza goldpin 2x8. Dodatkowo wymagałaby przylutowania jednego przewodu do dowolnego punktu gdzie dostępny jest sygnał reset (rezystor R1, przycisk RESET).
    Dodatkowo to rozwiązanie ma zalety w stosunku do "nowej wersji AVT3505". Nie wymaga przełączania zworki przy zmianie wyświetlaczy, umożliwi programowanie układu niezależnie od tego co zostanie podpięte pod port IO płytki głównej (nawet jeśli zostanie permanentnie zwarty do masy).
Dalszy los tego pomysłu oraz przesłanych płytek wykonanych według pierwszego rozwiązania będzie zależał od czytelników oraz AVT. Napiszę gdy dostanę odpowiedź z AVT na moją propozycję.
Jestem ciekaw jak widzicie to rozwiązanie Wy jako czytelnicy. Z jednej strony wymagałoby to dodania dodatkowej, niewielkiej płytki, z drugiej jednak urządzenie zyskałoby lepsze własności niż wersja według nowego projektu. Niewątpliwą zaletą jest to, że najprawdopodobniej prosty układzik na jednostronnej płytce będzie dostępny szybciej niż nowe wersje dwustronnych płytek :?

jareks91
Użytkownik
Posty: 157
Rejestracja: 15 kwie 2005, 13:30

Post autor: jareks91 » 11 lut 2006, 12:14

a można im zwrócić te płytki jako reklamacje?? Wtedy przyślą nową bez bledów??
Bo to trochę bezsensu żebym musiał dodatkową płytkę dorabiać i jeden kabelek dolutowywać. - psuje to wygląd takiej płytki a ta jedna korzyść którą sie otrzymuje nie jest tak wielka i przydatna.

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 12 lut 2006, 4:30

Jarku - zapytaj w AVT. Nie powinno być problemów.

Wywaliłem cały offtopic.
W końcu powinienem dawać dobry przykład :evil:
Koppel

jareks91
Użytkownik
Posty: 157
Rejestracja: 15 kwie 2005, 13:30

Post autor: jareks91 » 13 lut 2006, 12:32

HEHE :):D
Dzwonilem do AVT i tak to wygląda:
Nie ma szans dostać prawidłowo wykonanej płytki, gdyż najwcześniej bedzie dostępna za pół roku. Pan powiedzial że mają setki tych płytek w magazynach, wiec pewnie dopóki nie wysprzedają wszystkich bubli to produkcja prawidłowych płytek nie ruszy!!. Jedyna pozytywna rzecz w tym wszystkim to taka, że każdemu kto zamówil bubla zostanie dostałana za darmo trzecia płyta o której mówił autor.

Jestem tylko ciekaw jak oni to robią?? Rozumiem pomylić sie to rzecz ludzka...ale jeśli ma coś iść na masową produkcje to sie sprawdza kilka razy. Zresztą w plytce do kursu MOŁ też sie pomylili...z tym że tylko na stronie opisowej. Skad tyle tych pomyłek??
Pozdrawiam

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 13 lut 2006, 13:24

Jarku... myślę, że jak zerkniesz na ilość wykonanych projektów w odniesieniu do tego ile projektów pojawiło się z błędami... sprawa nie wygląda na prawdę tak źle. Pech chciał, że trafiło na moją płytkę. Problem jest taki, że na prawdę bardzo żadko udaje się stworzyć urządzenie które działa prawidłowo za pierwszym razem. W moim przypadku wysłane do AVT zostały dwa projekty PCB. Formalnie do produkcji powinien trafić projekt który został przesłany wraz z artykułem. W AVT też pracują ludzie...

A projekt przed oddaniem do druku jest testowany przeze mnie oraz w pracowni AVT. Tam jednak sprawdzone może być jedynie to co przesłałem (płytka z naniesionymi poprawkami) a nie projekt druku.

Pozytywne jest to, że dostałem jeszcze informację od czytelnika, który samodzielnie przerobił płytkę. To da się zrobić całkiem elegancko - sam na to nie wpadlem ;)

--------------------------------------------------------------------------------------------------
Zamieszczam obiecane zdjęcia:
Pierwsze 7 dotyczy osób które zechcą przerobić płytkę wykonawczą, zamiast wprowadzać moduł dodatkowy.
Przedostatnie pokazuje propozycję poprawy płytki głównej.
Ostatnie efekt wprowadzenia modułu dodatkowego.

UWAGA - KLIKNIJ NA ZDJĘCIE ABY UZYSKAĆ JE W LEPSZEJ JAKOŚCI. Na podglądzie czasem wygląda to koszmarnie, ale zdjęcia nie są złe.
Załączniki
plytka_s.jpg
Rozwiązanie najprostsze: dodanie wspomnianej płytki między moduły. Nie wymaga przeróbki części wykonawczej.
glowna_s.JPG
Przeróbka płytki głównej:
Połączenie obudowy złącza DB z masą oraz wyprowadzenie na zewnątrz napięcia -12V.
gotowa_s.JPG
Efekt rozwiązania związanego z przerobieniem płytki wykonawczej. Nie trzeba stosować dodatkowej płytki między modułami.
5s.jpg
Dolutowane wszystkie potrzebne rezystory części wykonawczej.
4s.jpg
Rezystor 2k7 dolutowany do wystającego wyprowadzenia wprowadzonego złącza
3s.jpg
Przygotowanie rezystora
2s.jpg
Dodatkowy, nawiercony otwór.
1s.jpg
Zapunktowanie miejsca na otwór - sprawdziłem - w tym miejscu nie ma żadnych ścieżek ;)
0s.JPG
Przygotowanie GoldPina na zworkę LCDE. Jedno skrajne wyprowarzenie usunięte. Drugie przypiłowane tak aby umożliwić umieszczenie w otworze 0,8mm

xTrol
-
Posty: 14
Rejestracja: 21 lut 2006, 21:31

Post autor: xTrol » 21 lut 2006, 22:03

Ściągnołem zestaw archwalnych artykułów na temat programowania 8051 w Asemblerze. W momencie wydania tego kursu do nauki programowania posługiwano się kitem AVT 2250. Ja jednak zaraz po "przerobieniu" Asemblera mam zamiar przejść na C i do tego będę potrzebował inny kit - ten opisywany w tym temacie... Zastanawiam się czy konieczne jest kupowanie obydwóch kitów, czy np. ten z tego tematu w zupełności wystarczy ??
porszę o podpowiedź
pozdro

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 21 lut 2006, 22:48

Jest dość spora różnica międzi obydwoma zestawami. Zgodne są jeśli chodzi o złącze rozszerzeń - teoretycznie większość układów rozszerzeń wykonanych na AVT2250 powinno działać na AVT3505 - jednak nawet tutaj zgodność nie jest pełna, ponieważ nie może być (wynika to z innej konstrukcji procesora AVT oraz MCS51).
Jakoś nie widzę za bardzo możliwości wykorzystania AVT2250 w kursie C. Ale trzebaby się dokładnie przyjrzeć schematom - może jednak układ da się dostosować do ATmega162 i wyprowadzić brakujące sygnały :?

xTrol
-
Posty: 14
Rejestracja: 21 lut 2006, 21:31

Post autor: xTrol » 22 lut 2006, 13:17

a może da się zrobić na odwrót czyli:
czy da się tą płykę do "C" programować asemblererm ??

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 22 lut 2006, 19:40

xTrol pisze:a może da się zrobić na odwrót czyli:
czy da się tą płykę do "C" programować asemblererm ??
Da się programować płytkę AVT3505 w asemblerze, tylko będzie to zupełnie inny asembler. Będzie to asembler AVR a nie MCS51. Od strony asemblerowej te dwa procesory mają ze sobą bardzo niewiele wspólnego. :?

xTrol
-
Posty: 14
Rejestracja: 21 lut 2006, 21:31

Post autor: xTrol » 23 lut 2006, 9:47

Teraz to już chyba ostatnie pytanie z mojej serii pytań:
Czy kit AVT 3505 da się programować przez USB, wykorzystując konwerter USB <-> RS232 z układem FT232R opisanym w EP 12/2005 ??

// EDIT //

Jednak okazuje się, że mam jeszcze jedno pytanie... Z racji, że nie posiadam zasilacza 5V, zastanawiam się nad wykorzystaniem do tego celu portu USB... Tak więc, chciałbym się dowiedzieć jaki jest przewidywalny pobór prądu przez układ AVT 3505 ??

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 23 lut 2006, 12:39

xTrol pisze:Teraz to już chyba ostatnie pytanie z mojej serii pytań:
Czy kit AVT 3505 da się programować przez USB, wykorzystując konwerter USB <-> RS232 z układem FT232R opisanym w EP 12/2005 ??
W podstawowej wersji nie. Przewiduję natomiast odcinek gdzie zapoznamy się z pisaniem bootloadera - od tego momentu będzie to możliwe.
Istnieją także programatory dla procesorów AVR dołączane do komputera przez port USB. Orginalny programator tego typu firmy Atmel nosi nazwę AVRISP 2. Cena nie jest mała (znalazłem go za 169PLN), może jednak warto się tym urządzeniem zainteresować. Prawdopodobnie istnieją też inne opracowania niż orginalne :?
xTrol pisze:Jednak okazuje się, że mam jeszcze jedno pytanie... Z racji, że nie posiadam zasilacza 5V, zastanawiam się nad wykorzystaniem do tego celu portu USB... Tak więc, chciałbym się dowiedzieć jaki jest przewidywalny pobór prądu przez układ AVT 3505 ??
Trudno mi odpowiedzieć na to pytanie. Teoretycznie, przy wyświetlaczu LED maksymalny pobór prądu mieści się w zakresie 300mA. W praktyce takiej wartości jeszcze nie widziałem na mierniku :)

xTrol
-
Posty: 14
Rejestracja: 21 lut 2006, 21:31

Post autor: xTrol » 26 lut 2006, 16:48

Po analizie dotychczasowych części kursu "C" wydawanego w EdW, stwierdziłem, że nie dam rady "przeskoczyć" BASCOMA i bezpośrednio zabrać się za programowanie w C, tym bardziej, że w spomnianym kursie w dużym stopniu bazuje się na wiedzy zdobytej w kursie BASCOM`a.
Tak więc, moja uwaga skupiła się teraz na książce "Mikrokontrolery dla poczatkujących" Piotra Góreckiego. Proponuje on tam zestaw uruchumieniowy ZL11AVR. Chciałem sie zapytać tym razem :] czy używając kit AVT 3505 można też zeralizować materiał tej książki, czy jednak będzie to b. utrudnione i w praktyce lepiej kupić wzpomniany ZL11AVR ?? a może wystarczył by kit proponowany do mikroporocesorowej oślej łączki ?? Jest on tańszy i mam na niego zniżkę (ponieważ jest dostępny w sklepie AVT) :]

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 26 lut 2006, 17:20

Po przejrzeniu schematu mam wrażenie, że to po prostu "dopieszczona" wersja AVT3500 - na tym zestawie kurs C bazował podczas pierwszych "lekcji". AVT3505 w dużej mierze jest w stanie spełniać te same zadania co AVT3500 - więcej szczegółów znajduje się w rozdziale C o nazwie "przeprowadzka", który pojawił się w chwili opisywania zestawu.
Wykorzystanie AVT3505 zamiast AVT3500 jest możliwe, jednak wymaga pewnej już pewnej wiedzy. Nie polecam takiego rozwiązania na początek. Ale może warto zacząć od AVT3500?

jareks91
Użytkownik
Posty: 157
Rejestracja: 15 kwie 2005, 13:30

Post autor: jareks91 » 03 mar 2006, 20:07

Koppel pisze:Rozwiązanie najprostsze: dodanie wspomnianej płytki między moduły. Nie wymaga przeróbki części wykonawczej.
No tak ale dostałem tą płytkę dodatkową z AVT i jest napisane inaczej.

"Zaletą rozwiązania jest brak konieczności posiadania narzędzi do mechanicznej obróbki płytki.(...)rezystory R18 oraz R19 nie powinny sprawić problemów - lutujemy je od strony druku."

Z tego wynika że pomimo że dodamy dodatkową płytkę należy TAKŻE przerobić część wykonawczą. Ta przeróbka ma na celu dodanie dwóch rezystorów od strony druku.

Czyli wkońcu trzeba dodać te rezystory czy jak??

Awatar użytkownika
Koppel
Użytkownik
Posty: 500
Rejestracja: 24 lip 2005, 18:05
Lokalizacja: Gliwice

Post autor: Koppel » 03 mar 2006, 21:41

Tekst zmieniony, moja poprzednia wypowiedź była błędna za co przepraszam

Nie trzeba wykonywać przeróbek mechanicznych płytki - to znaczy ciąć jej czy wiercić otworów. Rezystory R18 oraz R19 jak najbardziej lutujemy.
Ostatnio zmieniony 04 mar 2006, 12:23 przez Koppel, łącznie zmieniany 1 raz.

ODPOWIEDZ