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.

ATMEGA8 pierwszy program w LDmicro

pogromca22 12 Wrz 2013 23:23 3303 7
  • #1 12 Wrz 2013 23:23
    pogromca22
    Poziom 12  

    Witam, To moje pierwsze starcie z mikrokontrolerami, wpadł mi w oko program LDmicro, a że programowałem już w drabinie PLC to pomyślałem że będzie to ciekawą zabawą. Ale nawet najprostsza próba mnie przerosła. Otóż moje pytanie brzmi gdzie zrobiłem błąd:
    1 Napisałem podstawowy program w LDmicro, skompilowałem i zapisałem w .hex
    2 podpiąłem Atmega8 do programatora, USB AVR dokładnie taki: http://www.sklep.nestor-electronic.pl/programator_usb_avr,779221,3.html
    postanowiłem skorzystać z programu mkAVRCalculator, czyta procka, zapisuje program .hax do pamięci flash.
    3. Wypinam procesor i składam na płytce stykowej układ wg schematu, włączam zasilanie i niestety układ nie reaguje...
    W PLC przypisywanie we/wyjść było o wiele prostsze i nie mogło nie działać, bo nie było co źle podłączyć a tu nie mam pojęcia, w internecie jest mnóstwo inf. wszystko odnosi się do innych języków programowania, które są dla mnie ogromną barierą. Moje pytanie brzmi czy popełniłem błąd gdzieś podczas przypisywania pinów, czy jest on w schemacie, czy przesyłanie programu było niepoprawne, pomimo komunikatu że programowanie zakończone pomyślnie
    ATMEGA8 pierwszy program w LDmicro ATMEGA8 pierwszy program w LDmicro
    Z Góry dziękuję za pomoc i wyrozumiałość dla leszcza:)

    0 7
  • #2 12 Wrz 2013 23:46
    piotrva
    Moderator na urlopie...

    Co robi program - nie wiem - nie korzystałem - nie wiem czy działa poprawnie.
    Na pewno schemat błędny.
    1. Przyciski przy aplikacjach procesorów AVR muszą zwierać do masy (wtedy wykorzystuje się wewnętrzne podciąganie procesora) lub w takiej konfiguracji musisz dać zewnętrzne rezystory ściągające linie do masy.
    2. Przy diodzie LED musi być w szeregu rezystor - no chyba, że lubisz palić plastik

    0
  • #3 12 Wrz 2013 23:46
    dondu
    Moderator Mikrokontrolery Projektowanie

    Witaj.

    Nie znam LDmicro, ale przyciski mają zwierać piny do masy, a piny te mają mieć włączone wewnętrzne rezystory pull-up.

    Dobra rada zanim będziesz tracić czas:
    Porzuć LDmicro i zacznij C z Atmel Studio gdzie masz symulator: http://mikrokontrolery.blogspot.com/2011/04/atmel-studio-spis-tresci.html

    EDIT:
    A do diody, o której pisze piotrva: http://mikrokontrolery.blogspot.com/2011/03/datasheet-mikrokontroler-prady-pinow.html

    0
  • #4 13 Wrz 2013 00:06
    pogromca22
    Poziom 12  

    co co diody, nie narysowałem rezystorka, ale oczywiście jest:) W PLC zawsze dawałem na wejście +24 stąd ten błąd z przyciskiem, niestety podczas zwierania do masy nic sie nie zmienia, na wyjściu brak jakiejkolwiek zmiany sygnału. Ale bardzo dziękuje za zainteresowanie i pomoc:) Do C zabierałem się już raz, ale jak dla każdego początkującego jest skomplikowany a ja nie mogę mu poświecić wystarczająco dużo czasu...

    Może ktoś robił coś w tym programie i podesłał by mi swój program i schemat żebym mógł na tej podstawie, zmontować sobie coś prostego dla ćwiczeń.

    0
  • #5 13 Wrz 2013 00:12
    dondu
    Moderator Mikrokontrolery Projektowanie

    pogromca22 napisał:
    Może ktoś robił coś w tym programie i podesłał by mi swój program i schemat żebym mógł na tej podstawie, zmontować sobie coś prostego dla ćwiczeń.

    Na Twoje pytanie jest prosta odpowiedź: Użyj wyszukiwarki na tym forum i wpisz tam słowo: LDmicro.

    Otrzymasz dwa tematy (na 11.097.970 postów na Elektroda.pl), w tym jeden Twój. Następnie przemyśl jednak decyzję dot. C lub Arduino.

    0
  • #6 22 Lis 2013 20:12
    KwoiteK
    Poziom 16  

    Po krótkim zapoznaniu nasuwają mi się takie uwagi:

    - kod wynikowy ustawia podciągi na wejściach więc przyciski podłączamy jako zwierające do masy (od biedy będzie działać bez zewnętrznych rezystorów).

    - dioda jest podłączona poprawnie choć lepiej zmodyfikować drabinkę by aktywnym stanem było zero (ustawić negację w Led).

    Nie wiem czy drabinka jest narysowana poprawnie, ale zmiana na wyjściu Led jest gdy wejście PD4 zmienia się z 1 na 0.

    Mam nadzieję, że choć trochę pomogłem. Życzę miłej zabawy.

    Pozdrawiam.

    0
  • #8 24 Lis 2013 09:36
    PiotrPitucha
    Poziom 33  

    Witam
    Doczytałem że LDmicro może z drabinki wygenerować kod C, wrzuć tu taki efekt kompilacji to specjaliści od C Ci to zanalizują.
    Swoją drogą jeśli to funkcjonuje to w końcu będę mógł sobie poćwiczyć drabinki bez szukania sterowników po znajomych.
    Piotr

    Ps. Jeśli PICe są tak samo sterowane jak AVRy to w manualu jest chyba rozwiązanie Twojego problemu, wejścia są podpięte do masy przez rezystory 1K co zapewnia cały czes niski stan a kluczowanie odbywa się tak jak to pokazałeś na schemacie do plusa zasilania.

    0