PDA

View Full Version : Test Raspberry PI 2 Chạy Linuxcnc (Machinekit).



Trang : [1] 2

katum573
22-05-2017, 10:27:05 PM
Tìm hoài không biết post chỗ nào nếu sai chỗ nhờ Admin move giùm, thank.

Tình hình thời gian này trời mưa quá không làm máy được với lại cũng rảnh rỗi nên nghiên cứu linuxcnc thử.

Đầu tiên là tính thử với board BeagleBone Black ghóp tiền hoài vẫn không đủ (do rảnh rỗi nhiều) mà ngân sách không được lấy (buồn). sẵn nhà còn board Raspberry PI2 nên lấy ra ngâm cứu.

Board Raspberry Pi 2
OS Raspbian (Jessie).
kernel RT-PREEMPT realtime kernel
install link : Debian Jessie on arm7 (RPi2).
http://www.machinekit.io/docs/getting-started/installing-packages/

Driver Step : RKD514L-A
38614

Step 5 phase Quinstep.
38615

GPIO direct step/dir driver.
Pin 29 GPIO5 -> X step
Pin 31 GPIO6 -> X Dir
Pin 32 GPIO12 -> Y Step
Pin 33 GPIO13 -> Y Dir
Pin 35 GPIO19 -> Z Step
Pin 37 GPIO26 -> Z dir

Do chân ra của Raspberry là 3v3 nên chạy chưa ngon lắm để vài hôm nữa làm cái board đệm test tiếp.


https://www.youtube.com/watch?v=qPq1FkpqLPY

Bongmayquathem
23-05-2017, 07:55:09 AM
hay quá. Bác có thể hướng dẫn setup trên linuxcnc đựoc ko ạ. Tại e thấy lúc đầu vào linuxcnc nó chỉ cho chọn vài loại card nó hỗ trợ thôi, thông dụng là LPT.

nhatson
23-05-2017, 08:42:39 AM
Tìm hoài không biết post chỗ nào nếu sai chỗ nhờ Admin move giùm, thank.

Tình hình thời gian này trời mưa quá không làm máy được với lại cũng rảnh rỗi nên nghiên cứu linuxcnc thử.

Đầu tiên là tính thử với board BeagleBone Black ghóp tiền hoài vẫn không đủ (do rảnh rỗi nhiều) mà ngân sách không được lấy (buồn). sẵn nhà còn board Raspberry PI2 nên lấy ra ngâm cứu.

Board Raspberry Pi 2
OS Raspbian (Jessie).
kernel RT-PREEMPT realtime kernel
install link : Debian Jessie on arm7 (RPi2).
http://www.machinekit.io/docs/getting-started/installing-packages/

Driver Step : RKD514L-A
38614

Step 5 phase Quinstep.
38615

GPIO direct step/dir driver.
Pin 29 GPIO5 -> X step
Pin 31 GPIO6 -> X Dir
Pin 32 GPIO12 -> Y Step
Pin 33 GPIO13 -> Y Dir
Pin 35 GPIO19 -> Z Step
Pin 37 GPIO26 -> Z dir

Do chân ra của Raspberry là 3v3 nên chạy chưa ngon lắm để vài hôm nữa làm cái board đệm test tiếp.


https://www.youtube.com/watch?v=qPq1FkpqLPY

dùng gpio có đệm cũng sẽ jitter nên chắc ko ngon, đổi qua dùng cổng spi với PLUTO hay mesa 7i90
mà em nhớ machinekit có làm mạch giao tiếp chạy spi với pic32 thì phải

katum573
23-05-2017, 09:26:47 PM
dùng gpio có đệm cũng sẽ jitter nên chắc ko ngon, đổi qua dùng cổng spi với PLUTO hay mesa 7i90
mà em nhớ machinekit có làm mạch giao tiếp chạy spi với pic32 thì phải

Do mình nghiên cứu là chính và dùng những board thông dụng với linh kiện có sẵn tại VN nên PLUTO hay mesa mình không tính dùng vì phải phụ thuộc phần cứng của họ PIC32 cũng có board cho Raspberry nhưng mình lại không biết về PIC32 với lại khi PIC32 cũng xuất tín hiệu điều khiển qua GPIO thôi. mình tính làm board đệm vì GPIO chỉ ra 3v3 mà driver lại cần 5v trên machinekit có 1 số board đệm cho BeagleBone có schematic mình cũng nghiên cứu vài cái thấy cũng hay lắm http://blog.machinekit.io/p/hardware-capes.html


hay quá. Bác có thể hướng dẫn setup trên linuxcnc đựoc ko ạ. Tại e thấy lúc đầu vào linuxcnc nó chỉ cho chọn vài loại card nó hỗ trợ thôi, thông dụng là LPT.
linuxcnc mình thấy driver hỗ trợ cho các board cũng không nhiều lắm mình chỉ nghiên cứu trên 2 board là BeagleBone và Raspberry thôi. để mai nếu rảnh thì mình sẽ hướng làm về con Raspberry này.

nhatson
23-05-2017, 10:12:13 PM
Do mình nghiên cứu là chính và dùng những board thông dụng với linh kiện có sẵn tại VN nên PLUTO hay mesa mình không tính dùng vì phải phụ thuộc phần cứng của họ PIC32 cũng có board cho Raspberry nhưng mình lại không biết về PIC32 với lại khi PIC32 cũng xuất tín hiệu điều khiển qua GPIO thôi. mình tính làm board đệm vì GPIO chỉ ra 3v3 mà driver lại cần 5v trên machinekit có 1 số board đệm cho BeagleBone có schematic mình cũng nghiên cứu vài cái thấy cũng hay lắm http://blog.machinekit.io/p/hardware-capes.html


linuxcnc mình thấy driver hỗ trợ cho các board cũng không nhiều lắm mình chỉ nghiên cứu trên 2 board là BeagleBone và Raspberry thôi. để mai nếu rảnh thì mình sẽ hướng làm về con Raspberry này.

mesa thì card cũng ko rẻ
pluto có thể dùng với bất cứ fpga nào, bác làm 1 bài hd cái linuxcnc tren rpi 3 được ko, em tèo ở cổ chảy RT kenel, sau khi cài thi ko thể khởi động được RP2 giờ ko dễ để mua và chậm nữa
https://github.com/tinkercnc/spi-fpga-driver

katum573
24-05-2017, 09:34:27 AM
mesa thì card cũng ko rẻ
pluto có thể dùng với bất cứ fpga nào, bác làm 1 bài hd cái linuxcnc tren rpi 3 được ko, em tèo ở cổ chảy RT kenel, sau khi cài thi ko thể khởi động được RP2 giờ ko dễ để mua và chậm nữa
https://github.com/tinkercnc/spi-fpga-driver

fpga thì mình chua nghiên cứu bao giờ, rpi 3 nếu bác cài kernel giống trên machinekit hướng dẫn thì thay dòng bcm2709-rpi-2-b.dtb thành bcm2710-rpi-3-b.dtb thử xem có chạy được không, do mình không có RP3 để test.

sudo -s
apt-get install linux-image-rpi2-rt
cd /boot
echo kernel=$(ls kernel_rt*.img) >> config.txt
echo device_tree=dtbs_rt/bcm2709-rpi-2-b.dtb >> config.txt

sudo -s
apt-get install linux-image-rpi2-rt
cd /boot
echo kernel=$(ls kernel_rt*.img) >> config.txt
echo device_tree=dtbs_rt/bcm2710-rpi-3-b.dtb >> config.txt

nếu bác không sửa file config.txt được trên RPI thì có thể sửa trên windows cũng đựoc \boot\config.txt đến dòng cuối cùng bác thấy dòng này device_tree=dtbs_rt/bcm2709-rpi-2-b.dtb thì đổi thành device_tree=dtbs_rt/bcm2710-rpi-3-b.dtb

CKD
24-05-2017, 01:10:55 PM
Cụ katum573 có vẻ rành về lĩnh nhỉ.
Hy vọng được chia sẻ nhiều hơn về linux cnc. Thấy nó có nhiều cái hay, nhất là có thể can thiệp vào core xử lý để vận hành với rất nhiều mô hình máy khác nhau. Mà mình thì mù tịt linux

katum573
25-05-2017, 11:06:39 AM
Cụ katum573 có vẻ rành về lĩnh nhỉ.
Hy vọng được chia sẻ nhiều hơn về linux cnc. Thấy nó có nhiều cái hay, nhất là có thể can thiệp vào core xử lý để vận hành với rất nhiều mô hình máy khác nhau. Mà mình thì mù tịt linux

Mình thì không rành về linuxcnc lắm vì chỉ mới nghiên cứu có 2 tuần thui, nhưng linux OS thì cũng tạm dùng. bác đừng nghĩ linux nó khó nên không dám thử vì trên phương diện người dùng giao diện của nó bây giờ cũng tương đương với windows thui, nó chỉ khó ở các dòng lệnh mà các dòng lệnh này người dùng bình thường ít khi dùng.
Để can thiệp vào core của linux nó phức tạp lắm vì phải hiểu về quy tắc hoạt động của hệ điều hành, cách quản lý các tác vụ của HĐH, quản lý tài nguyên của phần cứng nữa .v.v. cái này rất nhức đầu, nên cần cả 1 tập thể mới làm được.

Linuxcnc thì chỉ là 1 ứng dụng người dùng bình thường nó không liên quan gì tới core của linux, trong linuxcnc có 1 lớp driver gọi là HAL driver( Hardware Abstraction Layer). lớp này sẽ giao tiếp với realtime kernel (mình chỉ nhớ được 2 loại Xenomai và rt-preempt) để truy xuất phần cứng, trong linux mọi truy xuất phần cứng đều phải qua kernel không được phép truy cập trực tiếp như trong windows và hành động này phải được cấp quyền bởi root (cái này thì linuxcnc tự lo rồi). vậy để vận hành nhiều mô hình khác nhau chạy trên linuxcnc nếu phần cứng do bác thiết kế thì bác phải viết 2 driver 1 cho kernel của linux và 1 là HAL driver cho linuxcnc.

Sorry các bác tính làm hướng dẫn config linuxcnc nhưng do mới nghiên cứu với lại tài liệu từ nhiều nguồn nên không thể gom lại được, để mình test cách config đơn giản nhất rồi làm hướng dẫn sau, chắc cũng mất vài ngày.

katum573
25-05-2017, 07:13:24 PM
Mình mới đo xung ra của con raspberry xong, xung mầu xanh là từ GPIO của RPI, xung mầu vàng là từ con 74LS244, các bác xem thử giùm mình liệu với xung này jitter có xảy ra không.
config chạy là 400 xung 1mm vi bước là 4 quay video lúc đang chạy file. mình test trên motor thì thấy chạy ngon hơn khi chưa có con 74LS244.

https://www.youtube.com/watch?v=GhEXkYOKmU8

nhatson
25-05-2017, 07:18:40 PM
Mình mới đo xung ra của con raspberry xong, xung mầu xanh là từ GPIO của RPI, xung mầu vàng là từ con 74LS244, các bác xem thử giùm mình liệu với xung này jitter có xảy ra không.
config chạy là 400 xung 1mm vi bước là 4 quay video lúc đang chạy file. mình test trên motor thì thấy chạy ngon hơn khi chưa có con 74LS244.

https://www.youtube.com/watch?v=GhEXkYOKmU8

muốn xem jitter ko thì phải để DIV time lớn, chay xung liên tục nếu các xung ổn định là ít jitter, còn các xúng co dan liên tục thì la jitter lớn mà em sure là lớn

ví dụ với mach3

https://www.youtube.com/watch?v=99EuaFLeoiI

katum573
28-05-2017, 07:24:22 PM
Hướng dẫn cài linuxcnc trên Raspberry PI 2

Cài Rasbian trên RPI2 thì các bác có thể tìm trên mạng trang chủ của Rasberry.
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
Cài Machinekit thì theo link sau :
http://www.machinekit.io/docs/getting-started/installing-packages/

Config server chứa các gói của Machinekit cho apt. (màu xanh là dòng lệnh các bác có thể copy paste trực tiếp vào cửa sổ console)

mở console ta nhập vào :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 43DDF224

sudo sh -c \
"echo 'deb http://deb.machinekit.io/debian raspbian main' > \
/etc/apt/sources.list.d/machinekit.list"

(chú ý : 3 dòng trên là 1 dòng lệnh)

sudo apt-get update

Cài realtime kernel cho RPI2 (RT-PREEMPT realtime kernel).

sudo apt-get update (có thể bỏ qua bước này vì trên đã chạy rồi)
update bootloader cho RPI

sudo apt-get install -y raspberrypi-bootloader

install kernel.

sudo -s
apt-get install linux-image-rpi2-rt
cd /boot echo kernel=$(ls kernel_rt*.img) >> config.txt

RPI2 thì chạy dòng này
echo device_tree=dtbs_rt/bcm2709-rpi-2-b.dtb >> config.txt

RPI3
echo device_tree=dtbs_rt/bcm2710-rpi-3-b.dtb >> config.txt
(chưa test thử bác nào thử rồi thì cho ý kiến).

echo dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0 dwc_otg.nak_holdoff=0 >> cmdline.txt

Thoát ra khỏi root
exit

install machinekit vì ta dùng kernel rt-preempt nên cài gói này machinekit-rt-preempt.

sudo apt-get install machinekit-rt-preempt machinekit-dev

install manual.

sudo apt-get install machinekit-manual-pages (gói này mình cài không được và cũng không quan trọng lắm).

khởi động lại hệ thống để chạy trên kernel rt.

Do mình mới nghiên cứu linuxcnc chỉ khoảng 10 ngày thôi, với lại mình không phải là dân cơ khí hoặc chuyên về cnc nên hiểu biết còn hạn chế mình biết cái gì thì share cái đó nên các bác thông cảm và góp ý thêm nhé.

Mình chỉ nghiên cứu và có mottor step nên chỉ nói về step.

Để tạo config riêng cho hệ thống của mình ta có nhiều cách tạo như sau.
- Machinekit → cài đặt những hệ thống được cài đặt sẵn (vi dụ: như sim chứa những hệ thống chạy ảo, by_interface chứa những cài đặt sãn của LPT, mesa pluto.., ARM thì chứa config của những board đệm cho BeagleBone..v..v).
- Machinekit Pncconf wizard → cài đặt config cho servo.
- Machinekit Stepconf wizard → cài đặt config cho step.
Đầu tiên ta vào Machinekit Stepconf wizard.

