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

Własny układ avr + ubuntu + eclipse - coś nie działa w tym połączeniu

alkan0id 04 Sty 2013 19:08 1656 4
  • #1 04 Sty 2013 19:08
    alkan0id
    Poziom 7  

    Witam
    Wykonałem własną płytkę wg tego schematu:
    Własny układ avr + ubuntu + eclipse - coś nie działa w tym połączeniu
    i w oparciu o mikroprocesor Atmega88PA-PU.
    Pracuje na ubuntu 12.04 i zainstalowałem eclipse wg. tego poradnika. I mam problem z wgraniem programu do mikrokotrolera(dla testów napisałem prosty program który ustawia któryś port w stan wysoki).
    Wcześniej miałem możliwość sprawdzenia tego czy mój ukad działa, poprzez prawidłowo skonfigurowany avr studio 4 i nie udało mi się połączyć z mikrokontrolerem. Przeanalizowałem sytuację i zauważyłem błąd w połączeniu gniazda programatora z układem(ponieważ linie się krzyżowały musiałem użyć 2 przelotek i przez nieuwage mosi połączyłem z resetem i reset z mosi). Obecnie naprawiłem ten błąd. Próbuje wgrać ten program poprzez usbasp ale eclipse sygnalizuje błąd i odsyła do tej strony("Operation not permitted" error"). Poszperałem w internecie i okazuje się, że powinienem do pliku "rules.d" zapisać odpowiednie komendy. Spróbowałem wg. tutoriali ale nie działało, spróbowałem po swojemu również nie działało i teraz jestem w martwym punkcie. Procesor nigdy wcześniej nie był programowany. I nie wiem jak się do tego zabrać ponieważ problem może leżeć po stronie sprzętowej jak i po stronie software'owej. Istnieje jakiś sposób aby sprawdzić czy płytka działa poprawnie?

    0 4
  • #2 04 Sty 2013 19:38
    mirekk36
    Poziom 42  

    Przede wszystkim polecam na dzisiaj sporo nowszą wersję tego poradnika:

    http://mirekk36.blogspot.com/2012/11/instalka-eclipse-atmel-toolchain.html

    tyle że ja nie jestem w stanie pomóc pod linuxa - tu trzeba byłoby sięgnąć do porad kolegi blue17

    http://www.blue17.elektroda.eu/mikrokontrolery-avr/724

    Jeśli zaś chodzi o schemat to polecam gorąco jednak wziąć pod uwagę poradnik o prawidłowej filtracji zasilania przy procesorze i w ogóle w układzie - bo masz z nią kłopot :(

    http://mirekk36.blogspot.com/2012/04/mikrokontroler-prawidowe-zasilanie.html

    0
  • #3 05 Sty 2013 00:21
    alkan0id
    Poziom 7  

    Cytat:
    Przede wszystkim polecam na dzisiaj sporo nowszą wersję tego poradnika:

    Widziałem ten poradnik. Eclipse miałem już zainstalowane i działało a dokładnej informacji o tym co to jest ten toolchain nie mogłem znaleźć więc zostawiłem tak jak było w pierwszym tutorialu. Instalacja Eclipse pod Ubuntu przebiegła tak samo jak w tym pierwszym tutorialu i nie miałem z tym żadnych problemów, programy się kompilują i nie ma żadnych błędów.
    Cytat:
    Jeśli zaś chodzi o schemat to polecam gorąco jednak wziąć pod uwagę poradnik o prawidłowej filtracji zasilania przy procesorze i w ogóle w układzie - bo masz z nią kłopot :(

    A to dziwne bo jak na moje oko to wszystko jest podobnie jak w tym linku (różnice są następujące: pin 7 (VCC) ma kondensator 100nF do masy, jeden dodatkowy kondensator 100nF przy AVCC i inne wartości wartości kondensatorów przy stabilizatorze tak jak tutaj. Dodatkowo jeszcze nie udało mi się dostać dławika 10uH więc zastosowałem rezystor 10 ohm zgodnie z tym co napisane jest tutaj. Innym problemem jest to, że zasilanie stanowi akumulator 6V a 7805 z uwagii na swoje właściwości musi mieć około 7,5 V i po przejściu przez stabilizator mam 4,6 V, wiedziałem o tym problemie ale w elektronicznym nie mieli regulatora LDO więc postanowiłem, że zastosuje akumulator o większym napięciu. Ale po podpięciu układu pod programator napięcie wynosi około 5,05 V więc to jest chyba ok.

    edit:
    Wygląda na to, że działa. Ustawiłem dwa porty w stan wysoki i po sprawdzeniu voltomierzem było 5 V potem przeprogramowałem i ustawiłem w stan niski i było 0.

    Oto jak to zrobiłem. Próbowałem wykonać wg. tego tutoriala ale nie było pliku rules.d w katalogu etc. Więc wpisałem
    Cytat:
    sudo gedit /etc/udev/rules.d/41-atmega.rules
    w terminalu zgodnie z tym co napisane jest tutaj. Polecenie to otwarło plik rules.d który po prosu znajdował się gdzie indziej. Następnie pobrałem plik z tej strony o nazwie "USBasp.rules", wkleiłem jego zawartość do pliku rules.d i zapisałem. Na końcu wykonałem to co zostało opisane w tym tutorialu.

    0
  • #4 05 Sty 2013 04:09
    szulat
    Poziom 23  

    nie wiem dlaczego nie działa ci automatyczne ustawianie praw z rules ale zawsze można zmienić je ręcznie po każdym podłączeniu urządzenia. nie jest to rozwiązanie problemu ale jako obejście... lepsze to niż nic.

    1. sprawdzenie numeru urządzenia

    lsusb | grep 16c0
    Bus 001 Device 022: ID 16c0:05dc VOTI shared ID for use with libusb

    2. ustawienie praw (wstawiając sprawdzone wcześniej wartości zamiast wyróżnionych przykładowych wartości)

    sudo chmod 666 /dev/bus/usb/001/022

    0