Skocz do zawartości

[C] Rpi, programowanie podstawy i mini CNC


ectineraa

Pomocna odpowiedź

Witajcie,
znów zakładam temat z serią pytań.

Niestety nie do końca temat jest związany z typową robotyką ale myślę, że w sporej części są to rzeczy powiązane.

Od jakiegoś czasu poznaje zasady działania elektroniki i uczę się programować w C.

Jakiś czas temu trafiłem na blog gdzie gość stworzył mini laserowe CNC a od czasu kiedy mam Rpi temat zmywa mi sen z powiek.

Przedstawię najpierw blog i temat o którym piszę:

http://funofdiy.blogspot.com/2013/10/a-raspberry-pi-controlled-mini-laser.html

a teraz pytania, które mnie nurtują.

Do tej pory pisałem proste programy które wykonują polecenia takie jak napiszę - czyli zapalanie i gaszenie LED, sterowanie silnikiem krokowym na zasadzie prawo lewo, lub prawo przez określony czas, lewo przez określony czas itd.

Przyglądając się temu co jest na blogu, który wyżej podałem zastanawiam się :

- Jak ten gość zrobił, że coś co narysował w programie zostało przeniesione na język zrozumiały dla Rpi?

- W jaki sposób program wie że jeśli ma rysować w punkcie x,y,z to ile razy ma obrócić silnikiem i jakim silnikiem?

Jak na dzień dzisiejszy to ja bym był tylko w stanie napisać program na podstawie prób i błędów napisze np. literkę "A" ale robiłbym to w taki sposób że wszystko określałbym po kolei czasowo tzn. Silnik A w prawo przez 2 sek, silnik B w lewo 0.5 sek i wykonuj komendy po kolei... 🙄

Do tej pory uzbierałem wszystkie części potrzebne do budowy takiej maszynki ale stoję na pozycji.

Jeśli chodzi o RPi to mam prawie wszystkie elementy tylko ja nie będę pracował na mostkach H takich jak on ma tylko na sterownikach do silników krokowych z Botlandu o których pisałem w innym temacie.

Stoję jednak na "Kroku 6", który został opisany w tym blogu a szczególnie jeśli mowa a tłumaczu G code - czarna magia.. nie mówiąc już o kodach, które udostępnił on na stronie :

np.


G90
G21
G0 X17.1053 Y17.1053

M03
G1F0.000000
G02 X16.8605 Y16.3471 I-0.3946 J-0.2912
G02 X16.1074 Y16.3688 I-0.3458 J1.0778

o co chodzi, z jakiej to bajki i z czego to się wzięło bo przecież nie pisał tego ręcznie .... no i w jaki sposób program to interpretuje ?

Trafiłęm też na Polaka, który napisał jak zrobił układ dyskietek odgrywających muzykę - można to zobaczyć pod linkiem

Ogólnie zastanawiam się : JAK TO DZIAŁA.

Dlatego mam do Was prośbę, czy ktoś może mi polecić jakąś książkę, art. w necie itp lub napisać mi tutaj jak się za to zabrać ?

Link do komentarza
Share on other sites

- Jak ten gość zrobił, że coś co narysował w programie zostało przeniesione na język zrozumiały dla Rpi?

Użył do tego programu Inksapce z wtyczką pozwalającą na eksportowanie z tego programu do G code.

- W jaki sposób program wie że jeśli ma rysować w punkcie x,y,z to ile razy ma obrócić silnikiem i jakim silnikiem?

To wszystko jest napsiane w G code.

Jeżeli masz dwa punkty to masz rówanie lini prostej. I laser leci z punktu A do punktu B.

Jeżlei masz krzywą punkty A B i C to krzywa jest interpolowana.

Jak masz dwa punkty to znacz punkt początkowy i punkt końcowy to możesz wyliczyć każdy punkt "po drodze". Tak samo jest z krzywymi.

Z tego linku co pokazałeś to wykorzystał mostki H do sterowania silnikiem krokowy bo rapi ma za mały prąd na wyjściu portów.

Wszystkie deklaracje jak i tłumaczenie code G oraz

to ile razy ma obrócić silnikiem i jakim silnikiem
znajdują się w plikach.

Bipolar_Stepper_Motor_Class.py Motor_control.py Gcode_executer.py

Są napisane w języku Python.

Jako osoba bardziej doświadczona od ciebie zachęcam do porobienia innych ciekawych projektów na rapi.

Wybrałeś się że tak powiem z motyką na słońce. Będziesz miał jeszcze dużo czasu na zrobienie swojego pierwszego CNC.

Zachęcam do nauki matematyki i angielskiego 😋

Link do komentarza
Share on other sites

gacek91, dziękuję za odpowiedź.

Heh, cały problem u mnie nie polega chyba na matematyce czy j.angielskim - bo bloga przeczytałem kilka razy a i z matematyką jestem prawie non stop ... tylko na zrozumieniu działania i właściwie interpretowania tych programów, zrozumienia jak zrobić żeby RPi w danym momencie korzystało z jakiegoś programu albo i nie.

Tak jak na wstępie napisałem do tej pory tworzyłem "programy" gdzie pisałem wszytko ręcznie i uruchamiałem je ręcznie (sudo ./nazwa) .

Tutaj mam jakby (w moim rozumowaniu) 3 programy z których w jednym czasie RPi korzysta a to jest dla mnie czarną magią 😋

[ Dodano: 24-04-2014, 21:26 ]

Ale ogólnie chyba masz racje, małymi krokami a i do tego dojdę.

Swoją drogą zastanawia mnie inna rzecz. Dlaczego jeśli piszę program i wpisuję np

import time

to przy uruchomieniu go wyskakuje mi :

line 1: import: nie znaleziono polecenia

Link do komentarza
Share on other sites

Nie jestem programisto Pythona ale domyślam się że nie masz zainstalowanej biblioteki/modułu o nazwie time.

Musisz ściągnąć paczke do Pythona, tak mi się zdaje.

Odnośnie 3 plików to one nie działają odzielnie. Tak powiem, jeden plik uruchamia pozostałe dwa pliki.

Dzieki czemu ten pierwszy plik posiada funckjonalność pozostałych dwóch. Udostępnia to każdy język programowania w obecnych czasach.

Jeżeli chcesz się nauczyć programowania to polecam Grębosza "Symfonia C++" tom 1 i 2 .

Są tam przedstawione podstawy C i C++. Jeżeli nausz się języka C/C++ to żaden język nie bedzie ci starszny 🙂

Odnośnie rapi ma w sobie wiele ciekawych peryferiów jak SPI,USART, ADC, DAC i I2C. Możesz je wykorzystać do zrobienia np czujnika temperatury który obsługuje SPI. Wystarczy trochę poszperać.

A odnośnie rapi jest wiele książek nie polecę żadnej bo nie przeczytałem ich ale możesz poszukać opinni innych czytelników.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Tak starałem się odpuścić temat ale chyba nie potrafię.

Udało mi się uruchomić program napisany na blogu , wszystko fajnie działa tylko cholerka całość jest napisana pod mostek H.

Staram się przerobić kod pod sterowniki RepRap ale średnio mi to idzie.. :| w teorii sterowanie za pomocą sterowników powinno być prostsze ale nie wiem czy da rade te przedstawione na blogu programy pod nie przerobić.

Może ktoś się w coś takiego już wepchał?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.