39016
nhấn start ra bảng sau.
39017
mấy dòng trên chác các bác cũng hiểu rồi. nhấn tiếp forward
39018
Ở đây ta có :
Machine name : tên máy cần đặt (VD: mình đặt là katum-mill thì thư mục chứa config và tiêu đề của máy đều có tên này).
Configuration directory : đường dẫn thư mục chứa file config máy. thông thường là /home/<tên người dùng (mặc định là pi)>/machinekit/config/<tên máy>, sau này khi sửa file để config lại máy ta lại vào thư mục này.
Axis configuration : chọn số trục mà máy hỗ trợ.
Reset default machine unit : chọn hệ inch hay mm.
Driver type : chon kiểu driver cho step, nếu không được hỗ trợ thì chọn Other.
Step time : thời gian xung step kích chạy tính băng ns .
Step Space : thời gian nghỉ giữa 2 xung tính bằng ns .

Các bác nhìn hình dưới thời gian ON là Step time OFF là step Space
39019
Direction hold : thời gian để step đảo chiều quay.
Direction setup : thời gian để step đảo chiều quay.
nhìn hình dưới ngay chỗ gạch đỏ DIR input, 10s sau khi kết thúc xung CW là Direction hold, 10s sau là direction setup.
39020

one parport, Two parport : chọn 1 hay 2 cổng LPT (mặc định wizard chỉ hỗ trợ LPT nếu dùng cho board khác ta sẽ sửa file config sau).
Base Period Maimum Jitter : mình vẫn chưa hiểu rõ ý nghĩa lắm, nói nôm na hệ thống sẽ dựa trên thông số này để tính tốc độ phát xung cho step.(thông số này chỉ cao nhât là 50000ns không phù hợp với RPI ta sẽ chỉnh lại trong file sau).
nhấn tiếp forward.
39021
Cài đặt cổng LPT ta cứ để như vậy sẽ sửa lại trong file config sau nhấn forward.
39022

Cài thông số cho trục X :
Motor steps per revolution : số xung để step quay hết 1 vòng ở full step.
Driver Microstepping : vi bước của driver (đặt vi bước bao nhiêu thì đặt vào đây).
Pulley teeth : tỉ số của hộp số hay pulley .
Leadscrew pitch : bước răng visme.
Maximum Velocity và Maximum Acceleration : 2 thông số này các bác nào rành thì cho ý kiến giùm nhé (tìm ở đâu) trong này chỉ nói mình test rồi nhập vào.
Home location : đặt vị trí home.
Table travel : khoảng cách di chuyển của trục X.
Time to accelerate to max speed và Distance to accelerate to max speed : 2 thông số này phụ thuộc vào gia tốc và vận tốc được cài đặt bên trên.
Pulse rate at max speed : tốc độ phát xung tối đa.
Axis Scale : số bước để di chuyển 1mm.

Cài đặt cho trục Y và Z cũng giống như trên.
39023
Cài đặt cho spindle.
Nhấn foward → chọn Done xuất hiện bảng thông báo có lưu file không chọn yes.

Xong phần cài đặt bây giờ tới phần sửa file để chạy trên raspberry.

katum573
28-05-2017, 08:11:51 PM
Xong phần cài đặt bây giờ tới phần sửa file để chạy trên raspberry.


Sau khi cài đặt xong ta mở file manager vào thư mục /home/pi/machinekit/configs/<tên máy vừa đặt>
ở đây có 6 file trở lên
39031
custom.hal những phần cài đặt thêm vào và được load sau khi giao diện đã load xong sẽ được cài đặt trong file này, custom_postgui.hal là file cài đặt giao diện thêm vào.
Ở đây ta chỉ quan tâm tới 2 file là <tên máy vừa đặt>.in và <tên máy vừa đặt>.hal, file .ini là file config máy và file .hal là file cài đặt driver và cấu hình máy. để sửa những file này mình đề nghị dùng chương trình geany vì nó dễ theo dõi các mục hơn, click chuột phải vào file và chọn geany.

Các bác tham khảo config file .ini ở đây http://linuxcnc.org/docs/html/config/ini-config.html

Ở đây mình chỉ nói phần thay đổi thôi còn các thông số khác các bác tham khảo link trên.

[RS274NGC]
PARAMETER_FILE = machinekit.var

các bác thêm như sau

[RS274NGC]
PARAMETER_FILE = machinekit.var
USER_M_PATH = ../../nc_files/mfiles
SUBROUTINE_PATH = /home/pi/machinekit/nc_files/ngcgui_lib:/home/pi/machinekit/nc_files/gcmc_lib:/home/pi/machinekit/nc_files/ngcgui_lib/utilitysubs

phần này là nơi chứa các file thư viện hỗ trợ GCODE.

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 56000
SERVO_PERIOD = 1000000

BASE_PERIOD là thời gian phát xung step xung này phụ thuộc vào tốc độ đáp ứng của CPU để lấy được giá trị này ta vào cnc → latency test,
39032
mở latency test lên ta để nó chạy khoảng hơn 5 phút cho đến khi giá trị trong vùng khoanh đỏ ổn định là được, trong lúc test ta mở nhiều chương trình lên để CPU chạy nhiều tác vụ thì giá trị này mới chính xác được. ở đây ta thu được giá trị 128125 ta làm tròn là 130000 hoặc nhập luôn giá trị đó vào BASE_PERIOD cũng được. sửa thành :

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 130000
SERVO_PERIOD = 1000000


[TRAJ]
AXES = 4
COORDINATES = X Y Z A
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.50
MAX_VELOCITY = 10.00

thành

[TRAJ]
AXES = 4
COORDINATES = X Y Z A
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.50
MAX_VELOCITY = 10.00
# thêm 2 dòng này
NO_FORCE_HOMING = 1
POSITION_FILE = katum-cnc-pos.txt
(tên file gì cũng được sau khi chạy máy sẽ tạo ra file này).

Các mục AXIS_0 AXIS_1 và AXIS_2 là cấu hình 3 trục xyz.

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 23.75
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 250.0
HOME_OFFSET = 0.0

thêm HOME_IGNORE_LIMITS = yes vào đoạn cuối của AXIS_0
nếu MIN_LIMIT = -0.001 có giá trị dấu trừ đằng trước thì sửa nó về 0

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 23.75
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = 0.0
MAX_LIMIT = 250.0
HOME_OFFSET = 0.0

HOME_IGNORE_LIMITS = yes

2 trục kia cấu hình như trên riêng trục z thì MIN_LIMIT phải có giá trị là - ,

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
HOME_IGNORE_LIMITS = yes
MAX_VELOCITY = 23.75
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 400.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -200.0
MAX_LIMIT = 0.0
HOME_OFFSET = 0.0

2 thông số này MIN_LIMIT = 0.0 MAX_LIMIT = 250.0 ở các trục là giá trị giới hạn của các trục nhé.

lưu lại file.ini
giờ sửa file .hal
tìm tới dòng này khoảng dòng 7 hoặc 8
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0

dòng loadrt hal_parport cfg="0 out" là báo cho HAL load driver khi mặc định là dùng cho LPT hal_parport là tên của driver ta thay tên driver của RPI vào đây cfg=”0 out” là cổng xuất tín hiệu.
đầu tiên ta phải xác định chân xuất tín hiệu cho 3 trục, mỗi trục có 2 chân step và dir như vậy ta cần 6 chân ra cho driver step.

RPI 2 và 3 quy định thứ tự 26 chân ra như sau ta ghi ra giấy cho dễ tính.
// Raspberry2/3:
rpi2_gpios[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 21, 23, 24, 25, 26, 27 };
rpi2_pins[] = {3, 5, 7, 29, 31, 26, 24, 21, 19, 23, 32, 33, 8, 10, 36, 11, 12, 35, 38, 15, 40, 16, 18, 22, 37, 13 };

39033

để xuất tín hiệu ra chân nào ta cần khai báo chân đó là 1. mình chọn 6 chân ra là 29, 31, 32, 33, 35, 37. ta làm như sau.
39034
kiếm 1 cái máy tính có thể nhập được 32 số nhị phân vào.
ở đây chân 13 là bit cao nhất chân số 3 là bit thấp nhất 01000000100000110000011000
39035
ta thu được là 16911384
ta đồi loadrt hal_parport cfg="0 out" thành
loadrt hal_gpio dir=16911384 (hal_gpio là file driver của GPIO RPI). dir=16911384 khai báo chân xuất của GPIO.
dòng setp parport.0.reset-time 5000 dòng này ta xoá bỏ.
loadrt stepgen step_type=0,0,0 dòng này là kiểu xuất xung cho step theo kiểu step/dir ta để nguyên.

sau khi sửa ta được
loadrt hal_gpio dir=16911384
loadrt stepgen step_type=0,0,0

tìm trong file tất cả các chữ parport.0 thay bằng hal_gpio
kiếm dòng này addf parport.0.reset base-thread xoá bỏ.

kéo xuồng tới đoạn này ta đặt chân xuất cho cá trục.

net estop-out => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
net zdir => parport.0.pin-07-out
net astep => parport.0.pin-08-out
net adir => parport.0.pin-09-out

ở đây mình đặt chân 29 là xstep, 31 là xdir, 32 là ystep, 33 là ydir, 35 là zstep, 37 là zdir sửa thành.

#net estop-out => hal_gpio.pin-01-out
net xstep => hal_gpio.pin-29-out
net xdir => hal_gpio.pin-31-out
net ystep => hal_gpio.pin-32-out
net ydir => hal_gpio.pin-33-out
net zstep => hal_gpio.pin-35-out
net zdir => hal_gpio.pin-37-out
#net astep => hal_gpio.pin-08-out
#net adir => hal_gpio.pin-09-out

lưu file lại và test thử.

link dưới là file mình làm rồi các bác down về nghiên cứu tiếp
https://drive.google.com/file/d/0B4EdEdEGvEuERkR4eUhXeWRQbHc/view?usp=sharing

Bongmayquathem
28-05-2017, 10:29:35 PM
Lót dép ngồi hóng phần tiếp theo. Mấy phần trước em đọc thuộc luôn rồi. Kaka, thanks bác rất nhiều ạ

