Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 8568 | 답변완료모터드라이버(AM-MS2)에 관한 질문입니다. | 박영준 | 2013-12-16 | 1,489 |
|
안녕하세요.
학부생 프로젝트로 라인트레이서 제작을 하고 있습니다.
모터드라이버를 AM-MS2로 선정을 하여 35개 정도 주문을 하고
바로 나누어 줬습니다.
그런데 무려 4명의 학생이 처음부터 작동되지 않았다는 말을 합니다.
2개는 모터드라이버의 한 쪽만 동작을 하고, 2개는 모터드라이버와 모터의 연결단에
12V가 나가는 것까지 확인했지만 모터가 구동하지 않습니다.
당연히 가변저항은 돌려봤습니다.
일단 AM-MS2가 초기 불량품은 얼마나 생산되는지,
제품 내에 내구성이 약한 부분이 어디인지 먼저 알고싶습니다.
그리고 6개정도 A/S 를 맡긴다면 비용이 얼마나 드는지 알고싶습니다.
수고하세요.
관리자 답변
안녕하세요? 고객님,
올려주신 내용은 잘 읽었습니다.
일단, 불량이 있는 부분은, 본사에서 무상으로 교체하여 드리겠습니다.
저희 쪽에서는 100% 테스트 하여 나가도록 되어 있어서,
제품이 이상 없는 제품만 출시 하고 있습니다.
그러므로, 이런 일은 없었던 일이라서, 초기 불량이 이렇게 많이 발생하는 경우는 당황스럽습니다.
일단, 문제 생기신 부분은 불편하지 않으시도록, 본사에서 무상 교체 하여 드리겠습니다.
그리고 제품을 받아서 원인을 자세히 파악하여 보고,
그 결과적인 내용은 다시 공유해 드리도록 하겠습니다.
정말 죄송하게 생각하며, 본사에서 다시 이런 일이 발생하지 않도록,
조치하도록 하겠습니다.
앞으로도 잘 부탁드립니다.
>
>
> 안녕하세요.
>
> 학부생 프로젝트로 라인트레이서 제작을 하고 있습니다.
>
> 모터드라이버를 AM-MS2로 선정을 하여 35개 정도 주문을 하고
>
> 바로 나누어 줬습니다.
>
> 그런데 무려 4명의 학생이 처음부터 작동되지 않았다는 말을 합니다.
>
> 2개는 모터드라이버의 한 쪽만 동작을 하고, 2개는 모터드라이버와 모터의 연결단에
>
> 12V가 나가는 것까지 확인했지만 모터가 구동하지 않습니다.
>
> 당연히 가변저항은 돌려봤습니다.
>
>
> 일단 AM-MS2가 초기 불량품은 얼마나 생산되는지,
>
> 제품 내에 내구성이 약한 부분이 어디인지 먼저 알고싶습니다.
>
> 그리고 6개정도 A/S 를 맡긴다면 비용이 얼마나 드는지 알고싶습니다.
>
> 수고하세요.
>
|
||||
| 8567 | 답변완료KT-128-L 키트 code vision 소스 | 신철봉 | 2013-12-14 | 1,410 |
|
안녕하세요.
얼마 전에 KT-128-L 키트를 구매 하였습니다.
혹시 KT-128 키트 용 codevision 전체 소스가 있나요?
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용해주셔서 감사합니다.
현재 그 제품의 전체 구동라는 코드비전용 소스는 없습니다만,
타 컴파일러로는 제공되므로 참고하셔서 수정하시면됩니다.
감사합니다.
>
>
> 안녕하세요.
>
> 얼마 전에 KT-128-L 키트를 구매 하였습니다.
>
> 혹시 KT-128 키트 용 codevision 전체 소스가 있나요?
>
|
||||
| 8566 | 답변완료아래답변 감사합니다. 추가문의입니다. | 최광은 | 2013-12-13 | 1,407 |
|
아래 답변대로 자료실에서 AVRSTUDIO 4 를 받아서 해보니 정상적으로 되었습니다.
감사합니다.
자료실에 있는 AVRSTUDIO 4 가 win7 64비트에서 작동이 되는지 알려주세요
제가 테스트한환경은 win7 32비트입니다.
감사합니다.
관리자 답변
안녕하세요 고객님,
네 잘된다니 다행입니다.
그리고 win7 64비트에서도 잘됩니다.
감사합니다.
>
>
> 아래 답변대로 자료실에서 AVRSTUDIO 4 를 받아서 해보니 정상적으로 되었습니다.
>
> 감사합니다.
>
> 자료실에 있는 AVRSTUDIO 4 가 win7 64비트에서 작동이 되는지 알려주세요
>
> 제가 테스트한환경은 win7 32비트입니다.
>
> 감사합니다.
>
|
||||
| 8565 | 답변완료FB-CY6-DEV 제품의 회로도 부탁드립니다. | 정재윤 | 2013-12-12 | 1,409 |
|
디바이스마트에서 구입한지 꽤 돼는데, 이제사 해볼라고 덤벼드니, 그동안 자료가 소실된것 같고,
뭔가가 없어진것 같군요.
다운로더와 책자를 잃어버린것 같군요.
그런데 회로도는 원래 없는것 같습니다.
공개를 안하는가 보네요.
보내 주실 수 있는지요?
ilovepekr@naver.com 으로 보내 주시면 감사드리겠습니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
본사에서 구매 확인이 되었습니다. 감사드립니다.
구매하신 FPGA 키트의 경우, 회로도 및 예제소스 등이 함께 들어있던 DVD에 들어 있습니다.
또한, 책자 뒤쪽에 보면, 회로도가 프린트 되어 있습니다.
책자 및 CD를 분실하셨다면, 재구매가능하도록 도와드리겠습니다.
제품소개에 보면, 소프트웨어 쪽에그 책자를 올려 놓겠습니다.
책 제목은
쉽게 따라하는
NEWTC FPGA 강좌
FB-CY6-BOOK
11,000원
금액은 11,000원 이구요. 구매하시면서 CD도 함께 넣어달라고 써주시면, 함께 드리겠습니다.
꼭 같이 얘기해 주세요.
그리고, 아래 책자도 같은 킷트로 된 것이라서, 함께 구매하시면 보다 학습이 편하실 겁니다.
디지털회로설계
FB-CY6-BOOK2
16,500원
꼭, 이번 기회에 구매하세요.
그리고,
감사합니다.
>
>
> 디바이스마트에서 구입한지 꽤 돼는데, 이제사 해볼라고 덤벼드니, 그동안 자료가 소실된것 같고,
> 뭔가가 없어진것 같군요.
> 다운로더와 책자를 잃어버린것 같군요.
> 그런데 회로도는 원래 없는것 같습니다.
> 공개를 안하는가 보네요.
> 보내 주실 수 있는지요?
> ilovepekr@naver.com 으로 보내 주시면 감사드리겠습니다.
>
|
||||
| 8564 | 답변완료AD-USBISP V6.0 문의입니다. | 최광은 | 2013-12-12 | 1,646 |
|
몇일전에 V6.0을 구매했습니다.
CodeVisionAVR V2.05 를사용하고있습니다.
기존에 페러럴 포트를 사용하여 다운로드 하고있었습니다.
CodeVisionAVR V2.05 에서 PS2 키보드인스톨을 사용하고있습니다.
prj 파일을 불러오고 세팅은 페러럴 사용할때와 동일하게 하고 사용했는데
첨부파일과 같이 세팅후 program all 버튼으로 작업합니다.
첫번째 두번째 불러와서 진행되는 부분은 정상적으로 진행이 되는데
마지막 eep파일을 불러오면 진행중에 첨부파일과 같은 에러메세지가 나옵니다.
해당파일을든 기존 페러럴 포트로 전송시 정상작동 됩니다.
페러럴포트로 사용중인버젼은 CodeVisionAVR V1.24.5 입니다.
어떤부분을 더 체크해봐야할지 부탁드립니다. 감사합니다. 즐거운하루되세요
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
제품 설명의 안내에 보면,
하지만, 일부 코드비전 버전에서는 EEPROM Write시 문제 발생 가능있을 수 있으므로,
이 경우 AVR Studio를 사용하여, EEPROM Write하세요.
이렇게 되어 있습니다.
하지만, 115kHz 로 SCK Freq.를 낮춰서 사용하시면 EEPROM도 문제 없이 Write 되실겁니다.
저희 제품은 ATMEL 표준을 따라서 제작하였으나, 코드비전 프로그램이 자체적으로 버전마다 반응이 달라서, 코드비전에 맞춰서 제품을 만들 경우, 다른 프로그램 쓰는 분들은 속도가 떨어지게 되므로,
코드비전 사용시 주의하도록 하고 있습니다.
다운로딩은 EEPROM은 AVR Studio를 사용하실 것을 권장합니다.
플래시 데이터도 Codevision의 경우 460kHz까지밖에 지원하지 않아서,
코드비전으로는 구매하신 1.8MHz 까지 지원하는 USBISP V6의 속도를 25% 밖에 쓰지 못합니다.
다운로딩시 AVR Studio를 사용하시기를 권장해 드립니다.
참고하시기 바랍니다.
감사합니다.
>
>
> 몇일전에 V6.0을 구매했습니다.
>
> CodeVisionAVR V2.05 를사용하고있습니다.
>
> 기존에 페러럴 포트를 사용하여 다운로드 하고있었습니다.
>
> CodeVisionAVR V2.05 에서 PS2 키보드인스톨을 사용하고있습니다.
>
> prj 파일을 불러오고 세팅은 페러럴 사용할때와 동일하게 하고 사용했는데
>
> 첨부파일과 같이 세팅후 program all 버튼으로 작업합니다.
>
> 첫번째 두번째 불러와서 진행되는 부분은 정상적으로 진행이 되는데
>
> 마지막 eep파일을 불러오면 진행중에 첨부파일과 같은 에러메세지가 나옵니다.
>
> 해당파일을든 기존 페러럴 포트로 전송시 정상작동 됩니다.
>
> 페러럴포트로 사용중인버젼은 CodeVisionAVR V1.24.5 입니다.
>
> 어떤부분을 더 체크해봐야할지 부탁드립니다. 감사합니다. 즐거운하루되세요
>
|
||||
| 8563 | 답변완료소스 관련 | 심기훈 | 2013-12-11 | 1,543 |
|
AVR 응용강좌 2. (거리측정센서편) AVR128을 활용한 장애물 감지 탱크로봇만들기 동영상에 나온 wheel.c 소스를 다운 받으라고 나와있는데 자료실에 찾아보니 없는 것 같습니다만 혹시 구할 수 있을까요?
관리자 답변
안녕하세요? 고객님,
강의->AVR 강의에서 " [공개] AVR 응용강좌 4. 소스코드 공개 " 로 검색해 보세요.
거기 소스가 첨부되어 있습니다.
감사합니다.
>
>
> AVR 응용강좌 2. (거리측정센서편) AVR128을 활용한 장애물 감지 탱크로봇만들기 동영상에 나온 wheel.c 소스를 다운 받으라고 나와있는데 자료실에 찾아보니 없는 것 같습니다만 혹시 구할 수 있을까요?
>
|
||||
| 8562 | 답변완료AVR용 USB-ISP V03.5 동작불량 건 | 디디짱 | 2013-12-11 | 1,486 |
|
구입제품 : AVR용 USB-ISP V03.5
파란색불만 항상 들어오고, 빨간색과 녹색불은 전혀 들어오지 않음.
제어판에 COM3로 인식은 함
자가수리할수 있나요?
연락이든 답변이든 빠른 요청
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
그런 경우, 마이크로 컨트롤러가 망가진 경우인 것 같습니다.
본사로 방문하시거나 보내서 수리하셔야 합니다.
A/S 요령은 자주하는 질문에 가면 있으며,
본사 주소로 보내시되, 받으실 주소, 전화번호, 성함, 증상을 명시해서 넣어 달라는 내용이 주입니다.
감사합니다.
>
>
> 구입제품 : AVR용 USB-ISP V03.5
>
> 파란색불만 항상 들어오고, 빨간색과 녹색불은 전혀 들어오지 않음.
> 제어판에 COM3로 인식은 함
> 자가수리할수 있나요?
>
> 연락이든 답변이든 빠른 요청
>
|
||||
| 8561 | 답변완료감사합니다. | 한소희 | 2013-12-11 | 1,473 |
|
생각해보니 CD가 있었군요...-_-
원래 교재에 포함된 CD는 제대로 보지도 않고 어디 서랍장에 쳐박아두는 습관이 있어서요...^^
CD를 찾아보니 제가 원하는 답이 대부분 다 있네요...ㅋㅋㅋ
알려주셔서 감사합니다.
관리자 답변
네, 고객님 잘 되었네요.
언제든 궁금하신 점은 질문 주세요.
감사합니다.
>
>
> 생각해보니 CD가 있었군요...-_-
>
> 원래 교재에 포함된 CD는 제대로 보지도 않고 어디 서랍장에 쳐박아두는 습관이 있어서요...^^
>
> CD를 찾아보니 제가 원하는 답이 대부분 다 있네요...ㅋㅋㅋ
>
> 알려주셔서 감사합니다.
>
|
||||
| 8560 | 답변완료릴레이 전원 공급모듈 관련 | 심기훈 | 2013-12-10 | 1,472 |
|
릴레이전원 공급 모듈을 이용해서 Ch에 출력을 뽑아낼 때 접점 전원에 연결하는 어댑터에 관해서 묻고 싶습니다. 릴레이전원 공급 모듈을 사용할 때 전원 입력을 하는 smps말고 따로 접점 전원에 어댑터를 연결해야 되나요? 연결해야 된다면 본사에서 그 제품을 파는지 묻고 싶습니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
답변 드릴께요.
>
> 릴레이전원 공급 모듈을 이용해서 Ch에 출력을 뽑아낼 때 접점 전원에 연결하는 어댑터에 관해서 묻고 싶습니다.
==> 첨부한 그림에서 말하고 있는 접점 전원 AC220V이하 또는 DC 5 ~ 30V를 연결하는 접점 전원을 말씀하시는 게 맞는지요? 그 곳에 들어가는 전압을 각 릴레이의 채널로 출력하고 싶은 거라면,
채널로 출력하고 싶은 전압을 넣으면 됩니다.
릴레이전원 공급 모듈을 사용할 때 전원 입력을 하는 smps말고 따로 접점 전원에 어댑터를 연결해야 되나요?
==> 만약, 전원 입력을 하는 SMPS의 전압 또는 7805에서 레귤레이팅 된 5V를 릴레이의 접점전원 대신 쓰고 싶다면, 접점전원 커넥터 바로 옆에 있는 점퍼들을 모두 적절한 곳에 연결해 줘야 하구요.
만약, 접점전원 쪽으로 전원을 입력하여, 그 전원을 각 채널들로 분배해 주는 것을 제어하고 싶다면,
접점전원에 인가를 해줘야 겠지요. 그 접점전원에 어떤 전압을 넣고 싶은지는 사용자 맘입니다.
물론, 접점전원쪽으로 연결시 AC는 220V 이내구요. DC는 5 ~ 30V 사이 전압만 가능합니다.
연결해야 된다면 본사에서 그 제품을 파는지 묻고 싶습니다.
==> 고객님이 접점전원쪽으로 어떤 전원을 넣어서 그것을 각 채널로 분배제어 하고 싶은건지, 저는 알 수 없습니다. 원하는 전원이 있다면, 스펙을 말씀하시면 본사에 있는 제품인지 확인후 말씀드릴 수는 있겠습니다.
감사합니다.
|
||||
| 8559 | 답변완료FM-CY6S 모듈을 이용한 FPGA 를 구매했었는데요. | 한소희 | 2013-12-09 | 1,370 |
|
칩은 EP1C6Q240 입니다.
제품에 포함된 매뉴얼을 가지고 혼자 독학중인데요.
7장의 7-Segment 사용하기 부터는 예제가 너무 어렵습니다.
저처럼 머리 나쁜 사람은 따라가기가 힘들더라구요...T_T
웬만하면 인터넷에서 검색해서 공부해보려고도 했는데 VHDL 소스는 거의 찾아보기도 어렵더라구요.
7장부터 9장까지 실습과제에 대한 정답 소스코드가 있으시면 메일로 좀 보내주시면 감사하겠습니다.
그게 어려우시면 7-Segment 에 4자리 숫자를 랜덤하게 표시하는 예제라도 보내주시면 정말 감사하겠습니다.
armis9@naver.com 으로 부탁드립니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
해당 제품 구매시 함께 드린 CD 안에 보면 exampe_lab 이라는 폴더가 있습니다.
그 안에 각 랩별로 예제가 모두 나와 있습니다.
7장까지 독학으로 직접 하신거라면, 매우 잘하신 겁니다.
처음하는 입장에서 거기까지 나간거라면, 박수를 쳐드리고 싶네요.
하지만, 어떤 사람이든 처음하는 것은 무지 어렵습니다.
주변에 아는 사람이라도 있으면 도움을 좀 받으면서 하겠지만, FPGA의 경우 그런 사람들이 드물죠.
그래서, 이런 교재를 만든 겁니다. 처음부터 시작하는 사람이 시작할 수 있도록,
하지만, 이 교재로 간신히 시작은 되지만 3번 이상 반복하여, 처음부터 끝까지 실습하면서 과정을
학습해야 기초를 마스터 할 수 있습니다.
AVR과는 달리 개념이 좀 달라서, 쉽지 않은 분야입니다만, 열심히 노력하여 진행하면 좋겠습니다.
참고로 본사 교재는 Verilog HDL로 되어 있으며, 현재 VHDL로는 교재 및 예제가 작성되지 않았습니다.
VHDL도 함께 학습하고 있다면, 더욱 많은 노력이 필요할 것으로 생각됩니다.
쉽지 않은 분야이므로, 머리가 좋지 않다 본인을 스스로 자책하지 마시고, 여기까지 온 것도 잘하신 것이니, 본인을 칭찬하고 앞으로 나가세요. 일단, 쭉 끌고 끝까지 나가보시고, 두번째 보면 좀 더 느낌이 달라질 겁니다. 이것이 프로그래밍이 아니라, 회로라는 생각을 가지고 늘 프로그래밍에 임해 주세요.
감사합니다.
>
>
> 칩은 EP1C6Q240 입니다.
>
> 제품에 포함된 매뉴얼을 가지고 혼자 독학중인데요.
>
> 7장의 7-Segment 사용하기 부터는 예제가 너무 어렵습니다.
> 저처럼 머리 나쁜 사람은 따라가기가 힘들더라구요...T_T
>
> 웬만하면 인터넷에서 검색해서 공부해보려고도 했는데 VHDL 소스는 거의 찾아보기도 어렵더라구요.
>
> 7장부터 9장까지 실습과제에 대한 정답 소스코드가 있으시면 메일로 좀 보내주시면 감사하겠습니다.
>
> 그게 어려우시면 7-Segment 에 4자리 숫자를 랜덤하게 표시하는 예제라도 보내주시면 정말 감사하겠습니다.
>
> armis9@naver.com 으로 부탁드립니다.
>
|
||||
| 8558 | 답변완료저번에 문의했던 사람인데요 | 김상학 | 2013-12-09 | 1,367 |
|
어느걸로 엔코더 장착형 dc모터를 테스트 해야하나요?
소스 있다곤 하는데, 전부다 그냥 dc 모터지 그리고 c 파일로 되어있는데, 흠..
아 그리고 스피드 컨트롤 예제 avr 용은 없나요?
스피드 컨트롤 예제(스위치사용) or7seven@naver.com
꼭좀 메일로 2시 전까지 보내주시면 감사하겟습니다.
관리자 답변
안녕하세요? 고객님,
자료실에서 "[예제소스] 엔코더(encoder) DC모터 제어"로 검색해 보세요.
방향, 속도 등을 AM-TS8 스위치모듈로 조절하는 예제가 있습니다.
참조 바랍니다.
>
>
> 어느걸로 엔코더 장착형 dc모터를 테스트 해야하나요?
>
> 소스 있다곤 하는데, 전부다 그냥 dc 모터지 그리고 c 파일로 되어있는데, 흠..
>
> 아 그리고 스피드 컨트롤 예제 avr 용은 없나요?
>
> 스피드 컨트롤 예제(스위치사용) or7seven@naver.com
>
> 꼭좀 메일로 2시 전까지 보내주시면 감사하겟습니다.
>
|
||||
| 8557 | 답변완료se-dm모터로 도어락 만들고 싶은데... | 박재영 | 2013-12-09 | 1,375 |
|
여기에 맞는 볼트너트 부터 시작해서...
간단하게 졸작으로 만들고 싶은데 재료를 알 수 없을까요?
급합니다...ㅠ
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
DM 모터가 기어드 모터이므로, 기본적인 힘은 가지고 있지만, 도어록을 구현할 정도는 아닌 것 같습니다.
다만, SE-DS350 모터를 사용하는 것이 저렴하기도 하고 보다 힘도 좋을 것으로 생각됩니다.
모터 구동 모듈은 AM-DC2-2D나 AM-DC1-3D를 쓰는 것을 추천합니다.
관련 구동 예제는 자료실에 있으니, 참고 바랍니다.
기구적인 부분은 직접 생각하셔서 구현해야 할 것 같습니다.
감사합니다.
>
>
> 여기에 맞는 볼트너트 부터 시작해서...
> 간단하게 졸작으로 만들고 싶은데 재료를 알 수 없을까요?
> 급합니다...ㅠ
>
|
||||
| 8556 | 답변완료se-dm dc기어모터 예제소스는 avrstudio 아닌가요? | 박재영 | 2013-12-09 | 1,513 |
|
여기회사꺼 atmega128 키트 안쓰고 다른거 쓰고 있는데요...
//ICC-AVR application builder : 2007-10-17 오후 3:12:00
// Target : M128
// Crystal: 16.000Mhz
//
// Made by New Technology Company(N.T.C) in Korea.
// DAEWOO RYU
// Email : davidryu@newtc.co.kr
// 82-2-704-4774(TEL), 82-2-704-4733(FAX)
// http://www.NewTC.co.kr
//
#include <iom128v.h>
#include <macros.h>
#include <stdio.h>
#define MOTORPORT1 PORTC
#define ON 1
#define OFF 0
#define CW 1
#define CCW 0
// printf 함수 사용시 추가할 것.
int putchar(char c)
{
while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
UDR0 = c;
return c;
}
// scanf 함수 사용시 추가할 것.
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0xFF;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9615 (0.2%)
// char size: 8 bit
// parity: Disabled
void uart0_init(void)
{
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x67; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0x18;
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
XDIV = 0x00; //xtal divider
XMCRA = 0x00; //external memory
port_init();
uart0_init();
MCUCR = 0x00;
EICRA = 0x00; //extended ext ints
EICRB = 0x00; //extended ext ints
EIMSK = 0x00;
TIMSK = 0x00; //timer interrupt sources
ETIMSK = 0x00; //extended timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
// Motor Control
void M1A(int onoff){
if(onoff==ON)
MOTORPORT1 = MOTORPORT1|0x01;
else
MOTORPORT1 = MOTORPORT1&0xFE;
}
void M1A_(int onoff){
if(onoff==ON)
MOTORPORT1 = MOTORPORT1|0x02;
else
MOTORPORT1 = MOTORPORT1&0xFD;
}
void M1B(int onoff){
if(onoff==ON)
MOTORPORT1 = MOTORPORT1|0x04;
else
MOTORPORT1 = MOTORPORT1&0xFB;
}
void M1B_(int onoff){
if(onoff==ON)
MOTORPORT1 = MOTORPORT1|0x08;
else
MOTORPORT1 = MOTORPORT1&0xF7;
}
void Motor1(int CWCCW){
if(CWCCW==CW){
M1A(ON);
M1A_(OFF);
}else{
M1A(OFF);
M1A_(ON);
}
}
void Motor2(int CWCCW){
if(CWCCW==CW){
M1B(ON);
M1B_(OFF);
}else{
M1B(OFF);
M1B_(ON);
}
}
void delay(int delaytime){
int i,j;
for(i=0;i<1000;i++){
for(j=0;j<delaytime;j++){
}
}
}
//
void main(void)
{
init_devices();
//insert your functional code here...
printf("TEST for DC motor control");
while(1){
printf("\r\nClockWise");
Motor1(0);
Motor2(0);
delay(1000);
printf("\r\nCounter ClockWise");
Motor1(1);
Motor2(1);
delay(1000);
}
}
--------------------------------------------------------------
이거 그냥 단순히 정방향 역방향 돌리는 거 밖에 없죠? PWM 모드는 안되는거죠?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨를 이용하여 주셔서 감사합니다.
일단, 아래 예제는 ICCAVR 예제네요.
현재 예제는 PWM은 되지 안는 예제입니다.
그런 부분은 직접 구현하셔야 합니다.
본사의 키트를 사용하지 않는 다고 했지만, 본사의 키트를 사용한다고 해도 PWM을 위해서는
AM-DC2-2D와 같은 DC 모터 구동 모듈을 사용하는 것이 좋겠습니다.
감사합니다.
>
>
> 여기회사꺼 atmega128 키트 안쓰고 다른거 쓰고 있는데요...
> //ICC-AVR application builder : 2007-10-17 오후 3:12:00
> // Target : M128
> // Crystal: 16.000Mhz
> //
> // Made by New Technology Company(N.T.C) in Korea.
> // DAEWOO RYU
> // Email : davidryu@newtc.co.kr
> // 82-2-704-4774(TEL), 82-2-704-4733(FAX)
> // http://www.NewTC.co.kr
> //
>
> #include <iom128v.h>
> #include <macros.h>
> #include <stdio.h>
>
> #define MOTORPORT1 PORTC
>
> #define ON 1
> #define OFF 0
> #define CW 1
> #define CCW 0
>
> // printf 함수 사용시 추가할 것.
> int putchar(char c)
> {
> while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
>
> UDR0 = c;
> return c;
> }
>
> // scanf 함수 사용시 추가할 것.
> int getchar(void)
> {
> while ((UCSR0A & 0x80) == 0);
> return UDR0;
> }
>
>
> void port_init(void)
> {
> PORTA = 0x00;
> DDRA = 0x00;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00; //m103 output only
> DDRC = 0xFF;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
> }
>
> //UART0 initialize
> // desired baud rate: 9600
> // actual: baud rate:9615 (0.2%)
> // char size: 8 bit
> // parity: Disabled
> void uart0_init(void)
> {
> UCSR0B = 0x00; //disable while setting baud rate
> UCSR0A = 0x00;
> UCSR0C = 0x06;
> UBRR0L = 0x67; //set baud rate lo
> UBRR0H = 0x00; //set baud rate hi
> UCSR0B = 0x18;
> }
>
> //call this routine to initialize all peripherals
> void init_devices(void)
> {
> //stop errant interrupts until set up
> CLI(); //disable all interrupts
> XDIV = 0x00; //xtal divider
> XMCRA = 0x00; //external memory
> port_init();
> uart0_init();
>
> MCUCR = 0x00;
> EICRA = 0x00; //extended ext ints
> EICRB = 0x00; //extended ext ints
> EIMSK = 0x00;
> TIMSK = 0x00; //timer interrupt sources
> ETIMSK = 0x00; //extended timer interrupt sources
> SEI(); //re-enable interrupts
> //all peripherals are now initialized
> }
>
> // Motor Control
> void M1A(int onoff){
> if(onoff==ON)
> MOTORPORT1 = MOTORPORT1|0x01;
> else
> MOTORPORT1 = MOTORPORT1&0xFE;
> }
>
> void M1A_(int onoff){
> if(onoff==ON)
> MOTORPORT1 = MOTORPORT1|0x02;
> else
> MOTORPORT1 = MOTORPORT1&0xFD;
> }
>
> void M1B(int onoff){
> if(onoff==ON)
> MOTORPORT1 = MOTORPORT1|0x04;
> else
> MOTORPORT1 = MOTORPORT1&0xFB;
> }
>
> void M1B_(int onoff){
> if(onoff==ON)
> MOTORPORT1 = MOTORPORT1|0x08;
> else
> MOTORPORT1 = MOTORPORT1&0xF7;
> }
>
>
> void Motor1(int CWCCW){
> if(CWCCW==CW){
> M1A(ON);
> M1A_(OFF);
> }else{
> M1A(OFF);
> M1A_(ON);
> }
> }
>
> void Motor2(int CWCCW){
> if(CWCCW==CW){
> M1B(ON);
> M1B_(OFF);
> }else{
> M1B(OFF);
> M1B_(ON);
> }
> }
>
> void delay(int delaytime){
> int i,j;
> for(i=0;i<1000;i++){
> for(j=0;j<delaytime;j++){
> }
> }
> }
>
> //
> void main(void)
> {
> init_devices();
> //insert your functional code here...
> printf("TEST for DC motor control");
>
> while(1){
> printf("\r\nClockWise");
> Motor1(0);
> Motor2(0);
> delay(1000);
> printf("\r\nCounter ClockWise");
> Motor1(1);
> Motor2(1);
> delay(1000);
> }
> }
> --------------------------------------------------------------
> 이거 그냥 단순히 정방향 역방향 돌리는 거 밖에 없죠? PWM 모드는 안되는거죠?
>
|
||||
| 8555 | 답변완료ADC 차동 | 박덕훈 | 2013-12-08 | 1,374 |
|
안녕하세요 ATmega128 이제막 배우기 시작한 학생입니다.
ADC를 이용하여 가변저항이 움직임에따라
세븐세그먼트에 표시하는 과제를 받았습니다.
0~1023까지 변하는것은 만들었는데
-x ~ x 로 변하게 하는것을 어떻게 만들어야 할지 모르겠어서
글올립니다. 너무 초보적인 질문같지만 도저히 모르겠습니다.
도와주세요.
#include <mega128.h>
void delay(unsigned int cnt);
void display();
char seg_num[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
int adc = 0;
void main(){
DDRC = 0x0F;
DDRA = 0xFF;
DDRF = 0x00;
ADMUX = 0x47;
ADCSRA = 0xEF;
SREG = 0x80;
while(1){
display();
}
}
void display(){
char N1000, N100, N10, N1;
int temp;
N1000 = adc/1000;
temp = adc%1000;
N100 = temp/100;
temp = temp%100;
N10 = temp/10;
N1 = temp%10;
PORTC = 0b00000001;
PORTA = ~seg_num[N1000];
delay(1);
PORTC = 0b00000010;
PORTA = ~seg_num[N100];
delay(1);
PORTC = 0b00000100;
PORTA = ~seg_num[N10];
delay(1);
PORTC = 0b00001000;
PORTA = ~seg_num[N1];
delay(1);
}
interrupt[ADC_INT] void adc_int(void){
adc = (int)ADCL + ((int)ADCH << 8);
}
void delay(unsigned int cnt){
unsigned int i, j;
for(i=0; i<cnt; i++){
j = 5000;
while(--j);
}
}
관리자 답변
안녕하세요? 고객님,
채널을 0번이면 포트 F의 0번 입력으로 signle 입력으로 받는 것이자나요?
채널 1번이면 포트 F의 1번 입력으로 싱글 입력 받는 것이구요.
마찬가지로....데이터 시트에 보면 채널 xx이면 xx(+입력)과 xx(-입력)번 사이의
입력을 받는 다는 식으로 써 있으니, 데이터 시트를 보시기 바랍니다.
간혹 200배 증폭까지 해주는 채널도 있으니, 참고 바랍니다.
좀 더 번역된 자세한 강좌를 원하시면 본 회사 강좌 중에서
온라인강좌 -->AVR 기본강좌 중에서 ADC 강좌 를 참고하세요.
예를 들어서, ADC에서 ADMUX |= 0x4b; 로 잡으시면 Ch1을 +, Ch2를 -로 잡는 것입니다.
그에 대한 변환 결과는 -512~+511 범위의 값을 가지는 데,
표현법이 10비트 2의 보수 표현법을 사용합니다. 따라서 0x200 ~ 0x3ff~ 0 ~ 0x1ff 가 됩니다.
또한, 차동 입력으로 사용하실 경우, 초기가 몇개는 버리시는 것이 좋습니다. 결과값이 정확하지 않으니까요.
또한, 예를 들어서 로드셀의 출력이 전압인지, 저항값인지를 보시고, 저항값일 경우 휘트스톤 브릿지 등으로 사용하여 전압으로 바꿔주는 회로를 구성하셔야 겠구요. 전압일 경우, 내장되어 있는 타입인데, 200배를 했을 때, 혹시 전압이 넘치지는 않는 지 확인하시는 것이 좋겠네요.
그리고, 입력이 없으면, 공기 중의 변하는 미세 전압 값을 증폭해서 나오게 되어서,
값이 계속 변하게 됩니다. 반드시 GND로 연결하시거나, VCC로 연결하시거나 하셔서, 값을 보시는 것이 좋겠습니다.
수고하세요.
>
>
> 안녕하세요 ATmega128 이제막 배우기 시작한 학생입니다.
>
> ADC를 이용하여 가변저항이 움직임에따라
>
> 세븐세그먼트에 표시하는 과제를 받았습니다.
>
> 0~1023까지 변하는것은 만들었는데
>
> -x ~ x 로 변하게 하는것을 어떻게 만들어야 할지 모르겠어서
>
> 글올립니다. 너무 초보적인 질문같지만 도저히 모르겠습니다.
>
> 도와주세요.
>
> #include <mega128.h>
>
> void delay(unsigned int cnt);
> void display();
>
> char seg_num[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
> int adc = 0;
>
> void main(){
>
> DDRC = 0x0F;
> DDRA = 0xFF;
> DDRF = 0x00;
> ADMUX = 0x47;
> ADCSRA = 0xEF;
>
> SREG = 0x80;
>
> while(1){
> display();
> }
> }
>
> void display(){
> char N1000, N100, N10, N1;
> int temp;
>
> N1000 = adc/1000;
> temp = adc%1000;
>
> N100 = temp/100;
> temp = temp%100;
>
> N10 = temp/10;
>
> N1 = temp%10;
>
> PORTC = 0b00000001;
> PORTA = ~seg_num[N1000];
> delay(1);
>
> PORTC = 0b00000010;
> PORTA = ~seg_num[N100];
> delay(1);
>
> PORTC = 0b00000100;
> PORTA = ~seg_num[N10];
> delay(1);
>
> PORTC = 0b00001000;
> PORTA = ~seg_num[N1];
> delay(1);
> }
>
> interrupt[ADC_INT] void adc_int(void){
> adc = (int)ADCL + ((int)ADCH << 8);
> }
>
> void delay(unsigned int cnt){
> unsigned int i, j;
>
> for(i=0; i<cnt; i++){
> j = 5000;
> while(--j);
> }
> }
>
|
||||
| 8554 | 답변완료AM-TLCD-P 모듈에 질문있습니다. | 박재영 | 2013-12-07 | 1,364 |
|
예를들어 LCD 7번핀부터 14번핀까지 data로 쓸경우
data input라인에 1번핀(7) 부터 8번핀(14)까지 꼽는게 맞나요?
그리고 lcd에 4,5,6번 핀을 RS,RW,E 을 연결하려면
모듈에 Control input에 4번부터 6번까지 그대로 연결하는게 맞는거 아닌가요?
했는데 소스에는 전혀 이상이없는데... 왜 위에 검은줄만 나오는거죠?
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
답변드릴께요.
> 예를들어 LCD 7번핀부터 14번핀까지 data로 쓸경우
> data input라인에 1번핀(7) 부터 8번핀(14)까지 꼽는게 맞나요?
~~> 네
> 그리고 lcd에 4,5,6번 핀을 RS,RW,E 을 연결하려면
> 모듈에 Control input에 4번부터 6번까지 그대로 연결하는게 맞는거 아닌가요?
--> 아뇨 각각 control의 0번 1번 2번에 꽂고 프로그램해야하며,
자료실에서 메뉴얼과 예제소스를 보기 바랍니다.
또한 초기화 루틴이 잘못되도 동작하지 않습니다.
감사합니다.
>
> 했는데 소스에는 전혀 이상이없는데... 왜 위에 검은줄만 나오는거죠?
>
|
||||
