Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 2048 | 답변완료atmega128 포트 입력 받기 | 박종성 | 2008-11-30 | 1,418 |
|
atmega 128 초보 유저입니다.
1.
AB-M128-A 보드와 AM-CS2P, SE-SM9 모터를 이용하고 있습니다.
AB-M128-A 보드의 PORTA에 usbisp 와 ispcvb 를 연결한 케이블을 이용해서
스텝 모터 제어에 쓸 신호를 넣고 싶습니다.
핀 2개에 각각 0,1 신호를 주어서 2개의 모터의 회전 방향을 결정하고 싶은데요,
PORTA에 들어오는 신호를 프로그래밍에서 잡아주는 명령어가 궁금합니다.
2.
앞서 이야기한 바와 같이 usbisp - ispcvb 케이블의 2개의 핀으로
0,1 신호를 줄 수 있는 방법이 어떤 것이 있나요?
p.s : 모터 제어에 들어가는 프로그램을 첨부합니다.
관리자 답변
안녕하세요? 고객님,
저희 N.T.C 제품을 이용하여 주셔서 감사합니다.
우선, AVR에서 CS2P와 같은 스테핑 모터 구동부를 통하여 SM9와 같은 스테핑 모터를 구동하는 것입니다.
이 때, 2x5 박스헤더를 가진 10핀 케이블을 이용하여 AVR에서 CS2P에 명령을 전달하게 되구요. 이 때, 예제는 지금 가지고 계시는 것이나, 아니면 자료실->기존자료실에서 CS2P라고 치시면 나오는 예제를 쓰심 되겠습니다.
ISP는 PC에서 AVR로 HEX 코드 프로그램을 다운로드 하는 용도로 쓰는 것이지
PC와 통신을 하거나 하는 용도로 쓰는 것은 아닙니다.
AVR에서 CS2P를 이용하여 모터를 구동한다고 생각하셔야 합니다.
수고하세요.
>atmega 128 초보 유저입니다.
>
>
>1.
>
>AB-M128-A 보드와 AM-CS2P, SE-SM9 모터를 이용하고 있습니다.
>
>AB-M128-A 보드의 PORTA에 usbisp 와 ispcvb 를 연결한 케이블을 이용해서
>
>스텝 모터 제어에 쓸 신호를 넣고 싶습니다.
>
>핀 2개에 각각 0,1 신호를 주어서 2개의 모터의 회전 방향을 결정하고 싶은데요,
>
>PORTA에 들어오는 신호를 프로그래밍에서 잡아주는 명령어가 궁금합니다.
>
>2.
>
>앞서 이야기한 바와 같이 usbisp - ispcvb 케이블의 2개의 핀으로
>
>0,1 신호를 줄 수 있는 방법이 어떤 것이 있나요?
>
>
>p.s : 모터 제어에 들어가는 프로그램을 첨부합니다.
|
||||
| 2047 | 답변완료AVRISP를 구매해서 사용하다가... | 박승혁 | 2008-11-30 | 1,448 |
|
안녕하세요... 몇일전에에 ISP를 구매하였는뎅....
계속 코딩인 않되고 에러가 뜨길레...
이것 저것 연결을 시도하다가 갑자기 ISP에서 퍽 하는소리와 함꼐...
흰 연기가 나네요...
한번도 사용해보지 못하고... 거금 3만원을 들인 ISP가.....ㅜ.ㅜ
에러에 관한 질문은 남겼지만...
설명서에 있는말만 반복하시구요....
뭐 어떻게 됐든.....지금 상황에서....망가진 ISP는 수리가 가능한지 궁금합니다..
다시 사기에는 너무나 큰 무리가 있구요...ㅠ.ㅠ 어떻게 않되나용....
관리자 답변
안녕하세요? 고객님,
저희 N.T.C 제품을 이용하여 주셔서 감사합니다.
어딘가 회로구성하셨던 것에서 쇼트를 시키셨거나, 문제가 있나 보네요.
직접 만드신 회로를 가지고 오셔서, 한 번 점검받으시는 것이 좋겠습니다.
A/S를 한다고 해도, 다시 꽂으면 마찬가지로 다시 망가질 확률이 높기 때문이죠.
저렴하게 A/S가 될 수도 있으니까, 가져와 보세요.
수고하세요.
>안녕하세요... 몇일전에에 ISP를 구매하였는뎅....
>
>계속 코딩인 않되고 에러가 뜨길레...
>
>이것 저것 연결을 시도하다가 갑자기 ISP에서 퍽 하는소리와 함꼐...
>
>흰 연기가 나네요...
>
>한번도 사용해보지 못하고... 거금 3만원을 들인 ISP가.....ㅜ.ㅜ
>
>에러에 관한 질문은 남겼지만...
>
>설명서에 있는말만 반복하시구요....
>
>뭐 어떻게 됐든.....지금 상황에서....망가진 ISP는 수리가 가능한지 궁금합니다..
>
>다시 사기에는 너무나 큰 무리가 있구요...ㅠ.ㅠ 어떻게 않되나용....
|
||||
| 2046 | 답변완료가속도 센서를 이용해서 위치 변위까지계산할수 잇을까요? | 김한수 | 2008-11-29 | 1,423 |
|
처음 위치에서 어느정도 이동햇는지 계산 하는 그런 장치로요
된다면 정밀도는 어느정도 될까요...?
관리자 답변
안녕하세요? 고객님,
저희 N.T.C를 이용하여 주셔서 감사합니다.
예전부터 물류 쪽에서 그런 장치를 구현하려고 하는 시도는 많이 있었습니다.
그런 일을 하실 때, 3축 가속도 센서 데이터를 자이로 센서 데이터로 보정하여,
적분하여 거리를 구하는 형태로 가셔야 겠구요. 처음 시작하는 위치를
영점으로 잡고 시작하더군요.
실제 하시던 분 말을 하다보면,
하다보면 오차가 발생한다고 하더군요. 그런 걸 잘 해야 할텐데,
쉬운 일은 아닌 것 같습니다.
빠른 시간에 예측도 필요한 일이라서요.
수고하세요.
>처음 위치에서 어느정도 이동햇는지 계산 하는 그런 장치로요
>
>된다면 정밀도는 어느정도 될까요...?
|
||||
| 2045 | 답변완료AVR MEGA 128pro 에 10pin 케이블연결시 전원이 나가네요 | 최장훈 | 2008-11-29 | 1,376 |
|
AVR MEGA 128pro 개발키트에다가
LCD나 DC모터랑 avr키트를
10pin 케이블로 연결을하면
전원이 나가버리네요.
하드웨어가 이상한건가요??
빠른 답변 부탁드려요~~
참고로 장착되어있는 세그먼트,led는 구동 잘됩니다.
관리자 답변
안녕하세요?
고객님, 저희 N.T.C. 제품을 이용하여 주셔서 감사합니다.
우선, DC 모터를 직접 AVR 키트와 연결하시면 킷트가 망가질 수도 있습니다.
모터는 전류를 많이 먹고, 또한 기전력에 의한 역전류가 발생할 수도 있어서,
모터 구동부를 사용하시는 것이 좋겠습니다.
또한, LCD나 DC 모터 연결된 부분의 전원이 쇼트가 아닌지 등도 확인하시기 바랍니다.
수고하세요.
>AVR MEGA 128pro 개발키트에다가
>
>LCD나 DC모터랑 avr키트를
>
>10pin 케이블로 연결을하면
>
>전원이 나가버리네요.
>
>하드웨어가 이상한건가요??
>
>빠른 답변 부탁드려요~~
>
>
>참고로 장착되어있는 세그먼트,led는 구동 잘됩니다.
|
||||
| 2044 | 답변완료급합니다.. 이문제좀 해결해 주세요.... | 박승혁 | 2008-11-29 | 1,387 |
|
안녕하세요,,, 몇일 전에....
큰 맘먹고 거금 3만원을 드려....
avr usbisp v02 구매한 학생입니다...
코드비전 1.25평가판을 사용하고 있습니다....
하지만....코딩하고 막상 프로그램 넣으면 에러가 납니다....
아래와 같은 메세지로요....
AVRISP error entering programming mode
지금은 avr 8535를 사용하고 있구요.....
어떻게 해결 해여 하는지 궁금합니다....
그리고 isp에 달려있는 버트 설정이 어떻게 되는지 궁금합니다....
설명서 대로 하나만 온시키면 서플라이 에러가 떠서요,,,,
관리자 답변
안녕하세요? 고객님,
저희 N.T.C 제품을 이용하여 주셔서 감사합니다.
버트라고 아래에 적으신 게, 아마도 2개짜리 딥스위치 말씀하시는 건가요?
2번핀은 USB로부터 ISP를 통해 제품에 전원을 공급하는 걸 ON 또는 OFF 하는 것이구요. 1번핀은 OFF 상태로 건드리지 마시기 바랍니다. 본사에서만 제조나 A/S시에만 사용하는 겁니다.
그리고, 제어판->시스템->하드웨어->장치관리자->포트에 보시면
COMxxx로 되어서 USB가 잡힌 모양이 나올텐데요. 제대로 잡혔는 지 보시구요.
그 포트대로 맞춰 주셔야 합니다.
COM 포트가 사용하시는 컴파일러가 지원하는 포트 번호를 넘어가면 강제로 빈 포트 중에서 지원하는 포트 안쪽으로 만들어 주셔야 합니다. 방법은 USBISP 메뉴얼에 나와 있습니다.
그리고, 8535 보드를 제대로 제작하셨는 지도 의문입니다.
얼마전에도 8535를 들고 오셨던 분이 계셨는 데요. 보드를 잘못 만드셨더군요.
본사로 한 번 들고 오시는 것이 좋겠습니다.
수고하세요.
>안녕하세요,,, 몇일 전에....
>
>큰 맘먹고 거금 3만원을 드려....
>
>avr usbisp v02 구매한 학생입니다...
>
>코드비전 1.25평가판을 사용하고 있습니다....
>
>하지만....코딩하고 막상 프로그램 넣으면 에러가 납니다....
>
>아래와 같은 메세지로요....
>
>AVRISP error entering programming mode
>
>지금은 avr 8535를 사용하고 있구요.....
>
>어떻게 해결 해여 하는지 궁금합니다....
>
>그리고 isp에 달려있는 버트 설정이 어떻게 되는지 궁금합니다....
>
>설명서 대로 하나만 온시키면 서플라이 에러가 떠서요,,,,
|
||||
| 2043 | 답변완료모터 관련 질문드립니다. | 김선용 | 2008-11-29 | 1,462 |
|
안녕하세요...저는 대학생으로 이번에 졸업작품을 준비하고 있습니다
아직은 잘 몰라서 기초적인 질문좀 드릴께요
다름이 아니라 저희가 식물에 물주는 것을 제어하는 관수 제어 시스템을
만들려고 합니다.
물을 펌핑해서 관수를 해야 할 것 같은데 이를 위해서 어떤 모터를 써야 하나요??
아니면 모터 말고 다른 것을 써야 할까요??
이에 대한 답변 부탁드려요...^^
감사합니다.
관리자 답변
안녕하세요? 고객님,
저희 N.T.C를 이용하여 주셔서 감사합니다.
예전에 보니까, 금일 모터라는 곳에서 모터 펌프를 판매하고 있던데요.
http://www.kumilmotor.co.kr/
컨트롤러는 본사의 것을 쓸 수도 있을 겁니다.
참고하세요.
수고하세요.
>안녕하세요...저는 대학생으로 이번에 졸업작품을 준비하고 있습니다
>
>아직은 잘 몰라서 기초적인 질문좀 드릴께요
>
>다름이 아니라 저희가 식물에 물주는 것을 제어하는 관수 제어 시스템을
>만들려고 합니다.
>
>물을 펌핑해서 관수를 해야 할 것 같은데 이를 위해서 어떤 모터를 써야 하나요??
>
>아니면 모터 말고 다른 것을 써야 할까요??
>
>이에 대한 답변 부탁드려요...^^
>
>감사합니다.
|
||||
| 2042 | 답변완료물품을 여러개 구입하였는데요.. | 정성훈 | 2008-11-28 | 1,395 |
|
128 보드 (소형), 적외선 센서(4ch), DC 모터 2개, DC모터 구동모듈
USB-ISP 케이블
이렇게샀는데요..
일단 usb-isp 드라이버는 여기와서 받았습니다.
그런데 물품 구입시 10핀 케이블은 안주는건가요?
안준다면 어떻게 구할 수 있는지요?
관리자 답변
안녕하세요? 고객님,
저희 N.T.C 제품을 이용하여 주셔서 감사합니다.
10핀 케이블은 별매로 판매하고 있습니다.
개당 1,650원에 판매되고 있으니, 많은 이용 바랍니다.
본사에 직접 오시거나, 대리점에서도 구하실 수 있습니다.
용산 전자랜드 광장층의 SY 전자를 이용하시면 편리합니다.
감사합니다.
>128 보드 (소형), 적외선 센서(4ch), DC 모터 2개, DC모터 구동모듈
>
>USB-ISP 케이블
>
>이렇게샀는데요..
>
>일단 usb-isp 드라이버는 여기와서 받았습니다.
>
>그런데 물품 구입시 10핀 케이블은 안주는건가요?
>
>안준다면 어떻게 구할 수 있는지요?
|
||||
| 2041 | 답변완료KR-16DL 라인트레이서에서 추가 기능 질문 | 윤세영 | 2008-11-28 | 1,419 |
|
KR-16DL 라인트레이서에 초음파 센서와 Text LCD를 추가로 달려고하는데요
초음파 센서는 3-pin 짜리 NT-TS601을 사용할거구요
TextLCD는 14-pin 짜리 HY-1602H-205-R을 사용하려고 합니다.
라인트레이서의 기본적인 동작은 그대로 놔두고
초음파 센서를 이용해서 장애물이 나타난다면 회피하려고 합니다
LCD로는 상태를 표시해 주고요.
단순히 ATmega16의 pin수를 보면 가능할것 같은데
이제 막 배우는 입장이라서 실제 구현이 가능할지 잘모르겠습니다
혹시 필요한 그밖의 내용도 있다면 알려주세요 ^ ^;;
관리자 답변
안녕하세요..고객님....
저희 NTC제품을 이용해 주셔서 감사합니다.
환경은 충분히 가능합니다.
초음파 센서는 다른 용도로 사용안하는 적당한 핀 하나를 선택해 연결하시고 Vcc와 GND는 보드의 Vcc와 GND에 연결하시면 되시고 TextLcd는 PA와 PC포터를 이용하시면 됩니다.
초음파 센서를 이용해 장애물이 나타나면 회피를 해야 하는데 초음파 센서 하나로 판단 기준을 삼기는 좀 어렵지 않나 생각됩니다. 초음파 센서 두개를 사용한다면 장애물을 만났을때 두 센서의 거리를 판단기준으로 좌회전 또는 우회전 할 수 있습니다.
참고로 라인트레이서에서 ATmega16의 입출력 핀들이 대부분 연결되어 있기 때문에(스위치나 LED) PA와 PC를 사용하는데 주의를 요합니다.
어려우시면 차라리 우리회사에서 나온 AB-M128-B형으로 바꾸시는 것도 확장성을 위한 한 방법이라 생각됩니다.
고객님 처음부터 모든걸 완성할려고 하지 말고 기본라인트레이서 구동 =>> 초음파 센서만 구동 =>> TextLCD만 구동 =>> 라인트레이서와 초음파 센서 병합 =>> 완성, 이런 단계로 하신다면 좋은 결과를 얻을 수 있을겁니다.
각 단계에 대한 소스는 우리 홈페이지 자료실이나 Q&A를 이용하시면 많은 도움이 될것입니다.
하시다가 어려우신점은 언제라도 질문해 주세요.
감사합니다.
>KR-16DL 라인트레이서에 초음파 센서와 Text LCD를 추가로 달려고하는데요
>
>초음파 센서는 3-pin 짜리 NT-TS601을 사용할거구요
>TextLCD는 14-pin 짜리 HY-1602H-205-R을 사용하려고 합니다.
>
>라인트레이서의 기본적인 동작은 그대로 놔두고
>초음파 센서를 이용해서 장애물이 나타난다면 회피하려고 합니다
>LCD로는 상태를 표시해 주고요.
>
>단순히 ATmega16의 pin수를 보면 가능할것 같은데
>이제 막 배우는 입장이라서 실제 구현이 가능할지 잘모르겠습니다
>
>혹시 필요한 그밖의 내용도 있다면 알려주세요 ^ ^;;
|
||||
| 2040 | 답변완료호환문의 | 123 | 2008-11-28 | 1,442 |
|
▶ 스테핑모터 SE-SM2
모델 SE-SM2
▶ 스테핑 모터 클럭 구동모듈 (3A)
모델 AM-MS2 (3A)
2개 제품이 호환 가능한지요
관리자 답변
안녕하세요. 고객님.......
저희 NewTC를 이용해 주셔서 감사합니다.
아주 궁합이 잘맞습니다. ^_^
좋은 결과 있기를 바랍니다.
감사합니다.
>▶ 스테핑모터 SE-SM2
>모델 SE-SM2
>
>▶ 스테핑 모터 클럭 구동모듈 (3A)
>모델 AM-MS2 (3A)
>
>2개 제품이 호환 가능한지요
>
>
|
||||
| 2039 | 답변완료안녕하세요? 또 질문 올리겠습니다. | 조현욱 | 2008-11-28 | 1,340 |
|
최근 3일연속 본사에 찾아가 뵈었던-_- 사람입니다.
상당히 제가 귀찮게 해드리고 시간 많이 뺏은 것 같은데,
개의치 않으시고 친절하게 도와주셨던
사장님과 직원분들 웹상으로나마 다시한번 감사드립니다. (__)
그동안 골치를 썩였던 RFMOD가 이제는 제대로 동작하기 시작했습니다.
여기서 질문입니다.
현재 ATMega128pro 보드 두개를 쓰고 있으며,
보드 각각에 RFMOD 하나씩을 달아서 한 보드에서 데이타를 송신,
다른 보드에서 데이터를 수신 후 처리하는 작업을 진행하고 있습니다.
전송하려는 데이타는 1바이트짜리 char형 데이터이고, (글자 하나)
두 보드 다 UART1부분에 RFMOD를 연결하였습니다.
1. 송신 쪽 코드의 일부입니다.
(초기화코드)
void uart1_init(void) // RFMOD 부분 초기화
{
UCSR1B = 0x00; //disable while setting baud rate
UCSR1A = 0x00;
UCSR1C = 0x06;
UBRR1L = 0x08; //set baud rate lo
UBRR1H = 0x00; //set baud rate hi
UCSR1B = 0x18;
}
(송신 쪽 실제로 송신 동작하는 코드)
void send_to_car(char c)
{
while (((UCSR1A >> UDRE1)&0x01) == 0) ; // UDRE, data register empty
UDR1 = c;
}
2. 수신 쪽 코드입니다.
(초기화코드)
void uart1_init(void) // RFMOD 부분 초기화
{
UCSR1B = 0x00; //disable while setting baud rate
UCSR1A = 0x00;
UCSR1C = 0x06;
UBRR1L = 0x08; //set baud rate lo
UBRR1H = 0x00; //set baud rate hi
UCSR1B = 0x18;
}
(수신하는 코드)
char get_rfmod(void)
{
while ((UCSR1A & 0x80) == 0);
return UDR1;
}
(수신쪽 보드 응용프로그램의 일부)
(테스트용으로 무한정 송신측에서 받은 데이터를 uart0에 달린 LCD에 출력)
while(1)
{
order = get_rfmod();
printf("\\rGet data %c.",order);
}
이랬더니, 송신은 제대로 되는데, 정작 수신측에서 데이터를 못 받고 있는 건지,
수신측 응용프로그램의 원하는 동작(화면에 출력하는 동작)이 되질 않네요.
하이퍼터미널을 이용해서 테스트한 송수신은 제대로 나오고 있고,
LCD 자체나 LCD제어 및 초기화 코드에도 아무 이상이 없습니다.
아무리 봐도, 제대로 수신을 하지 못하고 있는 것 같은데
혹시 코드에 문제가 있는 것일까요?
송신측과 수신측의 UART1 초기화를 달리 해줘야 하는 것인지,
아니면 사용자 정의 함수를 통해 수신하는것이 아니라
인터럽트를 통해 처리해야 하는 것인지,
아니면 지금 제가 못 보고 있는 단순한 실수가 끼어버린것인지
잘 모르겠습니다.
관리자 답변
자답입니다.
초기화나 코딩에는 문제가 없었는데,
수신쪽 보드의 MCU가 문제가 생겨서
UART 수신 버퍼가 망가진 것 같습니다.
|
||||
| 2038 | 답변완료스텝 모터 구동 드라이버 발열이 엄청 납니다! | 스텝 | 2008-11-28 | 1,564 |
|
안녕하세요?
스텝 모터를 구동중인데 구동 드라이버에서 엄청난 열이 발생 합니다.
물론 열은 엄청 나지만, 모터는 잘 돌아갑니다.
열때문에 깜짝 놀라서 바로 전원 차단 해버리고 이렇게 문의하게 되었습니다.
사용한 제품은
스테핑 모터(9kg급) SE-SM9
스테핑 모터 구동모듈 AM-CS2P (3A용)
입니다.
드라이버의 저항과 드라이버 IC에서 엄청난 열이 발생합니다.
모르고 건드렸다가 손가락에 물집이 잡힐 정도로 뜨겁습니다. ㅠㅠ
물론 가변 저항 조절도 해보았습니다. 원인을 모르겠습니다.
모터 드라이버에서 열이 많이 나는건 무슨 이유인지 부탁 좀 드립니다.
원인으로 생각해 볼 문제가 무엇인지 부탁드립니다.
(컴퓨터 파워라 쇼트일 경우 전원이 자동 차단 됩니다.)
전원은 5v(25A) , 12v(13A) 인 컴퓨터 파워를 연결 했습니다.
5v는 avr보드와 스테핑 모터 구동모듈 AM-CS2P의 5v핀에 연결을 시켜 주었고,
12v는 스테핑 모터 구동모듈 AM-CS2P (3A용)의 12v 단자에 연결 했습니다.
관리자 답변
안녕하세요. 고객님...
저희 NewTC제품을 이용해 주셔서 감사합니다.
모터의 구동 방식이라든지 기타 환경에 의해서 문제가 발생할 수 있습니다.
그리고 기본적으로 약간의 열은 정상적이라 할 수 있습니다.
처음부터 가변저항을 적정토크(돌기시작하는 시점 직후)로 맞춰서 사용해 보시길 바랍니다.
높은 전류가 공급되는데 모터가 사용하는 전류가 한정되니깐 에너지 보존법칙에 의해서 잉여 전류가 열로 변환되는 것입니다.
가능하시다면 저항의 와트와 저항값을 높이시는 것도 하드웨어적인 해결 방법이라 생각됩니다.
그리고 소프트 웨어 적인 문제점도 있을 수 있습니다.
한방향으로만 돌리면 별 문제가 없겠지만 정회전에서 역회전으로 역회전에서 정회전으로 변경시 지연 시간을 주지 않았다든지 상을 만들어 줄때 정확한 상을 만들지 않았다든지 클럭이 모터가 소화할 수 있는 범위 밖이라든지 상의 변화가 너무 빠르다든지.... 많은 경우의 수가 있을 수 있습니다.
하나씩 다시 한번 점검하시고 질문있으시면 언제라도 올려주시기 바랍니다.
감사합니다.
>안녕하세요?
>
>스텝 모터를 구동중인데 구동 드라이버에서 엄청난 열이 발생 합니다.
>물론 열은 엄청 나지만, 모터는 잘 돌아갑니다.
>열때문에 깜짝 놀라서 바로 전원 차단 해버리고 이렇게 문의하게 되었습니다.
>
>사용한 제품은
> 스테핑 모터(9kg급) SE-SM9
> 스테핑 모터 구동모듈 AM-CS2P (3A용)
>입니다.
>
>드라이버의 저항과 드라이버 IC에서 엄청난 열이 발생합니다.
>모르고 건드렸다가 손가락에 물집이 잡힐 정도로 뜨겁습니다. ㅠㅠ
>
>물론 가변 저항 조절도 해보았습니다. 원인을 모르겠습니다.
>
>모터 드라이버에서 열이 많이 나는건 무슨 이유인지 부탁 좀 드립니다.
>
>원인으로 생각해 볼 문제가 무엇인지 부탁드립니다.
>(컴퓨터 파워라 쇼트일 경우 전원이 자동 차단 됩니다.)
>
>전원은 5v(25A) , 12v(13A) 인 컴퓨터 파워를 연결 했습니다.
>5v는 avr보드와 스테핑 모터 구동모듈 AM-CS2P의 5v핀에 연결을 시켜 주었고,
>12v는 스테핑 모터 구동모듈 AM-CS2P (3A용)의 12v 단자에 연결 했습니다.
>
|
||||
| 2037 | 답변완료프로그램 질문 | 허훈 | 2008-11-28 | 1,309 |
|
kr-dl16을 만들고 있습니다.
프로그램에서 보면
모터, led, adc에서 전부 다 and, or를 사용해서 값을 정의 하는데요
그냥 바로 값을 주면 안되나요
예를 들어
0x06 | (ch & 0x0f)
라고 되어 있는 것도 그냥
ch & 0x0f
이렇게 준다던가
led_on시킬 때도 portb=0x03 이라고 바로 주면 안되나요??
왜 portb= portb | 0x03 이라고 주는 건지 잘 모르겠습니다..
관리자 답변
안녕하세요? 고객님,
저희 N.T.C 제품을 이용하여 주셔서 감사합니다.
좋은 질문입니다.
그렇게 한 이유는 비트 연산을 통해서, 원하는 비트만 1로 만들고(SET, or 연산을 통해서) 원하는 비트만 0으로 만들고(CLEAR, and 연산을 통해서) 하기 위해서 입니다.
그냥 그렇게 하셔도 되겠지만, 임베디드 실습이니까,
앞으로 그렇게 원하는 비트만 연산해야 하는 일이 많을 겁니다.
수고하세요.
>kr-dl16을 만들고 있습니다.
>
>프로그램에서 보면
>
>모터, led, adc에서 전부 다 and, or를 사용해서 값을 정의 하는데요
>
>그냥 바로 값을 주면 안되나요
>
>예를 들어
>
>0x06 | (ch & 0x0f)
>
>라고 되어 있는 것도 그냥
>
>ch & 0x0f
>
>이렇게 준다던가
>
>led_on시킬 때도 portb=0x03 이라고 바로 주면 안되나요??
>
>왜 portb= portb | 0x03 이라고 주는 건지 잘 모르겠습니다..
|
||||
| 2036 | 답변완료적외선 센서 수광 발광 부 | 정상화 | 2008-11-27 | 1,422 |
|
질문이 있어서 이렇게 질문 드립니다. 왼쪽이 발광부 센서이고 오른쪽이 수광부 센서입니다. 발광부 센서 만들고 수광부 센서를 보기의 회로도 같이 구성했는데.. 발광부는 잘 구성되서 잘 돌아가는 것 같은데.. 수광부 회로 파워서플라이로 5볼트를 준다음에 가변저항을 바꿔줘도 오실로 스코프의 전압의 변화가 없습니다. 회로도가 잘못된 걸까요? 아님 제가 잘 못 만든 걸까요..? 회로도에 문제가 있으면 답변 해주시면 감사하겠습니다.
관리자 답변
안녕하세요? 고객님,
저희 NewTC를 이용해 주셔서 감사합니다.
그런데, 회로상으로 보면, OPAMP를 AMP로 쓴 게 아니라, 비교기로 쓰신 것 같네요.그래서, 전압의 변화가 거의 없지 않을까 싶습니다.
가변저항이 붙은 쪽은 0~2.5V 출력이고, 수광부가 동작하는 순간, VCC쪽과 붙으면서 전압이 - 쪽과 + 쪽이 비교되면서, 0 또는 1의 출력이 발생할 것 같네요.
우리 회사 회로도를 참고 바랍니다.
http://www.newtc.co.kr/product_AM-IRS.php
수고하세요.
>질문이 있어서 이렇게 질문 드립니다. 왼쪽이 발광부 센서이고 오른쪽이 수광부 센서입니다. 발광부 센서 만들고 수광부 센서를 보기의 회로도 같이 구성했는데.. 발광부는 잘 구성되서 잘 돌아가는 것 같은데.. 수광부 회로 파워서플라이로 5볼트를 준다음에 가변저항을 바꿔줘도 오실로 스코프의 전압의 변화가 없습니다. 회로도가 잘못된 걸까요? 아님 제가 잘 못 만든 걸까요..? 회로도에 문제가 있으면 답변 해주시면 감사하겠습니다.
|
||||
| 2035 | 답변완료bldc 속도제어소스..... | qkrrbaks | 2008-11-27 | 1,454 |
|
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
#include <avr/wdt.h>
#include <avr/iom16.h>
#define BYTE unsigned char
#define WORD unsigned int
#define IBYTE volatile BYTE
//GLOVAL VARIABLES DEFINITION
BYTE HALL_DATA,OLD_HALL_DATA,NEW_HALL_CNT; //HALL IC INPUT DATA
BYTE CNT,RAMP_CNT; //TEMPORARY COUNT
BYTE REF_DUTY,DUTY; //PWM DUTY VALUE
IBYTE STA_CNT,STA_FLAG,TURN;
IBYTE ERR_FLAG;
IBYTE RUN_FLAG,DIR_FLAG,OLD_DIR_FLAG,OPEN_HALL_CNT;
IBYTE TENMS,HUNMS;
BYTE KEY_BUF,BKEY_BUF,KEY_DATA,BKEY_DATA;
BYTE HALL_CNT,RUN_CNT,DIR_CNT,BRK_CNT;
BYTE CNT_READ,OLD_CNT_READ,EX_HALL_CNT;
BYTE SWITCH_DATA,RUN_DIRECTION,VR_DATA,RUN_CW;
IBYTE TEMP_FLAG;
void VAL_INIT(void);
void IO_INIT(void);
void PWM_INIT(void);
void T0_INIT(void);
void RUN_SEQ(void);
void VOLT_START(void);
void RUN_MODE(void);
void STOP_MODE(void);
void KEY_MODE(void);
void HALL_SCAN(void);
void DIRECTION(void);
//========================= GLOVAL FUNCTIONS ==========================
//-------------------- RUN_SEQ -------------------------------------
void RUN_SEQ(void)
{
if(RUN_CW==1)
{
switch(SWITCH_DATA)
{
case 1:
outp(0xDE, PORTC);
break;
case 2:
outp(0xDD, PORTC);
break;
case 3:
outp(0xF5, PORTC);
break;
case 4:
outp(0xF3, PORTC);
break;
case 5:
outp(0xEB, PORTC);
break;
case 6:
outp(0xEE, PORTC);
break;
}
}
else if(RUN_CW==2)
{ switch(SWITCH_DATA)
{
case 1:
outp(0xF3, PORTC);
break;
case 2:
outp(0xEB, PORTC);
break;
case 3:
outp(0xEE, PORTC);
break;
case 4:
outp(0xDE, PORTC);
break;
case 5:
outp(0xDD, PORTC);
break;
case 6:
outp(0xF5, PORTC);
break;
}
}
else STOP_MODE();
}
//-------------------- IO_INIT -------------------------------------
void IO_INIT(void)
{
outp(0X00, DDRA);
outp(0x00, PORTA);
outp(0x00, DDRB);
outp(0x00, PORTB);
outp(0xFF, DDRC);
outp(0x00, PORTC);
outp(0x20, DDRD);
outp(0x20, PORTD);
}
//-------------------- PWM_INIT -------------------------------------
void PWM_INIT(void)
{
outp(0xC1, TCCR1A);
outp(0x01, TCCR1B);
outp(0x00, TCNT1H);
outp(0x00, TCNT1L);
outp(0x00, OCR1AH);
outp(0x00, OCR1AL);
}
//-------------------- STOP_MODE -------------------------------------
void STOP_MODE(void)
{
cli();
OCR1A=0;
RUN_FLAG=0;
//DUTY=0X00
sei();
}
//-------------------- RUN_MODE -------------------------------------
void RUN_MODE(void)
{
cli();
sei();
}
//-------------------- T0_INIT -------------------------------------
void T0_INIT(void)
{
outp(0x02, TCCR0);
outp(-100,TCNT0);
outp(0x01, TIMSK);
}
//-------------------- VAL_INIT -------------------------------------
void VAL_INIT(void)
{
RUN_FLAG=0;
HALL_DATA=0;
SWITCH_DATA=0;
KEY_DATA=0;
}
//-------------------- KEY_MODE -------------------------------------
void KEY_MODE(void)
{
KEY_DATA=(inp(PINB)&0x03);
switch(KEY_DATA)
{
case 1:
RUN_FLAG=1;
break;
case 2:
RUN_FLAG=0;
break;
}
}
//-------------------- HALL_SCAN -------------------------------------
void HALL_SCAN(void)
{
HALL_DATA=(inp(PINA)&0xE0);
switch(HALL_DATA)
{
case 0x80:
SWITCH_DATA=1;
break;
case 0xC0:
SWITCH_DATA=2;
break;
case 0x40:
SWITCH_DATA=3;
break;
case 0x60:
SWITCH_DATA=4;
break;
case 0x20:
SWITCH_DATA=5;
break;
case 0xA0:
SWITCH_DATA=6;
break;
}
}
//-------------------- AD_INIT -------------------------------------
void AD_INIT(void)
{
outp(0x00,ADMUX);
outp(0x00,ADCSR);
}
//-------------------- VR_ADC -------------------------------------
/*
void VR_ADC(void)
{
outp(0x00,ADMUX);
outp(0xc5,ADCSR);
// CLOCK/8
}
*/
//-------------------- RUN_SEQ -------------------------------------
void DIRECTION(void)
{
if(RUN_FLAG==0)
{
RUN_DIRECTION=(inp(PINB)&0x0C);
switch(RUN_DIRECTION)
{
case 4:
RUN_CW=1; //정회전
break;
case 8:
RUN_CW=2; //역회전
break;
}
}
else
{
}
}
//======================= INTERRUPT ROUTINE PART =====================
//------------------- TIMER0 OVERFLOW INTERRUPT SUBROUTINE -------------
// TIMER FREQUENCY = 10KHz = 100uS
SIGNAL(SIG_OVERFLOW0)
{
TCNT0=(-99);
HALL_SCAN();
RUN_SEQ();
DIRECTION();
if(RUN_FLAG==1)
{
/*VR_ADC();
VR_DATA=(ADCL+ADCH*256)/4;
//VR_DATA=256-VA_CAL;
*/
if(DUTY>0xE5)
{
DUTY=0XE5;
}
else if(DUTY<0X19)
{
DUTY=0X19;
}
else OCR1A=DUTY;
}
else STOP_MODE();
}
//=======================* MAIN LOOP *==========================
int main(void)
{
outp(0X02,MCUCR);
outp(0X00,GIFR);
IO_INIT();
VAL_INIT();
PWM_INIT();
T0_INIT();
AD_INIT();
DIRECTION();
sei();
while(1)
{
KEY_MODE();
}
}
이 소스는 atmega16 을이용한 bldc모터 구동소스입니다.
이대로 모터를 돌리면 그냥 돌아가기만 할뿐 피드백은 시키지 못합니다.
만약에 부하가 가해졌을 경우 그 오차를 피드백시켜서 듀티비로 보상해줘서
원래속도로 돌아가게끔 해야되는데 어떻게 고쳐야 할지를 모르겠네요...
(홀센서를 이용해서 속도를 측정한후 그오차값만큼 보상해줘야함)
조언 부탁드립니다.
관리자 답변
안녕하세요? 고객님,
저희 N.T.C를 이용하여 주셔서 감사합니다.
본사에서는 예전에 홀센서를 이용하여 반도체로 만든 IC가 있어서, 그 IC를 이용하여 모터의 회전 각도를 한바퀴에 1024 단계로 나누어서 알 수 있도록 만든
보드를 만든 적이 있습니다. AS5040이라는 칩이었는 데,
그런 칩을 이용하시던가, 홀센서를 이용하여, 돌아가는 펄스를 보고, 몇도 돌았는 지, 몇 바퀴를 돌았는 지, 세어 가면서 원래 위치보다 못돌아갔는 지를 알아내야 하겠구요. 그에 따라서, 적절히 프로그래밍 해야 할 겁니다.
뭐라고 답변해 드려야 할지 잘 모르겠지만, 일단, 그렇게 방향을 잡아서 하셔야 할 것 같습니다. 도움이 되기를 바랍니다. 다음에는 본명으로 질문하여 주시기 바랍니다.
감사합니다.
수고하세요.
>#include <avr/signal.h>
>#include <avr/pgmspace.h>
>#include <avr/io.h>
>#include <avr/signal.h>
>#include <avr/interrupt.h>
>#include <avr/delay.h>
>#include <avr/wdt.h>
>#include <avr/iom16.h>
>
>
>#define BYTE unsigned char
>#define WORD unsigned int
>#define IBYTE volatile BYTE
>
>//GLOVAL VARIABLES DEFINITION
>BYTE HALL_DATA,OLD_HALL_DATA,NEW_HALL_CNT; //HALL IC INPUT DATA
>BYTE CNT,RAMP_CNT; //TEMPORARY COUNT
>BYTE REF_DUTY,DUTY; //PWM DUTY VALUE
>IBYTE STA_CNT,STA_FLAG,TURN;
>IBYTE ERR_FLAG;
>IBYTE RUN_FLAG,DIR_FLAG,OLD_DIR_FLAG,OPEN_HALL_CNT;
>IBYTE TENMS,HUNMS;
>BYTE KEY_BUF,BKEY_BUF,KEY_DATA,BKEY_DATA;
>BYTE HALL_CNT,RUN_CNT,DIR_CNT,BRK_CNT;
>BYTE CNT_READ,OLD_CNT_READ,EX_HALL_CNT;
>
>BYTE SWITCH_DATA,RUN_DIRECTION,VR_DATA,RUN_CW;
>IBYTE TEMP_FLAG;
>
>
>
>void VAL_INIT(void);
>void IO_INIT(void);
>void PWM_INIT(void);
>void T0_INIT(void);
>void RUN_SEQ(void);
>void VOLT_START(void);
>void RUN_MODE(void);
>void STOP_MODE(void);
>void KEY_MODE(void);
>void HALL_SCAN(void);
>void DIRECTION(void);
>
>
>
>//========================= GLOVAL FUNCTIONS ==========================
>
>//-------------------- RUN_SEQ -------------------------------------
>void RUN_SEQ(void)
>{
> if(RUN_CW==1)
> {
> switch(SWITCH_DATA)
> {
> case 1:
> outp(0xDE, PORTC);
> break;
>
> case 2:
> outp(0xDD, PORTC);
> break;
>
> case 3:
> outp(0xF5, PORTC);
> break;
>
> case 4:
> outp(0xF3, PORTC);
> break;
>
> case 5:
> outp(0xEB, PORTC);
> break;
>
> case 6:
> outp(0xEE, PORTC);
> break;
> }
> }
> else if(RUN_CW==2)
> { switch(SWITCH_DATA)
> {
> case 1:
> outp(0xF3, PORTC);
> break;
>
> case 2:
> outp(0xEB, PORTC);
> break;
>
> case 3:
> outp(0xEE, PORTC);
> break;
>
> case 4:
> outp(0xDE, PORTC);
> break;
>
> case 5:
> outp(0xDD, PORTC);
> break;
>
> case 6:
> outp(0xF5, PORTC);
> break;
> }
> }
> else STOP_MODE();
>}
>
>
>//-------------------- IO_INIT -------------------------------------
>
>void IO_INIT(void)
>{
> outp(0X00, DDRA);
> outp(0x00, PORTA);
> outp(0x00, DDRB);
> outp(0x00, PORTB);
> outp(0xFF, DDRC);
> outp(0x00, PORTC);
> outp(0x20, DDRD);
> outp(0x20, PORTD);
>}
>
>
>//-------------------- PWM_INIT -------------------------------------
>
>void PWM_INIT(void)
>{
> outp(0xC1, TCCR1A);
> outp(0x01, TCCR1B);
> outp(0x00, TCNT1H);
> outp(0x00, TCNT1L);
> outp(0x00, OCR1AH);
> outp(0x00, OCR1AL);
>}
>
>
>//-------------------- STOP_MODE -------------------------------------
>
>void STOP_MODE(void)
>{
> cli();
> OCR1A=0;
> RUN_FLAG=0;
> //DUTY=0X00
> sei();
>}
>
>
>//-------------------- RUN_MODE -------------------------------------
>
>void RUN_MODE(void)
>{
> cli();
>
> sei();
>}
>
>
>//-------------------- T0_INIT -------------------------------------
>
>void T0_INIT(void)
>{
> outp(0x02, TCCR0);
> outp(-100,TCNT0);
> outp(0x01, TIMSK);
>}
>
>
>//-------------------- VAL_INIT -------------------------------------
>
>void VAL_INIT(void)
>{
> RUN_FLAG=0;
> HALL_DATA=0;
> SWITCH_DATA=0;
> KEY_DATA=0;
>
>}
>
>
>//-------------------- KEY_MODE -------------------------------------
>
>void KEY_MODE(void)
>{
> KEY_DATA=(inp(PINB)&0x03);
> switch(KEY_DATA)
> {
> case 1:
> RUN_FLAG=1;
> break;
>
> case 2:
> RUN_FLAG=0;
> break;
> }
>}
>
>
>//-------------------- HALL_SCAN -------------------------------------
>
>void HALL_SCAN(void)
>{
> HALL_DATA=(inp(PINA)&0xE0);
> switch(HALL_DATA)
> {
> case 0x80:
> SWITCH_DATA=1;
> break;
>
> case 0xC0:
> SWITCH_DATA=2;
> break;
>
> case 0x40:
> SWITCH_DATA=3;
> break;
>
> case 0x60:
> SWITCH_DATA=4;
> break;
>
> case 0x20:
> SWITCH_DATA=5;
> break;
>
> case 0xA0:
> SWITCH_DATA=6;
> break;
> }
>}
>
>
>//-------------------- AD_INIT -------------------------------------
>
>void AD_INIT(void)
>{
> outp(0x00,ADMUX);
> outp(0x00,ADCSR);
>}
>
>//-------------------- VR_ADC -------------------------------------
>/*
>void VR_ADC(void)
>{
> outp(0x00,ADMUX);
>
> outp(0xc5,ADCSR);
> // CLOCK/8
>}
>*/
>
>//-------------------- RUN_SEQ -------------------------------------
>
>void DIRECTION(void)
>{
> if(RUN_FLAG==0)
> {
> RUN_DIRECTION=(inp(PINB)&0x0C);
> switch(RUN_DIRECTION)
> {
> case 4:
> RUN_CW=1; //정회전
> break;
>
> case 8:
> RUN_CW=2; //역회전
> break;
> }
> }
> else
> {
> }
>}
>//======================= INTERRUPT ROUTINE PART =====================
>
>//------------------- TIMER0 OVERFLOW INTERRUPT SUBROUTINE -------------
>
>// TIMER FREQUENCY = 10KHz = 100uS
>SIGNAL(SIG_OVERFLOW0)
>{
> TCNT0=(-99);
>
> HALL_SCAN();
> RUN_SEQ();
> DIRECTION();
> if(RUN_FLAG==1)
> {
> /*VR_ADC();
> VR_DATA=(ADCL+ADCH*256)/4;
> //VR_DATA=256-VA_CAL;
> */
> if(DUTY>0xE5)
> {
> DUTY=0XE5;
> }
> else if(DUTY<0X19)
> {
> DUTY=0X19;
> }
> else OCR1A=DUTY;
>
>
> }
> else STOP_MODE();
>
>}
>
>
>//=======================* MAIN LOOP *==========================
>int main(void)
>{
> outp(0X02,MCUCR);
> outp(0X00,GIFR);
>
> IO_INIT();
> VAL_INIT();
> PWM_INIT();
> T0_INIT();
> AD_INIT();
> DIRECTION();
>
>
> sei();
>
> while(1)
> {
> KEY_MODE();
>
> }
>}
>
>
>이 소스는 atmega16 을이용한 bldc모터 구동소스입니다.
>이대로 모터를 돌리면 그냥 돌아가기만 할뿐 피드백은 시키지 못합니다.
>만약에 부하가 가해졌을 경우 그 오차를 피드백시켜서 듀티비로 보상해줘서
>원래속도로 돌아가게끔 해야되는데 어떻게 고쳐야 할지를 모르겠네요...
>(홀센서를 이용해서 속도를 측정한후 그오차값만큼 보상해줘야함)
>조언 부탁드립니다.
|
||||
| 2034 | 답변완료안녕하세요 질문사항 올립니다. | 대학생 | 2008-11-27 | 1,378 |
|
안녕하세요, ntc 관계자님.
ntc 부품을 통해 avr을 처음 접해본 대학생입니다.
다름이 아니고 제가 AB-M128-A atmega128 개발보드를 구입해서 사용하는데
이 atmega128에서 output 신호는 어느 단자로 나오나요?
포트 a,b,f가 있는데 a,b,f엔 이미 다른 센서들의 output 신호들이 연결되어
있습니다. (즉, 센서의 output을 받아서 avr 내의 코드에서 처리는 형태입니다.)
이 포트 a,b,f 로만 avr의 output signal 이 나오나요?
아니면 혹시 isp 커넥터 부분을 output으로 사용할 수 있나요?
이 avr에서 나오는 신호를 컴퓨터로 보내야하거든요;
질문을 요약해드리면,
1. 이 atmega128에서 output 신호는 어느 단자로 나오나요?
2. avr에서 나오는 output 신호를 다른 컴퓨터(데스크탑 혹은 랩탑)에서 받아서
처리하려면 어떻게 해야하나요?
3. 이 포트 a,b,f 로만 avr의 output signal 이 나오나요?
4. 포트 a,b,f 는 input, output의 역할을 모두 하는건가요?
5. 혹시 isp 커넥터 부분을 output으로 사용할 수 있나요?
이렇게 5가지가 되겠네요.
좋은 제품 편리하게 사용할 수 있어서 참 좋네요.
빠른 답변 부탁드립니다. 감사합니다. 안녕히 계세요.
관리자 답변
안녕하세요? 고객님,
저희 N.T.C 제품을 이용하여 주셔서 감사합니다.
우선, ATMEGA128의 모든 포트는 입력 출력이 모두 가능합니다.
그 중에서, AB-M128-A 보드는 A, B, F 포트만 10핀 커넥터로 뽑아 둔 것입니다.
옆에 빵판을 활용하여 회로를 꾸며서, 쓰시라고 나머지 포트는 못 뽑은 것이지만, 사실 C, D, E, G 포트는 밑에 면에 보면 납땜 면에서 떔해서 사용이 가능합니다.
즉, 출력이라고 말씀하신 것 중에서, 컴퓨터와 연결하려면, 모든 포트 중에서 한 포트를 프린터 포트를 통해서, 컴퓨터에서 입력 받을 수 있을 거구요.
아니면, 시리얼 포트 출력 중 MAX232를 거친 출력인 12V RS232C 레벨의 단자를 즉, 모듈의 3핀 UART 단자 말인데요. 그 단자를 SE-3T9 케이블을 이용하여 PC 쪽의 시리얼 포트에 연결하면 PC와 시리얼 통신이 가능합니다.
ISP 단자로도 물론 데이터를 주고 받을 수 있는 게, 그 핀들이 결국 포트선들과 기능을 공유하고 있거든요. 하지만, 그렇게 안쓰셔도 다른 포트들이 사용하기 좋게 10핀으로 나와 있으니 사용하시구요. 가능하면 시리얼 통신하시는 게 가장 편리할 거라고 생각됩니다.
질문하신 내용으로 볼 때, 거의 처음 접하시는 것 같은데요.
강좌->AVR 강좌를 통해서 이쪽에 관한 지식을 습득하시면 좀 더 이해가 빠르실 것 같습니다. 급하다고 기본적인 사항을 습득하지 않으면, 오히려 이상한 곳에서 더 많은 시간을 먹게 됩니다. 약간 돌아가는 것 같더라도, 공부해 가면서 하시는 것이 더 나을 것 같습니다. 네이버 까페에도 가입하시면, 보다 편리하게 사용하실 수 있을 것 같네요. cafe.naver.com/newtc 입니다.
다음에는 꼭 본명으로 질문해 주시기 바랍니다.
수고하세요.
>안녕하세요, ntc 관계자님.
>
>ntc 부품을 통해 avr을 처음 접해본 대학생입니다.
>
>다름이 아니고 제가 AB-M128-A atmega128 개발보드를 구입해서 사용하는데
>
>이 atmega128에서 output 신호는 어느 단자로 나오나요?
>
>포트 a,b,f가 있는데 a,b,f엔 이미 다른 센서들의 output 신호들이 연결되어
>
>있습니다. (즉, 센서의 output을 받아서 avr 내의 코드에서 처리는 형태입니다.)
>
>이 포트 a,b,f 로만 avr의 output signal 이 나오나요?
>
>아니면 혹시 isp 커넥터 부분을 output으로 사용할 수 있나요?
>
>이 avr에서 나오는 신호를 컴퓨터로 보내야하거든요;
>
>질문을 요약해드리면,
>
>1. 이 atmega128에서 output 신호는 어느 단자로 나오나요?
>
>2. avr에서 나오는 output 신호를 다른 컴퓨터(데스크탑 혹은 랩탑)에서 받아서
>
>처리하려면 어떻게 해야하나요?
>
>3. 이 포트 a,b,f 로만 avr의 output signal 이 나오나요?
>
>4. 포트 a,b,f 는 input, output의 역할을 모두 하는건가요?
>
>5. 혹시 isp 커넥터 부분을 output으로 사용할 수 있나요?
>
>이렇게 5가지가 되겠네요.
>
>좋은 제품 편리하게 사용할 수 있어서 참 좋네요.
>
>빠른 답변 부탁드립니다. 감사합니다. 안녕히 계세요.
|
||||