thuhanoi
29-05-2017, 01:14:52 PM
Mới lướt qua thấy hấp dẫn đấy, chắc cũng mần 1 em PI về ngâm chơi :D

nhatson
31-05-2017, 10:13:46 PM
em cái trên RPI3 có 2 vấn đề
vấn đề 1
khi cài tới lệnh
"echo 'deb http://deb.machinekit.io/debian raspbian main' > \ /etc/apt/sources.list.d/machinekit.list"
nó báo là no such file or dictonary vậy có vấn đề gi ko?
lệnh echo sau cũng bị tương tự


http://i1232.photobucket.com/albums/ff370/nhatsonelec/DSC_4642.jpg

vấn đề 2 là sau khi làm tất cả các bước , khởi động lại thì nó dừng ở màn hình 7 màu
http://i1232.photobucket.com/albums/ff370/nhatsonelec/DSC_4644.jpg

katum573
31-05-2017, 11:10:44 PM
em cái trên RPI3 có 2 vấn đề
vấn đề 1
khi cài tới lệnh
"echo 'deb http://deb.machinekit.io/debian raspbian main' > \ /etc/apt/sources.list.d/machinekit.list"
nó báo là no such file or dictonary vậy có vấn đề gi ko?
lệnh echo sau cũng bị tương tự


http://i1232.photobucket.com/albums/ff370/nhatsonelec/DSC_4642.jpg

vấn đề 2 là sau khi làm tất cả các bước , khởi động lại thì nó dừng ở màn hình 7 màu
http://i1232.photobucket.com/albums/ff370/nhatsonelec/DSC_4644.jpg

Bác sai ở đoạn này "echo 'deb http://deb.machinekit.io/debian raspbian main' > \ /etc/apt/sources.list.d/machinekit.list"
Đúng thì nó phải như vầy copy 3 dòng sau và paste vào cùng 1 dòng lệnh mới chạy được. do thư mục đó là thư mục hệ thống phải cần root mới chạy được sudo là lệnh chuyển qua root.
sudo sh -c \
"echo 'deb http://deb.machinekit.io/debian raspbian main' > \
/etc/apt/sources.list.d/machinekit.list"

nếu vẫn lỗi thì chạy lệnh như dòng sau .
sudo sh -c "echo 'deb http://deb.machinekit.io/debian raspbian main' > /etc/apt/sources.list.d/machinekit.list"

bác lấy thẻ nhớ ra vào windows mở file config.txt đến cuối file có 2 dòng như sau

kernel=kernel_rt-4.4.4-rt9-v7+.img
device_tree=dtbs_rt/bcm2710-rpi-3-b.dtb
xóa 2 dòng này đi rồi lưu lại, bỏ thẻ nhớ vào RPI rối khởi động lại.
khởi động xong rối thì làm lại từ bước bị lỗi tới hết.

khi dòng đó bị lỗi thì bác chưa cài được gì đâu.

nhatson
01-06-2017, 10:10:10 AM
để em thử lại

nhatson
01-06-2017, 10:20:12 AM
Bác sai ở đoạn này "echo 'deb http://deb.machinekit.io/debian raspbian main' > \ /etc/apt/sources.list.d/machinekit.list"
Đúng thì nó phải như vầy copy 3 dòng sau và paste vào cùng 1 dòng lệnh mới chạy được. do thư mục đó là thư mục hệ thống phải cần root mới chạy được sudo là lệnh chuyển qua root.
sudo sh -c \
"echo 'deb http://deb.machinekit.io/debian raspbian main' > \
/etc/apt/sources.list.d/machinekit.list"

nếu vẫn lỗi thì chạy lệnh như dòng sau .
sudo sh -c "echo 'deb http://deb.machinekit.io/debian raspbian main' > /etc/apt/sources.list.d/machinekit.list"

bác lấy thẻ nhớ ra vào windows mở file config.txt đến cuối file có 2 dòng như sau

kernel=kernel_rt-4.4.4-rt9-v7+.img
device_tree=dtbs_rt/bcm2710-rpi-3-b.dtb
xóa 2 dòng này đi rồi lưu lại, bỏ thẻ nhớ vào RPI rối khởi động lại.
khởi động xong rối thì làm lại từ bước bị lỗi tới hết.

khi dòng đó bị lỗi thì bác chưa cài được gì đâu.

em đã làm thành 1 dòng và vận bị lỗi no such file...

katum573
01-06-2017, 10:57:02 AM
em đã làm thành 1 dòng và vận bị lỗi no such file...

Bác chạy 1 dòng lệnh là như vậy nhé.
sudo sh -c "echo 'deb http://deb.machinekit.io/debian raspbian main' > /etc/apt/sources.list.d/machinekit.list"

Bác copy dòng trên rồi mở console lên ngay tại con trỏ nhấp nháy click phải chuột và paste vào.

