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

Potrójny regulator obrotów silniczka na AT89C2051 sterowany pilotem - jak zrobić?

marcin253 01 Sty 2006 00:01 3123 21
REKLAMA
  • #1 2135123
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    potrzebuje zrobić potrójny regulator obrotów małego silniczka za at89c2051. czy jest to możliwe i aby regulacja sterowana była z pilota
  • REKLAMA
  • Pomocny post
    #2 2136494
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    Pewnie że się da....
    co masz na myśli pisząc "potrójny regulator" ?
  • Pomocny post
    #3 2136515
    MirekCz
    Poziom 35  
    Posty: 2220
    Pomógł: 330
    Ocena: 62
    są gotowe układy scalone - L293D , poszukaj na forum, dużo info o tym...

    PS.Jeżeli zasilasz silniczek napięciem <4,5V to będziesz musiał zbudować sobie regulator z tranzystorków... w dziale automatyki są schematy jak taki układ ma wyglądać i przykłady stosowania.

    Co do sterowania regulacji z pilota... musisz pod procesor podłączyć odbiornik IR i oprogramować odpowiednio... znajdziesz gotowe przykłady takich projektów, poszukaj tylko.
  • REKLAMA
  • #4 2136600
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    chcę aby można było sterować dwoma lub trzema silnikami i 2-5 wyjść na przekaźniki i silniki mogą być sterowane tranzystorami mógł by ktoś podać linka do o takim lub podobnym układzie i pod które nóżki procka podłączyć diode odbiorczą nie znam się na procesorach z gory dziękuje
  • REKLAMA
  • Pomocny post
    #5 2137589
    Jellyeater
    Poziom 17  
    Posty: 246
    Pomógł: 6
    Ocena: 3
    Regulator PWM by się przydał:

    code at 0000h
    ljmp start
    code at 000Bh
    ljmp timer
    code at 0100h
    start: mov TMOD, #00000001b
    mov TH0, #11101010b
    mov TL0, #01111001b
    setb TR0
    setb ET0
    setb EA
    mov R0, #0d
    mov R1, #85d
    mov R2, #170d
    mov P2, #11111111b
    mov a, #255d
    poczatek: inc a
    mov b,R0
    cjne a, b, dalej1
    clr P2.0
    dalej1: mov b,R1
    cjne a, b, dalej2
    clr P2.1
    dalej2: mov b,R2
    cjne a, b, dalej3
    clr P2.2
    dalej3: cjne a, #255d, poczatek
    mov P2, #11111111b
    ljmp poczatek
    timer: inc R0
    inc R1
    inc R2
    mov TH0, #11101010b
    mov TL0, #01111001b
    reti
    end

    Trzy oddzielne PWM. On sobie timerem zmienia prędkość od 0 do max usuń to. Tylko daj szybki kwarc, bo to się trochę wykonuje, a musi być dobra częstotliwość. Ja dałem 24 MHz. Do tego dokładasz ULN2803 jako bufor mocy masz sterowanie trzema silnikami. Przylutuj tylko rezystory pull up do procka pod nóżki do których będzie przylutowany ULN.
  • #6 2139113
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    widze że jest w asemblerze a ja potzrebuje jakiś program w bacomie i programik do odbierania kodów z pilota ponieważ nie znam się na mikrokontrolerach
  • #8 2140468
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    ja potrzebuje zdalne sterowanie na podczerwień
  • Pomocny post
    #9 2140796
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    marcin253 napisał:
    chcę aby można było sterować dwoma lub trzema silnikami i 2-5 wyjść na przekaźniki i silniki mogą być sterowane tranzystorami mógł by ktoś podać linka do o takim lub podobnym układzie i pod które nóżki procka podłączyć diode odbiorczą nie znam się na procesorach z gory dziękuje


    1. jaki procesor chcesz wykorzystać
    2. jaki język programowania znasz
    3. nie wystarczy podpiąć diodę bezpośrednio pod procesor - ale scalony odbiornik rc5 może być
    4. jak dokładnie i jakie silniki chcesz sterować

    ???

    Dodano po 7 [minuty]:

    sorki - napisałeś, że na procesorach się nie znasz czyli pkt 1. i pkt 2. już nie są aktualne.... odpowiedz na pytanie 4 i zaopatrz się w programator (lub zrób) i program do programowania do testów.... bo bez tego ciężko będzie cokolwiek uruchomić z procesorem - no i trochę się zapoznaj/poczytaj o procesorach

    pozdrawiam
  • #10 2141182
    Jellyeater
    Poziom 17  
    Posty: 246
    Pomógł: 6
    Ocena: 3
    PWM to najlepiej zrobić w semblerze. Bo on musi być szybki. Jak go zrobisz w czymś innym to będzie pwenie gorzej. Nic Ci tak ładnie nie skompiluje.

    A w ogóle to lepiej uzyć proca z wbudowanym PWM. Bo tu to cała moc przerobowa idzie właśnie na to.
  • #11 2141253
    aristot
    Poziom 14  
    Posty: 149
    Pomógł: 10
    Ocena: 4
    Popieram przedmówcę.
    Do tego zadania najlepiej jakąś Atmege np 8 ma trzy kanay PWM obsuga banalnie prosta.
  • #12 2142115
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    1.chcę wykorzystać procesor z rodziny 8051
    2.nie zanm się na pisaniu programów ale ucze się bascoma
    3. mam takie uady rc5 duże czarne kostki - robiłem na nich kiedyś sterowanie do komputera
    4.najlepiej żeby można sterować w dwuch kierunkach i chcę zastosować małe silniczki nie przekraczające prądu 100 mA

    atmega jest sobra ale nie mam do niej programatora
  • Pomocny post
    #13 2142391
    aristot
    Poziom 14  
    Posty: 149
    Pomógł: 10
    Ocena: 4
    Jeśli chodzi o punkt 4 to da się to zrobić. Ja polecam Atmege bo ma gotowe PWM-y a programator do atmegi to 5zł i kilka minut roboty. Atmege tez możesz programować w Bascomie. Co do 51 to ciężka sprawa zasymulować programowo trzy kanay PWM wymaga dużego doświadczenia i absolutnie nie zrobisz tego w Bascomie. Musiałbyś walczyć w asemblerze.
  • #14 2142602
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    a trzeba stosować tanzystorki, jakim programem się programuje takie układy, i nie masz może jakiegoś schematu wyprowadzeń tego procka, i czy jest darmowy program do prograamowania tych procesorów?
  • #15 2142797
    Jellyeater
    Poziom 17  
    Posty: 246
    Pomógł: 6
    Ocena: 3
    Cytat:
    Co do 51 to ciężka sprawa zasymulować programowo trzy kanay PWM wymaga dużego doświadczenia i absolutnie nie zrobisz tego w Bascomie. Musiałbyś walczyć w asemblerze.


    Bez przesady ten program co dałem robi 3 oddzielne kanały. Mam zamiar zrobić na nim line followera (znaczy jeden kanał wytnę), jak tylko Wolumen wytrzeźwieje po sylwku (w poniedzialek o 12 nikogo nie było)... Dam znać jak się uda. Potem przerzucam się na Atmegę. Bo z tego to nic więcej nie będzie. Procek bez sprzętowego PWM jest za wolny do robotów :(

    Czy Atmegę da sie zaprogramwoać programem ispprog wybierając AVR?
  • #16 2143286
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    Mam pomysł na bardzo prosty układ!

    dalej nie napisałeś jaką dokładność chcesz uzyskać - możliwe jest całkiem łatwo zrobić na '51 bez rzadnego PWM przy dokładności np. 8 stopniowej to wystarczy 89c2051:
    3 piny na jeden silnik
    3 piny na drugi
    3 piny na trzeci
    1 na RC5
    pozostałe 5 pinów na sterowanie przekaźnikami lub czymś innym

    albo np. 16 stopniowa regulacja dla silników (po 4 bity)
    jeden na RC5
    i pozostaje dwa piny na dowolny cel (np przekaźniki)

    i bascom sobie bez problemu poradzi (ale ja go nie znam - ja tylko i wyłącznie ASM).

    oczywiście sterowanie silnikami poprzez tranzystorki ! - z kierunkami to trochę się skomplikuje ale do zrobienia jest.

    pozdrawiam!

    Dodano po 1 [minuty]:

    no i układ malutki i prościótki!

    Dodano po 19 [minuty]:

    Tak na szybko to co bym nie był gołosłowny to mam na myśli układzik (część wykonawczą ośmiostopniowej regulacji prądu) coś w tym stylu:
    Załączniki:
    • Potrójny regulator obrotów silniczka na AT89C2051 sterowany pilotem - jak zrobić? tranzystor.JPG (15.93 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #17 2143488
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    a może ktoś wie jak napisać program do odbierania sygnalu z rc5 i regulacji 16 stopniowej był bym bardzo wdzięczny
  • #18 2143626
    aristot
    Poziom 14  
    Posty: 149
    Pomógł: 10
    Ocena: 4
    Ten układ od Prokopcio to poprostu trzy bitowy przetwornik C/A. W ten sposób można zrobić drabinkę R-2R na ośmiu portach i będzie przetwornik osmiobitowy o rozdzielczości 255 dodatkowo trzy porty przełączajace silniczki i możnaby zrobić układ pod warunkiem że nie bedą pracować jednocześnie. Jednak trzeba powiedziec że ta metoda regulacji prądu jest nie korzystna (duże straty na tranzystorze). Dlatego ja bym pozostał przy PWM. Co do programowania Atmegi czyli AVR to oczywiści jest darmowe środowisko AVRSTUDIO z kompilatorem asemblera oraz C++. Co do Bascoma to oczywiści BASCOM-AVR. Darmowa wersja ma ograniczenie wielkości kompilowanego kodu (nie pamietam jakie).
  • #19 2144592
    Jellyeater
    Poziom 17  
    Posty: 246
    Pomógł: 6
    Ocena: 3
    Mój programik to 8 bit PWM z regulacją co 1. Jaką ma częstotliwość nie wiem, bo to zależy od kwarcu. Ale przynajmnije 10KHz powinien wyciągnąc. Obawiam się, że żeby ten układzik zadziała trzeba jeszcze podciągnąć Pullupy od 5V. Bo z tego procka to nic nie chce wypływać. :( Przynajmniej ja miałem taki problem. Aczkolwiek używałem portu 2.
  • REKLAMA
  • #20 2144896
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    na porcie p1 piny p1.0 i p1.1 nie są podciągnięte wewnętrznymi rezystorami do +5V ponieważ są tam podpięte wejścia wewnętrznego komparatora napięcia... Dotyczy to układów 89c1051, 89c2051, 89c4051
  • #21 2148885
    marcin253
    Poziom 15  
    Posty: 219
    Pomógł: 7
    Ocena: 7
    a może ktoś wie jak napisać program do odbierania kodów w układu odbiorczego rc5 i jak można podłączyć ten odbiornik rc5 do procesora
  • #22 2543172
    skwiro
    Poziom 14  
    Posty: 91
    Pomógł: 3
    Ocena: 42
    Może to Ci pomoże.
    Załączniki:
    • Rc5.rar (2.54 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Dyskusja dotyczy realizacji potrójnego regulatora obrotów małych silniczków sterowanego mikrokontrolerem AT89C2051 z wykorzystaniem pilota na podczerwień. Rozważane jest sterowanie 2-3 silnikami oraz 2-5 wyjściami na przekaźniki, z użyciem tranzystorów do sterowania silnikami. Proponowane rozwiązania obejmują implementację PWM w asemblerze dla trzech kanałów, z wykorzystaniem szybkiego kwarcu (np. 24 MHz) oraz bufora mocy ULN2803. Wskazano, że programowanie PWM w Bascomie na 8051 jest trudne i wymaga dużego doświadczenia, dlatego zalecane jest użycie asemblera lub rozważenie mikrokontrolera z wbudowanym sprzętowym PWM, np. Atmegi, która jest łatwiejsza do programowania w Bascomie i ma prostsze sterowanie PWM. Do odbioru sygnału z pilota IR sugerowano użycie scalonych odbiorników RC5 oraz programowanie dekodera sygnału, jednak wymaga to znajomości programowania i posiadania programatora. Wskazano również na konieczność stosowania rezystorów pull-up na liniach sterujących oraz na ograniczenia portów mikrokontrolera AT89C2051 (np. brak wewnętrznych pull-upów na niektórych pinach). Podsumowując, realizacja jest możliwa, ale wymaga znajomości asemblera, odpowiedniego sprzętu (programatora, odbiornika IR) oraz zastosowania tranzystorów i buforów mocy do sterowania silnikami.
Wygenerowane przez model językowy.
REKLAMA