logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

BAscom atmega - Programowanie w Bascomie,silnik DC,Atmega32

DianaNowak 28 Sty 2016 21:11 2997 32
REKLAMA
  • #1 15380676
    DianaNowak
    Poziom 8  
    Witam ,
    Mam do zaprojektowania układ zbudowany z silnika dc,mostka l293d oraz z AtMegi32 z zegarem kwarcowym 8MHz
    Moim celem jest sterownie silnika lewo/praw oraz szybciej/wolniej.
    Na wyświetlaczu ma się wyświetlać prawo/lewo oraz szybkość(w %)
    Program jaki mam jest napisany w Bascomie.


    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Program jest wgrany ale silnik nie działa i wyświetlacz nie reaguje na podłączenie.
    Szukam osoby,która jest w stanie pomóc znaleźć błąd w programie.
    Jestem początkujący i mam małe problemy z tworzeniem programów.
    Z góry,dziękuję za wszelkie uwagi.
    W załączniku wysyłam schemat układu
  • REKLAMA
  • Pomocny post
    #2 15380829
    dr.hannibal
    Poziom 22  
    DianaNowak napisał:
    z zegarem kwarcowym 8MHz

    DianaNowak napisał:
    $crystal = 1000000

    To w końcu jaki ma być ten kwarc?
  • #3 15380902
    DianaNowak
    Poziom 8  
    mój błąd.
    W układzie jest 8MHz.
    Proszę o dalsze uwagi.
  • Pomocny post
    #4 15381041
    GBW
    Poziom 31  
    Fusebity ustawione poprawnie? Bywają układy które mają JTAG na PC 2-5 ustawiony fabrycznie.
  • Pomocny post
    #5 15381585
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #6 15381637
    GBW
    Poziom 31  
    Generalnie PIN to wejście, a PORT to wyjście.
  • REKLAMA
  • Pomocny post
    #7 15391762
    dr.hannibal
    Poziom 22  
    GBW napisał:
    Generalnie PIN to wejście, a PORT to wyjście.

    Chyba jednak nie :)
    PIN to pojedyncze wejście/wyjście, a PORT to 8 (najczęściej) pinów (np. PORTA, PORTB). Gdzie każdy pin w porcie może być programowany i obsługiwany niezależnie.
  • Pomocny post
    #8 15391981
    GBW
    Poziom 31  
    Kolego, układy AVR mają nogę podłączoną do kilku rejestów. Pisząc słowo PIN konfigurujemy rejestry wejściowe, a słowo PORT rejestry wyjściowe. Chodzi tu o składnie języka Bascom.
  • #9 15393647
    DianaNowak
    Poziom 8  
    Po małej przeróbce(ustawione są konkretne piny na wejście /wyjście) silnik nadal nie działa.
    Problem jest w tym ,że na obu wejściach do mostka (Pin Pa0 i Pa1) są jedynki logiczne, co unieruchamia silnik (bo jest w stanie zabronionym).
    Próbowałem w programie na jedno wejście wprowadzić 0 i na drugie 1 ,ale po zmierzeniu miernikiem obu wejść nadal jest tam napięcie 5V.
    Czy ktoś wie jak ten problem rozwiązać?
    Z góry,dziękuję za odpowiedzi

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #10 15393754
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #11 15393900
    Konto nie istnieje
    Konto nie istnieje  
  • #12 15394267
    DianaNowak
    Poziom 8  
    Bardzo dziękuję za pomoc:)
    Jutro biorę się od razu za programowanie:)
    Mam nadzieję,że silnik ruszy:)
  • #13 15425278
    DianaNowak
    Poziom 8  
    Silnik ruszył:)Pięknie zmienia kierunek obrotów.
    Problem jest w regulacji obrotów, ponieważ są cały czas są stałe .Drugi problem jest w włączaniu/wyłączaniu silnika.
    Pomimo różnych zmian w programie nadal nie mogę go przyciskami włączyć i wyłączyć .
    Silnik cały czas chodzi i nie chce się zatrzymać.
  • REKLAMA
  • #14 15425472
    DianaNowak
    Poziom 8  
    Czy to normalne,ze stabilizator lm (o
    d lcd i mostka)się mocno grzeje?
  • Pomocny post
    #15 15425550
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #16 15425570
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #17 15425642
    Konto nie istnieje
    Poziom 1  
  • #18 15436802
    DianaNowak
    Poziom 8  
    Dziękuję za podpowiedzi.
    Już wcześniej był założony radiator na lm.Wg mnie się za mocno grzeje i obawiam się ,że się kiedyś się w końcu przepali.
    Co do płytki , to mam już wlutowane dwa przyciski start i stop, szkoda byłoby znowu coś odlutować bo tył płytki wygląda makabrycznie,co chwile coś zmieniałem i jest z tyłu "nababrane".
    Jeżeli chodzi o program, to nadal próbuje sterować tym pwm ale coś mi nie idzie:
    Zmieniony program:
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod
  • #19 15437032
    Konto nie istnieje
    Poziom 1  
  • #20 15437210
    Konto nie istnieje
    Konto nie istnieje  
  • #21 15441008
    DianaNowak
    Poziom 8  
    Dzięęęęki bardzo niveasoft, bardzo mi pomogłeś!Nie wiem jak mogę Ci się odwdzięczyć.
    Silnik działa:)
    Do końca z tym PWM sobie jeszcze nie radzi,bo nie chce zmniejszać i zwiększać obrotów.
  • REKLAMA
  • #22 15441270
    Konto nie istnieje
    Konto nie istnieje  
  • #23 15441308
    DianaNowak
    Poziom 8  
    Pokombinuje wtedy z tymi prescalerami i fuse bitami.
    Póki co w kodzie i w mkAVrcalculator cały czas mam ustawione na 8MHz, a prescaler ustawiony na 8,natomiast slow SCK mam ustawione na >187,5 kHz
    Na wyświetlaczu pokazuje mi to samo co Tobie, ale nie słychać ani nie widać w rzeczywistości ,że ta prędkość się zmienia.
  • #24 15441353
    Konto nie istnieje
    Konto nie istnieje  
  • #25 15442102
    DianaNowak
    Poziom 8  
    Sprawdziłem, że pomimo wciskania szybciej/wolniej na wyjściu silnika napięcie jest stałe dlatego silnik nie zmienia obrotów i miernik pokazuje około 5 V

    Dodano po 4 [minuty]:

    Posiedzę jeszcze trochę nad tymi prescalerami ,może rzeczywiście jest w tym problem.

    Dodano po 2 [minuty]:

    Niestety nie mogę sprawdzić za pomocą diody ponieważ mam płytkę wytrawioną z ścieżkami, a to by oznaczało rozcinanie ścieżek i na nowo lutowanie .
  • #26 15446516
    DianaNowak
    Poziom 8  
    Niestety to nie jest wina prescalerów i taktowania, próbowałem już w każdej kombinacji .
    Żadnej różnicy nie zauważyłem, a napięcie przy wyjściu pwm się nie zmienia.

    Z tego co wiem ,to może być to wina złej kompilacji, dlatego przy wyjściu oc1a(Pin D5) od pwma muszę odwoływać się do poszczególnych rejestrów coś na wzór tego:

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod

    Spróbuję jutro się za to zabrać i odpowiednio dobrać rejestry.
    Jeśli widzicie, że to nie ma sensu to napiszcie.
    Z góry,dzięki:)
  • #27 15446562
    Konto nie istnieje
    Konto nie istnieje  
  • #28 15447349
    DianaNowak
    Poziom 8  
    Niestety pwm dalej nie chce działać:(Kombinuje dalej
  • #29 15450801
    DianaNowak
    Poziom 8  
    Już chyba prawie wszystkie problemy wykluczyłem.
    Atmega jest sprawna,silnik też.
    Zaprogramowałem też na inne wyjścia Pwm (wyjście PD.4) i dalej jest tam sam problem
    Pwm nadal nie chce działać.Przy nóżkach nadal jest 5v i nie chce się zmieniać.
    Wydaje się ,że to wina programu, ale po konsultacji u mojego wykładowcy powiedział ,że też nie widzi błędu w programie.
    W załączniku wysyłam filmik jak działa mój silnik.
  • #30 15450960
    Konto nie istnieje
    Poziom 1  
REKLAMA