nếu vẫn không được bác chạy lệnh bên dưới rồi cho mình 1 tấm hình xem nó hiện ra cái gì rồi tính tiếp

ls /etc/apt

có gì bác add zalo mình cho nhanh. số đt : o913164755

nhatson
01-06-2017, 02:11:23 PM
tối em mới thử được, thử xong em báo cáo ah

nhatson
02-06-2017, 07:24:00 PM
với sự hd của cụ katum em đả cài được machinkit lên RPI3
em soạn lại phần hd của cụ katum, mai em xé nháp thử lại xem phần dưới còn sai chổ nào ko
thanks cụ katum đã nhiệt tình hướng dẫn



Config server chứa các gói của Machinekit cho apt. (màu xanh là dòng lệnh các bác có thể copy paste trực tiếp vào cửa sổ console)

mở console ta nhập vào :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 43DDF224

sudo sh -c "echo 'deb http://deb.machinekit.io/debian raspbian main' > /etc/apt/sources.list.d/machinekit.list"

sudo apt-get update

Cài realtime kernel cho RPI3 (RT-PREEMPT realtime kernel).

sudo apt-get update

update bootloader cho RPI

sudo apt-get install -y raspberrypi-bootloader

install kernel.

sudo -s apt-get install linux-image-rpi2-rt

cd /boot

echo kernel=$(ls kernel_rt*.img) >> config.txt

RPI3
echo device_tree=dtbs_rt/bcm2710-rpi-3-b.dtb >> config.txt

echo dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0 dwc_otg.nak_holdoff=0 >> cmdline.txt

Thoát ra khỏi root
exit

install machinekit vì ta dùng kernel rt-preempt nên cài gói này machinekit-rt-preempt.

sudo apt-get install machinekit-rt-preempt machinekit-dev

install manual.

sudo apt-get install machinekit-manual-pages

khởi động lại hệ thống để chạy trên kernel rt.


http://i1232.photobucket.com/albums/ff370/nhatsonelec/DSC_4674.jpg

anhcos
02-06-2017, 07:46:50 PM
Sao phải vất vả như thế này nhatson, k lẽ có ý đồ riêng gì đó.

nhatson
02-06-2017, 07:52:31 PM
Sao phải vất vả như thế này nhatson, k lẽ có ý đồ riêng gì đó.

mới mua cái màn hình 450k đóa haha
muốn đổi mach3 qua linuxcnc thôi ah

CBNN
20-08-2017, 08:22:36 PM
BÁC katum573 nghịch beaglebone black ko ? em tặng bác một bộ để nghịch , bác hướng dẫn em cài nó chạy linuxcnc nhé !

katum573
21-08-2017, 11:17:44 AM
BÁC katum573 nghịch beaglebone black ko ? em tặng bác một bộ để nghịch , bác hướng dẫn em cài nó chạy linuxcnc nhé !
Thank Bác, Nhà bác ở đâu để em qua lấy về test thử rồi hướng dẫn cho bác.

CBNN
21-08-2017, 04:29:37 PM
Thank Bác, Nhà bác ở đâu để em qua lấy về test thử rồi hướng dẫn cho bác.

em ở Tân Phú , HCM , bác nhắn cho em số dt em liên lạc với bác !

katum573
21-08-2017, 04:38:48 PM
:D Mình cũng ở tân Phú đường Vườn Lài, Số ĐT mình O913164755

nhatson
21-08-2017, 04:43:50 PM
@katum , spi driver tới dâu roài ah

katum573
22-08-2017, 11:45:25 AM
Kết nối được rồi xung ra đẹp hơn GPIO nhiều spi chạy được 32M, giờ đang tập trung dựng máy để test nó.

dangduc
26-08-2017, 07:40:04 PM
Tuyệt quá, hy vọng bác sớm thử nghiệm trên Main Beagebone Black vì em thấy ở nước ngoài họ cũng dùng main này nhiều và rất hiệu quả, điển hình con máy phay của hãng PocketCNC.

katum573
10-09-2017, 10:01:18 AM
BÁC katum573 nghịch beaglebone black ko ? em tặng bác một bộ để nghịch , bác hướng dẫn em cài nó chạy linuxcnc nhé !

BeagleBone đã chạy được rồi nhé config khó hơn RP2 nhưng xung đầu ra lại ngon hơn RP2 rất nhiều. nhớ để ý cái pos with trên oscillo độ rộng xung ra thay đổi rất ít.

https://youtu.be/2CdYIe9ChAY

Bongmayquathem
10-09-2017, 01:42:35 PM
Hóng bài hướng dẫn cài đặt. Hehe

katum573
10-09-2017, 02:48:08 PM
Test tiếp tập 2 xung ra max là 1250 xung tần số cao nhất chỉ được 50khz nhưng chất lượng xung không thay đổi.


https://youtu.be/105Y-Tjmubw

CBNN
13-09-2017, 08:29:39 AM
Ngon , nhưng 50khz hơi thiếu a ơi , sửa lên khoảng 100khz oke hơn .

