Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 938 | 답변완료USB ISP 드라이버 다운로드 | 김근식 | 2008-04-23 | 2,562 |
|
안녕하세요?
귀사의 USB-ISP케이블을 몇일전에 구입하였습니다.
그래서 귀사의 홈페이지 자료실에서 USBISP 드라이버를 다운받으려고 하면
약 99%지점에서 저장이 되지 않고 팝업창으로 파일항목을 복사할 수 없습니다. 원본 파일이나 드스크에서 읽을 수 없습니다. 라는 메시지가 나옵니다.
아울러 실행버튼을 눌러도 아무런 반응이 일어나지 않습니다.
답을 주세요.
관리자 답변
안녕하세요? 고객님,
다시 한 번 첨부 파일을 다운받아 보시겠습니까?
안되시면, 이메일 남겨 주시면 보내드리겠습니다
감사합니다.
>안녕하세요?
>
>귀사의 USB-ISP케이블을 몇일전에 구입하였습니다.
>
>그래서 귀사의 홈페이지 자료실에서 USBISP 드라이버를 다운받으려고 하면
>약 99%지점에서 저장이 되지 않고 팝업창으로 파일항목을 복사할 수 없습니다. 원본 파일이나 드스크에서 읽을 수 없습니다. 라는 메시지가 나옵니다.
>
>아울러 실행버튼을 눌러도 아무런 반응이 일어나지 않습니다.
>
>답을 주세요.
>
|
||||
| 937 | 답변완료atmega16개발보드에서 문제가 | 최성근 | 2008-04-22 | 1,725 |
|
코드비젼으로 코딩을 하는데요
언제부터인가 PORTC에서 2,3,4,5 가 작동을 안하네요
led로 시험해보니 다른 포트는 잘 되는데...
이럴땐 어느것을 살펴야 하나요
보드의 문제인지 아니면 isp세팅인지
답변부탁합니다.
관리자 답변
고객님 안녕하세요?
우선, 코드비전에서 퓨즈를 첨부파일과 같이 셋팅되어 있는 지 확인하시고,
테스트 소스로 테스트 해 보시기 바랍니다.
라이팅이 된다면 ISP 문제는 아닌 것 같구요.
퓨즈를 첨부와 같이 바꾼 후 테스트 해서, 같은 결과라면 CPU가 망가졌을 것 같습니다. 그 경우 CPU만 교체하시면 됩니다.
감사합니다.
>코드비젼으로 코딩을 하는데요
>언제부터인가 PORTC에서 2,3,4,5 가 작동을 안하네요
>led로 시험해보니 다른 포트는 잘 되는데...
>이럴땐 어느것을 살펴야 하나요
>보드의 문제인지 아니면 isp세팅인지
>답변부탁합니다.
|
||||
| 936 | 답변완료winavr 버젼은 다운시켰는데 또 다른 에러가~ | 김준구 | 2008-04-22 | 1,862 |
|
winavr이라서 avr studio. 버전이랑 어떻게 맞는지 몰라서 winavr 프로그램을 버전 다운 시켜서 설치 했습니다.
위 오류는 안나는데 다음 오류가 나네요~
Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \\
--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
c:\\WinAV\\bin\\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega128 -P com5 -c stk500 -U flash:w:main.hex
make.exe: *** [program] Error -1073741515
이것도 버젼 관련 문제 입니까?
전 winavr을 가지고 컴파일과 라이팅까지 모두 하는데..
이 프로그램은 지원이 안되는 건가요~?
관리자 답변
안녕하세요? 고객님,
현재 저희 USBISP는 프로그램 다운로드와 퓨즈 셋팅만 가능합니다.
EEPROM 리드 라이트는 제공하고 있지 않습니다.
죄송합니다. 좀 더 나은 제품을 만들고자 노력하고 있습니다.
- 에러 2 -
1. 에러메시지 :
내부 EEPROM에 리드 라이트가 되지 않음.
2. 조치법 :
1) 처음 설계시 고려되지 않은 부분으로 향후 업그레이드 예정입니다.
업그레이드 되면 공지하도록 하겠습니다.
감사합니다.
>winavr이라서 avr studio. 버전이랑 어떻게 맞는지 몰라서 winavr 프로그램을 버전 다운 시켜서 설치 했습니다.
>위 오류는 안나는데 다음 오류가 나네요~
>
>Creating load file for EEPROM: main.eep
>avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \\
>--change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
>c:\\WinAV\\bin\\avr-objcopy.exe: there are no sections to be copied!
>avrdude -p atmega128 -P com5 -c stk500 -U flash:w:main.hex
>make.exe: *** [program] Error -1073741515
>
>이것도 버젼 관련 문제 입니까?
>전 winavr을 가지고 컴파일과 라이팅까지 모두 하는데..
>이 프로그램은 지원이 안되는 건가요~?
|
||||
| 935 | 답변완료isp 다운로드가 안됩니다. | 김준구 | 2008-04-22 | 2,243 |
|
안녕하세요~
winavr 을 사용하여 m파일을 만들어서 컴파일을 했습니다.
make all을 하고 program을 하니까 에러가 납니다.
> "make.exe" program
avrdude -p atmega128 -P com5 -c stk500 -U flash:w:main.hex
avrdude: stk500_getsync(): not in sync: resp=0xf8
avrdude: successfully opened stk500v2 device -- please use -c stk500v2
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.06s
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
make.exe: *** [program] Error 1
> Process Exit Code: 2
> Time Taken: 00:13
이상이 에러 파일 입니다. 다른건 설치한게 없구요~
전원은 구입한 isp의 스위치를 조작하여 usb로 전원을 넣었습니다.
현재 5개 이상 구매했는데...모두 같은 현상입니다.
그리고 외부 OSC의 클럭을 보려 했는데 안나오더군요~
어떻게 보는 건가요? 위 문제의 해결 방안은 무엇인가요~?
관리자 답변
안녕하세요? 고객님,
저희 뉴테크놀로지 컴패니 제품을 이용하여 주셔서 감사드립니다.
문맥상 현재 저희 회사 USBISP를 사용중이신 것 같군요.
제 생각에는 AVR Studio 버전을 확인해 보시기 바랍니다.
현재 저희 USBISP는 4.13 서비스팩 1까지만 지원하고 있습니다.
그 이상은 아직 지원하지 않습니다.
빠른 시간 내에 상위 버전도 지원하도록 하려고 노력하겠습니다.
서비스팩이 2인지 1인지 확인해 보시고, 2이시라면 다운그래이딩 해서 쓰시면 됩니다.
감사합니다.
>안녕하세요~
>winavr 을 사용하여 m파일을 만들어서 컴파일을 했습니다.
>make all을 하고 program을 하니까 에러가 납니다.
>
>> "make.exe" program
>avrdude -p atmega128 -P com5 -c stk500 -U flash:w:main.hex
>avrdude: stk500_getsync(): not in sync: resp=0xf8
>avrdude: successfully opened stk500v2 device -- please use -c stk500v2
>
>avrdude: AVR device initialized and ready to accept instructions
>
>Reading | ################################################## | 100% 0.06s
>
>avrdude: Device signature = 0x000000
>avrdude: Yikes! Invalid device signature.
> Double check connections and try again, or use -F to override
> this check.
>
>
>avrdude done. Thank you.
>
>make.exe: *** [program] Error 1
>
>> Process Exit Code: 2
>> Time Taken: 00:13
>
>이상이 에러 파일 입니다. 다른건 설치한게 없구요~
>전원은 구입한 isp의 스위치를 조작하여 usb로 전원을 넣었습니다.
>현재 5개 이상 구매했는데...모두 같은 현상입니다.
>그리고 외부 OSC의 클럭을 보려 했는데 안나오더군요~
>어떻게 보는 건가요? 위 문제의 해결 방안은 무엇인가요~?
|
||||
| 934 | 답변완료32bit AVR도 지원이 가능한지요 ? | 윤영준 | 2008-04-21 | 1,781 |
|
안녕하십니까
USB JTAG을 구입하고자 하는데, 사용목적은 AVR32 Studio 2.0에서 사용하고자
함입니다. 즉, AVR32 칩에 프로그램을 다운로드 하고자 하는 것입니다.
AVR32 Studio 2.0에서도 사용이 가능한지요,
혹시 사용이 가능하다면, Download 외에 debugging도 지원이 되는지요 ?
감사합니다.
관리자 답변
안녕하세요? 고객님,
AVR32 칩에는 jtagice는 지원하지 않습니다.
다만, jtagice mk-ii는 지원합니다.
현재 저희 제품 중에는 AD-JTAG는 JTAGICE 입니다.
그러므로, avr32에서는 지원되지 않습니다.
앞으로, 후에 avr32에서도 지원할 수 있도록 노력하겠습니다.
감사합니다.
>안녕하십니까
>
>USB JTAG을 구입하고자 하는데, 사용목적은 AVR32 Studio 2.0에서 사용하고자
>함입니다. 즉, AVR32 칩에 프로그램을 다운로드 하고자 하는 것입니다.
>
>AVR32 Studio 2.0에서도 사용이 가능한지요,
>혹시 사용이 가능하다면, Download 외에 debugging도 지원이 되는지요 ?
>
>감사합니다.
>
|
||||
| 933 | 답변완료강좌 및 자료 다운로드가 안돼요... | 강희진 | 2008-04-21 | 1,804 |
|
공지사항으로 올려 놓으신 링크를 그대로 사용해도 다운로드가 되질 않네요...
다른 방법으로 다운받을 수 있는 방법은 없을까요??
엘러파트에서 몇가지 귀사제품을 구입하여 공부하고 있는데, 제가 CD를 잃어버려서 급합니다.
부탁드립니다.
관리자 답변
안녕하세요? 고객님,
공지사항으로 올려놓은 링크도 사용이 되지 않는 다면, 그것은
고객님 IP 공유기 설정문제 같습니다.
다른 PC에서 다운하여 사용하시기 바랍니다.
감사합니다.
>공지사항으로 올려 놓으신 링크를 그대로 사용해도 다운로드가 되질 않네요...
>
>다른 방법으로 다운받을 수 있는 방법은 없을까요??
>
>엘러파트에서 몇가지 귀사제품을 구입하여 공부하고 있는데, 제가 CD를 잃어버려서 급합니다.
>
>부탁드립니다.
|
||||
| 932 | 답변완료usb-isp 문제 | 이종혁 | 2008-04-21 | 1,972 |
|
아래 문제와 동일한 상황이 발생되고 있는데요...(성함이 저랑 비슷하네요.^^)
저는 크랙버젼이 아닌걸로 알고 있습니다.(예전부터 있던 건데..
라이센스 파일이 있어서 정품으로 판단되여..라이센스 연장은 안한 상태이구요..^^)
버젼은 1.24.0입니다.
확인해 주십시오...
아래와 마찬가지로 평가판으로는 다운로드가 되더라구요...
관리자 답변
안녕하세요? 고객님,
코드비전 자체가 USBISP용 프로토콜인 STK500에 대해서,
예전버전에서 지원되지 않는 부분이 코드비전 컴파일러 제조사인
HPINFOTECH에서 밝히고 있습니다. 아래 링크를 참고하시구요.
따라서, V1.24.6 Commercial Release 이상 버전에서 STK500 프로토콜을 이용하여 USBISP로 프로그램 라이트가 가능하시구요. 링크를 찾아보면, V1.24.7F는 주파수가 일부 셋팅되지 않는 버그가 있는 것으로 확인하실 수 있구요. 그래서, V1.24.7F 도 지원되지 않습니다. 그 버전을 제외한 V1.24.6 버전 이상을 구하셔서 사용하셔야 할 것 같습니다.
- 아래 -
http://www.hpinfotech.ro/html/cvavr_history.htm
고객님의 버전은 예전 버전이라 코드비전 자체에서 지원되지 않는 부분으로 확인되었습니다. 버전을 업그레이드 하여 사용하시기 바랍니다.
감사합니다.
>아래 문제와 동일한 상황이 발생되고 있는데요...(성함이 저랑 비슷하네요.^^)
>
>저는 크랙버젼이 아닌걸로 알고 있습니다.(예전부터 있던 건데..
>
>라이센스 파일이 있어서 정품으로 판단되여..라이센스 연장은 안한 상태이구요..^^)
>
>버젼은 1.24.0입니다.
>
>확인해 주십시오...
>
>아래와 마찬가지로 평가판으로는 다운로드가 되더라구요...
>
>
|
||||
| 931 | 답변완료기술지원 일정 문의 | 준준 | 2018-11-05 | 1,841 |
|
안녕하세요.
친절한 답변에 감사드립니다.
고객지원 질문답변 '21031번 기술지원 및 개발 문의' 제목으로 문의드렸습니다.
(http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m52&wr_id=130016)
답변 주신 내용을 바탕으로 방문하여 기술지원을 위해 A/S부서에 연락결과, 이르면 11월8일부터 기술지원이 가능하고, 자세한 일정 조율을 위하여 질문답변 게시판에 일정을 문의하라고 하시어 문의드립니다.
8일 이전이라도 가능하시면 가능한 한 일정을 앞당겨서 지원을 받고 싶습니다.
이에 일정문의 드립니다.
감사합니다.
관리자 답변
안녕하세요 고객님.
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
기술 지원 시 후불로 진행되며, 기술지원은 오전 9시 ~ 오후 2시(점심시간 12시부터 1시는 제외)로 제한되어있습니다. 오후에는 제품 출고때문에 담당자가 시간을 많이 못써드린다는 점 이해 부탁드립니다.
시간이 많이 걸릴 경우에 아침 9시이후에 오시는걸 권해드립니다.
일정의 경우 다시 답변달아드리겠습니다.
감사합니다.
>
>
> 안녕하세요.
> 친절한 답변에 감사드립니다.
>
> 고객지원 질문답변 '21031번 기술지원 및 개발 문의' 제목으로 문의드렸습니다.
> (http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m52&wr_id=130016)
>
> 답변 주신 내용을 바탕으로 방문하여 기술지원을 위해 A/S부서에 연락결과, 이르면 11월8일부터 기술지원이 가능하고, 자세한 일정 조율을 위하여 질문답변 게시판에 일정을 문의하라고 하시어 문의드립니다.
>
> 8일 이전이라도 가능하시면 가능한 한 일정을 앞당겨서 지원을 받고 싶습니다.
> 이에 일정문의 드립니다.
>
> 감사합니다.
>
|
||||
| 930 | 답변완료DC 기어드 모터 SE-DM185 분해능 질문 | 이대로 | 2018-11-02 | 1,888 |
|
SE-DM185에 장착된 엔코더는 분해능이 얼마인가요?
관리자 답변
안녕하세요? 고객님,
아래 링크를 참고하시기 바랍니다.
http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m41&wr_id=1041&sca=&sfl=wr_subject%7C%7Cwr_content&stx=엔코더&sop=and
감사합니다.
>
>
> SE-DM185에 장착된 엔코더는 분해능이 얼마인가요?
>
|
||||
| 929 | 답변완료AM-128-Pro를 대체한 AT90CAN128 제작 보드 구매 건 | 이태영 | 2018-11-07 | 1,724 |
|
안녕하세요.
저도 AM-128-Pro를 가지고 있는데 Can통신 기능이 필요합니다. AM-128-Pro를 대체한 AT90CAN128 MCU로 제작한 보드가 있다고 질문답변에서 봤는데 구매할 수 있을까요?
자료 첨부합니다.
감사합니다.
관리자 답변
안녕하세요 고객님.
저희 뉴티씨 제품을 이용하여주셔서 감사합니다.
AT90CAN128 MCU로 만들어진 AM-128모델의 경우,
http://newtc.co.kr/dpshop/shop/item.php?it_id=1314599835
위 판매페이지 링크에 들어가셔서, 종류를 AM-128CANPRO 로 선택하셔서
구매해주시면 됩니다.
현재 본사에 재고는 5개가 있어서, 5개만 구매가 가능하시며,
수량이 더 필요하실 경우 본사로 연락 부탁드립니다.
감사합니다.
>
>
> 안녕하세요.
>
> 저도 AM-128-Pro를 가지고 있는데 Can통신 기능이 필요합니다. AM-128-Pro를 대체한 AT90CAN128 MCU로 제작한 보드가 있다고 질문답변에서 봤는데 구매할 수 있을까요?
>
> 자료 첨부합니다.
>
> 감사합니다.
>
|
||||
| 928 | 답변완료JTAG 연결 불가 | 정재형 | 2018-11-12 | 2,126 |
|
사용 제품 : AVR용 USB-JTAG
사용 MCU : ATmega128A
사 용 툴 : AVR stuido 4.19
증 상 : The OCD JTAG adapter was detected, but the target device did not return a valid JTAG ID. Please check the points below and click retry. Read the online help for more information.
- Check that the JTAG ICE is properly connected to the target device
- Check that the JTAGEN fuse of the target device is programmed
- In case the existing application code programmed into the device disables the JTAG interface,
select the check box below to activate external reset upon connect.
- In case the target device is part of a dasiy chain, click the button below to set the proper settings.
이전까지는 잘 동작이 되었으나
퓨즈비트 세팅을 JTAGEN 체크, EESAVE 체크를 하여 Program버튼을 누르고 난뒤 부터 위 증상이 나타나였습니다. ISP는 연결을 못합니다 퓨즈비트를 다시 세팅할려고 해도 위 증상이 나타나서 안됩니다.
퓨즈비트를 다른곳에서 세팅을 할 수 있는 방법이 있습니까? (외부 크리스탈을 이용한 인공호흡 방법은 여견이 안되서 못합니다)
증상과 퓨즈비트 세팅 한거에 대해 이미지를 올립니다.
관리자 답변
안녕하세요, 뉴티씨입니다. 문의 내용 확인하였습니다. 추가 문의사항은 [email protected] 또는 02-704-4774로 연락 주시기 바랍니다. 감사합니다.
|
||||
| 927 | 답변완료[기술지원 후 추가문의]스텝모터 속도조절 및 시간차 회전 | 준준 | 2018-11-13 | 1,955 |
|
안녕하세요.
며칠전 부품구매 후 기술지원 받았는데 많은 도움이 되었습니다. 감사합니다.
다름이 아니라, 지원받은 내용으로 수정을 하다가 한 두가지 해결 못한 점이 있어서 문의드립니다.
1. 현재의 소스코드에서 스텝모터의 속도를 조절하려면 어느요소를 변경 또는 추가해야하는지
2. 현재의 소스코드는 PORTC -> PORTB -> PORTD -> PORTE의 스텝모터가 차례대로 회전하고 멈추고를 반복하는데, 이를 PORTC가 회전이 끝나기 2초전에(시간 조절 가능) 다음 포트인 PORTB가 회전시작하고, 마찬가지로 PORTB가 회전이 끝나기 2초전 PORTD가 회전하는 식으로 하려면 어떻게 해야하는지 문의드립니다. (이외의 기능은 현재와 동일함)
아래 코드에서 단순히 delay 값을 주지 않는 것만으로는 안되는 것 같습니다.
간단한 소스코드의 수정이면 답변 부탁드립니다.
혹시라도 기술지원으로만 가능하시면 방문하도록 하겠습니다.
전체 소스코드가 .txt 형식으로 첨부가 되지않아 본문에 작성하오니 양해부탁드립니다.
감사합니다.
// S/W Environment : AVR Studio + WINAVR Compiler
// Target : M128
// Crystal: 16MHz
//
// Made by NEWTC Co., Ltd. in Korea.
// DAEWOO RYU
// Email : [email protected]
// +82-2-704-4774(TEL), +82-2-704-4733(FAX)
// http://www.newtc.co.kr
// example : MS2 unipolar stepping motor microstep controller test with timer
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdio.h>
#define MOTOR_PORT PORTC // 스테핑 모터 연결 포트
#define MOTOR_PORT_DDR DDRC // 스테핑 모터 연결 포트의 DDR REG
#define MOTOR_PORT2 PORTB // 스테핑 모터 연결 포트
#define MOTOR_PORT_DDR2 DDRB // 스테핑 모터 연결 포트의 DDR REG
#define MOTOR_PORT3 PORTD // 스테핑 모터 연결 포트 //PORTD 추가 181111
#define MOTOR_PORT_DDR3 DDRD // 스테핑 모터 연결 포트의 DDR REG //PORTD 추가 181111
#define MOTOR_PORT4 PORTE // 스테핑 모터 연결 포트 //PORTE 추가 181111
#define MOTOR_PORT_DDR4 DDRE // 스테핑 모터 연결 포트의 DDR REG //PORTE 추가 181111
#define MOTOR_ENABLE (MOTOR_PORT = MOTOR_PORT|0x80)
#define MOTOR_DISABLE (MOTOR_PORT = MOTOR_PORT&0x7f)
#define MOTOR_STEP_M0 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x00)
#define MOTOR_STEP_M1 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x10)
#define MOTOR_STEP_M2 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x20)
#define MOTOR_STEP_M3 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x30)
#define MOTOR_LEFT_CLK (MOTOR_PORT = MOTOR_PORT^0x01)
#define MOTOR_RIGHT_CLK (MOTOR_PORT = MOTOR_PORT^0x04)
#define MOTOR_LEFT_CW (MOTOR_PORT = MOTOR_PORT&0xfd)
#define MOTOR_LEFT_CCW (MOTOR_PORT = MOTOR_PORT|0x02)
#define MOTOR_RIGHT_CW (MOTOR_PORT = MOTOR_PORT&0xf7)
#define MOTOR_RIGHT_CCW (MOTOR_PORT = MOTOR_PORT|0x08)
#define MOTOR_ENABLE_2 (MOTOR_PORT2 = MOTOR_PORT2|0x80)
#define MOTOR_DISABLE_2 (MOTOR_PORT2 = MOTOR_PORT2&0x7f)
#define MOTOR_STEP_M0_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x00)
#define MOTOR_STEP_M1_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x10)
#define MOTOR_STEP_M2_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x20)
#define MOTOR_STEP_M3_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x30)
#define MOTOR_LEFT_CLK_2 (MOTOR_PORT2 = MOTOR_PORT2^0x01)
#define MOTOR_RIGHT_CLK_2 (MOTOR_PORT2 = MOTOR_PORT2^0x04)
#define MOTOR_LEFT_CW_2 (MOTOR_PORT2 = MOTOR_PORT2&0xfd)
#define MOTOR_LEFT_CCW_2 (MOTOR_PORT2 = MOTOR_PORT2|0x02)
#define MOTOR_RIGHT_CW_2 (MOTOR_PORT2 = MOTOR_PORT2&0xf7)
#define MOTOR_RIGHT_CCW_2 (MOTOR_PORT2 = MOTOR_PORT2|0x08)
/********************* PORTD 추가 181111 시작****************************/
#define MOTOR_ENABLE_3 (MOTOR_PORT3 = MOTOR_PORT3|0x80)
#define MOTOR_DISABLE_3 (MOTOR_PORT3 = MOTOR_PORT3&0x7f)
#define MOTOR_STEP_M0_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x00)
#define MOTOR_STEP_M1_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x10)
#define MOTOR_STEP_M2_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x20)
#define MOTOR_STEP_M3_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x30)
#define MOTOR_LEFT_CLK_3 (MOTOR_PORT3 = MOTOR_PORT3^0x01)
#define MOTOR_RIGHT_CLK_3 (MOTOR_PORT3 = MOTOR_PORT3^0x04)
#define MOTOR_LEFT_CW_3 (MOTOR_PORT3 = MOTOR_PORT3&0xfd)
#define MOTOR_LEFT_CCW_3 (MOTOR_PORT3 = MOTOR_PORT3|0x02)
#define MOTOR_RIGHT_CW_3 (MOTOR_PORT3 = MOTOR_PORT3&0xf7)
#define MOTOR_RIGHT_CCW_3 (MOTOR_PORT3 = MOTOR_PORT3|0x08)
/********************* PORTD 추가 181111 끝 *****************************/
/********************* PORTE 추가 181111 시작****************************/
#define MOTOR_ENABLE_4 (MOTOR_PORT4 = MOTOR_PORT4|0x80)
#define MOTOR_DISABLE_4 (MOTOR_PORT4 = MOTOR_PORT4&0x7f)
#define MOTOR_STEP_M0_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x00)
#define MOTOR_STEP_M1_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x10)
#define MOTOR_STEP_M2_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x20)
#define MOTOR_STEP_M3_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x30)
#define MOTOR_LEFT_CLK_4 (MOTOR_PORT4 = MOTOR_PORT4^0x01)
#define MOTOR_RIGHT_CLK_4 (MOTOR_PORT4 = MOTOR_PORT4^0x04)
#define MOTOR_LEFT_CW_4 (MOTOR_PORT4 = MOTOR_PORT4&0xfd)
#define MOTOR_LEFT_CCW_4 (MOTOR_PORT4 = MOTOR_PORT4|0x02)
#define MOTOR_RIGHT_CW_4 (MOTOR_PORT4 = MOTOR_PORT4&0xf7)
#define MOTOR_RIGHT_CCW_4 (MOTOR_PORT4 = MOTOR_PORT4|0x08)
/********************* PORTE 추가 181111 끝 *****************************/
volatile unsigned int ti;
volatile char stop_flag;
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0xff;
PORTC = 0x00; //m103 output only
DDRC = 0xff;
PORTD = 0x00;
DDRD = 0xff;
PORTE = 0x00;
DDRE = 0xff; //0x00 에서 0xff로 변경 181111
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
//TIMER0 initialize - prescale:8
// WGM: Normal
// desired value: 10KHz
// actual value: 10.000KHz (0.0%)
void timer0_init(void)
{
TCCR0 = 0x00; //stop
ASSR = 0x00; //set async mode
TCNT0 = 0x83; //set count
OCR0 = 0x7D;
TCCR0 = 0x03; //start timer
}
ISR(TIMER0_OVF_vect)
{
TCNT0 = 0x38; //reload counter value
MOTOR_LEFT_CLK;
MOTOR_RIGHT_CLK;
MOTOR_LEFT_CLK_2;
MOTOR_RIGHT_CLK_2;
/************181111 추가 시작************/
MOTOR_LEFT_CLK_3;
MOTOR_RIGHT_CLK_3;
MOTOR_LEFT_CLK_4;
MOTOR_RIGHT_CLK_4;
/************181111 추가 끝*************/
if(PINA == 0x02) {
stop_flag = 1;
}
if(++ti>=10000)
{
ti=0;
PORTG^=0x03;
}
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
cli(); //disable all interrupts
XMCRA = 0x00; //external memory
XMCRB = 0x00; //external memory
port_init();
timer0_init();
MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x01; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
sei(); //re-enable interrupts
//all peripherals are now initialized
}
void delay(int n)
{
volatile int i,j;
for(i=1;i<n;i++)
{
for(j=1;j<600;j++);
}
}
/******* motor_disable_a function start********/
void motor_disable_a() {
MOTOR_DISABLE;
//MOTOR_DISABLE_2;
//MOTOR_DISABLE_3; //181111 추가
//MOTOR_DISABLE_4; //181111 추가
}
void motor_disable_a2() {
MOTOR_DISABLE_2;
}
void motor_disable_a3() {
MOTOR_DISABLE_3; //181111 추가
}
void motor_disable_a4() {
MOTOR_DISABLE_4; //181111 추가
}
/******* motor_disable_a function end********/
/******* motor_enable_a function start ********/
void motor_enable_a() {
MOTOR_ENABLE;
//MOTOR_ENABLE_2;
//MOTOR_ENABLE_3; //181111 추가
//MOTOR_ENABLE_4; //181111 추가
}
void motor_enable_a2() {
MOTOR_ENABLE_2;
}
void motor_enable_a3() {
MOTOR_ENABLE_3; //181111 추가
}
void motor_enable_a4() {
MOTOR_ENABLE_4; //181111 추가
}
/******* motor_enable_a function end ********/
/******* motor_cw_a function start ********/
void motor_cw_a() {
MOTOR_LEFT_CW;
MOTOR_RIGHT_CW;
//MOTOR_LEFT_CW_2;
//MOTOR_RIGHT_CW_2;
//MOTOR_LEFT_CW_3; //181111 추가
//MOTOR_RIGHT_CW_3; //181111 추가
//MOTOR_LEFT_CW_4; //181111 추가
//MOTOR_RIGHT_CW_4; //181111 추가
}
void motor_cw_a2() {
MOTOR_LEFT_CW_2;
MOTOR_RIGHT_CW_2;
}
void motor_cw_a3() {
MOTOR_LEFT_CW_3; //181111 추가
MOTOR_RIGHT_CW_3; //181111 추가
}
void motor_cw_a4() {
MOTOR_LEFT_CW_4; //181111 추가
MOTOR_RIGHT_CW_4; //181111 추가
}
/******* motor_cw_a function end ********/
/******* motor_ccw_a function start ********/
void motor_ccw_a() {
MOTOR_LEFT_CCW;
MOTOR_RIGHT_CCW;
}
void motor_ccw_a2() {
MOTOR_LEFT_CCW_2;
MOTOR_RIGHT_CCW_2;
}
void motor_ccw_a3() {
MOTOR_LEFT_CCW_3; //181111 추가
MOTOR_RIGHT_CCW_3; //181111 추가
}
void motor_ccw_a4() {
MOTOR_LEFT_CCW_4; //181111 추가
MOTOR_RIGHT_CCW_4; //181111 추가
}
/******* motor_ccw_a function end ********/
int main(void)
{
//volatile unsigned char step=0;
int keyin = 0;
init_devices();
stop_flag = 0;
MOTOR_PORT_DDR = 0xff;
MOTOR_PORT_DDR2 = 0xff;
MOTOR_PORT_DDR3 = 0xff; //181111 추가
MOTOR_PORT_DDR4 = 0xff; //181111 추가
MOTOR_DISABLE;
MOTOR_STEP_M0;
MOTOR_DISABLE_2;
MOTOR_STEP_M0_2;
MOTOR_DISABLE_3; //181111 추가
MOTOR_STEP_M0_3; //181111 추가
MOTOR_DISABLE_4; //181111 추가
MOTOR_STEP_M0_4; //181111 추가
PORTG=0x01;
while(1){
if(PINA != 0x00){
keyin = PINA;
}
else keyin=0;
switch(keyin){
case 1 :
while(1) {
/*********PORTC MOTOR start**********/
motor_enable_a();
motor_cw_a();
_delay_ms(7000); //cw회전 시간
motor_disable_a();
_delay_ms(2000); //cw회전 후 정지시간
/*********PORTB MOTOR start**********/
motor_enable_a2();
motor_cw_a2();
_delay_ms(5000); //cw회전 시간
motor_disable_a2();
_delay_ms(2000); //cw회전 후 정지시간
/*********PORTD MOTOR start**********/
motor_enable_a3();
motor_cw_a3();
_delay_ms(4000); //cw회전 시간
motor_disable_a3();
_delay_ms(2000); //cw회전 후 정지시간
/*********PORTE MOTOR start**********/
motor_enable_a4();
motor_cw_a4();
_delay_ms(2000); //cw회전 시간
motor_disable_a4();
_delay_ms(2000); //cw회전 후 정지시간
motor_enable_a4();
motor_ccw_a4();
_delay_ms(2000); //ccw 회전시간
motor_disable_a4();
_delay_ms(2000); //ccw 회전 후 정지시간
/*********PORTE MOTOR end**********/
motor_enable_a3();
motor_ccw_a3();
_delay_ms(4000); //ccw 회전시간
motor_disable_a3();
_delay_ms(2000); //ccw 회전 후 정지시간
/*********PORTD MOTOR end**********/
motor_enable_a2();
motor_ccw_a2();
_delay_ms(5000); //ccw 회전시간
motor_disable_a2();
_delay_ms(2000); //ccw 회전 후 정지시간
/*********PORTB MOTOR end**********/
motor_enable_a();
motor_ccw_a();
_delay_ms(7000); //ccw 회전시간
motor_disable_a();
_delay_ms(2000); //ccw 회전 후 정지시간
/*********PORTC MOTOR end**********/
if(stop_flag == 1) {
stop_flag = 0;
break;
}
}
break;
case 2 :
MOTOR_LEFT_CCW;
MOTOR_RIGHT_CCW;
break;
case 4 : PORTG = 0x02;
printf("3");
delay(300);
break;
case 8 : PORTG = 0x03;
printf("4");
delay(300);
break;
case 16 : PORTG = 0x00;
printf("5");
delay(300);
break;
case 32 : PORTG = 0x01;
printf("6");
delay(300);
break;
case 64: PORTG = 0x02;
printf("7");
delay(300);
break;
case 128 : PORTG = 0x03;
printf("8");
delay(300);
break;
}
}
return 0;
}
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 기술지원을 이용하여 주셔서 감사합니다.
아무래도 프로그램 수정은 기술지원으로 하셔야 할 듯 합니다.
말로해서 확실하지도 않고, 동작이 보장되지도 않기 때문에, 보면서 직접 해야 합니다.
지난번처럼 본사와 스케쥴 맞추셔서 진행하시면 되겠습니다.
감사합니다.
>
>
> 안녕하세요.
> 며칠전 부품구매 후 기술지원 받았는데 많은 도움이 되었습니다. 감사합니다.
>
> 다름이 아니라, 지원받은 내용으로 수정을 하다가 한 두가지 해결 못한 점이 있어서 문의드립니다.
>
>
> 1. 현재의 소스코드에서 스텝모터의 속도를 조절하려면 어느요소를 변경 또는 추가해야하는지
>
> 2. 현재의 소스코드는 PORTC -> PORTB -> PORTD -> PORTE의 스텝모터가 차례대로 회전하고 멈추고를 반복하는데, 이를 PORTC가 회전이 끝나기 2초전에(시간 조절 가능) 다음 포트인 PORTB가 회전시작하고, 마찬가지로 PORTB가 회전이 끝나기 2초전 PORTD가 회전하는 식으로 하려면 어떻게 해야하는지 문의드립니다. (이외의 기능은 현재와 동일함)
>
> 아래 코드에서 단순히 delay 값을 주지 않는 것만으로는 안되는 것 같습니다.
> 간단한 소스코드의 수정이면 답변 부탁드립니다.
> 혹시라도 기술지원으로만 가능하시면 방문하도록 하겠습니다.
> 전체 소스코드가 .txt 형식으로 첨부가 되지않아 본문에 작성하오니 양해부탁드립니다.
>
> 감사합니다.
>
>
> // S/W Environment : AVR Studio + WINAVR Compiler
> // Target : M128
> // Crystal: 16MHz
> //
> // Made by NEWTC Co., Ltd. in Korea.
> // DAEWOO RYU
> // Email : [email protected]
> // +82-2-704-4774(TEL), +82-2-704-4733(FAX)
> // http://www.newtc.co.kr
> // example : MS2 unipolar stepping motor microstep controller test with timer
>
>
> #include <avr/io.h>
> #include <util/delay.h>
> #include <avr/interrupt.h>
> #include <stdio.h>
>
> #define MOTOR_PORT PORTC // 스테핑 모터 연결 포트
> #define MOTOR_PORT_DDR DDRC // 스테핑 모터 연결 포트의 DDR REG
> #define MOTOR_PORT2 PORTB // 스테핑 모터 연결 포트
> #define MOTOR_PORT_DDR2 DDRB // 스테핑 모터 연결 포트의 DDR REG
>
> #define MOTOR_PORT3 PORTD // 스테핑 모터 연결 포트 //PORTD 추가 181111
> #define MOTOR_PORT_DDR3 DDRD // 스테핑 모터 연결 포트의 DDR REG //PORTD 추가 181111
> #define MOTOR_PORT4 PORTE // 스테핑 모터 연결 포트 //PORTE 추가 181111
> #define MOTOR_PORT_DDR4 DDRE // 스테핑 모터 연결 포트의 DDR REG //PORTE 추가 181111
>
>
> #define MOTOR_ENABLE (MOTOR_PORT = MOTOR_PORT|0x80)
> #define MOTOR_DISABLE (MOTOR_PORT = MOTOR_PORT&0x7f)
> #define MOTOR_STEP_M0 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x00)
> #define MOTOR_STEP_M1 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x10)
> #define MOTOR_STEP_M2 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x20)
> #define MOTOR_STEP_M3 (MOTOR_PORT = (MOTOR_PORT&0xcf)|0x30)
> #define MOTOR_LEFT_CLK (MOTOR_PORT = MOTOR_PORT^0x01)
> #define MOTOR_RIGHT_CLK (MOTOR_PORT = MOTOR_PORT^0x04)
> #define MOTOR_LEFT_CW (MOTOR_PORT = MOTOR_PORT&0xfd)
> #define MOTOR_LEFT_CCW (MOTOR_PORT = MOTOR_PORT|0x02)
> #define MOTOR_RIGHT_CW (MOTOR_PORT = MOTOR_PORT&0xf7)
> #define MOTOR_RIGHT_CCW (MOTOR_PORT = MOTOR_PORT|0x08)
>
>
> #define MOTOR_ENABLE_2 (MOTOR_PORT2 = MOTOR_PORT2|0x80)
> #define MOTOR_DISABLE_2 (MOTOR_PORT2 = MOTOR_PORT2&0x7f)
> #define MOTOR_STEP_M0_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x00)
> #define MOTOR_STEP_M1_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x10)
> #define MOTOR_STEP_M2_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x20)
> #define MOTOR_STEP_M3_2 (MOTOR_PORT2 = (MOTOR_PORT2&0xcf)|0x30)
> #define MOTOR_LEFT_CLK_2 (MOTOR_PORT2 = MOTOR_PORT2^0x01)
> #define MOTOR_RIGHT_CLK_2 (MOTOR_PORT2 = MOTOR_PORT2^0x04)
> #define MOTOR_LEFT_CW_2 (MOTOR_PORT2 = MOTOR_PORT2&0xfd)
> #define MOTOR_LEFT_CCW_2 (MOTOR_PORT2 = MOTOR_PORT2|0x02)
> #define MOTOR_RIGHT_CW_2 (MOTOR_PORT2 = MOTOR_PORT2&0xf7)
> #define MOTOR_RIGHT_CCW_2 (MOTOR_PORT2 = MOTOR_PORT2|0x08)
>
> /********************* PORTD 추가 181111 시작****************************/
> #define MOTOR_ENABLE_3 (MOTOR_PORT3 = MOTOR_PORT3|0x80)
> #define MOTOR_DISABLE_3 (MOTOR_PORT3 = MOTOR_PORT3&0x7f)
> #define MOTOR_STEP_M0_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x00)
> #define MOTOR_STEP_M1_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x10)
> #define MOTOR_STEP_M2_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x20)
> #define MOTOR_STEP_M3_3 (MOTOR_PORT3 = (MOTOR_PORT3&0xcf)|0x30)
> #define MOTOR_LEFT_CLK_3 (MOTOR_PORT3 = MOTOR_PORT3^0x01)
> #define MOTOR_RIGHT_CLK_3 (MOTOR_PORT3 = MOTOR_PORT3^0x04)
> #define MOTOR_LEFT_CW_3 (MOTOR_PORT3 = MOTOR_PORT3&0xfd)
> #define MOTOR_LEFT_CCW_3 (MOTOR_PORT3 = MOTOR_PORT3|0x02)
> #define MOTOR_RIGHT_CW_3 (MOTOR_PORT3 = MOTOR_PORT3&0xf7)
> #define MOTOR_RIGHT_CCW_3 (MOTOR_PORT3 = MOTOR_PORT3|0x08)
> /********************* PORTD 추가 181111 끝 *****************************/
>
>
> /********************* PORTE 추가 181111 시작****************************/
> #define MOTOR_ENABLE_4 (MOTOR_PORT4 = MOTOR_PORT4|0x80)
> #define MOTOR_DISABLE_4 (MOTOR_PORT4 = MOTOR_PORT4&0x7f)
> #define MOTOR_STEP_M0_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x00)
> #define MOTOR_STEP_M1_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x10)
> #define MOTOR_STEP_M2_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x20)
> #define MOTOR_STEP_M3_4 (MOTOR_PORT4 = (MOTOR_PORT4&0xcf)|0x30)
> #define MOTOR_LEFT_CLK_4 (MOTOR_PORT4 = MOTOR_PORT4^0x01)
> #define MOTOR_RIGHT_CLK_4 (MOTOR_PORT4 = MOTOR_PORT4^0x04)
> #define MOTOR_LEFT_CW_4 (MOTOR_PORT4 = MOTOR_PORT4&0xfd)
> #define MOTOR_LEFT_CCW_4 (MOTOR_PORT4 = MOTOR_PORT4|0x02)
> #define MOTOR_RIGHT_CW_4 (MOTOR_PORT4 = MOTOR_PORT4&0xf7)
> #define MOTOR_RIGHT_CCW_4 (MOTOR_PORT4 = MOTOR_PORT4|0x08)
> /********************* PORTE 추가 181111 끝 *****************************/
>
>
> volatile unsigned int ti;
> volatile char stop_flag;
>
> void port_init(void)
> {
> PORTA = 0x00;
> DDRA = 0x00;
> PORTB = 0x00;
> DDRB = 0xff;
> PORTC = 0x00; //m103 output only
> DDRC = 0xff;
> PORTD = 0x00;
> DDRD = 0xff;
> PORTE = 0x00;
> DDRE = 0xff; //0x00 에서 0xff로 변경 181111
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
> }
>
> //TIMER0 initialize - prescale:8
> // WGM: Normal
> // desired value: 10KHz
> // actual value: 10.000KHz (0.0%)
> void timer0_init(void)
> {
> TCCR0 = 0x00; //stop
> ASSR = 0x00; //set async mode
> TCNT0 = 0x83; //set count
> OCR0 = 0x7D;
> TCCR0 = 0x03; //start timer
> }
>
>
> ISR(TIMER0_OVF_vect)
> {
> TCNT0 = 0x38; //reload counter value
> MOTOR_LEFT_CLK;
> MOTOR_RIGHT_CLK;
> MOTOR_LEFT_CLK_2;
> MOTOR_RIGHT_CLK_2;
>
> /************181111 추가 시작************/
> MOTOR_LEFT_CLK_3;
> MOTOR_RIGHT_CLK_3;
> MOTOR_LEFT_CLK_4;
> MOTOR_RIGHT_CLK_4;
> /************181111 추가 끝*************/
>
> if(PINA == 0x02) {
> stop_flag = 1;
> }
> if(++ti>=10000)
> {
> ti=0;
> PORTG^=0x03;
> }
>
> }
>
> //call this routine to initialize all peripherals
> void init_devices(void)
> {
> //stop errant interrupts until set up
> cli(); //disable all interrupts
> XMCRA = 0x00; //external memory
> XMCRB = 0x00; //external memory
> port_init();
> timer0_init();
>
> MCUCR = 0x00;
> EICRA = 0x00; //extended ext ints
> EICRB = 0x00; //extended ext ints
> EIMSK = 0x00;
> TIMSK = 0x01; //timer interrupt sources
> ETIMSK = 0x00; //extended timer interrupt sources
>
> sei(); //re-enable interrupts
> //all peripherals are now initialized
> }
>
> void delay(int n)
> {
> volatile int i,j;
> for(i=1;i<n;i++)
> {
> for(j=1;j<600;j++);
> }
> }
> /******* motor_disable_a function start********/
> void motor_disable_a() {
> MOTOR_DISABLE;
> //MOTOR_DISABLE_2;
> //MOTOR_DISABLE_3; //181111 추가
> //MOTOR_DISABLE_4; //181111 추가
> }
>
> void motor_disable_a2() {
>
> MOTOR_DISABLE_2;
>
> }
> void motor_disable_a3() {
>
> MOTOR_DISABLE_3; //181111 추가
>
> }
> void motor_disable_a4() {
>
> MOTOR_DISABLE_4; //181111 추가
> }
> /******* motor_disable_a function end********/
>
>
> /******* motor_enable_a function start ********/
> void motor_enable_a() {
> MOTOR_ENABLE;
> //MOTOR_ENABLE_2;
> //MOTOR_ENABLE_3; //181111 추가
> //MOTOR_ENABLE_4; //181111 추가
> }
>
> void motor_enable_a2() {
>
> MOTOR_ENABLE_2;
>
> }
> void motor_enable_a3() {
>
> MOTOR_ENABLE_3; //181111 추가
>
> }
> void motor_enable_a4() {
>
> MOTOR_ENABLE_4; //181111 추가
> }
> /******* motor_enable_a function end ********/
>
>
> /******* motor_cw_a function start ********/
> void motor_cw_a() {
> MOTOR_LEFT_CW;
> MOTOR_RIGHT_CW;
> //MOTOR_LEFT_CW_2;
> //MOTOR_RIGHT_CW_2;
> //MOTOR_LEFT_CW_3; //181111 추가
> //MOTOR_RIGHT_CW_3; //181111 추가
> //MOTOR_LEFT_CW_4; //181111 추가
> //MOTOR_RIGHT_CW_4; //181111 추가
>
> }
>
> void motor_cw_a2() {
>
> MOTOR_LEFT_CW_2;
> MOTOR_RIGHT_CW_2;
>
> }
> void motor_cw_a3() {
>
> MOTOR_LEFT_CW_3; //181111 추가
> MOTOR_RIGHT_CW_3; //181111 추가
>
> }
> void motor_cw_a4() {
>
> MOTOR_LEFT_CW_4; //181111 추가
> MOTOR_RIGHT_CW_4; //181111 추가
>
> }
> /******* motor_cw_a function end ********/
>
>
> /******* motor_ccw_a function start ********/
> void motor_ccw_a() {
> MOTOR_LEFT_CCW;
> MOTOR_RIGHT_CCW;
>
> }
>
> void motor_ccw_a2() {
>
> MOTOR_LEFT_CCW_2;
> MOTOR_RIGHT_CCW_2;
>
> }
> void motor_ccw_a3() {
>
> MOTOR_LEFT_CCW_3; //181111 추가
> MOTOR_RIGHT_CCW_3; //181111 추가
>
> }
> void motor_ccw_a4() {
>
> MOTOR_LEFT_CCW_4; //181111 추가
> MOTOR_RIGHT_CCW_4; //181111 추가
> }
>
> /******* motor_ccw_a function end ********/
>
> int main(void)
> {
> //volatile unsigned char step=0;
> int keyin = 0;
> init_devices();
> stop_flag = 0;
> MOTOR_PORT_DDR = 0xff;
> MOTOR_PORT_DDR2 = 0xff;
> MOTOR_PORT_DDR3 = 0xff; //181111 추가
> MOTOR_PORT_DDR4 = 0xff; //181111 추가
>
> MOTOR_DISABLE;
> MOTOR_STEP_M0;
> MOTOR_DISABLE_2;
> MOTOR_STEP_M0_2;
> MOTOR_DISABLE_3; //181111 추가
> MOTOR_STEP_M0_3; //181111 추가
> MOTOR_DISABLE_4; //181111 추가
> MOTOR_STEP_M0_4; //181111 추가
> PORTG=0x01;
>
>
> while(1){
> if(PINA != 0x00){
> keyin = PINA;
> }
> else keyin=0;
> switch(keyin){
> case 1 :
> while(1) {
> /*********PORTC MOTOR start**********/
> motor_enable_a();
> motor_cw_a();
> _delay_ms(7000); //cw회전 시간
> motor_disable_a();
> _delay_ms(2000); //cw회전 후 정지시간
>
> /*********PORTB MOTOR start**********/
> motor_enable_a2();
> motor_cw_a2();
> _delay_ms(5000); //cw회전 시간
> motor_disable_a2();
> _delay_ms(2000); //cw회전 후 정지시간
>
> /*********PORTD MOTOR start**********/
> motor_enable_a3();
> motor_cw_a3();
> _delay_ms(4000); //cw회전 시간
> motor_disable_a3();
> _delay_ms(2000); //cw회전 후 정지시간
>
>
> /*********PORTE MOTOR start**********/
> motor_enable_a4();
> motor_cw_a4();
> _delay_ms(2000); //cw회전 시간
> motor_disable_a4();
> _delay_ms(2000); //cw회전 후 정지시간
>
>
>
>
>
> motor_enable_a4();
> motor_ccw_a4();
> _delay_ms(2000); //ccw 회전시간
> motor_disable_a4();
> _delay_ms(2000); //ccw 회전 후 정지시간
> /*********PORTE MOTOR end**********/
>
> motor_enable_a3();
> motor_ccw_a3();
> _delay_ms(4000); //ccw 회전시간
> motor_disable_a3();
> _delay_ms(2000); //ccw 회전 후 정지시간
> /*********PORTD MOTOR end**********/
>
>
> motor_enable_a2();
> motor_ccw_a2();
> _delay_ms(5000); //ccw 회전시간
> motor_disable_a2();
> _delay_ms(2000); //ccw 회전 후 정지시간
> /*********PORTB MOTOR end**********/
>
> motor_enable_a();
> motor_ccw_a();
> _delay_ms(7000); //ccw 회전시간
> motor_disable_a();
> _delay_ms(2000); //ccw 회전 후 정지시간
>
> /*********PORTC MOTOR end**********/
>
>
>
>
> if(stop_flag == 1) {
> stop_flag = 0;
> break;
> }
> }
> break;
> case 2 :
> MOTOR_LEFT_CCW;
> MOTOR_RIGHT_CCW;
>
> break;
> case 4 : PORTG = 0x02;
> printf("3");
> delay(300);
> break;
> case 8 : PORTG = 0x03;
> printf("4");
> delay(300);
> break;
> case 16 : PORTG = 0x00;
> printf("5");
> delay(300);
> break;
> case 32 : PORTG = 0x01;
> printf("6");
> delay(300);
> break;
> case 64: PORTG = 0x02;
> printf("7");
> delay(300);
> break;
> case 128 : PORTG = 0x03;
> printf("8");
> delay(300);
> break;
>
> }
> }
> return 0;
> }
>
|
||||
| 926 | 답변완료배송 문의 | 김회진 | 2018-11-12 | 1,596 |
|
안녕하세요.
atmega128-usb-L 구입했습니다.
어제 새벽에 주문했는데 아직까지 주문대기 상태네요. ㅠㅠ
오늘 발송 가능한지도 알고 싶습니다~~!
관리자 답변
안녕하세요 고객님.
저희 뉴티씨 제품을 이용하여주셔서 감사합니다.
네. 오늘 저녁 6시에 제품 출고될 예정입니다.
감사합니다.
>
>
> 안녕하세요.
>
> atmega128-usb-L 구입했습니다.
>
> 어제 새벽에 주문했는데 아직까지 주문대기 상태네요. ㅠㅠ
>
> 오늘 발송 가능한지도 알고 싶습니다~~!
>
|
||||
| 925 | 답변완료AM-CAN128PRO 추가 질문 건 | 이태영 | 2018-11-16 | 1,912 |
|
질문 답변감사합니다.
질문이 4개정도 추가로 있어서 작성합니다.
1. AM-CAN128PRO와 AB-E128확장형과 연동되는지 여부
-> AB-E128은 가지고 있습니다.
2. CAN 통신하려면 별도 장치가 필요한지 여부.
-> AM-CAN128PRO 모듈 사용하기에서 CAN 드라이버(MCP2551 등)을 포함한 작은 모듈을 빵판 쪽에다가 땜해서 만들어쓰면 된다고 되어있는데 이게 무슨 소리인지 모르겠습니다.
유선상 연락드렸는데 질문답변에 남기라고 하셔서 적습니다.
혹시 답변 주셨는데 이해안갈 수도 있으니 담당자 연락처 남겨주시면 감사하겠습니다.
해당 사진 첨부합니다.
3. 데이터시트 열리지 않는 것들이 있는데 메일로 보내줄 수 있는지요?
4. AM-CAN128PRO PORTD 5,6번만 CAN통신이 가능한지요?
-------------------------------------------------------------------------------------------------
안녕하세요 고객님.
저희 뉴티씨 제품을 이용하여주셔서 감사합니다.
AT90CAN128 MCU로 만들어진 AM-128모델의 경우,
http://newtc.co.kr/dpshop/shop/item.php?it_id=1314599835
위 판매페이지 링크에 들어가셔서, 종류를 AM-128CANPRO 로 선택하셔서
구매해주시면 됩니다.
현재 본사에 재고는 5개가 있어서, 5개만 구매가 가능하시며,
수량이 더 필요하실 경우 본사로 연락 부탁드립니다.
감사합니다.
>
>
> 안녕하세요.
>
> 저도 AM-128-Pro를 가지고 있는데 Can통신 기능이 필요합니다. AM-128-Pro를 대체한 AT90CAN128 MCU로 제작한 보드가 있다고 질문답변에서 봤는데 구매할 수 있을까요?
>
> 자료 첨부합니다.
>
> 감사합니다.
관리자 답변
안녕하세요 고객님.
저희 뉴티씨 제품을 이용하여주셔서 감사합니다.
질문 답변드리겠습니다.
Q.CAN 통신하려면 별도 장치가 필요한지 여부.
A.MCP2551이라는 CAN드라이버 칩을 AM-CAN128PRO에 연결해야합니다.
AM-CAN128PRO를 빵판에다가 꽂는다고 하면, 남는 공간의 빵판에 DIP타입의 CAN드라이버를 꽂고,
점퍼선으로 드라이버와 AM-CAN128PRO를 연결해주시면 됩니다.
AM-CAN128PRO 자체로는 CAN통신을 수행할 수 없어서,
외부의 CAN통신드라이버(MCP2551)를 제어하는 방식으로 됩니다.
만약에 AM-CAN128PRO두개로 CAN통신을 진행한다면,
AM-CAN128PRO -> MCP2551 <=> MCP2551 <- AM-CAN128PRO
이런식으로 구현이 됩니다.
Q.데이터시트 열리지 않는 것들이 있는데 메일로 보내줄 수 있는지요?
A.확인 후 동작하지 않는 하이퍼링크를 변경하였습니다. 다시 페이지로 가셔서
클릭해보시면 다운 받으실 수 있습니다.
http://newtc.co.kr/dpshop/shop/item.php?it_id=1314599835
Q.AM-CAN128PRO PORTD 5,6번만 CAN통신이 가능한지요?
A.네. 해당 두 핀만 CAN통신이 가능합니다.
감사합니다.
>
>
> 질문 답변감사합니다.
>
> 질문이 4개정도 추가로 있어서 작성합니다.
>
> 1. AM-CAN128PRO와 AB-E128확장형과 연동되는지 여부
> -> AB-E128은 가지고 있습니다.
>
> 2. CAN 통신하려면 별도 장치가 필요한지 여부.
> -> AM-CAN128PRO 모듈 사용하기에서 CAN 드라이버(MCP2551 등)을 포함한 작은 모듈을 빵판 쪽에다가 땜해서 만들어쓰면 된다고 되어있는데 이게 무슨 소리인지 모르겠습니다.
> 유선상 연락드렸는데 질문답변에 남기라고 하셔서 적습니다.
> 혹시 답변 주셨는데 이해안갈 수도 있으니 담당자 연락처 남겨주시면 감사하겠습니다.
> 해당 사진 첨부합니다.
>
> 3. 데이터시트 열리지 않는 것들이 있는데 메일로 보내줄 수 있는지요?
>
> 4. AM-CAN128PRO PORTD 5,6번만 CAN통신이 가능한지요?
>
>
>
> -------------------------------------------------------------------------------------------------
> 안녕하세요 고객님.
> 저희 뉴티씨 제품을 이용하여주셔서 감사합니다.
>
> AT90CAN128 MCU로 만들어진 AM-128모델의 경우,
> http://newtc.co.kr/dpshop/shop/item.php?it_id=1314599835
> 위 판매페이지 링크에 들어가셔서, 종류를 AM-128CANPRO 로 선택하셔서
> 구매해주시면 됩니다.
>
> 현재 본사에 재고는 5개가 있어서, 5개만 구매가 가능하시며,
> 수량이 더 필요하실 경우 본사로 연락 부탁드립니다.
>
> 감사합니다.
>
> >
> >
> > 안녕하세요.
> >
> > 저도 AM-128-Pro를 가지고 있는데 Can통신 기능이 필요합니다. AM-128-Pro를 대체한 AT90CAN128 MCU로 제작한 보드가 있다고 질문답변에서 봤는데 구매할 수 있을까요?
> >
> > 자료 첨부합니다.
> >
> > 감사합니다.
>
|
||||
| 924 | 답변완료kd-128all 구입 iccavr v8버젼 사용 | 이도희 | 2018-11-20 | 1,725 |
|
iccavr v8버젼 사용해서 실습을 진행 할려고 합니다.
iccavr v8 버젼을 사용하는 방법은 따로 메뉴얼이 없는건가요?
소프트웨어는 v8을 보내주시고 메뉴얼은 v7로 실습 메뉴얼만 있고.
iccavr 사용하는 방법은 어떻게 되는 건가요?
또한 iccavr v8. 버젼으로 usbisp 연결해서 사용할려면 어떻게 해야 하는 건지도 설명이 않되어 있습니다.
어떻게 사용해야 하는지 확인 부탁드립니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
ICCAVR V8에 대한 툴 사용법 등은 별도 구입가능한 교재의 뒷쪽에 부록으로 나와 있습니다. 포함된 교재는 말씀하신데로 그런 부분도 있겠네요. 별도 교재는 포함이 안되어 있어서 원래 별도로 구매하셔야 하는데, 지적해 주신 문제로 힘들어 하시는 고객님까지는 미처 생각지 못했습니다. 좋은 말씀 감사하고 보완하는 방법을 생각해 보겠습니다. 일단은 고객님께는 감사의 표현으로 교재 1권을 보내드리도록 하겠습니다. 차후에 다른 고객님들께는 어떻게 해드릴지는 조만간 결론 내서 반영하도록 하겠습니다. 구매 영수증이나 거래명세표 등을 고객지원의 A/S 게시판 쪽으로 사진을 찍어 올려주시면서 전화번호와 배송주소를 남겨주세요. 그 쪽은 자동으로 비밀글이라 고객님의 소중한 정보가 유출되지 않습니다.
처음 프로젝트 생성하는 법과 usbisp로 다운로드 하는 방법 등이 있습니다. 또한, 소스는 v7과 100% 동일하게 사용 가능합니다.
미안하고 감사합니다.
>
>
> iccavr v8버젼 사용해서 실습을 진행 할려고 합니다.
>
> iccavr v8 버젼을 사용하는 방법은 따로 메뉴얼이 없는건가요?
>
> 소프트웨어는 v8을 보내주시고 메뉴얼은 v7로 실습 메뉴얼만 있고.
>
> iccavr 사용하는 방법은 어떻게 되는 건가요?
>
> 또한 iccavr v8. 버젼으로 usbisp 연결해서 사용할려면 어떻게 해야 하는 건지도 설명이 않되어 있습니다.
>
>
> 어떻게 사용해야 하는지 확인 부탁드립니다.
>
|
||||
