Skip to content

embedded-ddookddaks/MCU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

30 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋”œ๋ฆฌ๋ด‡ MCU Firmware

2025-2ํ•™๊ธฐ ์ธ์ฒœ๋Œ€ํ•™๊ต ์ž„๋ฒ ๋””๋“œ์‹œ์Šคํ…œ๊ณตํ•™๊ณผ ์บก์Šคํ†ค๋””์ž์ธ โ€“ ์ž์œจ์ฃผํ–‰ ๋กœ๋ด‡ ๋”œ๋ฆฌ๋ด‡
์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ๋”œ๋ฆฌ๋ด‡์˜ MCU(๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ) ํŽŒ์›จ์–ด ์ฝ”๋“œ๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๋”œ๋ฆฌ๋ด‡์€ ์บ ํผ์Šค ๋‚ด ์ž์œจ์ฃผํ–‰์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋กœ๋ด‡ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ๊ทธ์ค‘ ๋ชจํ„ฐ ์ œ์–ด, ์„ผ์„œ ์ธํ„ฐํŽ˜์ด์Šค, SBC์™€์˜ ํ†ต์‹ ์„ ๋‹ด๋‹นํ•˜๋Š” MCU ์ธก ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ์ž์œจ์ฃผํ–‰ ๋กœ๋ด‡: Dillybot (๋”œ๋ฆฌ๋ด‡)
  • ์—ญํ• : ๋ชจํ„ฐ ์ œ์–ด, ์ €์ˆ˜์ค€ ํ•˜๋“œ์›จ์–ด ์ œ์–ด, ํ†ต์‹  ์ฒ˜๋ฆฌ ๋“ฑ
  • ๋ณด๋“œ: Nucleo-F446RE (STM32)

๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ตฌ์„ฑ

.
โ”œโ”€โ”€ Core/
โ”‚   โ”œโ”€โ”€ Inc/
โ”‚   โ”‚   โ””โ”€โ”€ motor_driver.h
โ”‚   โ””โ”€โ”€ Src/
โ”‚       โ”œโ”€โ”€ main.c
โ”‚       โ””โ”€โ”€ motor_driver.c
โ””โ”€โ”€ README.md

์ฃผ์š” ๊ธฐ๋Šฅ

1. UART๋ฅผ ํ™œ์šฉํ•œ Single Board Computer(SBC)์™€์˜ ํ†ต์‹ 

  • MCU โ†” SBC ๊ฐ„ ์–‘๋ฐฉํ–ฅ UART ํ†ต์‹ 
  • SBC (์˜ˆ: Raspberry Pi, Jetson ๋“ฑ)์—์„œ ์ƒ์„ฑํ•œ ์ œ์–ด ๋ช…๋ น ์ˆ˜์‹ 
  • ์†๋„, ๋ฐฉํ–ฅ, ์ œ์–ด ๋ชจ๋“œ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๊ตฌ์กฐ์ฒด ํ˜•ํƒœ๋กœ ์ˆ˜์‹  ๋ฐ ์ฒ˜๋ฆฌ

2. HAL์„ ์ด์šฉํ•œ MCU ์ œ์–ด

  • STM32 HAL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜ ํ•˜๋“œ์›จ์–ด ์ œ์–ด
  • ์ฃผ์š” HAL ํ•จ์ˆ˜ ์‚ฌ์šฉ:
    • HAL_UART_Transmit, HAL_UART_Receive_IT๋ฅผ ์ด์šฉํ•œ ๋น„๋™๊ธฐ UART ํ†ต์‹ 
    • HAL_TIM_PWM_Start ๋“ฑ์„ ํ™œ์šฉํ•œ PWM ๊ธฐ๋ฐ˜ ๋ชจํ„ฐ ์ถœ๋ ฅ ์ œ์–ด
  • GPIO ํ•€ ์ œ์–ด
    • ์ƒํƒœ LED ์ œ์–ด
    • ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ Enable ํ•€ ์ œ์–ด ๋“ฑ
  • STM32CubeMX๋กœ ์ƒ์„ฑํ•œ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘

3. MCU๋ฅผ ์ด์šฉํ•œ ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ ์ œ์–ด

  • ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ (Cytron MDD10A)์— ์—ฐ๊ฒฐ๋œ PWM + ๋ฐฉํ–ฅ ์ œ์–ด ํ•€ ์ œ์–ด
  • ์ฃผ์š” ๊ธฐ๋Šฅ:
    • ์ขŒ/์šฐ ๋ชจํ„ฐ ์†๋„ ์ œ์–ด (์ „์ง„ / ํ›„์ง„ / ์ •์ง€)
    • ํšŒ์ „ ๋™์ž‘ (์ขŒํšŒ์ „ / ์šฐํšŒ์ „)
    • ์ œ์–ด ๋ช…๋ น์— ๋”ฐ๋ฅธ ์†๋„ ๋น„์œจ / ๊ฐ€์ค‘์น˜ ์ ์šฉ
  • ์ฝ”๋“œ ๊ตฌ์กฐ:
    • motor_driver.c
    • motor_driver.h
      โ†’ ๋“œ๋ผ์ด๋ฒ„ ๋ ˆ๋ฒจ ์ฝ”๋“œ๋ฅผ ๋ณ„๋„ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌ

์‹œ์Šคํ…œ ๊ตฌ์กฐ ๊ฐœ์š”


+-----------------------+        UART        +----------------------+    PWM / DIR      +----------------------+
|  Single Board Computer| <----------------> |         MCU          | ----------------> |   Motor Driver       |
|  & Sensors            |                    |                      |                   +----------------------+
+-----------------------+                    +----------+-----------+               

                            

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • MCU: STM32 Nucleo-F446RE
  • IDE: STM32CubeIDE
  • ๋”œ๋ฆฌ๋ด‡ MCU ๋ณด๋“œ์™€ ์ฃผ๋ณ€์žฅ์น˜(UART, ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„)์˜ ํ•€ ์—ฐ๊ฒฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

UART (MCU โ†” Single Board Computer Communication)

MCU ํ•€ ๊ธฐ๋Šฅ ์„ค๋ช…
PA9 USART1_TX MCU โ†’ SBC ๋ฐ์ดํ„ฐ ์ „์†ก
PA10 USART1_RX SBC โ†’ MCU ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 

ํ˜„์žฌ ํŽŒ์›จ์–ด๋Š” USART1์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋ณด๋“œ ํšŒ๋กœ ๊ตฌ์„ฑ ์‹œ ์œ„ ํ•€์— UART๋ฅผ ๋งค์นญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
UART๋Š” 115200 Baud, 8N1์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ ์ œ์–ด ํ•€

MCU ํ•€ ๊ธฐ๋Šฅ ์„ค๋ช…
PB12 ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ DIR1 ๋ชจํ„ฐ 1 ๋ฐฉํ–ฅ ์ œ์–ด (DIR1)
PA6 ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ PWM1 ๋ชจํ„ฐ 1 ์†๋„ ์ œ์–ด (PWM1, ํƒ€์ด๋จธ ์ฑ„๋„)
PB13 ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ DIR2 ๋ชจํ„ฐ 2 ๋ฐฉํ–ฅ ์ œ์–ด (DIR2)
PA7 ๋ชจํ„ฐ ๋“œ๋ผ์ด๋ฒ„ PWM2 ๋ชจํ„ฐ 2 ์†๋„ ์ œ์–ด (PWM2, ํƒ€์ด๋จธ ์ฑ„๋„)

motor_driver.c์—์„œ ์œ„ ํ•€๋“ค์„ ๊ธฐ์ค€์œผ๋กœ PWM ๋ฐ ๋ฐฉํ–ฅ ์ œ์–ด ๋กœ์ง์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜๋“œ์›จ์–ด ๋ณ€๊ฒฝ ์‹œ, ํ•ด๋‹น ํ•€ ์ •์˜์™€ CubeMX ์„ค์ •์„ ํ•จ๊ป˜ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


๊ด€๋ จ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages