728x90
반응형
SMALL

STM32 9

[MCU_F/W설계] SUB 로봇암 제작_STM32

안녕하세요~~ 오늘은 KG_KAIROS 통합프로젝트에서 진행하는 사항들 중제가 맡은 부분에 대해 포스팅하려 합니다. 팀 내에서 저의 역할은팀장 + 장치 간 통신 + 회로 설계 + 리프트 제어 + SubRobotArm S/W설계   오늘 저의 역할은 SubRobotArm에서 F/W설계를 했습니다.업무: mg996r 서보 모터 6개를 이용한 6축 로봇암 만들기1단계 : 회로설계 (완)     - VCC, GND, pin으로 되어있으니까 어렵진 않아요2단계 : CUBE IDE Setup     - 제어용 통신 전공에서 3학년 2학기에 했었어서 할만했어요     - clock설정이랑 hz 세팅은 조금 어려웠는데.. 하다 보니...3단계 : ISR이랑 메인문 작성 정도?     - 이것도 기억 더듬어가면 할만했습..

⚠️sub RobotArm_CUBEIDE 셋업 과정 (끄적끄적)

TIM4 채널 1234TIM3 채널 34 여기서 그동안 삽질한게 요고였음.HSE로 하고 막 이랬는데 까불지마셈./.  여기도 건든건 없음 건든건 오직!!!TIMER뿐TIM3에서 Clock은 Internal Clock channel은 5,6번 서보모터만 추가로 넣은거라 CH3,4 PWM으로 Generation갈겨주기 자 그리고파라미터 셋팅 Prescaler 84에 priod는 2000그리고 여기서!!! 계속 실수한거!!~스크롤 내리면 이게 있음. 이거 Pulse100으로 맞추기Timer 4 도 다 똑같음마저 다 체크해주기 자 그러면 main문은 어떻게 테스트 했나?? int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Config..

🤖 MCU 기반 로봇팔 제어 시스템 만들기 🚀

이번 포스트에서는 MCU (Microcontroller Unit) 를 사용하여 로봇팔을 제어하는 방법을 소개합니다.STM32와 PWM(Pulse Width Modulation) 방식으로 서보 모터를 제어하는 코드를 작성해보겠습니다.이 시스템은 서보 모터의 각도를 제어하여 로봇팔을 움직이게 됩니다.🔧 필요한 부품 및 구성부품 용도STM32 MCU마이크로컨트롤러, 제어 시스템 구현서보 모터로봇팔의 움직임을 담당타이머 (TIM4)PWM 신호를 생성하는 타이머GPIO 핀서보 모터와 연결된 핀🧑‍💻 코드 설명타이머 초기화TIM4를 사용하여 PWM 신호를 생성합니다. 서보 모터를 제어하기 위해 1ms ~ 2ms 사이의 펄스를 보내야 하므로, 타이머의 주기를 적절히 설정합니다.PWM 제어각 서보 모터의 각도를 ..

🔧 STM32F429ZI 이진계산기 코드 리뷰: 펜딩 비트, ISR, 인터럽트

오늘은 제가 STM32F429ZI를 활용해 만든 이진계산기 프로젝트의 일부 코드에 대해 리뷰를 해보려고 합니다.이번 포스팅에서는 펜딩 비트, 인터럽트 서비스 루틴(ISR), 인터럽트 시스템에 대해 집중적으로 설명할 거예요! 🚀📌 코드의 핵심: EXTI14 인터럽트 처리이 코드는 EXTI14 인터럽트를 처리하는 부분인데, 핵심적인 개념은 펜딩 비트와 ISR입니다. 먼저 코드와 함께 중요한 부분을 살펴볼게요!else if (EXTI->PR & 0x4000) // EXTI14 Interrupt Pending(발생) 여부?{ EXTI->PR |= 0x4000; // Pending bit Clear (clear를 안하면 인터럽트 수행후 다시 인터럽트 발생) if (SW6_Flag ..

공부/STM32 2024.10.10

[KG_KAIROS]SMT32 미니 프로젝트

파란 모터 드라이버 사용 시PWM전 일반적인 GPIOD를 활용하여 OUTPUT 시킴 /* USER CODE BEGIN WHILE */ while (1) { HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,1);//B1-A HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,0);//B1-B HAL_Delay(1000); HAL_GPIO_WritePin(GPIOD,GPIO_PIN_14,1); HAL_GPIO_WritePin(GPIOD,GPIO_PIN_13,0); HAL_Delay(1000); /* USER CODE END WHILE */  그러면 pwm을 주는 방법은??우리 서보모터 했던 것처럼 하나를 TIM으로 설정해서 해보면 됨,https:/..

[KG_KAIROS] 서보모터 각도제어, HEX 프로토콜

오늘은 서보모터 제어!!!      STM32에서 I2C(Inter-Integrated Circuit)는 마스터와 슬레이브 간의 데이터 통신을 위한 양방향 2와이어 직렬 버스입니다. I2C는 두 개의 주요 선을 사용합니다:SDA (Serial Data Line): 데이터 전송을 위한 선SCL (Serial Clock Line): 클럭 신호를 위한 선주요 특징마스터/슬레이브 구조: 마스터 장치가 클럭을 생성하고 통신을 제어합니다. 슬레이브 장치는 마스터의 명령에 따라 데이터를 송수신합니다.주소 지정: 각 슬레이브 장치는 고유한 7비트 또는 10비트 주소를 가집니다.속도 모드: 표준 모드(최대 100kHz), 패스트 모드(최대 400kHz), 패스트 모드 플러스(최대 1MHz), 고속 모드(최대 3.4MHz..

⏳ DMA,Falling,인터럽트란?

임베디드 시스템에서 데이터 전송 및 처리는 폴링(Polling), 인터럽트(Interrupt), DMA(Direct Memory Access) 등의 방식으로 이루어집니다. 각 방식의 특징을 살펴보겠습니다.1️⃣ 폴링 (Polling)CPU가 주기적으로 특정 장치나 메모리 위치를 확인하여 이벤트 발생 여부를 검사하는 방식입니다.장점:구현이 간단하며, 특정 조건을 지속적으로 모니터링할 수 있습니다.단점:CPU 자원을 많이 소모하며, 다른 작업을 수행하는 동안 이벤트를 놓칠 수 있습니다.2️⃣ 인터럽트 (Interrupt)특정 이벤트가 발생하면 장치가 CPU에 신호를 보내 작업을 중단하고 이벤트를 처리하도록 하는 방식입니다.장점:CPU가 다른 작업을 수행하는 동안에도 이벤트를 처리할 수 있어 효율적입니다.단점..

[KG_KAIROS] EXTI와 Rx/Tx 제어 설명

EXTI는 External Interrupt의 약자로, 외부 인터럽트를 처리하는 기능을 의미합니다.외부 인터럽트는 마이크로컨트롤러가 외부 장치에서 발생하는 신호를 감지하고,이를 처리하기 위해 프로그램의 흐름을 잠시 변경하는 메커니즘입니다.EXTI의 주요 기능엣지 감지: EXTI는 신호의 상승 엣지 또는 하강 엣지를 감지하여 인터럽트를 발생시킬 수 있습니다.마스크 레지스터: 특정 인터럽트를 활성화(Enable)하거나 비활성화(Disable)할 수 있습니다.펜딩 레지스터: 인터럽트가 발생했는지 여부를 기록합니다.우선순위 설정: 여러 인터럽트가 동시에 발생할 경우, 우선순위를 설정하여 처리 순서를 결정합니다.EXTI의 동작 과정신호 감지: 외부 장치에서 신호가 발생하면, EXTI가 이를 감지합니다.트리거 모드..

[KG_KAIROS] STM32_CUBE IDE

2년만 일려나...?STM32를 다시 하는 건?? STM32F429ZI 보드를 쓰다가이번엔STM32F407VGT RISC와 CISC는 컴퓨터 프로세서 설계 방식을 나타내는 두 가지 주요 접근법입니다.각각의 특징과 장단점을 살펴보겠습니다.CISC (Complex Instruction Set Computer)CISC는 명령어의 길이가 가변적이며 복잡한 구조를 가지고 있습니다.명령어가 다양하고 복잡하기 때문에 해석 속도가 느릴 수 있습니다.하나의 명령어가 많은 일을 처리할 수 있어 프로세서의 성능이 높아집니다.인텔의 x86 계열 프로세서와 같은 CISC 아키텍처가 있습니다.RISC (Reduced Instruction Set Computer)RISC는 고정된 길이의 명령어를 사용하고 명령어의 종류가 미리 정해..

728x90
반응형
LIST