1. Chú ý: Các bạn nên tham khảo Nội quy trước khi viết bài (click vào liên kết bên dưới).
    * Nội quy và Thông báo diễn đàn CNCProVN.com
    * Nếu bạn thấy hứng thú với bài viết. Hãy dùng chức năng Share to facebook để chia sẻ bài viết lên facebook.

          
Trang 1 của 4 123 ... CuốiCuối
Kết quả 1 đến 20 của 70

Chủ đề: Test Raspberry PI 2 Chạy Linuxcnc (Machinekit).

  1. #1
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết

    Test Raspberry PI 2 Chạy Linuxcnc (Machinekit).

    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/gettin...ling-packages/

    Driver Step : RKD514L-A
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Driver.jpg 
Views:	1 
Size:	373.6 KB 
ID:	38614

    Step 5 phase Quinstep.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Step_motor.jpg 
Views:	0 
Size:	352.0 KB 
ID:	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.

    Lần sửa cuối bởi katum573, ngày 22-05-2017 lúc 10:29:19 PM.

  2. Có 14 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  3. #2
    Thợ cả Bongmayquathem's Avatar
    Ngày tham gia
    Jan 2016
    Đang ở
    Buôn Ma Thuột City
    Bài viết
    1,504
    Cám ơn
    622
    Được cám ơn 302 lần
           ở 205 bài viết
    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.

  4. #3
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    Trích dẫn Gửi bởi katum573 Xem bài viết
    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/gettin...ling-packages/

    Driver Step : RKD514L-A
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Driver.jpg 
Views:	1 
Size:	373.6 KB 
ID:	38614

    Step 5 phase Quinstep.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Step_motor.jpg 
Views:	0 
Size:	352.0 KB 
ID:	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.

    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

  5. #4
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    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

    Trích dẫn Gửi bởi Bongmayquathem Xem bài viết
    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.

  6. Thành viên đã cám ơn katum573 cho bài viết hữu ích này:

    CKD

  7. #5
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    Trích dẫn Gửi bởi katum573 Xem bài viết
    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
    Lần sửa cuối bởi nhatson, ngày 23-05-2017 lúc 10:14:03 PM.

  8. #6
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    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
    Lần sửa cuối bởi katum573, ngày 24-05-2017 lúc 09:44:51 AM.

  9. Có 5 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  10. #7
    Thợ bậc 6 CKD's Avatar
    Ngày tham gia
    Nov 2013
    Bài viết
    6,680
    Cám ơn
    1,733
    Được cám ơn 5,321 lần
           ở 2,595 bài viết
    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
    DT: O7837277II - CKD's Youtube Channel - Facebook - Tổng hợp chủ đề
    17 ds 3, Thạnh Mỹ Lợi, Q2, tp.HCM

  11. #8
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    Trích dẫn Gửi bởi CKD Xem bài viết
    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.

  12. Có 6 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  13. #9
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    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.

  14. Thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  15. #10
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    Trích dẫn Gửi bởi katum573 Xem bài viết
    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.
    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
    Lần sửa cuối bởi nhatson, ngày 25-05-2017 lúc 07:23:09 PM.

  16. Có 3 thành viên đã cám ơn nhatson cho bài viết hữu ích này:


  17. #11
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    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/document...ages/README.md
    Cài Machinekit thì theo link sau :
    http://www.machinekit.io/docs/gettin...ling-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.

    Click vào ảnh để xem ảnh lớn hơn. 

Name:	2017-05-22-211054_1280x1024_scrot.png 
Views:	0 
Size:	979.7 KB 
ID:	39016
    nhấn start ra bảng sau.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	2017-05-22-211100_1280x1024_scrot.png 
Views:	0 
Size:	990.6 KB 
ID:	39017
    mấy dòng trên chác các bác cũng hiểu rồi. nhấn tiếp forward
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	2017-05-22-211138_1280x1024_scrot.png 
Views:	1 
Size:	1,009.2 KB 
ID:	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
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Screenshot at 2017-05-27 06-47-19.png 
Views:	0 
Size:	45.9 KB 
ID:	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.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Screenshot at 2017-05-27 06-07-10.png 
Views:	0 
Size:	51.2 KB 
ID:	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.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Parallet port.png 
Views:	286 
Size:	64.2 KB 
ID:	39021
    Cài đặt cổng LPT ta cứ để như vậy sẽ sửa lại trong file config sau nhấn forward.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	X_Axis.png 
