Skocz do zawartości

[C] Programowanie nowego procesora


krzysiektc

Pomocna odpowiedź

Miałeś osobiście taką przygodę, czy mówisz o ludziach, którzy po prostu zaznaczyli nie to pole/wpisali nie to co trzeba w avrdude(gui)? Mam od kiedy pamiętam "firmową" podstawkę z tak podłączonymi wyprowadzeniami, zaprogramowałem nią dziesiątki atmeg i więcej problemów było z prockami z różnych płytek rozwojowych, niż tutaj. W kwestii zakłóceń - podkreśliłem, że mowa o stabilnym napięciu, USB jest do tego celu idealne. Wiadomo, że jak ktoś da np. stabilizator impulsowy, to będą problemy, ale to nawet kilka ceramików może być za mało. Nie ma pracujących, prądożernych elementów w układzie, generowane przez atmegę zakłócenia zmienią może napięcie o jakieś mili/mikro wolty - na pewno nie o wartości mogące zostać odebrane jako zmiana stanu logicznego...

W każdym razie - więcej problemów sprawią problemy łączeniowe na płytce stykowej przy podłączaniu filtrowania, niż ewentualnie możliwe (czy na pewno? 😃) czarodziejskie samoprzeprogramowanie się fusebitów 😋 Ja tylko sugeruję, że jeśli jest kłopot z zaprogramowaniem, to warto spróbować najprostszej opcji - łatwiej też sprawdzić połączenia i trudniej się pomylić.

Link do komentarza
Share on other sites

Jeśli chodzi o programowanie bez filtracji zasilania, to nie. Nigdy nie miałem osobiście takiego problemu, ale znacznie bardziej doświadczeni koledzy z Elektroda.pl sugerują, że takie problemy podczas programowania przy braku filtracji zasilania się zdarzają.

Jeśli pytasz o zakłócenia podczas pracy vs brak filtracji zasilania - to oczywiście non stop mamy takie przypadki wśród początkujących, którzy "olewają" temat filtracji zasilania.

W kwestii zakłóceń - podkreśliłem, że mowa o stabilnym napięciu, USB jest do tego celu idealne. Wiadomo, że jak ktoś da np. stabilizator impulsowy, to będą problemy, ale to nawet kilka ceramików może być za mało. Nie ma pracujących, prądożernych elementów w układzie, generowane przez atmegę zakłócenia zmienią może napięcie o jakieś mili/mikro wolty - na pewno nie o wartości mogące zostać odebrane jako zmiana stanu logicznego...

Nawet przy idealnym zasilaniu, zawsze są spadki napięcia na ścieżkach oraz interferencja zakłóceń z innych ścieżek. Dlatego też producenci mikroprocesorów tak dużą wagę przywiązują do filtrowania zasilania nawet gdy układ pracuje na baterii oraz odpowiednie projektowanie PCB, by wyeliminowywać wszelkie możliwe problemy. Niektóre mikrokontrolery muszą mieć nawet 6 kondensatorów jak najbliżej pinów zasilających.

Piszesz o USB argumentując, że jest stabilne, a z drugiej strony piszesz, że gdy ktoś da stabilizator impulsowy. Moje pytanie: Jaki zasilacz zasila USB?

Zastanów się dlaczego przy wszystkich układach na płytach głównych, kartach itp zamontowanych w komputerach są kondensatory filtrujące zasilanie przy każdym scalaku jak najbliżej? Zrób próbę, wymontuj je i zrób testy działania systemu.

Kto nie docenia tego problemu traci czas na szukanie przyczyn nieprawidłowego działania układów.

W każdym razie - więcej problemów sprawią problemy łączeniowe na płytce stykowej przy podłączaniu filtrowania, niż ewentualnie możliwe (czy na pewno? 😃) czarodziejskie samoprzeprogramowanie się fusebitów 😋

Oczywiście zgadzam się z Tobą, że w większości przypadków, to samoistne zmienienie fusbitów wynika, z działania osoby programującej. Jednak nie mam powodu nie ufać znacznie bardziej doświadczonym kolegom.