katum573
13-09-2017, 11:04:50 AM
Cũng lên được 200khz nhưng không biết chạy có ổn không. vì max của nó là 200khz. video quay hơi rung với oscillo lởm các bác chịu khó xem 1 tí nhé.

https://youtu.be/Hma2Vcx0guc

katum573
13-09-2017, 08:51:16 PM
BeagleBone Test với servo OMROM 100w 3000 r/min. visme bước 10 chiều dài cây thước gắn trên là 600mm bằng với hành đang chạy.

https://youtu.be/2TdGUm9_520

Chạy với file Gcode

https://youtu.be/a_G0GzJSRp0

CBNN
13-09-2017, 09:04:50 PM
Em có cảm giác chậm , thông số config ntn vậy a ?

katum573
13-09-2017, 09:14:02 PM
Em có cảm giác chậm , thông số config ntn vậy a ?

V=10000mm/s nhưng tăng lên tới 40000 tốc độ cũng không thay đổi gì lúc đó quên gắn oscillo để xem tần số xung như thế nào, gia tốc = 26000mm/s2 đển lên 30000 servo báo lỗi.

Em xem lại hình như chạy max tốc độ của servo rồi đó. con này chạy 3000 vòng thì 1s chạy khoảng 50 vòng thì đi được khoảng 500mm hành trình 600 so với cây thước anh dán trên combo đó thì hơn 2s con trượt đi được 1 vòng em so với đồng hồ phát của youtube sẽ thấy.

CBNN
14-09-2017, 07:26:50 AM
Oke a , vậy thì đúng rùi . Linuxcnc cho set gia tốc lớn ghê!

katum573
14-09-2017, 09:06:22 AM
Oke a , vậy thì đúng rùi . Linuxcnc cho set gia tốc lớn ghê!

Vậy thì xong servo rồi nhé, chuyển G2 làm nhé.

MinhPT
14-09-2017, 10:26:49 AM
BeagleBone Test với servo OMROM 100w 3000 r/min. visme bước 10 chiều dài cây thước gắn trên là 600mm bằng với hành đang chạy.

https://youtu.be/2TdGUm9_520

Chạy với file Gcode

https://youtu.be/a_G0GzJSRp0

Bác làm bài hướng dẫn đi, mình làm theo con mini

katum573
09-06-2018, 11:17:42 AM
Mới làm xong Driver HAL SPI cho con Tinker Board kết nối với FPGA Mesa 7i90HD.


https://youtu.be/KOBdIkDwFZE

nhatson
09-06-2018, 12:17:05 PM
Mới làm xong Driver HAL SPI cho con Tinker Board kết nối với FPGA Mesa 7i90HD.


https://youtu.be/KOBdIkDwFZE

spi 10mhz luôn raoì ơ?

Fusionvie
09-06-2018, 01:00:44 PM
Hay quá, em cũng đang có 1 con Pi2 và Pi3, hóng các cao nhân để học hỏi.

katum573
09-06-2018, 01:19:51 PM
spi 10mhz luôn raoì ơ?

Đang chạy 24mhz, có thể lên được 48mhz nhưng không ổn do thằng fpga là 50mhz rồi.


Hay quá, em cũng đang có 1 con Pi2 và Pi3, hóng các cao nhân để học hỏi.

Pi2 và Pi3 có hướng dẫn ở trên đấy bác.

nhatson
09-06-2018, 01:37:40 PM
Đang chạy 24mhz, có thể lên được 48mhz nhưng không ổn do thằng fpga là 50mhz rồi.



Pi2 và Pi3 có hướng dẫn ở trên đấy bác.

clock 50mhz, nhưng trong fpga có pll nhân 4 lên 200mhz

mà tầm đó thì em nghĩ cần dùng tín hiệu vi sai rồi

katum573
09-06-2018, 02:21:49 PM
clock 50mhz, nhưng trong fpga có pll nhân 4 lên 200mhz

mà tầm đó thì em nghĩ cần dùng tín hiệu vi sai rồi

mà con chip của TinkerBoard chạy SPI max cũng chỉ 50mhz thôi.

katum573
21-06-2018, 09:19:51 PM
Mới mod xong board FPGA Spartan 6 ra chân chạy firmware SPI 7I90.


https://youtu.be/stewfWztWhY

nhatson
22-06-2018, 11:05:59 AM
Mới mod xong board FPGA Spartan 6 ra chân chạy firmware SPI 7I90.


https://youtu.be/stewfWztWhY

latency con Tinker này tốt ko anh ?

katum573
22-06-2018, 11:37:07 AM
latency con Tinker này tốt ko anh ?

Không nhớ hình như trong khoảng 40000ns đến 60000ns nhưng chạy SPI thì không cần lắm. con này chỉ load file GCODE từ 15M trở xuống thì ngon trên nữa thì chạy lag lắm, vì file trên 15M nó load gần hết 2G RAM của máy rồi.

Đang tính thử con ROCK64 cùng chip RK3288 nhưng 64BIT RAM thì 4G với lại giá cũng rẻ hơn.