Views:	285 
Size:	68.1 KB 
ID:	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.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Spindle.png 
Views:	282 
Size:	39.7 KB 
ID:	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.
    Ảnh thu nhỏ đính kèm Ảnh thu nhỏ đính kèm 2017-05-22-211054_1280x1024_scrot.png‎  

    Lần sửa cuối bởi katum573, ngày 31-05-2017 lúc 11:14:06 PM.

  18. Có 13 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  19. #12
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    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
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	2017-05-28-123900_1824x984_scrot.png 
Views:	1 
Size:	47.7 KB 
ID:	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,
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	2017-05-28-172717_1824x984_scrot.png 
Views:	3 
Size:	150.5 KB 
ID:	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 };

    Click vào ảnh để xem ảnh lớn hơn. 

Name:	a0034780_22531966.png 
Views:	3 
Size:	354.2 KB 
ID:	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.
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	20170528_181057.jpg 
Views:	0 
Size:	546.4 KB 
ID:	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
    Click vào ảnh để xem ảnh lớn hơn. 

Name:	Screenshot at 2017-05-28 18-29-05.png 
Views:	1 
Size:	122.1 KB 
ID:	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/0B4E...ew?usp=sharing

  20. Có 11 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  21. #13
    Thợ cả Bongmayquathem's Avatar
    Ngày tham gia
    Jan 2016
    Đang ở
    Buôn Ma Thuột City
    Bài viết
    1,504
    Cám ơn
    622
    Được cám ơn 302 lần
           ở 205 bài viết
    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 ạ

  22. #14
    Thợ cả
    Ngày tham gia
    Jul 2014
    Bài viết
    3,392
    Cám ơn
    1,576
    Được cám ơn 1,032 lần
           ở 799 bài viết
    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

  23. #15
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    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ự




    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

  24. #16
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    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ự




    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
    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.
    Lần sửa cuối bởi katum573, ngày 31-05-2017 lúc 11:15:59 PM.

  25. Có 2 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  26. #17
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    để em thử lại
    Lần sửa cuối bởi nhatson, ngày 01-06-2017 lúc 10:10:40 AM. Lý do: sai

  27. #18
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    Trích dẫn Gửi bởi katum573 Xem bài viết
    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...

  28. #19
    Thợ bậc 4 katum573's Avatar
    Ngày tham gia
    Jun 2016
    Đang ở
    TP. Hồ Chí Minh
    Bài viết
    126
    Cám ơn
    10
    Được cám ơn 126 lần
           ở 45 bài viết
    Trích dẫn Gửi bởi nhatson Xem bài viết
    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
    Lần sửa cuối bởi katum573, ngày 01-06-2017 lúc 10:58:00 AM.

  29. Có 2 thành viên đã cám ơn katum573 cho bài viết hữu ích này:


  30. #20
    Thợ cả
    Ngày tham gia
    Nov 2013
    Bài viết
    5,915
    Cám ơn
    2,195
    Được cám ơn 3,263 lần
           ở 2,038 bài viết
    tối em mới thử được, thử xong em báo cáo ah

Trang 1 của 4 123 ... CuốiCuối

Các Chủ đề tương tự

  1. linuxcnc và máy tính nhúng
    Bởi nhatson trong diễn đàn Phần mềm CNC control
    Trả lời: 45
    Bài viết cuối: 28-12-2016, 10:54:34 PM
  2. Raspberry Pi 3 Model B 1GB RAM
    Bởi nhibk trong diễn đàn Cần bán
    Trả lời: 2
    Bài viết cuối: 07-09-2016, 08:36:20 PM
  3. BOB cho linuxcnc
    Bởi sieunhim trong diễn đàn Break Out Board, Controller
    Trả lời: 2
    Bài viết cuối: 01-02-2016, 01:13:42 PM
  4. lỗi bị vết trục z khi stop rồi chạy tiếp , nếu chạy một mạch thì k sao
    Bởi biết tuốt trong diễn đàn Trao đổi kinh nghiệm
    Trả lời: 11
    Bài viết cuối: 18-05-2014, 07:05:14 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •