Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Myszka podłączona do AVR jako pozycjonowanie CNC...

Krzysiek13 17 Jul 2005 22:16 13490 35
IGE-XAO
  • #1
    Krzysiek13
    Level 11  
    Witam,
    Chciałbym się podzielić takim moim pomysłem i zarazem problemem, może ktoś już tego próbował i może mi pomóc.
    A więc tworze takie małe amatorskie CNC no i wymyśliłem sobie, że jako układ pozycjonujący zastosuje sobie myszkę komputerową. Naszukałem się trochę no i na stronie internetowej http://www.computer-engineering.org/
    znalazłem jak się do myszki dobrać. Po kilku godzinach wytężonego myślenia udało mi się na moim wyświetlaczu LCD podłączonego do ATmega8535 (myszkę oczywiście też do niego podłączyłem) uzyskać 3 bajtową informację co sie dzieje po poruszeniu myszki.

    1 bajt - czy wciśnięte przyciski i przepełnienie liczników myszki
    2 bajt - przesunięcie w osi X
    3 bajt - przesunięcie w osi Y

    no i super - działa ale....
    - jak ruszam myszką w prawo ślicznie wszystko się zgadza odczytuję, że przesunięcie w prawo.
    - jak ruszam myszką w lewo, odczytuję, że przesunięcie w lewo nastąpiło ale też, że przesunąłem ją do przodu (bzdura)
    - jak ruszam myszką do przodu, odczytuję, że przesunięcie do przodu nastąpiło.
    - jak ruszam myszką do tyłu, odczytuję, że przesunięcie do tyłu nastąpiło ale również, że wcisnąłem lewy przycisk (no i znowu bzdura).
    - jak wciskam same przyciski wszystko jest ok.

    Ciekaw jestem czy się ktoś w to już bawił. Myślę że pomysł nie jest głupi biorąc pod uwagę, że 2 myszki załatwiają mi 4 osie i 6 krańcówek :)
    zabierając mi przy tym 4 nóżki procka.
    Jak kogoś zainteresowałem tematem to mogę opisać komunikaję z myszką szczegółowo. Za info na temat problemu jaki mam byłbym bardzo wdzięczny.

    Pozdrowienia dla wszystkich maniaków swoich hobby :)
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
  • IGE-XAO
  • #2
    elektryk
    Level 42  
    Jeśli chodzi o błąd w programie to z tego co pamiętam w bajcie który przechowuje stan klawiszy są bity oznaczający kierunek prawo/lewo i góra/dół. W zależności od wartości tych bitów trzeba liczbe "przyspieszenia" odjąć lub dodać do bierzącej wartości.
    W automatyce powszechnie się stosuje się takie elementy na jakich zbudowana jest myszka do pomiaru pozycji, kierunku, prędkości, etc.
  • #3
    Krzysiek13
    Level 11  
    Witam,
    Sprawa wygląda tak, że ja wiem co mi przesyła myszka, znam pakiet i które bity za co są odpowiedzialne. Problem polega na tym, że przy przesunięciu myszki w lewo (oś X), trzeci bajt odpowiedzialny za przesunięcia do przodu i do tyłu (oś Y) podaje mi, że przesunięcie do przodu wystąpiło a to się nie zgadza. Może ktoś już próbował podłączyć myszkę do mikroprocesora PIC albo '51 i spotkał się z podobnym problemem lub też i nie??

    Pozdrawiam.
  • #4
    c_04
    Level 21  
    witam
    a ja z takim pytaniem: czy nie daloby rady podpiac zamiast tego scalaka ktory podpiales w celu iodentyfikacji kierunkow - 2 licznikow zliczajacych w dol lub w gore a za nimi zrobic odczyt na wyswietlaczach led?
    czy liczylo by mi to wtedy tzn dodawalo kiedy ruch jest w prawo a odejmowalo kiedy w lewo? podobnie tez w gore i dol
    wlasnie mysle nad pewna maszyna i jestem ciekaw czy mozna by mysz uzyc do pozycjonowania... np maszyna przed zaczeciem pracy by sie kalibrowala np dochodzac mysza do konca osi x i osi y wtedy by przyjmowala ze to punkt 0,0 a kolejne polozenia bylby wyznaczane od tego punktu
    pozdrawiam
  • #5
    Krzysiek13
    Level 11  
    Witam, problem polega na tym, że do myszki bez mikroprocesora nie ma co podchodzić.

    Ogólnie komunikacja z myszka polega na tym, że najpierw z mikroprocesora szeregowo synchronicznie (w takt zegara lini CLOCK linią DATA ) muszę przeslac instrukcję RESET ( FF - szesnastkowo) wyglada to podobnie jak w RS232 z tym że bajt przesylany jest odwrotnie.
    najpierw bit startu, potem od bitu 0 do bitu 7 (odwrotnie nisz w RS) bit parzystości i stopu. Najlepszy numer polaga na tym, że to mysz generuje sygnał zegarowy po tym jak się go z procka wymusi. Potem trzeba przesłać bajt ENABLE (F4) do myszki aby w ogole zaczeła działać. No i jak się już ją zainicjalizuje w ten sposób to każdy ruch powoduje że myszka wysyła do procka pakiet zawierający 3 bajty:
    - 1 bajt - zawiera kierunek osi x i y dodatkowo czy przyciski zostały wciśnięte.
    - 2 bajt - o ile przesunięto w osi X
    - 3 bajt - o ile przesunięto w osi Y

    te trzy bajty idą naraz jeden za drugim.

    Jak myszka wyśle już do procka gdzie i o ile przesunięto ją to kasuje swoje liczniki i znowu zlicza od zera. Za każdym razem jak wyśle pakiet zeruje się.

    Myszka nie wysyła informacji o pozycji, tylko o ile się przesunęła od ostatniego przesłania pakietu.

    To tak mniej więcej wygląda, jestem w trakcie tłumaczenia dokumentu ze strony, którą podałem w pierwszym poście jak skończę to zamieszczę na forum. W sumie to wszystko na temat myszki wiem z tego dokumentu.

    Pozdrawiam, Krzysiek
  • #6
    c_04
    Level 21  
    witam
    mam jeszcze takie pytanie czy jakby wywalic elektronike z myszy i wstawic komparator np tylko dla jednego z kolek i podpiac diody do wejsc porownujacych to w zaleznosci od kierunku pojawialby sie sygnal na wyjsciach a>b lub a<b t7ylko jak zrobic zeby tak zlozony uklad pokazywal kierunek i wywylal impulsy dla licznika (zliczajac w gore lub dol)? dobudowywanie czegos na atmelu nie wchodzi w rachube... jak zrobic prosty i dokladny uklad okreslajacy pozycje?? bo pozycjonowanie zrobie sobie na komparatorach;) przyrownanie istniejacej pozycji do zadanego parametru przez przesuniecie np tej szczatkowej budowy myszy
    hmm moze rozwiazaniem tutaj by bylo wpiecie kondensatorow w szereg za fotodiodami

    albo czy daloby sie te 3 bajty rozebrac i miec je osobno tzn inforacja o ruchu i kierunku?? reszta nieistotna... tzn 1 dla np kierunek gora, 0 - dol... np na pozycji A pierwszego bajtu na poz B informacja o kierunku w prawo/lewo... w drugim bajcie informacja dotyczaca przesuniecia X a w trzecim przesuniecie Y... tak zeby to nie bylo w jednym ciagu wysylane bo tak domniemuje ze tak to dziala... no i czy obeszloby sie bez wysylania tej informacji enable z procesora i z powrotem
    pozdrawiam
  • IGE-XAO
  • #7
    Krzysiek13
    Level 11  
    Witam,
    Zastanawiałem się nad przerzutnikami, gdzieś widziałem takie rozwiązanie na necie chodziło o zwiększanie głośności we wzmacniaczu cyfrowym za pomocą gałki, można by to wykorzystać. Ale te impulsy jakoś trzeba potem wykorzystać aby sterować jakimś silnikiem potem na podstawie tego pozycjonowania. Można np. podłączyć bezpośrednio pod port LPT.

    Mi głównie zależy na tym, żeby jak najmniej się zajmować kontrolowaniem tego jak się to przesuwa. Myszka ma swoje liczniki wewnętrzne i jak ich nie odczytam w odpowiednim czasie to się nic nie stanie, odczytam później. Myszka impulsów nie utraci. W przerzutnikach jak mi się komputer przez chwile czymś przytnie to się pogubi.

    Rozebrać się w sumie da, ale robić to sprzętowo to w sumie tylko sztuka dla sztuki. Układ by troche przypominał płytę główną komputera:)
    Bez mikroprocesora niestety się nie obejdzie.

    Myszkę po podłączeniu zasilania tak jak wyświetlacz LCD trzeba zainicjować. Trzeba najpierw wysłać reset FF, powinna odpowiedzieć FA,AA,00. FA oznacza potwierdzenie przyjęcia rozkazu, AA - nie wiem, 00 kod myszki w tym przypadku standardowa 3 przyciski bez skrola.
    Jak nie odpowie to znowu FF, jak odpowie to dopiero można włączyć rozkazem F4. I czekać na pakiet 3 bajtów.

    W załączniku przesyłam pdf układu scalonego z myszki. Niestety po angielsku.( To o czym mówiłem wcześniej jeszcze tłumaczę).

    Pozdrowiam.
  • #8
    c_04
    Level 21  
    ja sobie troszke to pokombinowalem... moze i pokomplikowalem a moze uproscilem;)) wiec jest tak: kolka tzn fotoelementy beda mi wysyalaly impulsy jezeli jest ruch... od tych fotoelementow podepne sobie liczniki bcd spiete dla 3 pozycji wyswietlacza (kazdy liczacy do 9 tj do 10 ale nastepny impuls po 9 bedzie dodawal 1 do nastepnego segmentu wyswietlacza) cale to zliczanie bedzie w systemie dziesietnym na licznikach o zlicznaiu gora/dol a to przelaczane bedzie wlasnie na detekcji z czujnikow ruchu (po 2 na kolko)... jeszcze musze pomyslec jak to rozwiazac poniewaz sa 2 stany: kiedy pojawia sie najpierw 10 albo 01 moze zrobic to tak ze uklad by pamietal tylko to pierwsze polozenie a potem tylk zliczal... jezlei sie zatrzyma i zmieni kierunek przelaczy sie tez kierunek zliczania na liczniku... szczerze to jeszcze dokladnie nie wiem jak rozwaiazac ta detekcje w miare skutecznie...a mzoe prosciej tak ze musza nastepowac 2 impulsu po sobie w okreslonej kolejnosci bo inaczej uklad nie bedzie liczyla zliczanie do tylu wykonywalby taki sam uklad wlaczony w odwrotnej kolejnosci bo ten by przestawal reagowac;)
    ale akurat ze zlicznaiem pozycji to nie problem poza tym najprosciej: przy kazdym wlaczeniu bedzie mi sie maszyna kalibrowala dojezdzajac do konca i ustawiajac liczniki na 000 000
    pozdrawiam

    p.s. nie chce mi cos otworzyc ten pdf:(
  • #9
    Coyote~
    Level 20  
    c_04 - nie łatwiej by było z licznikiem dwukierunkowym up/down counter (np. 4029)? A detekcja kierunku zliczania przez układ sprawdzający stan jednego wyjścia enkodera w momencie detekcji zbocza np rosnącego na drugim wyjściu enkodera (może przerzutnik D?)...

    a pdf faktycznie coś szwankuje...
  • #11
    c_04
    Level 21  
    coyote: tak wlasnie myslalem z tym 4029 albo cos podobnego... problem w tym wybadaniu zbocza... a moze i nie problem musze to przemyslec... ale cos mi sie zdaje ze krecac w druga strone tez bedzie sie to zbocze pojawiac... malo tego uklad bedzie jakby przerywal kiedy beda zanikac stany bo w momencie kiedy czujniki beda zasloniete tak bedzie... moze to zroic tak ze uklad by w jedna strone mial stale 1 a w druga bylby blokowany przez nie pojawianie sie w ogole stanow czyli 0 na tej podstawie mozna by wybadac kierunek
  • #12
    Coyote~
    Level 20  
    przerzutnik D chyba powinien sobie z tym poradzić... jeden przebieg z impulsatora dać na wejście D, a drugi na zegarowe.... bedzie łapał tylko przy zboczu opadającym, a na wyjściu bedzie sygnał odpowiadający kierunkowi... Ale to tylko teoria....
  • #13
    c_04
    Level 21  
    teoretycznie moze i tak... trzeba by zbudowac cos takiego i sprawdzic;) posukam moze jakiegos scalaka mzoe mi zostal chociaz jeden z jakimis 4 przerzutnikami... ale nie wiem czy po ustawaniu impulsu uklad nie bedzie z powrotem wracal do poprzedniego stanu albo zostawal na tym stanie jaki mial ostatnio... hmm gdyby go tylko opoznial to by mozna dac jakas bramke and albo or ktora caly czas by trzymala 1 na wyjsciu
    hmm musze pomyslec chyba intensywaniej:P
  • #15
    c_04
    Level 21  
    przejrzalem toto i wymiekam... bez mikrokontrolera nie da rady tu nic wskorac a jezeli chodzi o programowanie to jestem zielony wiec dopoki nie zalapie czegokolwiek w temacie to mysz w takiej formie jak jest zbudowana jest dla mnie bezuzyteczna... jedynie tak jak pisalem rozwiazac mozna zliczanie na licznikach a kierunek - no wlasnie nie za bardzo jakos mi sie to widzi jak:P

    pozdrawiam

    p.s. jak w prosty sposob dostac oswiecenia i nauczyc sie programowania np w bascomie?
  • #16
    Coyote~
    Level 20  
    W EdW był opis prostego programatorka, więc go zbudowałem. Bascoma sciągnąłem po emulu i przeglądałem przykładowe źródła dostarczone razem z programem - jest tam korzystanie z portów, liczniki, przerwania, pwm, obsługa lcd... i tak się nauczułem języka. Potem szlifowałem z pomocą Oślej Łączki - również w EdW... Polecam. Programowanie z Bascomem to prawie banał, a proc AT90S2313 wystarczy ci na początek.

    Pozdrawiam i powodzenia !
  • #17
    c_04
    Level 21  
    kiedys bede musial sie za to wziac... na razie jednak chce zbudowac pare maszyn na klasycznej cyfrowce i pokazac tez ze da sie;) no a druga sprawa to to ze jest to alternatywa dla ludzi nie majacych pojecia o programowaniu lub tez mozliwosci... badz co badz zakup programatora pozniej samych scalakow (mikrokontrolerow), wybranie wlasciwych, no i a koniec a moze w innej kolejnoosci - nauka programowania, zrobienie urzadzenia poprawnie dzialajcego... to jednak zajmuje czas a majac pojecie o cyfrowce jako takie jest sie w stanie zbudowac prawie kazda maszyne... wlasciwie to kazda tylko kwestia jej zlozonosci i zawodnosci to juz zupelnie inny temat;)

    ja nawet nie wiem od czego zaczac chcac sie w miare szybko nauczyc programowac a jak juz sie nauczyc to nie tak jak np znam sie na stolarce... czyli po lebkach;)) od wczoraj powiedzmy ze znam sie na witrazach;) ale to wlasnie wszystko sa przyklady jak nei chcialbym umiec programowac

    wiec jak zaczac? jaki programator? jakie scalaki na nim da sie zaprogramowac bo sa te AT89 AT90... jest seria mini potem sa tem dspice czy jak im tam.. jakies winchipy czy cos takiego... motorole... texas cos robi.. LF chyba sa od nich... wiec przy tej mnogosci co wybrac... od jakich scalakow zaczac?? skad wiem ze dany chip mi wystarczy do wykonania ilus tam funkcji? bascom to mzoe by i sie dalo zassac skads
    ehh... czemu czlowiek nie rodzi sie od razu einsteinem??;)
    pozdro
  • #18
    MirekCz
    Level 35  
    C_04:
    W polsce chyba najwieksza popularnosc (obok klonow 8051, ktorych nienawidze) maja atmegi.
    Sa to juz dosyc spore procki, chociaz maja tez swoje "mniejsze" odpowiedniki o nazwie attiny
    Tutaj masz tutorial do atmegi8:
    http://www.patron.net.pl/AVRintropl.htm#_Toc91331581

    Przedstawia podstawy programowania i kilka prostych ukladow, jakie mozesz zbudowac. Jak zalapiesz polowe z tego materialu to ten twoj program bedzie dla Ciebie pestka :)

    Co do pytania "a jaki procesor uzyc" to musisz zasiegnac informacji w opisach procesorow.
    Normalnie w kazdej rodzinie masz rozne procesory roznice sie:
    -iloscia we/wy
    -iloscia i typem modulow specjalnych (typu obsluga UARTA, PWM, ADC, itd.)
    -iloscia pamieci programu, pamieci danych, eeprom itp.

    Wiec jak juz wiesz mniejwiecej co chcesz zeby ten procesor robil, bierzesz sobie spis procesorow danego typu i szukasz na nim taki, ktory Tobie odpowiada iloscia we/wy, zestawem modulow specjalnych i iloscia pamieci. Teoretycznie moglbys zawsze brac jakiegos potwora..., ale nadmierna liczba nozek mikroprocesora jak i jego wyzsza cena sklania do tego, zeby poszukac cos "pod projekt".
    Wiecej info o tej rodzinie prockow mozesz znalezc na stronie producenta - http://www.atmel.com

    Co do programowania, w kursie masz uzyte C i docelowo zdecydowanie polecam ten jezyk. Do tego przydaja sie podstawy Assemblera... pozwala to lepiej zrozumiec co procek tak naprawde robi.
  • #19
    c_04
    Level 21  
    poczytalem tego troche... jak na podstawy to czarna magia:(
  • #20
    Coyote~
    Level 20  
    Widzisz, ja na przykład się za c nie biorę, bo z c ogółem jestem cienki jak tyłek węża... Ale Bascoma załapałem szybko, nie ma takich problemów ze składnią... Polecam.

    Ale jakby był Pascal do procków to byłbym w siódmym niebie.......

    -----
    Dorzucam moje rozwiązanie licznika up/down - symulacja chodzi cacy...
    Dwa pierwsze D-flipflop generują przebiegi przesunięte fazowo (symulacja enkodera) a przełączniki [Space] zmieniają kierunek oborotów...
  • #21
    c_04
    Level 21  
    zaraz bo chyba blad jakis tu jest skoro to ma byc detekcja kirunku obrotow rolki w myszy razem z liczeniem ile takiech impulsow wyslano... te przelaczniki space mnie zastanawiaja a takze to cos u gory z lewej (analizator???) i na pewno to pokazuje detekcje??;) tam maja byc tylko 2 fotodiody tak jak myszy a tu cos mi nie pasuje:P

    hmm zeby to dzialalo z mysza to chyba by trzeba zapiac diody w miejscach 'space' i chyba tez nie zadziala poniewaz za dlubi jest jeden ze stanow... trzba by chyba skrocic CLK i D zeby nie zachodzily na siebie
    jeszcze pomysle:P
  • #22
    Coyote~
    Level 20  
    Wszystko, co widać z lewej od przełączników, to układ symulujący enkoder z myszki. Tworzy to dwa sygnały przesunięte w fazie o 90°- zachodzące na siebie prostokąty. Przełącznikami zamienia się sygnały - wynik jest taki, jakby drugi sygnał był przesunięty fazie o -90°... Na górze jest analizator sygnałów logicznych - jego okienko jest z prawej na dole. przerzutnik D jest właśnie po to by wykryć, w którą stronę przesunięcie fazowe wystąpiło, a sygnały muszą na siebie nachodzić, gdyż p. D łapie sygnał z wejścia na zboczu CLK.
    Sygnał dochodzący do właściwego licznika obrazuje granatowy wykres... Jak przełączyć przełączniki to licznik zlicza impulsy w drugą stronę. Symulacja chodzi pięknie.
    Obrazek to screen z programu Electronics Workbench 4.0 (na razie nie dysponuję innym programem... no, uczę się protela)... Jak kogoś interesuje to wrzucam jako załącznik ten schemat (format .ca4 niedozwolony więc w zipie)....
  • #23
    c_04
    Level 21  
    no przeciez mnie interesuje:P
    w kazdym razie nie czytam ca4 ale powyzej to chyba to samo... reszte jarze... a z tym skroceniem impulsow to mialem na mysli inny licznik gdzie impulsy zliczajace podaje sie osobno a podalac 0 lub 1 ustla sie czy ma byc zliczanie w gore lub w dol... dlatego byl ten problem poniewaz chodzilo mi o ciagla 1 na jednym z wyjsc no ale w przypadku jaki narysowales sprawa sie bardzo upraszcza bo zalatwoa sie kierunek i liczenie za jednym zamachem... czyli tak reasumujac 1 przerzutnik D do tego 2 bramki NAND i liczniki na kazda cyfre wyswietlacza w moim przypadku 6 szt po 999 krokow na os x i y... nie wiem jeszcze ile tych krokow mi wyjdzie na pelen obrot osi silnika a tymbardziej ile bedzie potzrebnych do przesuniecia o 1 cm... moze sie okazac ze takie przesuniecie zabiera 200 krokow heh i bede musial albo dac dzialnik czestotliwosci i podzielic sygnal taktujacy na wejscie licznika albo dolozyc po jednym wyswietlaczu...
  • #24
    Coyote~
    Level 20  
    Bramki nand są po to by rozdzielić impulsy dla poszczególnych wejść zegarowych (u/d). Jak chcesz wartość ustaloną dla danego kierunku, to pojawia się ona na wyjściu przerzutnika D. Jak widzisz na schemacie, stan przerzutnika D ustala, która bramka NAND blokuje sygnał zegarowy, a która nie, a więc wyjście p. D na stan adekwatny do kierunku obrotów....
  • #25
    Krzysiek13
    Level 11  
    Witam wszystkich,

    Musze sie podzielic informacja ze rozlozylem myche na lopatki. Juz sie wszysto mi zgadza i dziala super.
    Oczywiscie udalo mi sie to osiagnac pozyczajac sobie z pracy oscyloskop cyfrowy.
    Ale jestem pelen radosci i moge dalej kontynuowac prace nad wlasnym malym CNC :)

    (Przepraszam za brak polskich literek ale musze sie meczyc z niemieckim komputerem).

    Pozdrowienia.
  • #26
    c_04
    Level 21  
    witam
    a ja tak wtrace jeszcze bo moze ktos jeszcze to czyta;)
    czy mikrokontroler 8031 sie programuje? czy programuje sie pamiec 2764? a moe jedno i drugie? trudno to zaprograowac? jaki programator jest potzrebny? na jednej strronie znalazlo mi ze ten 8031 to jest jakis procesor 8 bit intela
    pozdr
  • #27
    Felixx
    Level 11  
    Witam!
    Problem komunkacji myszki optycznej z mikroprocesorem dane mi bylo przerabiac w temacie https://www.elektroda.pl/rtvforum/topic220602.html

    Ogolnie problem jest ciekawy, z tym ze dla tego konkretnego problemu niestety odpada. Czujnik z myszy jest za wolny aby odczytywac szybkie przesuniecie.

    Mam tylko pytanie: na jakiej zazadzie twoj program dziala? tzn czy procesor praktycznie caly czas jest zajety "nasluchiwaniem" linii danych i w momencie gdy ta nadejdzie rozpoczyna procedure odczytu, czy tez w jakis inny sposob? np: procek wykonuje sobie swoj program i tylko czasasmi wymuszany jest odczyt licznikow myszy? (wstrzymanie transmisji z myszki czyni sie chyba poprzez przytrzymanie clocka na low, ale juz nie pamietam:)
    Bede wdzieczny za odpowiedz!
    Gratuluje projektu!
  • #28
    LordBlick
    VIP Meritorious for electroda.pl
    Naszedł mnie jeszcze jeden pomysł przy wykorzystaniu myszy jako manipulatora maszyny - mozna przesuniecia myszy traktować nieliniowo - precyzyjne manipulacje będę dokonywane powoli, a szybsze ruchy bedą mniej precyzyjne, ale za to będą miały za zadanie szybkie zgrubne umieszczenie sterowanego elementu maszyny na miejscu.
    @c_04 - te mikroprocesory, o które pytasz, to program do nich umieszcza się w tej pamięci 2764, ale programator do nich to jest o wiele trudniejszy do zdobycia/zmontowania, niż np. do nowszej generacji procesorków, które mają już odpowiednia pamięć programu w sobie, kasowalną elektrycznie w ułamku sekundy - przykładowy programator do myślę dobrej na początek ATmega8515 : http://www.amwaw.edu.pl/~adybkows/elka/ispprog.html

    --
    Pozdrawiam, Daniel
  • #29
    d525
    Level 12  
    A JA MAM PYTANIE Z INNEJ BECZKI (a nawet dwa) !!!!

    1. Ile by kosztowała taka mała obrabiareczka CNC zakupiona u ciebie?? np frezareczka o przestrzeni roboczej 30x30x30 cm

    2. Jakie możesz osiągnąć dokładności?

    3. z jakiego programu ją mogę wysterować Mechanical Desktop? Solid Works? Catia? czy muszę mieć do tego MAster CAMA?

    4. I ostatnie pytanie czy mógłbyś mi podać wg jakiego algorytmu (jaki protokół) są przesyłane dane z komputera do obrabiarek? czy jest kilka standardów CNC? Czy jestem w stanie napisać np własny sterownik do obrabiarki 3 osiowej współpracujący np z mastercamem lub bezpośrednio z Mechanicalem? Czy standardy obróbki wspomaganej komputerowo są gdzieś w ogóle opisane?

    Byłbym wdzięczny za odpowiedź, ponieważ te tematy są związane z pracą dyplomową jaką będę pisał..

    Pozdrawiam mój e-mail 5rok(malpa)wp.pl
  • #30
    Krzysiek13
    Level 11  
    Witam wszystkich,

    Quote:
    Ogolnie problem jest ciekawy, z tym ze dla tego konkretnego problemu niestety odpada. Czujnik z myszy jest za wolny aby odczytywac szybkie przesuniecie.


    No niebardzo rozumiem,
    bufor licznika myszki ma 512 na + i -, jezeli ustawimy myszke na odczyt zdalny np. co sekundę i jak sie ustawi rozdzielczość na 4 imp/mm to mamy możliwość przesunięcia 128mm/s dla mnie to nawet szybko. Jak bedziemy odczytywac co pol sekundy to mamy 256mm/s. Jak ustawimy myszkę na "stream"...w tym przypadku mi sie jeszcze nie udało tak szybko przesunąć, żeby mi się myszka zgubiła. (spróbuj muszka przesuwać po ekranie, komputer się nie gubi). Faktycznie myszka optyczna może mieć proble ale to ze względu na optykę która na różnych powierzchniach różnie się zachowuje. Ale rolka ze enkoderem myszki nie powinna mieć żadnego problemu.

    Quote:
    tzn czy procesor praktycznie caly czas jest zajety "nasluchiwaniem" linii danych i w momencie gdy ta nadejdzie rozpoczyna procedure odczytu


    W zależności od tego w jaki tryb odczytywania ustawimy myszkę. Jeżeli na zdalny to odpowie jak ją zapytamy, jeżeli na "stream" to wysyla pakiety w zależności od ustawionego próbkowania mamy do wyboru 10, 20, 40, 60, 80, 100 i 200 próbek/s wtedy spokojnie można użyć przerwania z procka.


    Quote:
    d525 1. Ile by kosztowała taka mała obrabiareczka CNC

    To zależy czy ma być wykonana z profesjnalnych elementów(przekładnie śrubowe, szyny kulkowe np. REXROTH) czy amatorskich (gwint z nakrętką itd) mogę policzyć ewentualny koszt. Ale to jak wróce z delegacji na początku października.
    Quote:
    2. Jakie możesz osiągnąć dokładności?

    z elementów REXROTH -pojedyncze tysięczne mm, amatorsko myślę że 0,1mm jest pewne.

    Quote:
    3. z jakiego programu ją mogę wysterować

    ja przygotowuję swoją na kod G, a potem to jest pare nawet darmowych programów zamieniających rysunki na ten kod.

    Ja będę pisał program do komunikacji na RS232 w VisualBasc, który kod G z pliku tekstowego bedzie przesyłany do maszyny. Tak, żeby było to uniwersalne.

    Pozdrawiam wszystkich.

    Krzysztof