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

NE041 - sterownik serwomechanizmów do PC

gulson 08 Lis 2005 21:13 15612 22
  • Nowy zestaw z oferty producenta zestawów do samodzielnego montażu firmy Nord Elektronik Plus

    NE041 - sterownik serwomechanizmów do PC

    Sterownik serwomechanizmów jest układem mikroprocesorowym przeznaczonym zarówno dla modelarzy, jak również osób zainteresowanych budową ciekawych urządzeń mechanicznych, robotów itp. Przy wykorzystaniu programu pracującego w środowisku Windows sterowanie z zależnościami czasowymi staje się jeszcze łatwiejsze, wystarczy stworzyć sekwencję ruchów poszczególnych serwomechanizmów, a potem można ją odtwarzać zarówno pojedynczo jak i w pętli. Po sprawdzeniu programu możliwe jest zapisanie go w urządzeniu, dzięki czemu sekwencja ruchów może być odtwarzana bez udziału komputera. Dzięki jego wykorzystaniu, możliwe jest zrealizowanie sterowania jednocześnie ośmioma serwomechanizmami.
    Do ich kontroli wymagany jest impuls prostokątny o szerokości od 1 do 2ms pojawiający się w odstępie około 20ms. Za generowanie wymaganych sygnałów odpowiada mikrokontroler AT89C4051. Sygnały poszczególnych kanałów pojawiają się na porcie P1. Do mikrokontrolera doprowadzone są także sygnały z łącza RS232, za pośrednictwem konwertera poziomów MAX232.
    Sterownik komunikuje się z komputerem z wykorzystaniem łącza RS232 pracującego z prędkością 4800 bodów/sekundę. Pakiet kontrolny pojedynczego kanału składa się z 2 bajtów, z czego w dolnej połowie pierwszego i górnej drugiego znajduje się informacja na temat położenia serwomechanizmu, natomiast dolna część drugiego bajtu zawiera informację na temat numeru kanału (bit 1..3) oraz bit kontrolny (bit 0) mający zawsze wartość 1.
    Urządzenie wyposażone zostało także w pamięć 24C128 (128kbit => 16KB), w której może być zapisany wcześniej opracowany na komputerze program działania serwomechanizmów. W ten sposób dana sekwencja ruchów może być powtarzana jednorazowo bądź w pętli bez udziału komputera. Do wywołania programu służy przycisk, a jego aktywność sygnalizowana jest poprzez zapaloną diodę LED. Całość powinna być zasilana z zasilacza wtyczkowego o napięciu około 12V i wydajności 400-700mA. Napięcie z zasilacza poprzez diodę zabezpieczającą trafia na stabilizator 7805, gdzie zostaje obniżone do 5V, a następnie służy do zasilania układów scalonych i podłączonych serwomechanizmów. W przypadku wykorzystania większej ilości kanałów i tworzenia dynamicznych programów zaleca się zastosowanie radiatora pod stabilizator.


    Pobierz wszystko (schemat, montaż, wzór płytek, opis, zdjęcie)
    Uwaga! W pliku nie ma kodu źródłowego ani wynikowego dla mikrokontrolera!


    Kompletny zestaw do montażu (wysokiej jakości płytka, dokumentacja, wysokiej jakości elementy) można zamówić w firmie Nord Elektronik Plus, kliknij na logo, aby przejść na stronę firmową
    NE041 - sterownik serwomechanizmów do PC

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    gulson
    Administrator Systemowy
    Offline 
    Twórca portalu elektroda.pl od roku 1999. Zajmuje się opieką portalu, od czasu do czasu publikując tutaj ciekawostki i felietony. Interesuje się wszystkim, co jest związane z nowymi technologiami. Z wykształcenia technik elektronik, inżynier i magister informatyki po Politechnice Łódzkiej.
    gulson napisał 18583 postów o ocenie 1684, pomógł 64 razy. Mieszka w mieście Kielce. Jest z nami od 2001 roku.
  • #2
    ziobeross
    Poziom 11  
    Cytat:
    W przypadku wykorzystania większej ilości kanałów


    Ma sie rozumieć, że pod 1 wejście 3 pinowe można podłączyć więcej niz 1 servo?
  • #3
    kfh13
    Poziom 14  
    AT89C4051 to mikrokontroler tak? To gdzie jest do niego program?
  • #4
    ziobeross
    Poziom 11  
    kfh13 wejdz na firmę strony Nord elektronik Plus i tam go znajdzesz ;)
  • #5
    paraoxygen
    Poziom 1  
    Mam mały problem z tym układem:
    "Ściągnąłem program do obsługi owego urządzenia - podłączyłem pod com1
    oraz wpiąłem serwo firmy Hitec standard HS-311.
    Niestety kiedy usiłuje coś zrobić np klikam w programie Ładuj pojawia
    się taki komunikat:
    Błąd zapisu danych do EEPROM, przekroczyłeś ilość dostępnej pamięci.
    Kiedy klikam na wczytaj pojawia się taki komunikat:
    Błąd odczytu danych z EEPROM
    wygląda na to, że w ogóle nie ma komunikacji pomiędzy kompem, a tym sterownikiem serw.
    Proszę o pomoc i radę... bo naprawdę nie wiem w czym leży problem"
  • #6
    sekman
    Poziom 1  
    Rowniez prosze o pomoc, mam ten sam problem!!!
  • #7
    elektronik999
    Poziom 26  
    a jak by coś podobnego zrobić na jakimś avr...
  • #8
    ledwoch
    Poziom 2  
    A czy ktoś posiada może program do tego uC ?
  • #9
    krwawiec777
    Poziom 1  
    mam pytanie: odstęp między impulsami = 20 ms - znaczy się mili a nie mikro sekund? a jeśli tak to czy jest możliwość zmniejszenia tego odstępu?
  • #10
    Pafnak
    Poziom 9  
    Witam wszystkich forumowiczów !! nie znam się zabardzo na elektronice. Dla tego pisze tego posta. A mianowicie mam pare pytań odnośnie tego układu. Czy mógł bym go zasilać pakietem czterech paluszków (1,5v) lub jakąś inną baterią/ami. Drugie pytanie brzmi: czy mam przylutować do ścieżek to wejście (a dokładnie te miejsca gdzie się wkręca kabel do połączenia z kompem[wejście RS232] to co jest na tym zdjęciu zaznaczone trzeba przylutować / przykręcić ?( z przykręcaniem chodzi mi tu o stabilizator napięcia).
    Obrazek: NE041 - sterownik serwomechanizmów do PC
    Pozdrawiam i z góry dzięki za odpowiedź.
  • #12
    michal.bedzin
    Poziom 15  
    Uważam że możesz zasilić... Tylko zastanów się jak często będziesz musiał wymieniać baterie ;)
  • #13
    Pafnak
    Poziom 9  
    Kurde złożyłem to zlutowałem zasilam to ładowarką od alcatela ( miernik m i pokazuje 11v i 700mA z ładowarki) podłączyłem i jak sie prubuje z tym komunikować to czerwona dioda zaczyna mrugać switch nie działa przynajmniej tak mi sie wydaje bo dioda na niego nie reaguje ( nie wyłącza się) i mam ten sam problem klikając "ładuj" w programie pojawia sie napis błąd danych eeprom . Prosze o pomoc .
  • #14
    fiskusmati
    Użytkownik obserwowany
    Zaden alcatel nie ma chyba teklefonu z baterią na takie wysokie napiecie
  • #15
    Pafnak
    Poziom 9  
    No to albo mój miernik się zepsuł albo coś jest z ładowarką. Tak mi miernik wskazuje, jak podłączam go pod akumulatorek 1,2v to tyle wskazuje. Czyli co jest nie tak z tym sterownikiem ?
  • #16
    misiek6426
    Poziom 11  
    owy błąd EEPROM pojawia się dla tego, że źle polutowaliście kabelek do komunikacji sterownika z kompem. Wiem bo miałem to samo ;/ Przyjrzyjcie się jeszcze raz schematowi owego kabelka, polutujcie zgodnie z rysunkiem nie zapominając o łączeniu niektórych pinów (np. 7 i 8)
    Ja mam inny kłopot, a mianowicie z zasilaniem. Podłączając więcej serv pojawia sie z tym problem. Trzeba chyba zrobić oddzielne zasilanie dla serv.
  • #17
    szymon122
    Poziom 38  
    Witam!
    co do zaniku zasilania wypróbuj z mocniejszym zasilaczem np. 2A
  • #18
    lukrow
    Poziom 11  
    Co do zasilania 700mA to duzo , duzo za mało. Mikrokontroler będzie ci sie resetował. Jedno serwo potrafi pobierać ponad 1 A i to poddane niewielkiemu obciążeniu. Ja polecam przerobic zasilacz komputerowy i z niego pobierać zasilanie. Najlepiej z lini 12 V.

    Kiedyś robiłem sterownik na 12 serwomechanizmów i pisałem program w bascomie na AVR.

    Pozdrawiam.
  • #20
    AJMDSC
    Poziom 10  
    Witam,

    Sterownik NE041 należy traktować bardziej jako ideę-pomysł na rozwiązanie problemu sterowania serwomechanizmów z PC niż jego praktyczną realizację.
    Ma kilka wad, o których wcześniej pisali inni forumowicze, ma także ograniczenia, których nie zasygnalizowali.
    Użyty protokół komunikacyjny, przesyła nastawę każdego serwomechanizmu na siedmiu bitach. W efekcie rozdzielczość ustawienia czasu trwania impulsu sterującego serwomechanizm jest równa 20µs. To niestety za mało dla większości aplikacji z zakresu robotyki - mamy tylko 128 dyskretnych pozycji ustawienia serwa do wyboru. Serwomechanizm można ustawić blisko 10x dokładniej. Rada jest tylko jedna, na bazie płytki i zastosowanego typu procesora (89Cx051) napisać nowy program i protokół, który będzie programował ustawienie na 8-11 bitach. Druga istotna sprawa to zasilanie serwomechanizmów. Dla starowania czymś większym niż mikroserwa konieczne jest rozdzielenie zasilania serwomechanizmów do zasilacza procesora, pamięci i interfejsu. Można w tym celu użyć pakietu akumulatorów Ni-Cd, Ni-MH 4.8V/6V lub przystosowanego pakietu Li-Poly. Jeżeli chcemy używać zasilacza, to musimy pamiętać, że jego wydajność prądowa powinna być skalkulowana na poziomie minimum 0.5A na serwomechanizm, a oporność wewnętrzna na tyle mała, żeby zapewnić wystarczającą odporność na skok prądu obciążenia (10-40mF w filtrze wyjściowym). Moje doświadczenia pokazały, że jednoczesna zmiana położenia kilku serwomechanizmów powoduje krótkotrwałe skoki prądu na poziomie 2-3A, a przyhamowane serwo standardowych rozmiarów "ciągnie" 0.5A, dopóki nie ustali położenia. Konkluzja jest taka: NE041 można zastosować sensownie tylko wtedy, gdy sterujemy mikroserwa i nie jest nam potrzebna dokładność ustawienia lepsza niż ±1%.

    Pozdrawiam wszystkich czytających.
    AJMDSC

    AJMDSC
  • #21
    jczuchta
    Poziom 2  
    Sterownik ne041 to fajna zabawka. Jednak często się psuje. Jeżeli podłączy się do kompa kabel a serwa się ruszają to oznacza że eeprom jest uszkodzony.
    pozdrawiam
    ciuchcia
  • #22
    kris197825
    Poziom 9  
    Witam
    Szukam i szukam i mam ten sam bład z eepromem oczywiście szukam jak kolega powiedział schematu kabelka ale nie znalazłem.
    (Błąd zapisu danych do EEPROM, przekroczyłeś ilość dostępnej pamięci)
    Podajcie linka czy też oświeccie mnie jak mozna RS232 połaczyć aby nie było błedów.
    Mam prosty kabelek zrobiony
    dzieki z góry
  • #23
    jczuchta
    Poziom 2  
    kabel 1 do jeden eeprom to oczywiscie uszkodzona kosc pamieci