Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Attiny2313 - [C] Po wgraniu programu programator nie wykrywa uC

29 Gru 2014 19:04 1077 11
  • Poziom 8  
    Witam
    Chciałem wykonać małą centralkę alarmową (o ile można to tak nazwać) na początek chciałem uruchomić odczyt klawiatury matrycowej i wyświetlanie postępu wpisywania kodu. Wzorując się kursem języka C z jednej ze stron internetowych przerobiłem zamieszczony tam kod pod mojego Attiny2313 po skompilowaniu i wgraniu programu do uC program się uruchomił ale jak się można było spodziewać działał nie do końca tak jakbym chciał. Więc ponownie podłączyłem się z programatorem i pojawił błąd "Chip enable program error". Załatwiłem już w ten sposób kilka Tiny próbując programować m.in. na płytce stykowej na której już inne podobne programy działały. Nie mam już pomysłu w czym może być problem bo skoro zmieniłem "miejsce" programowania to wina leży w kodzie? Niestety nie znalazłem błędu na własna rękę.

    Żeby było wszystko jasne programuje w Atmel Studio 6.2, używam programatora USB ISP zakupionego w internecie i już wiele razy nim programowałem i nie było problemu. Wsad wrzucam za pomocą programu PROGISP (ver. 1.72).

    Kod programu (po przeróbkach i nie do końca działający jak trzeba) zamieszczam poniżej.

    tmf - poprawiłem znacznik syntax na prawidłowy, na przyszłość proszę poprawnie formatować kod

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Attiny działa na wewnętrznym kwarcu 8 MHz tak jak został przyniesiony ze sklepu (Fusebitów nie zmieniałem). Kompilator nie wyrzuca błędów.
  • Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
  • Poziom 24  
    Jeśli jesteś absolutnie pewny, że nie zmieniasz fusebitów to zgaduję, że wgranie programu niszczy mikrokontroler poprzez niepoprawny schemat.
    Możesz pokazać pełnyc schemat?
    Masz tam jakąś diodę lub czy możesz ją dodać, żeby udowodnić, że procesor działa i się nie programuje?
  • Relpol przekaźniki nadzorczeRelpol przekaźniki nadzorcze
  • Poziom 8  
    Witam
    Specjalnie odznaczam programowanie fusebitów tak dla pewności, też miałem to na myśli, że układ niszczy procka ale najlepsze jest to, że on pracuje nadal i wykonuje program, teraz właśnie próbuje proste programy uruchamiać typu zapal diodę itp. i jak narazie jest możliwość wykrywania uC.

    A oto schemat:
    Attiny2313 - [C] Po wgraniu programu programator nie wykrywa uC

    Transoptor jest wyjęty z podstawki, a listwy przychodzą SV1 <-> SV2, SV3 <-> SV4,
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 24  
    O ile wiem buzzer należy traktować tak samo, jak przekaźnik. Możesz go tymczasowo usunąć lub nic nie sterować z programu?
    Nie pamiętam schematu zastępczego dla tranzystora bipolarnego pnp ale jeśli wypada niekorzystnie to masz szansę zasilić port zakłóceniem.
    Na pewno zasilasz programator zakłóceniem poprzez reset. Moim zdaniem rezystor 330 om jest w niewłaściwym miejscu.
  • Poziom 8  
    Witam
    Racja zapomniałem o dzielniku. Zgodnie z twoją sugestią spróbuje innym programem coś podziałać z tamtymi prockami, narazie czekają grzecznie w pudełku.

    Co do postępów uruchomiłem prosty program w tym układzie i wszystko działa dobrze, więc nie wiem czy jest możliwość aby program mógł w jakiś sposób uniemożliwić komunikację?

    Tu zamieszczam aktualny program testowy:

    Kod: C
    Zaloguj się, aby zobaczyć kod


    Tranzystor pnp również odłączyłem od układu.

    Buzzer był sterowany jedynie przy naciskaniu klawisza i po wpisaniu całego klucza, teraz pracuje niemal cały czas i nie ma negatywnego wpływu na komunikacje z programatorem.

    Masz na myśli rezystor R13?

    Spróbuje kolejne fragmenty pierwotnego kodu dodawać i zobaczę w którym momencie się wysypie.

    Zapomniałem dodać, ze narazie cały układ jest zasilany z programatora, zewnętrzne zasilanie nie jest podpięte.
  • Pomocny post
    Poziom 24  
    Tak. Programator musi rozladować pojemność 100n i robi to w impulsie, ponieważ prąd rozładowania ogranicza tylko rezystancja ścieżek. Poprawnie powinno być tak, żeby rezystor R13 ograniczał prąd i w przypadku przycisku, i w przypadku programatora.

    Jak sobie popatrzysz na schemat zastępczy tranzystora pnp http://ea.elportal.pl/bipolarne.html rys 4.1.1 to wychodzi na to, że masz szansę zasilić procesor przepięciem powstałym w wyniku rozłączenia przekaźnika. Przez rezystor, ale zawsze. Na stronie dondu widziałem, że takie przepięcie może dojść nawet do 160V w impulsie.
  • Poziom 8  
    W takim razie zajmę się tym rezystorem aby ograniczony również był prąd rozładowania przez programator, ewentualnie usunę kondensator. Gdzieś doczytałem, że uC AVR mają wbudowany FDP, a zewnętrzny kondensator może być opcjonalny w wypadku gdy układ jest narażony na silniejsze zakłócenia.

    Teraz kwestia tego przepięcia jak go uniknąć, diodę D1 dodałem właśnie aby gasić przepięcia. Co jeszcze należałoby zastosować?
  • Poziom 24  
    Moim zdaniem ta dioda jest po pierwsze w złym miejscu, po drugie jest za wolna.
    Sposób połączenia diody jest poprawny w przypadku sterowania tranzystorem npn. Przy pnp obawiam się, że nie działa tak, jak sobie to wyobrażasz.
  • Poziom 8  
    Wygląda na to, że schemat jest do gruntownej przeróbki, w takim razie należałoby wyłapać wszystkie błędy i niedociągnięcia zanim zacznę go przebudowywać. Najbardziej obawiam się sterowania transoptorem ponieważ pierwszy raz mam z nim do czynienia w moim projekcie i nie jestem do końca pewien czy ten układ by działał tak jak ja sobie tego życzę.
  • Pomocny post
    Poziom 24  
    Ja trzy lata temu zrobiłem tak i działa do tej pory.
    Attiny2313 - [C] Po wgraniu programu programator nie wykrywa uC Attiny2313 - [C] Po wgraniu programu programator nie wykrywa uC Attiny2313 - [C] Po wgraniu programu programator nie wykrywa uC
  • Poziom 8  
    Zastosuje twoje rozwiązania, teraz tylko kwestia oprogramowania "centralki" ale już nad tym pracuje, póki co nie ma problemów. Jeśli się jakieś pojawią i nie będę wstanie sobie z nimi dać rady na pewno napiszę.

    Póki co dziękuję za porady

    Dokonałem paru poprawek w schemacie. Jedyne co mnie zastanawia to taka dioda Schottky'ego będzie dobra oraz czy transoptor jest będzie spełniał swoje zadanie.
    Attiny2313 - [C] Po wgraniu programu programator nie wykrywa uC


    Zastosowałem się do zaleceń sulfur i teraz układ działa bez zastrzeżeń, dodatkowo przeniosłem sterowanie przekaźnikiem na inny pin uC oraz dokonałem innych drobnych zmian w projekcie.

    Wszystkim dziękuję za pomoc.
    Temat uważam za zamknięty.