winch servo - cchamchi/cansat GitHub Wiki

Parafoil์˜ ๋ฐฉํ–ฅ์„ ์กฐ์ ˆํ• ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์œˆ์น˜ ์„œ๋ณด๋ชจํ„ฐ ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์„œ๋ณด๋ชจํ„ฐ๊ฐ€ 180๋„ ์ •๋„๋ฅผ ํšŒ์ „ํ•˜๋Š”๋ฐ ๋น„ํ•ด ์œˆ์น˜ ์„œ๋ณด๋Š” 1 turn ~ 12turn ํšŒ์ „์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ธ ์ŠคํŽ™์ด ๋‚˜์˜จ ์‚ฌ์ดํŠธ ์ž…๋‹ˆ๋‹ค. http://www.gwsus.com/english/product/servo/s125.htm

ํ†ต์ƒ์ ์ธ ์„œ๋ณด ๋ชจํ„ฐ์™€ ๊ฐ™์ด ํŽ„์Šคํญ 1ms-servo.write(0), 2ms-servo.write(180)๋กœ ์กฐ์ ˆ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

S125-6T ์„œ๋ณด ๋ชจํ„ฐ๋Š” servo.write(0)๋ฅผ ์“ธ๊ฒฝ์šฐ ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ 3๋ฐ”ํ€ด, servo.write(90) ์ค‘๋ฆฝ์œ„์น˜, servo.write(180) ๋‹ค๋ฅธ ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ 3๋ฐ”ํ€ด๋ฅผ ํšŒ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ด 6๋ฐ”ํ€ด ํšŒ์ „์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์บ”์œ„์„ฑ์—์„œ ๊ฐ„๋‹จํžˆ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค.

์„œ๋ณด๋ชจํ„ฐ ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์ด 3์ธต๊ธฐํŒ์˜ TD0์— ์„œ๋ณด ๋ชจํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋ธ”๋ฃจํˆฌ์Šค ์—ฐ๊ฒฐํ•˜์—ฌ 0~180 ์ˆซ์ž๋ฅผ PC์˜ ํ„ฐ๋ฏธ๋„์—์„œ ์น˜๋ฉด ์›๊ฒฉ์œผ๋กœ ์„œ๋ณด๋ชจํ„ฐ๊ฐ€ ์ œ์–ด ๋ฉ๋‹ˆ๋‹ค.

#include <CansatDebug.h>
#include <CansatSystem.h>
#include <Servo.h>


Servo winch;
void setup() {
  // put your setup code here, to run once:
  // cansat initialization
  CansatSystemInit();  
  // Init Servo
  winch.attach(D0);
  winch.writeMicroseconds(1500);  // neutral position
  delay(20);

  // Init BT
  Serial.begin(9600);
  Serial.write("+++\r\n");
  Serial.print("at+btmode,3\r\n");
  Serial.print("at+uartconfig,115200,N,1,0\r\n");
  Serial.print("atz\r\n");
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available()){
    long angle = Serial.parseInt();
    if(angle!=0){
      winch.writeMicroseconds(angle);  //900~2100 microsecond
      Serial.println(angle);
    }    
  }
}
โš ๏ธ **GitHub.com Fallback** โš ๏ธ