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);
}
}
}