Ja tylko sugeruję, że jeśli jest kłopot z zaprogramowaniem, to warto spróbować najprostszej opcji - łatwiej też sprawdzić połączenia i trudniej się pomylić.

Dlatego napisałem, że szansa na zaprogramowanie jest wielka. Jednak pomyłka w tak prostych połączeniach jak filtrowanie zasilania jest mało prawdopodobna nawet dla początkującego.

Druga bardzo istotna uwaga do schematu, który przedstawiłeś. Producent jasno pisze w datasheet tego procesora że część analogowa MUSI być zasilana nawet gdy jest niewykorzystana.

Kto chce się przekonać z dlaczego należy filtrować zasilanie polecam lekturę:

http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html

http://mikrokontrolery.blogspot.com/2011/04/zakocenia-w-pracy-mikrokontrolerow.html

http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html

I dodam jeszcze, że w robotach gdzie są silniki te problemy są bardzo istotne.

Oczywiście możesz robić projekty według własnego uznania 🙂

Ale mam prośbę - nie ucz innych (w szczególności początkujących) niewłaściwych zasad projektowania układów z mikrokontrolerami.

Link do komentarza
Share on other sites

Kolego, nie musisz mi na forum tłumaczyć po co stosuje się filtrację w układach; kto nie wie, ten ma bardzo ładne linki do Twojej strony. Nie jestem laikiem, siedzę w tym temacie hobbystycznie i zawodowo, nie ograniczam się też do 'wolnych' procesorów 8-bitowych, walczyłem ze znacznie większymi częstotliwościami taktowania/sygnałów w układach. To co proponuję, dotyczy tylko jednorazowego podłączenia układu na płytce stykowej, w celu wypróbowania komunikacji między układem i programatorem. Mamy jakieś 10 połączeń, wykonanych przy pomocy skrętki, która ma średnicę, załóżmy, 0,5mm; długość raczej nie przekracza metra 🙂 Nie ma co straszyć tutaj zakłóceniami interferencyjnymi, bo naprawdę są ZNIKOME.

Nawyków prawidłowego projektowania PCB autor tematu zacznie się uczyć, kiedy po pierwsze - uda mu się wywalczyć sprawę zadziałania programowania, a po drugie, kiedy będzie dawał do oceny projekt PCB, a nie połączenia. Wtedy wszystko może mieć znaczenie, włącznie z kształtem, długością ścieżek i umiejscowieniem ich względem rozlanej masy.

Druga bardzo istotna uwaga do schematu, który przedstawiłeś. Producent jasno pisze w datasheet tego procesora że część analogowa MUSI być zasilana nawet gdy jest niewykorzystana.

Możesz mieć rację, ale dokumentacja nie uwzględnia błędu konstrukcyjnego struktury, o którym większość praktyków wie - AVCC w Atmega8 (a mówimy konkretnie o tym uC) jest wewnętrznie zwarte z VCC. Oczywiście, nikt Ci nie zabrania dodać takiego połączenia na zewnątrz układu, ja jestem po prostu strasznie leniwy 🙂

z drugiej strony piszesz, że gdy ktoś da stabilizator impulsowy. Moje pytanie: Jaki zasilacz zasila USB?

Z kontekstu jasno wynika, że chodziło mi o stab. impulsowy BEZ filtracji, który "nada" się do pracy z naszym uC dopiero po odpowiednim wygładzeniu przebiegów Us.

Link do komentarza
Share on other sites

Jak już wspomniałem wcześniej, nie chodzi o Ciebie - Ty zrobisz jak zechcesz.

Linki także nie były dla Ciebie.

Chodzi o Tych co to czytają, oglądają załączony przez Ciebie schemat i wyciągają niewłaściwe wnioski, w szczególności gdy są początkujący i nie wiedzą o tym błędzie w Atmega8, bo nie napisałeś o tym wcześniej. Po takim wpisie będą taki układ stosować zawsze, bo EXPERT przecież tak napisał. I to ich będzie gubić, i będą tracić cenny czas niepotrzebnie.

Tytuł EXPERT zobowiązuje do myślenia nad każdym słowem które się pisze, i osoba taka powinna mieć na względzie wszelkie skutki, które wywołuje podanie na forum jakiejś informacji.

Jak widzę, zakłóceń nadal nie doceniasz, ale to już Twoja sprawa.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Rozumiem, że kreujesz wizerunek znawcy, żeby lepiej rozreklamować swoją stronę, ale nie siej zamętu tam, gdzie nie ma takiej potrzeby, byleby tylko wcisnąć jeszcze jeden odnośnik. Nic nie zwalnia początkujących od myślenia oraz od czytania not katalogowych. Jeśli wyciągną wnioski, że w przypadku Atmega8 nie ma potrzeby podłączać AVCC do zasilania, to nie podłączą, a układ będzie poprawnie działać. Ponieważ od kiedy pamiętam, problem zawsze tkwił albo w połączeniach, albo w konfiguracji programatora, te kilka przewodów jest w stanie znacznie zawęzić pole poszukiwań ew. problemu.

Jak widzę, zakłóceń nadal nie doceniasz, ale to już Twoja sprawa.

Nie, po prostu dość dobrze znam ich naturę i wiem, kiedy konieczna jest ochrona przed ich wpływem, a kiedy można zaoszczędzić trochę kasy na niepotrzebnych podzespołach. W którymś temacie chyba dawałeś link do budowy oscyloskopu - jeśli mi nie wierzysz, to złóż mój układ na płytce stykowej i SPRAWDŹ, jak wyglądają takie zakłócenia (o ile rozdzielczość wystarczy do zaobserwowania jakichś zmian w przebiegu). Poza tym, mam też wrażenie, że ciągle schodzisz do tematu ogólnych zagadnień projektowania obwodów dla uC, a nie prostej podstawki do programowania na płytce stykowej.

Żeby za bardzo nie odbiegać już od tematu - krzysiektc, podłącz tak, jak narysowałem, sprawdź, czy pola zasilania na płytce stykowej (te opisane "+' i "-", zwykle biegną pionowo z lewej/prawej strony pozostałych pól) nie mają gdzieś po drodze przerwy. Jeśli masz inny uC niż Atmega8 (np. Atmega88, 48, 8A etc.), to podłącz nieszczęsne AVCC do zasilania i już.

Link do komentarza
Share on other sites

Rozumiem, że kreujesz wizerunek znawcy, żeby lepiej rozreklamować swoją stronę, ale nie siej zamętu tam, gdzie nie ma takiej potrzeby, byleby tylko wcisnąć jeszcze jeden odnośnik.

Przy braku argumentów tonący EXPERT brzytwy się chwyta.

Podawaj właściwe informacje to nie będę musiał załączać linków,a nawet w ogóle zabierać głos.

Nic nie zwalnia początkujących od myślenia oraz od czytania not katalogowych.

Nic nie zwalnia EXPERT-a od podawania prawidłowych i właściwych informacji, a początkującym trzeba pomagać, a nie uczyć nieprawidłowego postępowania.

Ponieważ od kiedy pamiętam, problem zawsze tkwił albo w połączeniach, albo w konfiguracji programatora, te kilka przewodów jest w stanie znacznie zawęzić pole poszukiwań ew. problemu.

Widocznie zbyt mało przypadków przerobiłeś.

Nie, po prostu dość dobrze znam ich naturę i wiem, kiedy konieczna jest ochrona przed ich wpływem, a kiedy można zaoszczędzić trochę kasy na niepotrzebnych podzespołach. W którymś temacie chyba dawałeś link do budowy oscyloskopu - jeśli mi nie wierzysz, to złóż mój układ na płytce stykowej i SPRAWDŹ, jak wyglądają takie zakłócenia (o ile rozdzielczość wystarczy do zaobserwowania jakichś zmian w przebiegu). Poza tym, mam też wrażenie, że ciągle schodzisz do tematu ogólnych zagadnień projektowania obwodów dla uC, a nie prostej podstawki do programowania na płytce stykowej.

Samochód bez zakręconego korka oleju silnika także pojedzie, czy zaryzykujesz taką jazdę swoim autem? Jeżeli uważasz, że inżynierowie ATMELA, Microchipa i innych producentów mikrokontrolerów, piszą datasheet tylko dlatego, że mają takie kaprys, to ja to akceptuję - Twój problem i rób jak chcesz, ale nie ucz innych złych nawyków.

A jeżeli nie chcesz zaryzykować ze swoim samochodem, to zrób to co pisałem wcześniej - wymontuj wszystkie kondensatory filtrujące zasilanie na Twojej płycie głównej PC.

Żeby za bardzo nie odbiegać już od tematu - krzysiektc, podłącz tak, jak narysowałem, sprawdź, czy pola zasilania na płytce stykowej (te opisane "+' i "-", zwykle biegną pionowo z lewej/prawej strony pozostałych pól) nie mają gdzieś po drodze przerwy. Jeśli masz inny uC niż Atmega8 (np. Atmega88, 48, 8A etc.), to podłącz nieszczęsne AVCC do zasilania i już.

A ja radzę, stosuj to co podaje producent w datasheet danego procesora, bo lepiej na tym wyjdziesz.

A czytający tę dyskusję niestety sami muszą wyciągnąć właściwe wnioski 🙂

Link do komentarza
Share on other sites

Witam!

Podłączyłem cały układ na płytce PCB-sprawdziłem multimetrem, wszystkie luty sprawne, ale po podłączeniu płytki do kompa wyświetlają się komunikaty które widać na załączonym obrazku. Wszystko robiłem wg. schematów znalezionych w sieci, podobno działających. Programować próbowałem zgodnie z poradnikiem ze strony producenta mojego programatora (zestaw startowy EVB)-firmy AND-TECH. Co ciekawe, gdy założyłem procesor na podstawkę EVB, za pomocą tej samej taśmy, Fusebity zostały odczytane i zapisane prawidłowo... Bardzo proszę o pomoc, płytkę muszę mieć gotową na poniedziałek..

Link do komentarza
Share on other sites

krzysiektc, lut, który się nie błyszczy jest potencjalnym źródłem braku połączenia, tzw. zimne luty. To, że jest sprawdzasz miernikiem i jest wszystko ok, nic nie znaczy, bo za moment może już nie łączyć jak inaczej położysz płytkę.

Link do komentarza
Share on other sites

Zacznij od Denaturatu i usunięcia kalafonii - potem zrób zdjęcie płytki jeszcze raz.

Jak mamy się połapać w tym bałaganie?

Do tego dokładniejsze zdjęcie wtyku by było widać każdy przewód.

I pytanie: Jaką masz lutownicę?

Link do komentarza
Share on other sites

Nóżki 7-9 mikrokontrolera są przylutowane bardzo kiepsko. Pozostałe jedynie kiepsko. Naucz się jednej rzeczy: nie stawia się takich wielkich kluch. Teraz weź do ręki odsysacz i odessij wszystkie kluchy to zobaczysz gdzie pod spodem w rzeczywistości nóżki nie były przylutowane.

Link do komentarza
Share on other sites

Ja rozumie, że początki są trudne. Nie raz i nie dwa miałem takie płytki jak Twoja 🙂

Zaznaczyłem parę miejsc które pokazują w czym jest problem - JAKOŚĆ!

A to zapewne nie wszystkie (są cienie na zdjęciu i nie widać).

Ta płytka nie daje gwarancji, że układ będzie działał, choć czywiście może będzie.

Masz dużo wżerów na ścieżkach.

Twoje lutowanie także wymaga ćwiczeń - może na jakichś zepsutych urządzeniach poćwiczysz?

Wiem, wiem - musisz zdążyć do poniedziałku - może być problem.

Cóż mogę doradzić:

1 przeglądnąć płytkę pod lupą , każdą ścieżkę i lut, i ewentualnie poprawić je

2 sprawdzić ścieżki DOKŁADNIE ze schematem,
3 to samo co pkt 2, ale miernikiem

Dopiero po takim gruntownym sprawdzeniu można będzie zastanawiać się co jest nie tak.

Masz odsysacz do cyny? Używaj go.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.