요즘 납땜질을 하는데 노안이 와서 그런지, 자꾸 눈에 촛점이 안맞고 오랜 시간 보기가 힘들었습니다. 사용하는 소자들의 피치가 작은 이유도 있긴 하지만… 알리익스프레스에서 쇼핑 도중 확대경을 판매하고 있길래, 테스트용으로 나름 저렴한 녀석을 주문했고, 어제 받을 수 있었습니다. 배송은 대충 주문 후 일주일 정도??
조그마한 주행 로봇을 만들고 있는 중인데, 설계를 그럭저럭 진행하다가 막힌 부분이 바퀴였습니다. 지름이 약 30mm 정도인 바퀴인데, 검색을 해봐도 현재 로봇 구조를 반영하고, 이쁜 바퀴를 찾기가 어려웠습니다. 하나 찾은게, 레고 테크닉 부품 중 하나인데 부품번호는 2815입니다.
풀리와 같이 생긴 제품으로 여기에 위 타이어를 끼워서 바퀴처럼 사용하는 겁니다. 하지만 두께가 3mm인점, 또 위와 같은 풀리 구조를 프린팅하기에는 살짝 어렵다는 점이 좀…
바퀴를 이런식으로 만들어야 했기에 저 홈을 만들고 프린팅하면 무너지기 일보 직전이었습니다. 약 1mm 정도의 살 밖엔 없는지라.
–
다른 타이어 대안을 찾아보다가, 실리콘 워셔라는 것을 발견합니다. 원래는 수도관 같은 부분이 패킹 용도로 사용하는 건데, 마침 모양이 딱 바퀴의 타이어와 같고, 외경 크기도 30mm이고 내경도 23.5로 적당하고, 두께는 4mm로 3mm보다 무려 1mm가 두껍습니다. ^^ 경도도 50도 정도라서 바닥과의 마찰력이 아주 찰떡궁합이었습니다.
주문을 하고 3D 프린터로 휠을 뽑고 붙이려는 순간…. 실리콘이 안 붙습니다!!! 양면테잎도 안붙고… 만능접착제라는 E6000도 안붙고요… (이건 약간 끈적끈적한 재질의 접착제)… 바퀴 특성상 딴딴하게 붙어야 하는데….
검색해본 결과 실리콘의 경우 접착체가 스며들수 있는 표면 공간이 맞혀 있는 이유로 왠만한 접착체는 사용이 불가능하고, 프라이머를 먼저 도포해서 실리콘 재질을 살짝 변형시키고, 그런 다음 실리콘 전용 접착체를 사용하면 된다고 합니다. 추천제품은 엑시아 2700을 얘기합니다.
보시는 바와 같이 전용 프라이머와 접착제가 세트로 판매됩니다. 2702가 프라이머, 2701이 접착제입니다.
먼저 실리콘 표면 (접착할 부분)을 2702를 발라주고 (손 닿으면 안되고, 면봉으로 작업하는 것을 추천), 그런 다음 휠과 타이어를 결합한 다음에, 2701을 틈새에 살짝살짝 스며들게 해주면 됩니다.
–
결과는!!!!
대성공입니다. 무쟈게 잘 붙네요.
문제는 저 2701 접착제 자체가 엄청나게 강력해서, 손에도 잘 붙습니다. 이 부분만 주의하면 될 것 같습니다. 접착제를 도포하고, 나머지는 물티슈나 휴지로 슥슥 닦아주면 됩니다. 신기하게 휴지는 접합이 안되더라고요..^^
요즘 로봇팔에 부착 가능한 그리퍼(?)를 개발 중인데, 각종 팁을 쉽게 교체 가능하도록 만들어야해서 이것저것 찾아본 결과, 기존에 사용되는 여러가지 퀵 릴리즈 소켓 규격들이 많아서 정리해놓을 필요가 있어 정리. 검색할 때, 올바른 용어만 잘 알면 절반은 해결되는 듯..^^
SDS 비트
Slotted Drive System (or German “Steck-Dreh-Sitz”: Insert-Twist-Stay), 이름에서 나와 있듯이, 꼽고 회전해도 안정적으로 고정되어 있도록 만든 규격. 주로 힘을 많이 받는 드릴류에 사용됨.
규격으로는 SDS Plus, SDS Max가 있고, 두 개의 차이는 드릴비트의 외경이 각각 10mm, 18mm로 되어 있음. 물론 Max의 경우 좀더 힘을 받을 수 있도록 고정 슬록의 길이가 김.
이번 스타트업으로 이직하면서 업무용 노트북을 고르라고 하길래, 이것저것 사양을 검토해 보고 고른 노트북입니다. 기존엔 회사에서 정책적으로 정한 가격 이내에서 구입을 하던가, 아니면 그냥 개인적으로 구매해서 사용하곤 했었는데, 이럴 경우엔 저가형 or 완전 비싼 녀석으로 양분되어버리곤 했습니다. 사실 ASUS 노트북 자체에 대한 신뢰도는 개인적으로는 별로였는데, 얼마전 일렉트로마트에서 ASUS 제피로스 노트북을 만져본 경험으로는 꽤나 괜찮다는 느낌을 받았습니다.
최종 선택한 모델은 ASUS ProArt P16 H7606WM-ME027W 입니다. 16인치이고, 해상도는 2880×1800, CPU는 뭐 딱히 중요하진 않지만 AMD Ryzen™ AI 9 HX 370입니다. Radeon™ 890M 그래픽카드와 NVIDIA 5060 그래픽카드가 내장되어 있습니다.
몸체는 모두 알루미늄 금속으로 되어 있어 쿨링에 유리하고, 키보드 키감도 살짝 깊에 눌리는 면도 있긴하지만 꽤나 괜찮습니다. 우려했던 키패드 역시 손목이 놓이는 공간이 겹쳐 있긴해도 타이핑에는 전혀 문제가 되지 않습니다. 성능을 요구하는 프로그램 사용시 쿨러 소리도 그렇게 크게 들리진 않네요.
충전포트가 따로 분리되어 있는 것도 개인적으론 좋아보입니다. 타입C로 되어 있을 경우, 보안을 요구하는 회사 출입시에 살짝 곤란했던 경험이 있어서.. 또 양쪽에 USB 타입A, 타입C 포트가 적절히 분배되어 있고, 또 HDMI 포트가 별도로 존재합니다. 무게도 2.1kg으로 무겁게 느껴지진 않습니다. NVME SSD도 내부에 2개를 장착할 수 있어, 제 경우엔 하나는 윈도우, 하나는 Ubuntu를 설치하여 사용 중입니다.
개인적으로 느낀 단점으론 Windows 11 Home이 기본 설치되어 있다는 점 (WSL2를 사용하지 못함, Pro로 업그레이드 시 추가 비용 발생), 충전기가 살짝 벽돌스럽다는 점.. 정도이고, 그렇게 큰 문제는 없는듯 합니다.
Ubuntu 24.04를 설치하여 사용중인데, 대부분은 잘 동작하지만 몇가지는 문제점이 있는데, 이 부분은 차후 버전이 올라가면 해결될 것으로 보입니다.
키패드 라이딩 밝기 조정 불가
부팅시 화면 밝기 항상 최소화
AMD 그래픽카드가 항상 우선권, NVIDIA의 nvidia-prime이 기본 Ubuntu Driver만 지원함.
기존 포스팅에서 armbian build를 이용해서 쉽게 6.12 커널을 사용 (이미 preempt_rt 패치가 적용되어 있음) 해서 이미지를 만들고 사용까지 했었습니다. 하지만, armbian의 6.12 커널의 경우, Orange Pi 5 Plus에서 가지고 있는 다양한 주변회로 (i2c, can, spi 등)을 사용하기 위한 dtb가 존재하지 않습니다. 따라서 일반적인 사용은 가능하되, 최적화되어 있다고는 보기 어렵습니다. armbian build에서는 이 경우를 대비해 커널의 BRANCH를 선택할 수 있도록 해놨는데, vendor에서 제공한 커널을 사용하려면 BRANCH 옵션에 vendor를 적어주면 됩니다. Orangi Pi 5 Plus의 vendor 커널은 6.1 버전으로 preempt_rt 커널을 사용하기 위해선 수동을 rt 패치를 진행해줘야 합니다.
이를 위해서 userpatches/kernel/rk35xx-vendor-6.1 디렉토리에 아래와 같이 패치 파일을 복사해 줍니다. 이 패치 파일은 kernel-config 명령을 이용해서 기존 https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/6.1 에서 받아온 rt 패치 파일을 적용한 것으로, vendor 커널에 맞게끔 몇가지를 수정하였습니다. 기존 커널에서 몇가지 수정한게 있어서 rt 패치를 그냥 적용하면 에러가 발생합니다.
General setup --->
Preemption Model (Fully Preemptible Kernel (Real-Time)) --->
(X) Fully Preemptible Kernel (Real-Time)
-*- Control Group support --->
-*- CPU controller --->
[ ] Group scheduling for SCHED_RR/FIFO
Kernel Features --->
Timer frequency (1000 HZ) --->
(X) 1000 HZ
CPU Power Management --->
CPU Frequency scaling --->
Default CPUFreq governor (performance) --->
(X) performance
Orange Pi 5를 로봇의 메인 제어기로 사용할 경우, preempt_rt 패치가 필요한 상황이 있습니다. 이를 위해서 제일 편리한 방법은 Armbian build 프레임웍을 사용하는 것입니다. Armbian은 싱글보드 컴퓨터의 시스템 이미지를 생성하기 위한 소프트웨어 프레임웍으로, 아주 간단하게 이미지를 생성하여, SD카드 등에 쉽게 적용이 가능합니다.
BRANCH: 커널 및 U-Boot의 사용 버전을 결정합니다. current를 추천. (vendor, legacy, edge 옵션 선택 가능)
RELEASE: Ubuntu 버전 선택 가능 noble = 24.04
BUILD_DESKTOP: gnome 등 GUI Desktop 엔진 선택 가능. no = CLI (Server)
BUILD_MINIMAL: 아주 최소한의 CLI 환경만 구성. no
VENDOR: 생성되는 이미지의 이름 구성
REVISION: Armbian 리비전 버전 사용
CPUTHREADS: 커널 빌드시 사용되는 CPU 코어 수 (사용자 환경에 따라 변경
이렇게 하면, 해당되는 커널 및 필요한 패키지들을 다운로드 하고, 다음과 같이 선택화면이 나옵니다.
커널 설정을 변경하려면 (Show a kernel configuration menu before compliation)을 선택
기존 preempt_rt 설정할 때와 마찬가지로 옵션을 조정해줍니다.
General setup --->
Preemption Model (Fully Preemptible Kernel (Real-Time)) --->
(X) Fully Preemptible Kernel (Real-Time)
Kernel Features --->
Timer frequency (1000 HZ) --->
(X) 1000 HZ
CPU Power Management --->
CPU Frequency scaling --->
Default CPUFreq governor (performance) --->
(X) performance
저장하고 종료하면, 커널빌드부터 이미지 생성까지 한번에 수행합니다.
최종 빌드가 완료되면, output/images 디렉토리 아래에 armbian-kft_25.8.2_Orangepi5-plus_noble_current_6.12.58.img 와 같이 이미지 파일이 생성됩니다. 이제 이 이미지 파일을 SD Card에 Write하고 부팅하면 됩니다.
ROS2의 ros2_control에서 control_manager를 사용할 경우, preempt_rt 커널 (soft realtime)을 사용할 것을 권장하고 있다. 커널 빌드는 매번 하고 있긴 한데, 일단은 방법을 정리해두면 나중에도 찾기 쉬울듯 하여 정리함. 커널 버전은 그냥 rt 패치가 존재하는 가장 최신 버전을 사용하면 될듯.
$ tar zxf linux-6.16.1.tar.gz
$ xz -d patch-6.16-rt3.patch.xz
$ cd linux-6.16.1
$ patch -p1 < ../patch-6.16-rt3.patch
기존 config 파일 가져오기
$ cp /boot/config-`uname -r` .config
커널 설정하기
$ make menuconfig
커널 설정
General setup --->
Preemption Model (Scheduler controlled preemption model) --->
(X) Scheduler controlled preemption model
[*] Fully Preemptible Kernel (Real-Time)
Timers subsystem --->
Timer tick handling (Full dynticks system (tickless)) --->
(X) Full dynticks system (tickless)
[*] High Resolution Timer Support
Processor type and features --->
Timer frequency (1000 HZ) --->
(X) 1000 HZ
Power management and ACPI options --->
CPU Frequency scaling --->
Default CPUFreq governor (performance) --->
(X) performance
간단한 로봇이나 구조물을 출력한 이후 볼트 등을 이용해서 조립할 경우, 나사산을 만들어야 할 경우가 발생합니다. 몇가지 방법이 사용되고 있고, 각각의 장단점이 있습니다.
나사산 출력
프린팅을 할때, 구멍에 나사산을 출력하는 방법입니다. 이 방법은 피치가 큰 나사들은 쉽게 프린팅이 가능하고, 나사산이 잘 살아있습니다. 하지만 피치가 작은 나사들은 프린팅 자체가 잘 되지 않으므로 사용이 불가능합니다. (SLA 프린터의 경우엔 가능할 수 도 있습니다.)
2. 탭퍼 사용
구멍을 출력하고, 해당 구멍에 탭퍼를 이용하여 나사산을 만드는 방법입니다. 전동공구 or 핸드탭퍼를 이용해서 나사산을 만들어줄 수 있습니다. 전동 공구 사용의 경우엔 마찰에 의해서, 츨력물이 탭에 엉겨 붙는 경우가 발생합니다만, 주의를 하면 쉽게 나사산을 만들 수 있습니다. 꽤나 안정적인 나사 조립은 가능하지만, 여러번 사용하면 나사산이 망가질 염려가 있습니다.
2. 헬리코일
원래의 구멍보다 크기 뚫고, 헬리코일을 삽입하는 방법입니다. 드릴 작업이 필요하고, 헬리코일이 삽입될 수 있는 나사산을 만들어야 한다는 점에선, 위 나사산을 출력하거나 탭을 이용해서 나사산을 만들어줘야 합니다. 전동 공구 사용도 가능하고, 잘 삽입된 헬리코일의 경우, 기계적인 안정성도 좋습니다.
3. Threaded Insert
흔히 볼 수 있는 인서트입니다. 주로 열 or 초음파을 이용해서 프린팅 출력물을 살짝 녹여서 고정하는 방법입니다. 구멍 주위에 구조가 튼튼한 경우엔 큰 무리없이 삽입이 가능합니다만, 얅은 봉 형태나 얇은 판재의 경우, 인서트 삽입 시 출력물이 변형되는 문제가 발생합니다. 인두기 등으로 누르게 되는데, 이때 누르는 압력과 열에 의해서 출력물 자체가 휘거나 더 녹게 됩니다. 한번 삽입되면 수정은 불가능하고, 열에 의해 출력물에 고정되므로, 상당히 튼튼합니다.
4. Self Tapping Insert
나사를 삽입하거나, 특수 공구등을 이용해서 강제로 나사산을 만들어 삽입하는 방법입니다. 열에 의한 변형은 없고, 또 나사 크기별로 필요한 구멍만 만들어 삽입하는 방법입니다. 전동 공구등을 이용해서 쉽게 삽입이 가능합니다. 단, 구조뮬이 약한 경우엔 터질 가능성은 있습니다. 삽입된 이후에 여러번 나사를 풀고 조이게 되면, 해당 인서트가 분리될 수 도 있습니다.
기존 사용하던 Prusa Mk3가 아주~~~ 오랜만에 전원을 켜보니, 온도센서 에러가 발생하였습니다. 센서가 불량이거나, 센서에 연결된 선이 단선일 가능성이 있습니다만, 워낙에 오래된 녀석이고 상당기간 관리없이 방치된 상태라서 과감히 소생을 포기하고….
안녕~ 푸루사야~~ 그동안 고생 많았다….
새로 구입했습니다.!!
회사에서 이미 Bambu Lab X1C를 사용하고 있었는데, 만족감이 상당하였기에 제조사 선정은 큰 고민이 없었는데… X1C와 P1S간에 살짝 고민이 들다가 굳이 개인이 사용할 목적에 X1C는 좀 오버인듯하여, P1S Combo로 결정하였습니다.
예전 Prusa Mk3를 구매했을 때, 자가 조립하는 방법으로 했을때 구매 가격이 100만원 초반이었던 것으로 기억을 하는데, Bambu Lab 기기 가격이 AMS 포함해서 120만원인건… 흠… 좋네요… 마침 Bambu Lab Korea가 생기고, 국내에서 발송하는지라 도착은 주문 후 한 2일 걸렸던듯 하고…
주로 사용하는 필라멘트가 PLA-CF인지라 추가로 경화강 핫엔드를 구매해서 교체하였습니다. 카본이 포함된 녀석이라서, 애초에 핫엔드를 바꾸지 않으면 아예 프린트도 불가능합니다.
처음 프린트 시 베드 레벨링을 안한 채로 (급한 마음에) 프린트를 시도했다가 베드 시트에 살짝 스크레치를 낸 것 외엔… 사용감은 아주 만족스럽니다. 최신 펌웨어 업데이트 하고, 진동 감쇄 기능을 위해 튜닝을 하니, 방문을 잠가놓으면 아예 소리도 들리지 않습니다. 굳!!