Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 7 cze 2025, o 00:11


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 24 lut 2014, o 20:23 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 cze 2013
    Posty: 137
    Lokalizacja: Kraków
    Pomógł: 0

    Hej ho!
    Przybywam do Was z kolejnym moim dziwnym projektem ;). Jest to maszyna służąca pierwotnie do rysowania wykresów na pracownie w szkole, ale ostatnio dodałem też opcję rysowania plików HPGL (np. narysowane w Inkscapie). Rozwiązania, które poniżej zobaczycie, są mocno pozbawione sensu i zdaję sobie z tego sprawę :lol: (zauważy to "każden jeden" orientujący się w temacie CNC). Niemniej zapraszam do lektury, bo mimo to uważam że projekt jest niekonwencjonalny i na swój sposób ciekawy.

    Wykresiarka ma dość nietypowe założenia. Chciałem zrobić tę maszynkę od początku do końca sam, według własnej koncepcji odnośnie części mechanicznej i elektronicznej, a także sterowania i komunikacji. To przy takich projektach człowiek uczy się najwięcej... W wyniku tego ma ona swój własny sterownik oparty o ATmegę16, własny protokół komunikacyjny i własny program po stronie PC wysyłający komendy sterujące. Dodam jeszcze, że stawiałem przede wszystkim na używanie jedynie najprostszych narzędzi, a także wykorzystanie tego, co i tak zalega w domu. Przejdźmy zatem do opisu...

    Część mechaniczna
    Wykorzystałem silniki krokowe ze starych skanerów ze zintegrowanymi przekładniami i paskami napędowymi. Oprócz tego zwykłe prowadnice szufladowe, a także elektromagnes z jakiejś drukarki laserowej w roli osi Z (podnośnik pisaka). Całość jest zamontowana na normalnej płycie meblowej. Zasilacz też jest "pożyczony" z jakiegoś innego sprzętu, ma 2 napięcia wyjściowe: 16 i 32V.
    ObrazekObrazekObrazekObrazek

    Sterownik
    Jak już wspominałem, sterownik to niewielka płytka z ATmegą16 i kwarcem 16MHz na pokładzie. Z komputerem komunikuje się przez FT232RL (wraz z separacją galwaniczną). Jeśli chodzi o sterowanie osiami X i Y, to użyłem tutaj - uwaga uwaga - ULN2803 i L293DD. Może o efektach ubocznych napisze trochę niżej ;). Elektromagnes (oś Z) jest wysterowany przez jakiegoś MOSFETa przystosowanego do logiki 5V. Poza tym sterownik obsługuje krańcówki (po 2 na osie X i Y), wyświetlacz LCD i kilka innych rzeczy. Jakiś czas temu pisałem tu na forum odnośnie przechowywania we FLASHu własnej grafiki wektorowej - potrzebowałem jej właśnie do tego projektu. Napisałem kilka dodatkowych funkcji (między innymi wypisywanie prostego tekstu) w celach ćwiczeniowych, ale nie zamierzam z nich korzystać, bo bardziej efektowne jest użycie plików HPGL.
    ObrazekObrazekObrazekObrazekObrazek

    Komunikacja (mopsioCODE)
    Tak, wiem jak to zabrzmi, ale napisałem sobie własny protokól :mrgreen:. Po prostu uznałem że komendy AT są zbyt zasobożerne jak na takie rozwiązanie. Działa to mniej więcej na podobnej zasadzie, ale rozkaz i argumenty są 1-bajtowe, a nie słowne. To tak w uproszczeniu. Zaimplementowałem też kilka fajnych mechanizmów pozwalających np. na zwracanie błędów przez funkcje, czy obsługę danych idących poza ramkami protokołu. Oczywiście wszystko kontrolowane przez CRC16.

    Program sterujący na PC
    Jest to mój pierwszy program napisany w Visual C# 2010 Express, więc z pewnością aż roi się w nim od kardynalnych błędów. Jestem w stanie to zaakceptować :D, gdyż program działa tak jak chciałem. Ogólnie jego zadanie polega na ładnym środowisku umożliwiającym projektowanie wykresów, ale pozwala też na komunikację z Wykresiarką na podstawie pojedynczych komend, a także wykonywanie plików w formacie HPGL. Zatem rysując obrazek w Inkscapie, zamieniając go na ścieżki i zapisując jako HPGL będzie można go potem narysować.
    ObrazekObrazekObrazekObrazek

    Kamera... akcja!
    Oto filmik prezentujący działającą Wykresiarkę i efekty, jakie można nią uzyskać. No i muzyczka jest niczego sobie!


    Podsumowanie
    Cóż... to z pewnością nie był łatwy projekt. Zapewne wielu z Was słusznie zauważy, że wyważam otwarte drzwi i nieudolnie projektuję od nowa rzeczy już dawno wymyślone i przetestowane. Oczywiście macie rację, ale i tak nie żałuję swojego wyboru, bo przez ten czas nauczyłem się wielu ciekawych rzeczy i mogłem spojrzeć na tematykę CNC z mniej znanej perspektywy - żeby daleko nie szukać: jak generować kroki dla obu osi, by pisak poruszał się pod odpowiednim kątem. To i wiele innych fascynujących zagadnień udało mi się zgłębić własnie przez realizację tego dziwadła :D. Niemniej nie mogę udawać, że konstrukcja nie ma wad. Oto kilka najważniejszych:
    1. Kuuuuupa ciepła na osiach X i Y, co ogranicza czas pracy
    2. Okazuje się, że "silniki po 300dpi każdy" mają różne rozdzielczości ^^.
    3. Oś Y jest trochę "bezwładna" na większych odległościach od silnika osi X (wynika to z konstrukcji)
    4. Osie X i Y nie przecinają się pod idealnym kątem prostym
    5. Papier milimetrowy nie jest milimetrowy (zła skala), a drukowanie własnej siatki na zwykłej drukarce wprowadza spore przesunięcia (czasem nawet 0.5mm, zależy od ułożenia papieru), które uniemożliwiają oszukanie nauczyciela.
    Próbowałem coś zrobić w celu wyeliminowania tych problemów, ale nawet jeśli się to udało, to tylko częściowo.

    Załączniki
    Wrzucam pliki projektowe Wykresiarki, w których znajduje się kod sterownika (w C), jego projekt w Eagle, a także projekt Visual C# i sam plik wykonywalny.
    Do tego dołączam jeszcze mopsioCODE w nieco przyjemniejszej wersji, gotowej do użycia w projekcie. Opis protokołu, instrukcja obsługi i przykładowe kody powinny przydać się osobom, które na szybko potrzebują pogadać z AVRem w trybie rozkazowym a szkoda im miejsca na obszerną obsługę AT. Kod na AVR napisany jest w C, a na komputer - w Pythonie. Oczywiście mój program z Visual C# również zawiera odpowiedni plik obsługujący protokół (mopsiocode.cs), który można sobie skopiować i użyć we własnym projekcie okienkowym.
    Załącznik:
    wykresiarka20140223.rar

    Załącznik:
    mopsioCODE_20140223.rar



    Jeśli kogoś interesuje nieco bardziej szczegółowy opis, to można go obejrzeć tutaj: http://www.elektroda.pl/rtvforum/topic2763639.html . Tutaj pozwoliłem sobie na nieco bardziej luźny opis ;).

    Pozdrawiam i zapraszam do dyskusji!
    mopsiok


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

    _________________
    Więcej dziwactw na: www.youtube.com/user/mopsiok



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 20:30 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3229
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    No właśnie takie coś mi chodzi po głowie do malowania ścieżek pisakiem kwasoodpornym na laminacie z plików EAGLA. ;-)

    Ciekawa konstrukcja ;-)

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 20:39 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2012
    Posty: 778
    Pomógł: 9

    Wykonanie profesjonalne, widać że dużo pracy w wykresiarke włożyłeś :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 20:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 sty 2013
    Posty: 844
    Lokalizacja: Przemyśl
    Zbananowany użytkownik

    Pomógł: 43

    No kolego, szacun. Dobry przykład że chcieć znaczy móc ;)

    _________________
    Klimatyzacja Przemyśl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 21:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 lut 2013
    Posty: 600
    Pomógł: 47

    Niezła robota!!!
    Sam już od dłuższego czasu robiłem kilka podejść do podobnego projektu i zawsze spaliło na panewce. :)
    No ale po tym co widziałem aż mnie rączki świerzbią. :)

    _________________
    https://www.instagram.com/myfirstquadcopter/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 21:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Nie no, ja to jestem w szoku :) Świetny projekt ;)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 22:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2012
    Posty: 88
    Pomógł: 2

    świetne
    jak zobaczyłem jak rysuje ścieżki to zaraz widziałem jak żelazko odchodzi w niepamięć :-D

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 22:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    Nie no bajka :) jak to zobaczyłem to pomyślałem ... marker do płytek :D i jazda :) nie trzeba prasować itp :)
    kurka trzeba będzie o czymś takim pomyśleć :) nie koniecznie A4 .... może być B5 ... do PCB ale jest nieźle ... :)

    gratki i szacun ... a jak z dokładnością mieści się w odchyłce 0,1mm czy 0,01mm ? :) bo do pcb przydało by się raczej 0,001 mm :)

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lut 2014, o 22:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 cze 2013
    Posty: 137
    Lokalizacja: Kraków
    Pomógł: 0

    Dzięki Wam za tak miłe komentarze! :) Naprawdę miło usłyszeć kilka ciepłych słów ^^.
    Silniki mają teoretyczną rozdzielczość 0.085mm, ale w praktyce jest ona pewnie sporo gorsza. Muszę kiedyś zrobić test na laminacie lub czymś w tym rodzaju, bo na papierze cienkopis mocno wsiąka przy takich małych odległościach i niezbyt mogę ocenić efekt. Niemniej z tego co widziałem to nie ma tragedii i TQFP44 dałoby radę namalować.
    Jednak odradzam wzorowanie się na tym projekcie do takich celów :D. Wszystko tak się grzeje, że nie dałbym rady narysować jakiejś większej płytki. Żeby to miało sens, trzeba by było zastosować cieńszy pisak (standardowy cienkopis ma 0.4mm), co jeszcze bardziej wydłuży czas rysowania.
    Poza tym, jeśli ktoś nie potrzebuje pola roboczego A4, to zastosowanie całej maszynerii z drukarek + prowadnic mija się z celem - można zastosować jakieś układy pozycjonujące ze stacji dyskietek. Zapewne mają o wiele przyjemniejszą dokładność ;).

    Zresztą nie wiem jak Wam Panowie, ale mi termotransfer zajmuje może z 15 minut, z czego 10 to czekanie na odmoknięcie papieru. Taka mała płyteczka rysowała mi się około 4 minuty, więc tak naprawdę już pokrywa się to z czasem aktywnego uczestniczenia w termotransferze.

    _________________
    Więcej dziwactw na: www.youtube.com/user/mopsiok



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO