로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
8528 답변완료SE DM 185 엔코더 질문입니다. 권용찬 2013-11-29 1,390
SE DM-185를 이용하여 dc모터의 회전수제어를 하려고 합니다.(MCU ATMEGA 128사용) 엔코더 가 RM3GGM 21TYPE로 되어있고 26P라고 성능이 기입되어있는데요 엔코더의 A상만을 인터럽트로 받아서 상승애지일때 펄스 수를 세는 방식으로 하는데 [질문1]A상을 그대로 인터럽트 포트에 그대로 연결해서 사용하여야되나요? 아니면 사진처럼 820저항을 연결해서 사용하여야되나요?? 다른 답변을 봤을때 A상만은 분해능이 13P라고 하였는데요 (26p에서 A ,B각각 13P이라고 답변이 있었습니다.) 분해능/감속비 13/(1/30)=390 1바퀴 회전시 펄스수라고 계산이되는데 (SE DM-185 모터감속비가 1/30) [질문2] A펄스가 13번 발생시 모터가 1바퀴 돌아야되는것이 맞는건가요? 아니면 위식의 값처럼 390펄스가 나와야 1바퀴가 도는것인가요?
관리자 답변 관리자 · 2013-11-29
안녕하요 고객님, 저희 뉴티씨 제품을 이용하여 주셔서감사드립니다. 1k정도 저항으로 풀업하시면되구요. 한바퀴에 13번이 맞는것으로 압니다. 감사합니다. > > > SE DM-185를 이용하여 dc모터의 회전수제어를 하려고 합니다.(MCU ATMEGA 128사용) > > 엔코더 가 RM3GGM 21TYPE로 되어있고 26P라고 성능이 기입되어있는데요 > > 엔코더의 A상만을 인터럽트로 받아서 상승애지일때 펄스 수를 세는 방식으로 하는데 > > [질문1]A상을 그대로 인터럽트 포트에 그대로 연결해서 사용하여야되나요? > 아니면 사진처럼 820저항을 연결해서 사용하여야되나요?? > > 다른 답변을 봤을때 A상만은 분해능이 13P라고 하였는데요 > > (26p에서 A ,B각각 13P이라고 답변이 있었습니다.) > > 분해능/감속비 13/(1/30)=390 1바퀴 회전시 펄스수라고 계산이되는데 > > (SE DM-185 모터감속비가 1/30) > > [질문2] A펄스가 13번 발생시 모터가 1바퀴 돌아야되는것이 맞는건가요? > 아니면 위식의 값처럼 390펄스가 나와야 1바퀴가 도는것인가요? >
8527 답변완료SE-SM9K와 AM-CS2P를 이용한 모터 구동시 원섭 2013-11-28 1,366
SE-SM9K와 AM-CS2P를 이용하여 모터를 구동하고 있습니다. 1-2상 여자 방식으로 모터를 구동하고 있는데, 고속 회전시엔 정상 회전하지만 저속 동작시 원하는 방향 회전이 되지 않고, 심한 진동과 함께 역방향 회전이 계속 해서 걸립니다. 즉, 왼쪽 회전이라면, 왼쪽 오른쪽 왼쪽 왼쪽 오른쪽 .... 이런 식입니다. 왼쪽으로 조금씩 가는듯 하지만, 오른쪽 회전도 계속해서 발생합니다. 어댑터는 12V 5A를 사용하고 있습니다. 저속일때는 부하 혹은 무부하 관계없이 저런 현상이 발생하네요. 어디서 문제가 발생하는건지 궁금합니다.
관리자 답변 관리자 · 2013-11-29
안녕하세요 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다. 모터구동 모듈의 토크에 전원이부족한 증상입니다. 아답타는 충분하므로 구동모듈의 중앙쯤의 가변저항 돌려서 적절한 바이어스 맞춰주세요. 감사합니다. > > > SE-SM9K와 AM-CS2P를 이용하여 모터를 구동하고 있습니다. > > 1-2상 여자 방식으로 모터를 구동하고 있는데, > > 고속 회전시엔 정상 회전하지만 > > 저속 동작시 원하는 방향 회전이 되지 않고, 심한 진동과 함께 역방향 회전이 계속 해서 걸립니다. > > 즉, 왼쪽 회전이라면, 왼쪽 오른쪽 왼쪽 왼쪽 오른쪽 .... 이런 식입니다. > > 왼쪽으로 조금씩 가는듯 하지만, 오른쪽 회전도 계속해서 발생합니다. > > 어댑터는 12V 5A를 사용하고 있습니다. > > 저속일때는 부하 혹은 무부하 관계없이 저런 현상이 발생하네요. > > 어디서 문제가 발생하는건지 궁금합니다. >
8526 답변완료ISP-JTAGICE-USB의 AVR studio 6.1 지원계획?! 이승민 2013-11-28 1,424
-------- 아래에 문의한 ISP-JTAGICE-USB 인식불능문제는 다른 USB-SERIAL 장치와 충돌나는 것이었네요 다른 USB-SERIAL을 다 뽑고서 ISP-JTAGICE-USB을 연결하니 정상 인식 합니다. --------- 새로운 질문입니다. ISP-JTAGICE-USB를 구매해서 잘 쓰고 있습니다. 그런데 제품 설명서에도 명시했듯이, 이 제품은 AVR studio 4.19 까지만 지원하더군요. 찾다보니 다른 회사 제품중에 AVR studio 6.0을 지원하는 ISP가 있던데, NEWTC에서는 6.0까지 지원하도록 할 계획이 없으신가요? 지원계획 여부 문의드립니다.
관리자 답변 관리자 · 2013-11-29
안녕하세요 고객님, 항상 저희 뉴티씨 제품을 이용하여주셔서 감사드립니다. 네 그렇군요. 최근에 출시한 usbisp v6.0을 쓰시면 포트 충돌도 방지될겁니다. 조만간 jtagice도 변경 예정입니다. 그리고 usbisp의 경우 v4.0, v03.6, v6.0은 이미 avr studio v6.1지원이 됩니다.참고하시기 바랍니다. 다만 jtagice는 v4.19까지 지원됩니다. 다음버전도 조만간 제작예정입니다. 내년 초까지는 완료하려합니다. 감사합니다. > > > -------- > 아래에 문의한 ISP-JTAGICE-USB 인식불능문제는 > 다른 USB-SERIAL 장치와 충돌나는 것이었네요 > 다른 USB-SERIAL을 다 뽑고서 ISP-JTAGICE-USB을 연결하니 정상 인식 합니다. > --------- > > 새로운 질문입니다. > > ISP-JTAGICE-USB를 구매해서 잘 쓰고 있습니다. > > 그런데 제품 설명서에도 명시했듯이, 이 제품은 AVR studio 4.19 까지만 지원하더군요. > > > 찾다보니 다른 회사 제품중에 AVR studio 6.0을 지원하는 ISP가 있던데, > NEWTC에서는 6.0까지 지원하도록 할 계획이 없으신가요? > > 지원계획 여부 문의드립니다. >
8525 답변완료AD-USBISP V6.0 관련 사용법 문의 이성근 2013-11-28 1,402
귀사의 답변에 감사를 드립니다. 현재 상황은 제가 대구에 있어 제품을 보내고 할 시간적 여유가 많이 없습니다. 다만 다운로드 TDOOL은 문제가 없는 것 같습니다. 제가 궁금한 것은 제가 Atmega48PA를 처음 사용하고 AVR Studio 6.1(기존에는 버젼 4를 사용) 를 처음 사용하다보니 솔직히 셋팅에 대한 자료나 지식이 없는 상태입니다. 혹시 다른 세팅법이 있는지요 atmega128은 별도 셋팅없이 잘 사용하여서 인지 좀 당황스럽기까지 합니다. 우선 완료를 금주 중으로 해야하는데 여기서 발목이 잡혀서 좀 부탁을 드리겠습니다.
관리자 답변 관리자 · 2013-11-29
안녕하세요 고객님, 그럼 usbisp v4.0 user manual 에보면 avr studio v4.xx에서 다운로드법이 나옵니다. 일단 그걸로 먼저 해보세요. 그리고 본사 홈피 가입하신 전화번호는 없는 번호네요. 오전부터 연락드렸는데 안되서요. 확인 바랍니다. 감사합니다. > > > 귀사의 답변에 감사를 드립니다. 현재 상황은 제가 대구에 있어 > 제품을 보내고 할 시간적 여유가 많이 없습니다. > 다만 다운로드 TDOOL은 문제가 없는 것 같습니다. > 제가 궁금한 것은 제가 Atmega48PA를 처음 사용하고 AVR Studio 6.1(기존에는 버젼 4를 사용) > 를 처음 사용하다보니 솔직히 셋팅에 대한 자료나 지식이 없는 상태입니다. > 혹시 다른 세팅법이 있는지요 atmega128은 별도 셋팅없이 잘 사용하여서 인지 > 좀 당황스럽기까지 합니다. 우선 완료를 금주 중으로 해야하는데 여기서 발목이 잡혀서 > 좀 부탁을 드리겠습니다. >
8524 답변완료ISP-JTAGICE-USB 사용중 Unknown Device 로 인식.. 이승민 2013-11-27 1,450
2주전에 ISP-JTAGICE-USB를 사서 ISP모드로 잘 쓰고 있었습니다. 윈도우7에서 사용중 입니다. 처음에 ISP를 노트북에 연결하니, 시리얼장치로 잘 잡혀서 다운로드도 잘 되었습니다. 그런데 오늘 보드에 전원을 넣고, ISP를 인식하려하니, 인식이 안된다고 합니다. 그래서 장치관리자를 열어봤더니 포트에 시리얼 장치로 잡혀야할 ISP가 Unknown Device로 느낌표와 함께 떠 있습니다. 시리얼 장치로 인식을 못한 것 같은데요. 이거... ISP가 죽은 것 아닌가요? 몇번 쓰지도 않았는데, A/S 가능한가요? 제가 뭘 잘못해서 이지경이 된건가요? 연락부탁드립니다.
관리자 답변 관리자 · 2013-11-27
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 일단, 본사로 보내서 점검 받아 보시기 바랍니다. A/S 가능합니다. 감사합니다. > > > 2주전에 ISP-JTAGICE-USB를 사서 ISP모드로 잘 쓰고 있었습니다. > > 윈도우7에서 사용중 입니다. > > 처음에 ISP를 노트북에 연결하니, 시리얼장치로 잘 잡혀서 다운로드도 잘 되었습니다. > > > 그런데 오늘 보드에 전원을 넣고, ISP를 인식하려하니, 인식이 안된다고 합니다. > 그래서 장치관리자를 열어봤더니 > 포트에 시리얼 장치로 잡혀야할 ISP가 Unknown Device로 느낌표와 함께 떠 있습니다. > > 시리얼 장치로 인식을 못한 것 같은데요. > 이거... ISP가 죽은 것 아닌가요? > > 몇번 쓰지도 않았는데, A/S 가능한가요? > 제가 뭘 잘못해서 이지경이 된건가요? > > 연락부탁드립니다. >
8523 답변완료AM-CD2L 출력문의 이은우 2013-11-27 1,443
입력이 5v라고 나와있는데 출력은 그럼 몇 voltage로 나오나요? 출력voltage값을 조절할 수 있는건가요? AM-DC2-2D같은 경우 입력5v에 출력이 5~45v로 나와있는데 출력 voltage는 사용보드로 값을 조절할 수 있는건가요? 예제소스가 있다면 부탁드립니다.
관리자 답변 관리자 · 2013-11-27
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. CD2L의 경우는 10핀 헤더박스에 공급되는 5V가 모터에 공급되는 전원이 됩니다. 따라서, 이 10핀 헤더박스에 꽂는 전압을 변경하면 모터에 공급되는 전원이 변경되게 됩니다. 따라서, AVR과 10핀 케이블로 연결하지 않고, GND끼리, Data끼리를 연결한 후, VCC와 GND한개 더빼서, 거기에 모터에 공급되길 원하는 전압을 공급하면 되겠습니다. 최대 18V까지만, 거기에 전압 넣었을 때, CD2L에 문제가 없게 됩니다. 잘 확인한 후 사용하세요. 감사합니다. > > > 입력이 5v라고 나와있는데 출력은 그럼 몇 voltage로 나오나요? > 출력voltage값을 조절할 수 있는건가요? > > > AM-DC2-2D같은 경우 입력5v에 출력이 5~45v로 나와있는데 출력 voltage는 사용보드로 값을 조절할 수 있는건가요? 예제소스가 있다면 부탁드립니다. >
8522 답변완료AM-CSV 각도조절 이은우 2013-11-27 1,456
서보모터 하나 혹은 두개를 연결해서 각도조절을 하고 싶은데 DC모터구동모듈 같은 경우에는 신호주기 데이터시트가 있던데 이 제품은 없더라구요. 혹시 각도조절에 필요한 데이터시트가 있으면 부탁드립니다.
관리자 답변 관리자 · 2013-11-27
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 자료실에서 서보 라고 치면, 각종 예제소스가 나올 겁니다. 8개를 한 번에 제어하는 소스도 있고, 1개를 시리얼로 제어하는 소스도 있고, 여러가지가 있습니다. 참고 바라구요. 서보모터는 오실로스코프로 정확히 재가면서 만들어야소스를 제대로 만들 수 있습니다. 따라서, 본사의 예제를 사용해 보세요. 또한, 온라인강좌->AVR 강좌에서 서보 라고 치면, 서보모터 강좌가 있습니다. 그 부분 참고하시면 안에 자세히 나옵니다. 감사합니다. > > > 서보모터 하나 혹은 두개를 연결해서 각도조절을 하고 싶은데 DC모터구동모듈 같은 경우에는 신호주기 데이터시트가 있던데 이 제품은 없더라구요. > > 혹시 각도조절에 필요한 데이터시트가 있으면 부탁드립니다. >
8521 답변완료AD-USBISP V6.0 관련 질문 입니다. 이성근 2013-11-26 1,354
어제 질문을 올려 답변하신데로 하였으나 여전히 같은 문제가 발생하고 있습니다. 설정이 잘못되었는지 모르지만 ISP에서 MOSI 와 MISO의 단자에 파형이 나오지 않고 있습니다. 바쁘시지만 다시 한번 부탁을 드립니다. 칩:Atmega48PA TOOL : AD-USBISP V6.0 컴파일러 : AVT Studio 6.1 OS : Window 7 64bit입니다.
관리자 답변 관리자 · 2013-11-27
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 한 번 제품을 가지고 방문하여 주시거나, 택배로 보내서 점검받아 보시기 바랍니다. 직접 봐야 알 것 같습니다. 감사합니다. > > > 어제 질문을 올려 답변하신데로 하였으나 여전히 같은 문제가 발생하고 있습니다. > 설정이 잘못되었는지 모르지만 ISP에서 MOSI 와 MISO의 단자에 파형이 나오지 않고 있습니다. > 바쁘시지만 다시 한번 부탁을 드립니다. > 칩:Atmega48PA > TOOL : AD-USBISP V6.0 > 컴파일러 : AVT Studio 6.1 > OS : Window 7 64bit입니다. >
8520 답변완료제품 문의입니다 허상훈 2013-11-26 1,437
안녕하세요 atmega와 지그비를 이용한 프로젝트를 수행 중에 있습니다 전원 변환 보드 am-mp533 를 이용하여 5v와 3.3v의 전압을 각각 사용했었습니다. 원래는 보드에 smps 어뎁터를 연결하여 프로젝트를 수행중이였으나 잠수함 실험을 위해 귀사 제품인 se-bat12v 배터리를 구매하여 am-mp533에 연결하였는데 지그비 통신이 더 이상 되지않는것이었습니다. 그래서 am-mp533 부품의 손상을 고려하여 멀티미터로 전압을 측정하였더니 지그비 부분에 3.3v의 출력이 나와야하는데 5v의 출력이 나오는 것을 확인할 수 있었습니다. 5v 부분에선 7v정도의 전압이 출력되구요. 분명히 am-mp533 제품의 허용 범위안에 배터리의 스펙인데 왜 이런 것인지 모르겠습니다 교수님 말씀으론 과전류가 흘러서 그렇게 된 거 아니냐 하시는데 그런 것인지 궁금합니다 물론 이런 일이 생긴건 저의 불찰이긴 하지만 제품 스펙을 확인하고 허용 범위 안에 있는 것을 확인 했었으나 이런 일이 생겨 유감입니다. 기분도 안좋구요. 또한 질문답변에 am-mp533을 검색해보니 배터리 연결 후 이상이 생긴 것이 저 뿐만은 아니고 다른 사람들에게도 있었던 것 같은데 답변들을 보면 이런 부분을 제대로 확인을 안해보시고 제품엔 문제 없을 것이다 라는 식의 모호한 답변만 달려있더라구요. 배터리 또한 귀사 제품에 연결하여 사용하라고 출시하신 것 같아 별 문제 없을 것이라 생각했는데 이런 일이 생기네요... 다행히 아트메가와 기타 모터 모듈, 서보 모터 모듈에는 큰 이상이 없고 일단 두 부품만 손상이 되어 재 구매 후 프로젝트를 다시 수행할 생각인데 아시듯 지그비가 저가의 제품이 아니기 때문에 다시 제품에 문제가 생기면 곤란하니 이 부분에 대해 확인 좀 부탁드리겠습니다.
관리자 답변 관리자 · 2013-11-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다. 저희 MP533 제품은 현재 전량 5V와 3.3V를 테스트 해서 발매되고 있습니다. 예전에 샘플링 체크를 하여 나간 적이 있었으나, 당시부터 고객님이 지적하신 문제가 간혹 발견되고 있어서, 18개월 전부터는 전량 전수검사를 하고 있습니다. 따라서, 제품이 발매될 당시에는 문제가 없을 확률이 매우 높습니다. 하지만, 순간 쇼트나 무슨 사유로 오버스펙의 과전류가 흐른다던가 하면 LM1117-3.3V 같은 부품들이 망가질 수 있습니다. 실험실 환경에 작은 납덩어리가 닿아도 쇼트가 될 수 있으니, 매우 주의가 요망됩니다. 또한, 선을 잠시 움직이다가 쇼트가 나도 마찬가지입니다. 아날로그 서보모터의 경우, 하나에 250 - 350mA 정도 사용됩니다. 순간 400mA 정도 먹기도 합니다. 레귤레이터인 7805나 1117-3.3V의 경우, 700mA 정도의 스펙입니다만, 순간적으로 좀 더 걸리면서 망가질 수도 있습니다. 따라서, 안정적으로는 400-500mA 이내로 사용하는 것이 권장됩니다. 전원보드 사용시에 서포터 등을 사용하여, 실험실의 쇼트 방지를 위하여 위로 띄워서 사용하는 것도 좋은 습관입니다. 그리고, 혹시 5V나 3.3V의 전류를 더 많이 사용해야 한다면, MP533에서 사용된 7805를 빼고, 방열판 사용시 3A까지 사용 가능한 현재는 구하기가 좀 어렵긴 하지만, 78T05 같은 부품으로 교체하여 사용하는 것도 좋은 방법이라고 하겠습니다. 감사합니다. > > > 안녕하세요 atmega와 지그비를 이용한 프로젝트를 수행 중에 있습니다 > 전원 변환 보드 am-mp533 를 이용하여 5v와 3.3v의 전압을 각각 사용했었습니다. > 원래는 보드에 smps 어뎁터를 연결하여 프로젝트를 수행중이였으나 잠수함 실험을 위해 귀사 제품인 se-bat12v 배터리를 구매하여 am-mp533에 연결하였는데 지그비 통신이 더 이상 되지않는것이었습니다. 그래서 am-mp533 부품의 손상을 고려하여 멀티미터로 전압을 측정하였더니 지그비 부분에 3.3v의 출력이 나와야하는데 5v의 출력이 나오는 것을 확인할 수 있었습니다. 5v 부분에선 7v정도의 전압이 출력되구요. > 분명히 am-mp533 제품의 허용 범위안에 배터리의 스펙인데 왜 이런 것인지 모르겠습니다 교수님 말씀으론 과전류가 흘러서 그렇게 된 거 아니냐 하시는데 그런 것인지 궁금합니다 > > 물론 이런 일이 생긴건 저의 불찰이긴 하지만 제품 스펙을 확인하고 허용 범위 안에 있는 것을 확인 했었으나 이런 일이 생겨 유감입니다. 기분도 안좋구요. 또한 질문답변에 am-mp533을 검색해보니 배터리 연결 후 이상이 생긴 것이 저 뿐만은 아니고 다른 사람들에게도 있었던 것 같은데 답변들을 보면 이런 부분을 제대로 확인을 안해보시고 제품엔 문제 없을 것이다 라는 식의 모호한 답변만 달려있더라구요. 배터리 또한 귀사 제품에 연결하여 사용하라고 출시하신 것 같아 별 문제 없을 것이라 생각했는데 이런 일이 생기네요... > > 다행히 아트메가와 기타 모터 모듈, 서보 모터 모듈에는 큰 이상이 없고 일단 두 부품만 손상이 되어 재 구매 후 프로젝트를 다시 수행할 생각인데 아시듯 지그비가 저가의 제품이 아니기 때문에 다시 제품에 문제가 생기면 곤란하니 이 부분에 대해 확인 좀 부탁드리겠습니다. >
8519 답변완료Enable 핀 설정해도 안되네요. 백지은 2013-11-26 1,375
제가 하려는 것은 클럭을 입력받아서 주파수와 듀티를 바꾼후 임의의 포트로 출력하려는 것입니다. 주파수를 낮게 설정해서 모듈 LED를 켜는 소스를 만들었고, 원하는동작을 하길에 주파수만 다시 변경해서 PORTA로 출력을 했습니다. 근데 PORTA에서는 신호가 아에 안잡힙니다. 두소스의 차이점은 Enable, Dir핀인거 같은데, PORTA로 출력하려면 Enable 이랑 Dir핀을 어떻게 설정하는지 모르겠어요. 확인부탁드립니다. -------------------------------여기까지가 저번에 한 질문입니다. 알려주신대로 portA의 enable 핀에 0 넣고, Dir 핀에 1 넣었습니다. 그런데 출력신호가 안잡힙니다. 아래 소스처럼 Output 설정할때 넣고, 동시에 LED 다른곳 출력되게 신호도 설정해봤습니다. LED는 켜지는데 왜 PORT만 안되는지 이해가안되네요. 추가로 말씀드리자면, PortA, B,C 세 포트의 0~7 bit까지 1V직류신호가 검출됩니다.(프로그램넣든안넣든) 이거는 원래 정상동작인가요? module inverter_signal(clk, reset, sw_sig1, sw_sig2, sw_sig3, sw_sig4, ena_a, dir_a); input clk, reset; output ena_a = 0; // A인에이블활설화 output dir_a = 1; // A출력 output sw_sig1; // switch 1 output sw_sig2; // switch 3 inverse - output sw_sig3; // siwtch 3 output sw_sig4; // switch 1 inverse - reg [31:0] clk_count; reg sw_sig1; reg sw_sig3; parameter SEC_sig1 = 2500; // when 25us, it must be 2500 always@(posedge clk) if(!reset) clk_count <= 0; else if(clk_count < SEC_sig1) clk_count <= clk_count+1; else clk_count <= 0; always@(posedge clk) if(clk_count <= 1250) sw_sig1 = 1; else if(clk_count > 1250) sw_sig1 = 0; always@(posedge clk) if(clk_count > 500 && clk_count <= 1750) sw_sig3 = 1; else sw_sig3 = 0; assign sw_sig4 =~ sw_sig1; assign sw_sig2 =~ sw_sig3; endmodule
관리자 답변 관리자 · 2013-11-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. PORTA를 테스트 하는 예제를 작성해 보았습니다. 테스트 해보니 잘 동작합니다. 첨부 예제를 참고하시기 바랍니다. > > > 제가 하려는 것은 클럭을 입력받아서 주파수와 듀티를 바꾼후 임의의 포트로 출력하려는 것입니다. > > 주파수를 낮게 설정해서 모듈 LED를 켜는 소스를 만들었고, > 원하는동작을 하길에 주파수만 다시 변경해서 PORTA로 출력을 했습니다. > 근데 PORTA에서는 신호가 아에 안잡힙니다. 두소스의 차이점은 > Enable, Dir핀인거 같은데, PORTA로 출력하려면 Enable 이랑 Dir핀을 > 어떻게 설정하는지 모르겠어요. > > 확인부탁드립니다. > -------------------------------여기까지가 저번에 한 질문입니다. > > 알려주신대로 portA의 enable 핀에 0 넣고, Dir 핀에 1 넣었습니다. > > 그런데 출력신호가 안잡힙니다. 아래 소스처럼 Output 설정할때 넣고, > 동시에 LED 다른곳 출력되게 신호도 설정해봤습니다. LED는 켜지는데 > 왜 PORT만 안되는지 이해가안되네요. > > 추가로 말씀드리자면, PortA, B,C 세 포트의 0~7 bit까지 1V직류신호가 > 검출됩니다.(프로그램넣든안넣든) 이거는 원래 정상동작인가요? > > > > > > > > > > > module inverter_signal(clk, reset, sw_sig1, sw_sig2, sw_sig3, sw_sig4, ena_a, dir_a); > > input clk, reset; > > output ena_a = 0; // A인에이블활설화 > output dir_a = 1; // A출력 > output sw_sig1; // switch 1 > output sw_sig2; // switch 3 inverse - > output sw_sig3; // siwtch 3 > output sw_sig4; // switch 1 inverse - > > reg [31:0] clk_count; > reg sw_sig1; > reg sw_sig3; > > > parameter SEC_sig1 = 2500; // when 25us, it must be 2500 > > > always@(posedge clk) > > > if(!reset) > > clk_count <= 0; > > else > > if(clk_count < SEC_sig1) > > clk_count <= clk_count+1; > > else > > clk_count <= 0; > > > always@(posedge clk) > > > if(clk_count <= 1250) > > sw_sig1 = 1; > > else if(clk_count > 1250) > > sw_sig1 = 0; > > > always@(posedge clk) > > > if(clk_count > 500 && clk_count <= 1750) > > sw_sig3 = 1; > > > else > > sw_sig3 = 0; > > > > > > assign sw_sig4 =~ sw_sig1; > assign sw_sig2 =~ sw_sig3; > > endmodule >
8518 답변완료DC라인트레이서 KR-DL128 키트에서.. 남견우 2013-11-26 1,459
PG3와 PG2 스위치를 이용해서 PG3를 누르면 동작을 하게하고 PG2를 누르면 멈추게하는 소스를 만들려구 하는데 쉽게 되질않네요..ㅠㅠ 어떤 부분을 수정해야 할까요??ㅜㅜ --------------------------------------------------------------------------- #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #define SENSOR_PORT PINF #define MOTORPORT1 PORTC #define ON 1 #define OFF 0 #define CW 1 #define CCW 0 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 = 0x03; } // UART0 을 이용한 출력 void tx0Char(char message) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = message; } static int Putchar(char c, FILE *stream) { tx0Char(c); return 0; } //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 XMCRA = 0x00; //external memory XMCRB = 0x00; //external memory port_init(); uart0_init(); fdevopen(Putchar,0); 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 } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<600;j++); } } void delay2(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<10;j++); } } 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 MOTORSTOP(void){ M1B(OFF); M1B_(OFF); M1A(OFF); M1A_(OFF); } // int main(void) { unsigned char sensor; // volatile unsigned char stepleft=0, stepright=0; init_devices(); while(1){ sensor = SENSOR_PORT & 0x0F; printf("\r\n Sensor:%x ",sensor); switch(sensor){ /*case 0x00: printf("Nothing\r\n"); PORTG= 0x01; break; case 0x08: printf("RIGHTEST\r\n"); PORTG= 0x02; break; case 0x04: printf("RIGHT\r\n"); PORTG= 0x03; break; case 0x03: case 0x02: printf("LEFT\r\n"); PORTG= 0x00; break; case 0x01: printf("LEFTEST\r\n"); PORTG= 0x03; break;*/ case 0x03: case 0x07: printf("맨오른쪽 \r\n"); PORTG= 0x01; Motor1(0); M1B(OFF); M1B_(OFF); delay(17); MOTORSTOP(); delay2(1); // Motor2(0); //Motor2(0); break; case 0x0b: printf("오른쪽 \r\n"); PORTG= 0x02; Motor1(0); M1B(OFF); M1B_(OFF); delay(17); MOTORSTOP(); delay2(1); // // Motor2(0); break; case 0x0c: case 0x0d: printf("왼쪽 \r\n"); PORTG= 0x03; //Motor1(1); M1A(OFF); M1A_(OFF); Motor2(1); delay(14); MOTORSTOP(); delay2(1); break; case 0x0e: printf("맨왼쪽\r\n"); PORTG= 0x00; //Motor1(1); M1A(OFF); M1A_(OFF); Motor2(1); delay(14); MOTORSTOP(); delay2(1); break; case 0x0f: printf("All White"); Motor1(0); Motor2(1); delay(15); MOTORSTOP(); //M1A(OFF); //M1A_(OFF); //Motor2(1); //delay(50); //MOTORSTOP(); delay2(1); break; default : printf("예외\r\n"); M1A(OFF); M1A_(OFF); M1B(OFF); M1B_(OFF); //Motor1(0); //Motor2(1); break; } } return 0; }
관리자 답변 관리자 · 2013-11-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 죄송하지만, 소스 수정 등은 본사에서 도움을 드리는 범위를 넘어섭니다. PG3를 눌렀을 때, 어떻게 인식하는지, 어떤 동작을 하게 하는지, PG2를 눌렀을 때, 어떻게 인식할 지, 어떤 동작을 멈출지 등을 모두 명확하게 설정한 후, 프로그램해야 합니다. 다른 키나 센서들에는 전혀 동작하지 않는 것인지, 우선, 블럭 구성도를 그리고, 각 포트의 비트별 동작 정의를 합니다. 그리고나서, 프로그램을 들어가야 합니다. 대강 생각만 하고, 그렇게 하면 되겠지 하는 것보다, 위에 말씀드린 것처럼, 정확하게 문서로 정의하고 프로그램을 시작하는 것이 좋습니다. 감사합니다. > > > PG3와 PG2 스위치를 이용해서 PG3를 누르면 동작을 하게하고 PG2를 누르면 > 멈추게하는 소스를 만들려구 하는데 쉽게 되질않네요..ㅠㅠ 어떤 부분을 수정해야 > 할까요??ㅜㅜ > > --------------------------------------------------------------------------- > > #include <avr/io.h> > #include <avr/interrupt.h> > #include <stdio.h> > > #define SENSOR_PORT PINF > #define MOTORPORT1 PORTC > > #define ON 1 > #define OFF 0 > #define CW 1 > #define CCW 0 > > 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 = 0x03; > } > > // UART0 을 이용한 출력 > void tx0Char(char message) > { > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > UDR0 = message; > } > > > static int Putchar(char c, FILE *stream) > { > tx0Char(c); > return 0; > > } > > //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 > XMCRA = 0x00; //external memory > XMCRB = 0x00; //external memory > port_init(); > uart0_init(); > fdevopen(Putchar,0); > > 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 > } > > void delay(int n) > { > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<600;j++); > } > } > > void delay2(int n) > { > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<10;j++); > } > } > > > 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 MOTORSTOP(void){ > M1B(OFF); > M1B_(OFF); > M1A(OFF); > M1A_(OFF); > } > > // > int main(void) > { > unsigned char sensor; > // volatile unsigned char stepleft=0, stepright=0; > > init_devices(); > > while(1){ > sensor = SENSOR_PORT & 0x0F; > > printf("\r\n Sensor:%x ",sensor); > switch(sensor){ > /*case 0x00: printf("Nothing\r\n"); > PORTG= 0x01; > break; > case 0x08: printf("RIGHTEST\r\n"); > PORTG= 0x02; > break; > case 0x04: printf("RIGHT\r\n"); > PORTG= 0x03; > break; > case 0x03: > case 0x02: printf("LEFT\r\n"); > PORTG= 0x00; > break; > case 0x01: printf("LEFTEST\r\n"); > PORTG= 0x03; > break;*/ > > case 0x03: > case 0x07: printf("맨오른쪽 \r\n"); > PORTG= 0x01; > Motor1(0); > M1B(OFF); > M1B_(OFF); > delay(17); > MOTORSTOP(); > delay2(1); > > // Motor2(0); > //Motor2(0); > break; > case 0x0b: printf("오른쪽 \r\n"); > PORTG= 0x02; > Motor1(0); > M1B(OFF); > M1B_(OFF); > delay(17); > MOTORSTOP(); > delay2(1); > > // > // Motor2(0); > break; > case 0x0c: > case 0x0d: printf("왼쪽 \r\n"); > PORTG= 0x03; > //Motor1(1); > M1A(OFF); > M1A_(OFF); > Motor2(1); > delay(14); > MOTORSTOP(); > delay2(1); > > break; > case 0x0e: printf("맨왼쪽\r\n"); > PORTG= 0x00; > //Motor1(1); > M1A(OFF); > M1A_(OFF); > Motor2(1); > delay(14); > MOTORSTOP(); > delay2(1); > > break; > case 0x0f: printf("All White"); > Motor1(0); > Motor2(1); > delay(15); > MOTORSTOP(); > //M1A(OFF); > //M1A_(OFF); > //Motor2(1); > //delay(50); > //MOTORSTOP(); > > delay2(1); > > break; > > default : printf("예외\r\n"); > M1A(OFF); > M1A_(OFF); > M1B(OFF); > M1B_(OFF); > //Motor1(0); > //Motor2(1); > break; > > } > } > return 0; > } >
8517 답변완료AB-M128-A 함수 질문요. 김도형 2013-11-26 1,464
키트를 통해 전력측정기기를 만들고 있는데요, 센서의 출력값이 voltage로 보통 나옵니다. 다만 교류를 측정할 때, 최대값에 1/2를 하면 되는 건 알겠는데, 최대값을 찾는 함수를 모르겠네요. vout_max = findmax(); 라는 식도 있긴 한데 배열에서 최대값을 찾는거라 AB-M128-A키트에서 적용이 안되는 것 같던데 알려주세요.
관리자 답변 관리자 · 2013-11-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 이 게시판은 제품의 이상 유무나, 예제 소스에 관한 내용 등을 질문 답변하는 것을 목적으로 하고 있습니다. 양해 바랍니다. 최대 값을 찾는다거나, 최소값을 찾는다거나, 하는 부분은 알고리즘에 관한 부분 같습니다. Sorting 등을 통하여, 최대 또는 최소값을 찾는 것이 좋겠습니다. 서점에 알고리즘 관련된 수치해석용 서적들이 많이 나옵니다. 참고하시기 바랍니다. > > > 키트를 통해 전력측정기기를 만들고 있는데요, > 센서의 출력값이 voltage로 보통 나옵니다. > 다만 교류를 측정할 때, 최대값에 1/2를 하면 되는 건 알겠는데, 최대값을 찾는 함수를 모르겠네요. > vout_max = findmax(); 라는 식도 있긴 한데 배열에서 최대값을 찾는거라 AB-M128-A키트에서 적용이 안되는 것 같던데 알려주세요. >
8516 답변완료FM-CY6S-KIT 키트 재질문입니다. 백지은 2013-11-26 1,400
제가 하려는 것은 클럭을 입력받아서 주파수와 듀티를 바꾼후 임의의 포트로 출력하려는 것입니다. 주파수를 낮게 설정해서 모듈 LED를 켜는 소스를 만들었고, 원하는동작을 하길에 주파수만 다시 변경해서 PORTA로 출력을 했습니다. 근데 PORTA에서는 신호가 아에 안잡힙니다. 두소스의 차이점은 Enable, Dir핀인거 같은데, PORTA로 출력하려면 Enable 이랑 Dir핀을 어떻게 설정하는지 모르겠어요. 확인부탁드립니다. module inverter_signal(clk, reset, sw_sig1, sw_sig2, sw_sig3, sw_sig4); input clk, reset; output sw_sig1; // switch 1 output sw_sig2; // switch 3 inverse - output sw_sig3; // siwtch 3 output sw_sig4; // switch 1 inverse - reg [31:0] clk_count; reg sw_sig1; reg sw_sig3; parameter SEC_sig1 = 2500; // when 25us, it must be 2500 always@(posedge clk) if(!reset) clk_count <= 0; else if(clk_count < SEC_sig1) clk_count <= clk_count+1; else clk_count <= 0; always@(posedge clk) if(clk_count <= 1250) sw_sig1 = 1; else if(clk_count > 1250) sw_sig1 = 0; always@(posedge clk) if(clk_count > 500 && clk_count <= 1750) sw_sig3 = 1; else sw_sig3 = 0; assign sw_sig4 =~ sw_sig1; assign sw_sig2 =~ sw_sig3; endmodule
관리자 답변 관리자 · 2013-11-26
안녕하세요? 고객님, 그렇군요. 그렇다면, Enable에 0, Dir 에 1을 준 후, 포트A에 데이터를 주면 출력 될 겁니다. 감사합니다. > > > 제가 하려는 것은 클럭을 입력받아서 주파수와 듀티를 바꾼후 임의의 포트로 출력하려는 것입니다. > > 주파수를 낮게 설정해서 모듈 LED를 켜는 소스를 만들었고, > 원하는동작을 하길에 주파수만 다시 변경해서 PORTA로 출력을 했습니다. > 근데 PORTA에서는 신호가 아에 안잡힙니다. 두소스의 차이점은 > Enable, Dir핀인거 같은데, PORTA로 출력하려면 Enable 이랑 Dir핀을 > 어떻게 설정하는지 모르겠어요. > > 확인부탁드립니다. > > module inverter_signal(clk, reset, sw_sig1, sw_sig2, sw_sig3, sw_sig4); > > input clk, reset; > > > output sw_sig1; // switch 1 > output sw_sig2; // switch 3 inverse - > output sw_sig3; // siwtch 3 > output sw_sig4; // switch 1 inverse - > > reg [31:0] clk_count; > reg sw_sig1; > reg sw_sig3; > > > parameter SEC_sig1 = 2500; // when 25us, it must be 2500 > > > always@(posedge clk) > > > if(!reset) > > clk_count <= 0; > > else > > if(clk_count < SEC_sig1) > > clk_count <= clk_count+1; > > else > > clk_count <= 0; > > > always@(posedge clk) > > > if(clk_count <= 1250) > > sw_sig1 = 1; > > else if(clk_count > 1250) > > sw_sig1 = 0; > > > always@(posedge clk) > > > if(clk_count > 500 && clk_count <= 1750) > > sw_sig3 = 1; > > > else > > sw_sig3 = 0; > > > > > > assign sw_sig4 =~ sw_sig1; > assign sw_sig2 =~ sw_sig3; > > endmodule >
8515 답변완료AD-USBISP V6.0 관련 문의 사항 이성근 2013-11-26 1,444
얼마전에 AD-USBISP V6.0을 구매하였습니다. 근데 다운로드가 되지 않아 이렇게 질문을 남깁니다. 사용 컴파일러 : AVR STUDIO 6.1 사용칩 : atmega48PA 다운로드를 실행하면 첨부파일의 그림과 같은 에러가 발생합니다. 제가 AVR STUDIO6.1도 처음 사용하고 ATMEGA48PA칩도 처음 사용하는 지라 좀 막히는 부분이 많습니다. 긴급으로 답변 부탁을 드립니다. 감사합니다.
관리자 답변 관리자 · 2013-11-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 일단, ATMEGA48P는 USBISP V6.0으로 AVR Studio V6.1에서 사용이 가능한 디바이스입니다. 하지만, 처음 칩을 사서 사용할 때에는 반드시 SCK ISP Freq.를 115.2kHz 근처 것을 사용하셔야 합니다. 첨엔 AVR이 내부 클럭으로 잡혀 있어서, 1MHz~4MHz로 동작합니다. The device is shipped with internal RC oscillator at 8.0MHz and with the fuse CKDIV8 programmed, resulting in 1.0MHz system clock 사용하시는 칩의 경우는 1MHz로 시스템 클럭이 잡혀 있습니다. 따라서, 퓨즈를 다시 잡고 외부 크리스탈로 작업하시기 전에는 ISP 다운로드시에는 반드시 1/4 클럭이하인 115kHz 정도로 ISP Freq.를 내려놓고, 사용하는 것이 바람직합니다. 일단, 그렇게 해서, 퓨즈를 정상적으로 외부 크리스탈 쓰는 것으로 변경한 다음, 그런 다음에 그 다음부터는 다시 SCK ISP Freq.를 1.832MHz로 변경하여 쓰시면 됩니다. 감사합니다. > > > 얼마전에 AD-USBISP V6.0을 구매하였습니다. 근데 다운로드가 되지 않아 이렇게 질문을 남깁니다. > 사용 컴파일러 : AVR STUDIO 6.1 > 사용칩 : atmega48PA > 다운로드를 실행하면 첨부파일의 그림과 같은 에러가 발생합니다. > 제가 AVR STUDIO6.1도 처음 사용하고 ATMEGA48PA칩도 처음 사용하는 지라 좀 막히는 부분이 > 많습니다. 긴급으로 답변 부탁을 드립니다. 감사합니다. >
8514 답변완료rs232 사용해 보려고합니다. 박수상 2013-11-25 1,472
KD 128 pro 가지고 있는데 컴파일러는 코드비젼 사용합니다. 기본 예제소스를 넣고 컴파일 시켰는데 어떻게 테스트를 하죠? 검색해보니 막 하이퍼 터미널 어쩌구 하는데 다른 프로그램도 있어야 하나요? 아 그리고 제가 가지고 있는 케이블이라곤 isp 밖에 없는데 방법좀 부탁드립니다.;;
관리자 답변 관리자 · 2013-11-25
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 일단, KD-128PRO와 AD-USBISP V03.5나 03.6을 가지고 계신다면 OK입니다. USBISP 구매하실 때에, 4핀- 4핀 1:1 케이블도 같이 들어 있었을 겁니다. 그 케이블을 USBISP의 뒷쪽 4핀 커넥터에 꽂고, 나머지 한 쪽을 KD-128PRO의 보드 위쪽의 4핀 커넥터(UART0)에 꽂으면 AVR의 UART0와 USBISP의 시리얼 COM 포트를 통해서 연결될 겁니다. 시리얼 확인용 터미널은 구글에서 시리얼웍스 라고 쳐서, 찾아 보세요. 랜플라자인가 하는 곳에서 링크된 것이 있을 겁니다. 그것을 쓰시면 됩니다. 반드시, 시리얼 통신 속도와 컴포트 등을 모두 맞춰줘야 동작합니다. 온라인강좌->AVR 강좌에서 컴파일러별 UART 강좌를 읽어 보세요. 감사합니다. > > > KD 128 pro 가지고 있는데 컴파일러는 코드비젼 사용합니다. > 기본 예제소스를 넣고 컴파일 시켰는데 어떻게 테스트를 하죠? > 검색해보니 막 하이퍼 터미널 어쩌구 하는데 다른 프로그램도 있어야 하나요? > > 아 그리고 제가 가지고 있는 케이블이라곤 isp 밖에 없는데 방법좀 부탁드립니다.;; >