로그인 | 회원가입 | 주문 조회
총 10,743개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
9168 답변완료AB-M128-B 모듈에 관해 질문 드립니다. 송은비 2015-05-12 1,456
AVR MEGA 128 개발보드 (AB-M128-B)를 사용하고 있습니다. 전원을 배터리로 공급하려고 하는데 12V 배터리를 사용하는 것으로 알고 있습니다. 모듈에 모터와 여러가지 센서를 달아 사용하려고 합니다. 사용하려는 모터의 정격 전압과 전류는 12V 1000mA 입니다. 그래서 1Ah 이상의 배터리를 써야할 것 같은데 제가 가지고 있는 배터리는 12V 7Ah뿐이라서 혹시 이 배터리를 이용해도 문제가 없을지 아니면 더 작은 전류의 배터리를 이용하여야 하는 것인지 궁금합니다. 과전류 문제가 없다면 기존에 가지고 있는 12V 7Ah 배터리를 이용하고 싶은데 괜찮을까요?
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 내부적으로 7805회로가 정전류방식이 아니라, 정전압 방식으로 충전배터리를 용량이 높은 것을 써도 필요한 만큼만 당겨 쓰기 때문에, 문제가 없습니다. 감사합니다. > > > AVR MEGA 128 개발보드 (AB-M128-B)를 사용하고 있습니다. > 전원을 배터리로 공급하려고 하는데 12V 배터리를 사용하는 것으로 알고 있습니다. > 모듈에 모터와 여러가지 센서를 달아 사용하려고 합니다. > 사용하려는 모터의 정격 전압과 전류는 12V 1000mA 입니다. > 그래서 1Ah 이상의 배터리를 써야할 것 같은데 제가 가지고 있는 배터리는 12V 7Ah뿐이라서 혹시 이 배터리를 이용해도 문제가 없을지 아니면 더 작은 전류의 배터리를 이용하여야 하는 것인지 궁금합니다. > 과전류 문제가 없다면 기존에 가지고 있는 12V 7Ah 배터리를 이용하고 싶은데 괜찮을까요? >
9167 답변완료AM-DC1-3D 모델 질문 박종현 2015-05-12 1,400
이 모델로 DWP-385 6V 워터펌프 모터 작동 가능 한가요?
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. 네, 가능할 것으로 보입니다. PWM 사용하시면 물의 토출량도 조절 가능하실 거에요. 다만, 워터펌프는 저도 좀 써봤는 데, 사용하시는 것은 순환 펌프라서, 공기가 들어 있는 상태에서 물을 퍼올리는 것은 아닙니다. 따라서, 물을 펌프 안에 까지는 채워주셔야 합니다. 즉, 호수를 직접 입 등으로 빨아서, 물을 입출 및 토출 호수 등에 어느정도 들어있게 해줘야 가능합니다. 그렇지 않으면, 고장의 원인이 되니, 참고 바래요. 감사합니다. > > > 이 모델로 DWP-385 6V 워터펌프 > 모터 작동 가능 한가요? >
9166 답변완료서보모터 A410 질문드립니다 배도영 2015-05-12 1,474
현재 서보모터모듈 AM-CSV와 함께 사용중입니다. 예제에서는 타이머를 이용해서 계속 돌아가게만 하셨던데 예제를 거의 그대로 사용하되 저희에 맞게 수정해서 사용하려 합니다. 저희는 통신을 이용해서 키보드를 누를때 원하는 방향으로 돌게끔 조절하고 싶습니다. 모터를 돌리고 싶을때만 타이머를 켜게 하기 위해 키보드 특정키를 누르면 TIMSK 레지스터를 ENABLE 하고 미리 MIN, MAX에 값을 준것에 따라서 모터가 일정 각도 움직입니다. 문제는 이런식으로 하면 한쪽 방향으로는 움직이는데 반대쪽으로는 움직이지 않습니다. 그냥 모터가 서버립니다. 지금 KD128pro 를 쓰고있는데 서보모터모듈을 포트 c에 꽂고 세그먼트도 같이 돌리고 있으면 포트가 중복돼서 모터에 영향을 끼칠수도 있나요? 아예 코드를 만들어달라는건 아니고요,, 힌트를 좀 주시면 안될까요?
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 네, 분명히 영향을 끼칩니다. 그래서, 문제가 될 수 있겠습니다. KD-128PRO 킷트를 사용중이시라면, 세븐 세그먼트를 쓴다면 A,C 포트는 세그먼트용으로 쓰시구요. F포트를 출력으로 서보모터용 출력으로 CSV 꽂아서 사용하시면 됩니다. 서보는 원래 0~120도 정도만 움직이는 것이구요. 그 사이는 움직이지만, 0도 이하로 갈 수는 없어요. 그래서, 기본을 60도 잡으시고, 0도로 가거나 120도 방향으로 가게 하시는 게 좋습니다. 감사합니다. > > > 현재 서보모터모듈 AM-CSV와 함께 사용중입니다. > > 예제에서는 타이머를 이용해서 계속 돌아가게만 하셨던데 > > 예제를 거의 그대로 사용하되 저희에 맞게 수정해서 사용하려 합니다. > > 저희는 통신을 이용해서 키보드를 누를때 원하는 방향으로 돌게끔 조절하고 싶습니다. > > 모터를 돌리고 싶을때만 타이머를 켜게 하기 위해 키보드 특정키를 누르면 > > TIMSK 레지스터를 ENABLE 하고 미리 MIN, MAX에 값을 준것에 따라서 모터가 일정 각도 움직입니다. > > 문제는 이런식으로 하면 한쪽 방향으로는 움직이는데 반대쪽으로는 움직이지 않습니다. > > 그냥 모터가 서버립니다. > > 지금 KD128pro 를 쓰고있는데 > > 서보모터모듈을 포트 c에 꽂고 세그먼트도 같이 돌리고 있으면 > > 포트가 중복돼서 모터에 영향을 끼칠수도 있나요? > > 아예 코드를 만들어달라는건 아니고요,, 힌트를 좀 주시면 안될까요? >
9165 답변완료AM-MP533 질문입니다. 김준식 2015-05-11 1,427
AM-MP533 DC-DC 컨버터 궁금한게있습니다. 현재 배터리를 7.2V 써야하는데 최소입력전압이 9V 라고 되있습니다. 만약 7.2V를 넣으면 7805 출력에는 몇 V로 나오는지 알 수 있을까요? 보드에 들어가는 입력범위가 4.5~5.5 입니다. 3.3V로도 동작하구요.
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. AM-MP533은 6.5V이상이면 충분히 잘 동작하며 입력이 최고 28V까지입니다. 그렇게하면 5V와 3.3V가 잘 출력됩니다. 감사합니다. > > > AM-MP533 DC-DC 컨버터 궁금한게있습니다. > 현재 배터리를 7.2V 써야하는데 최소입력전압이 9V 라고 되있습니다. > 만약 7.2V를 넣으면 7805 출력에는 몇 V로 나오는지 알 수 있을까요? > 보드에 들어가는 입력범위가 4.5~5.5 입니다. 3.3V로도 동작하구요. >
9164 답변완료FM-USBBLASTER V01 다운로드 않됨. 박승민 2015-05-11 1,418
FM-USBBLASTER V01 이용 pof파일 불러오기에서 오류 발생입니다. 사용 CPLD는 알테라 EPM7032S-TC44 입니다. 사용설명서에 나와있는대로 설치하고 설정하고 POF파일 불러오기 하면 첨부사진과 같은 에러발생합니다. 같은 파일을 타사 장비 및 HILO사의 ALL11A 장비 이용 다운로드시 정상입니다. 박스핀 연결도 설명서대로 칩과 1:1로 연결하고 칩에 별도 전원 직류5볼트 공급했습니다. 당사에서는 오로지 다운로드에만 사용 합니다. 긴급을 요하오니 확인후 회신 부탁드립니다. 이멜: skepi@naver.com vhs : 010-7339-4200
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 제품 불량이 의심됩니다. 본사로 A/S 의뢰하심이 좋겠습니다. 그 제품의 경우 특별히 에러가 본 제품 출시후 처음 발생한 제품입니다. 그만큼 에러가 잘 나지 않고, 고장도 잘 나지 않는 제품입니다. 보내주시면 저희가 면밀히 검사해 보겠습니다. 감사합니다. > > > FM-USBBLASTER V01 이용 pof파일 불러오기에서 오류 발생입니다. > > 사용 CPLD는 알테라 EPM7032S-TC44 입니다. > > 사용설명서에 나와있는대로 설치하고 설정하고 POF파일 불러오기 하면 첨부사진과 같은 에러발생합니다. > 같은 파일을 타사 장비 및 HILO사의 ALL11A 장비 이용 다운로드시 정상입니다. > > 박스핀 연결도 설명서대로 칩과 1:1로 연결하고 칩에 별도 전원 직류5볼트 공급했습니다. > > 당사에서는 오로지 다운로드에만 사용 합니다. > > 긴급을 요하오니 확인후 회신 부탁드립니다. > > 이멜: skepi@naver.com > > vhs : 010-7339-4200 >
9163 답변완료AM-3AXIS에 대해 질문 드립니다. 최정민 2015-05-11 1,385
저는 현재 코드 비전을 사용중입니다. 학교에서 준 at mega 128을 사용중이구요. 3축 가속도 센서는 현재 PF0~7번까지 음.. 그러니깐 모듈선? 그걸로 연결했습니다. 3축 가속도센서 AM-3AXIS 예제 소스 라는 게시글을 통해 터미널로 수신한 값을 보고자 하는데 led에 그 값을 표현하고자 합니다. 질문 1 : at mega 128 사용 시 PF0~7번까지 꽂는게 맞나요? 질문 2 : 코딩에 보니 printf가 있던데 이것의 역할이 뭐죠? 또 LCD를 어디에 꽂아야하죠? (#include<lcd.h> 학교에서는 앞에와 같은 코딩과 포트를 지정해줘서 PA포트에 꽂습니다.) 질문 3 : Final0, Final2, Final4가 x,y,z축의 전압값이 되는건가요? ### 뉴티씨 물건 정말 자주 사용하게 되네요~ 좋은 물건 많이 만들어주셔서 감사합니다.
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 질문에 답변드릴께요. > 저는 현재 코드 비전을 사용중입니다. 학교에서 준 at mega 128을 사용중이구요. > 3축 가속도 센서는 현재 PF0~7번까지 음.. 그러니깐 모듈선? 그걸로 연결했습니다. > 3축 가속도센서 AM-3AXIS 예제 소스 라는 게시글을 통해 터미널로 수신한 값을 보고자 하는데 > > led에 그 값을 표현하고자 합니다. > > 질문 1 : at mega 128 사용 시 PF0~7번까지 꽂는게 맞나요? --> 네 ADC입력을 포트 F에 넣는게 맞구요. AM-3AXIS-P를 쓰실경우 10핀 헤더박스가 1~10번까지 있을겁니다. 1번: D0 2번:D1 . . . . .이런식으로 D7까지 연결하고 9번에 VCC(5V) 10번에 GND연결해주면 D0에 x축값 D2에 y축값 D4에 z축값이 연결되요. > 질문 2 : 코딩에 보니 printf가 있던데 이것의 역할이 뭐죠? --> uart0로 값을 출력해주고 있는거에요. 또 LCD를 어디에 꽂아야하죠? --> LCD는 본사의 SLCD사서 터미널모드로 점퍼 설정하고 uart0물리면 바로 나와요. > (#include<lcd.h> 학교에서는 앞에와 같은 코딩과 포트를 지정해줘서 PA포트에 꽂습니다.) --> slcd로하면 uart로 쓰면되요. > 질문 3 : Final0, Final2, Final4가 x,y,z축의 전압값이 되는건가요? -->네 맞아요. > ### 뉴티씨 물건 정말 자주 사용하게 되네요~ 좋은 물건 많이 만들어주셔서 감사합니다. --> 감사합니다. >
9162 답변완료질문할게요 김시현 2015-05-08 1,433
1. ----------ㅣ rs-232 l-----------l ㅣ------------ l l ----------ㅣ l---------- l 이거 저번에 질문드렸는데 이렇게하면 구성도 어떻게 짜야하나요 2.포트를 강제로 변경했는데도 at 입력후 아무것도 뜨지 않아요 3. 5월 11일 월요일 10시반에 뵙기로 하였는데 어느정도 시간 내주실수 있나요 그리고 제가 근처 가서 저번 그 번호로 전화 드리면 될까요?
관리자 답변 관리자 · 2015-05-08
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용해 주셔서 감사합니다. 답변드릴께요. > 1. > ----------ㅣ rs-232 l-----------l > ㅣ------------ l l > ----------ㅣ l---------- l > > 이거 저번에 질문드렸는데 이렇게하면 구성도 어떻게 짜야하나요? --> 이 그림이 아무리봐도 전혀 이해가 안가요. > 2.포트를 강제로 변경했는데도 at 입력후 아무것도 뜨지 않아요 --> 보드 고장이 의심되구요. 지금 제품페이지 변경해 뒀구요. 메뉴얼도 자료실에 있으니 참고바래요. > 3. 5월 11일 월요일 10시반에 뵙기로 하였는데 어느정도 시간 내주실수 있나요 그리고 제가 근처 가서 저번 그 번호로 전화 드리면 될까요? --> 회사로 2층에 와서 벨 눌러서 찾으시면되구요. 직원들에게 사정얘기하시면 제가 나갈께요. 감사합니다.
9161 답변완료스테핑모터의 구동 에이씨티 2015-05-08 1,519
그림과 같이 귀사 제품. AB-M128-B, AM-CS2P, AM-TS8, SE-SM-243을 구입하여 테스트 하고 있습니다. 귀사에서 제공된 소프트웨어 #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #define MOTOR_PORT PORTC #define MOTOR_PORT_DDR DDRC #define LEFT 0 #define RIGHT 1 #define SW_PORT PINA #define SW_PORT_DDR DDRA #define SPEED_H_LIMIT 800 #define SPEED_L_LIMIT 0 #define SPEEDUP 1 #define OK 1 #define NOOK 0 volatile int TURN, SPEED, timer0_expired=NOOK, counter=0; volatile unsigned char stepleft=0, stepright=0; static int Putchar(char c, FILE *stream); void tx0Char(char message); void tx1Char(char message); void timer0_init(void); static int Putchar(char c, FILE *stream) { tx0Char(c); tx1Char(c); return 0; } // scanf 함수 사용시 추가할 것. int Getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } // UART0 을 이용한 출력 void tx0Char(char message) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = message; } // UART1 을 이용한 출력 void tx1Char(char message) { while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty UDR1 = message; } 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 = 0x33; PORTG = 0x00; DDRG = 0x03; } //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(); timer0_init(); fdevopen(Putchar,0); 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 } /* Stepping Motor derive---------------------------*/ unsigned char LEFTmotorOneClock(unsigned char step, char dir) { step = step & 0x0f; if(dir){ switch(step){ case 0x09: step=0x01; break; case 0x01: step=0x03; break; case 0x03: step=0x02; break; case 0x02: step=0x06; break; case 0x06: step=0x04; break; case 0x04: step=0x0c; break; case 0x0c: step=0x08; break; case 0x08: step=0x09; break; default: step=0x0c; break; } }else{ switch(step){ case 0x09: step=0x08; break; case 0x01: step=0x09; break; case 0x03: step=0x01; break; case 0x02: step=0x03; break; case 0x06: step=0x02; break; case 0x04: step=0x06; break; case 0x0c: step=0x04; break; case 0x08: step=0x0c; break; default: step=0x0c; break; } } return step; } /* Stepping Motor derive---------------------------*/ unsigned char RIGHTmotorOneClock(unsigned char step, char dir) { step = step & 0xf0; if(dir){ switch(step){ case 0x90: step=0x10; break; case 0x10: step=0x30; break; case 0x30: step=0x20; break; case 0x20: step=0x60; break; case 0x60: step=0x40; break; case 0x40: step=0xc0; break; case 0xc0: step=0x80; break; case 0x80: step=0x90; break; default: step=0xc0; break; } }else{ switch(step){ case 0x90: step=0x80; break; case 0x10: step=0x90; break; case 0x30: step=0x10; break; case 0x20: step=0x30; break; case 0x60: step=0x20; break; case 0x40: step=0x60; break; case 0xc0: step=0x40; break; case 0x80: step=0xc0; break; default: step=0xc0; break; } } return step; } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<300;j++); } } //TIMER0 initialize - prescale:8 // WGM: Normal // desired value: 200KHz // actual value: 200.000KHz (0.0%) void timer0_init(void) { TCCR0 = 0x00; //stop ASSR = 0x00; //set async mode TCNT0 = 0xF6; //set count OCR0 = 0x0A; TCCR0 = 0x02; //start timer } ISR(TIMER0_OVF_vect) { TCNT0 = 0xF6; //reload counter value if(counter < (SPEED_H_LIMIT - SPEED)){ counter++; } else{ timer0_expired = OK; } if(timer0_expired == OK){ stepright = RIGHTmotorOneClock(stepright, TURN); stepleft = LEFTmotorOneClock(stepleft, TURN); MOTOR_PORT = stepleft|stepright; timer0_expired = NOOK; counter = 0; } } // int main(void) { init_devices(); //insert your functional code here... printf(" \n\n\rStepping Motor test program...\n\r"); MOTOR_PORT_DDR = 0xff; SW_PORT_DDR = 0x00; SPEED = 600; TURN = RIGHT; while(1){ switch(SW_PORT){ case 0x01: TURN = RIGHT; printf("RIGHT!!\r\n"); break; case 0x02: TURN = LEFT; printf("LEFT!!\r\n"); break; case 0x04: SPEED += SPEEDUP; if(SPEED >=SPEED_H_LIMIT){ SPEED = SPEED_H_LIMIT; } delay(1); printf("SPEED UP\r\n"); break; case 0x08: SPEED -= SPEEDUP; if(SPEED <=SPEED_L_LIMIT){ SPEED = SPEED_L_LIMIT; } delay(1); printf("SPEED DOWN\r\n"); break; default : break; } } return 0; } 로 테스트한 결과 이상은 없습니다. 염치 없지만 1번 스위치 눌렀을때 2바퀴 정회전 후 스톱 다시 2번 스위치 눌렀을때 2바퀴 역회전 후 스톱해보고 싶습니다. 도움 주시면 감사 하겠고 상기 제품으로 제가 구동하고자 하는것이 어렵다면 다른 제품 추천해 주시면 감사하겠습니다. 부탁 드립니다.
관리자 답변 관리자 · 2015-05-08
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 저희 회사는 예제 소스 코드를 수정하여 드리거나 하지는 않습니다. 필요한 경우는 프로젝트로 수행합니다. 다만, 아래의 문장을 올려드리니, 참고 바랍니다. 일단, main 문 안에 아래와 같은 문장을 사용하여 하시면 될 것 같습니다. int NumberofTurn = 0, TurnStart=0; 을 main의 첫 부분에 추가하시고, while문을 아래 것으로 교체하세요. while(1){ switch(SW_PORT){ case 0x01 : TURN = RIGHT; NumberofTurn = 0; TurnStart = 1; printf("Turn RIGHT!"); case 0x02 : TURN = LEFT; NumberofTurn = 0; TurnStart = 1; printf("Turn LEFT!"); } if(TurnStart == 1){ stepright = RIGHTmotorOneClock(stepright, 1); stepleft = LEFTmotorOneClock(stepleft, 0); MOTOR_PORT = stepleft|stepright; delay(3); NumberofTurn++; if(NumberofTurn >= 400){ TurnStart = 0; } } } 감사합니다. > > > 그림과 같이 귀사 제품. > AB-M128-B, AM-CS2P, AM-TS8, SE-SM-243을 구입하여 테스트 하고 있습니다. > > 귀사에서 제공된 소프트웨어 > > #include <avr/io.h> > #include <avr/interrupt.h> > #include <stdio.h> > > > #define MOTOR_PORT PORTC > #define MOTOR_PORT_DDR DDRC > > #define LEFT 0 > #define RIGHT 1 > > #define SW_PORT PINA > #define SW_PORT_DDR DDRA > > #define SPEED_H_LIMIT 800 > #define SPEED_L_LIMIT 0 > #define SPEEDUP 1 > #define OK 1 > #define NOOK 0 > > volatile int TURN, SPEED, timer0_expired=NOOK, counter=0; > volatile unsigned char stepleft=0, stepright=0; > > static int Putchar(char c, FILE *stream); > void tx0Char(char message); > void tx1Char(char message); > void timer0_init(void); > > > static int Putchar(char c, FILE *stream) > { > tx0Char(c); > tx1Char(c); > return 0; > > } > > > // scanf 함수 사용시 추가할 것. > int Getchar(void) > { > while ((UCSR0A & 0x80) == 0); > return UDR0; > } > > > // UART0 을 이용한 출력 > void tx0Char(char message) > { > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > UDR0 = message; > } > > // UART1 을 이용한 출력 > void tx1Char(char message) > { > while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty > UDR1 = message; > } > > > 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 = 0x33; > PORTG = 0x00; > DDRG = 0x03; > } > > //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(); > timer0_init(); > fdevopen(Putchar,0); > > 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 > } > > > > > /* Stepping Motor derive---------------------------*/ > unsigned char LEFTmotorOneClock(unsigned char step, char dir) > { > step = step & 0x0f; > if(dir){ > switch(step){ > case 0x09: step=0x01; break; > case 0x01: step=0x03; break; > case 0x03: step=0x02; break; > case 0x02: step=0x06; break; > case 0x06: step=0x04; break; > case 0x04: step=0x0c; break; > case 0x0c: step=0x08; break; > case 0x08: step=0x09; break; > default: step=0x0c; break; > } > }else{ > switch(step){ > case 0x09: step=0x08; break; > case 0x01: step=0x09; break; > case 0x03: step=0x01; break; > case 0x02: step=0x03; break; > case 0x06: step=0x02; break; > case 0x04: step=0x06; break; > case 0x0c: step=0x04; break; > case 0x08: step=0x0c; break; > default: step=0x0c; break; > } > } > return step; > > } > > /* Stepping Motor derive---------------------------*/ > unsigned char RIGHTmotorOneClock(unsigned char step, char dir) > { > step = step & 0xf0; > if(dir){ > switch(step){ > case 0x90: step=0x10; break; > case 0x10: step=0x30; break; > case 0x30: step=0x20; break; > case 0x20: step=0x60; break; > case 0x60: step=0x40; break; > case 0x40: step=0xc0; break; > case 0xc0: step=0x80; break; > case 0x80: step=0x90; break; > default: step=0xc0; break; > } > }else{ > switch(step){ > case 0x90: step=0x80; break; > case 0x10: step=0x90; break; > case 0x30: step=0x10; break; > case 0x20: step=0x30; break; > case 0x60: step=0x20; break; > case 0x40: step=0x60; break; > case 0xc0: step=0x40; break; > case 0x80: step=0xc0; break; > default: step=0xc0; break; > } > } > return step; > } > > > void delay(int n) > { > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<300;j++); > } > } > > > //TIMER0 initialize - prescale:8 > // WGM: Normal > // desired value: 200KHz > // actual value: 200.000KHz (0.0%) > void timer0_init(void) > { > TCCR0 = 0x00; //stop > ASSR = 0x00; //set async mode > TCNT0 = 0xF6; //set count > OCR0 = 0x0A; > TCCR0 = 0x02; //start timer > } > > ISR(TIMER0_OVF_vect) > { > TCNT0 = 0xF6; //reload counter value > if(counter < (SPEED_H_LIMIT - SPEED)){ > counter++; > } else{ > timer0_expired = OK; > } > > if(timer0_expired == OK){ > stepright = RIGHTmotorOneClock(stepright, TURN); > stepleft = LEFTmotorOneClock(stepleft, TURN); > MOTOR_PORT = stepleft|stepright; > timer0_expired = NOOK; > counter = 0; > } > } > > > // > int main(void) > { > init_devices(); > //insert your functional code here... > > printf(" \n\n\rStepping Motor test program...\n\r"); > > MOTOR_PORT_DDR = 0xff; > SW_PORT_DDR = 0x00; > SPEED = 600; > TURN = RIGHT; > > while(1){ > > switch(SW_PORT){ > case 0x01: TURN = RIGHT; > printf("RIGHT!!\r\n"); > break; > case 0x02: TURN = LEFT; > printf("LEFT!!\r\n"); > break; > case 0x04: SPEED += SPEEDUP; > if(SPEED >=SPEED_H_LIMIT){ > SPEED = SPEED_H_LIMIT; > } > delay(1); > printf("SPEED UP\r\n"); > break; > case 0x08: SPEED -= SPEEDUP; > if(SPEED <=SPEED_L_LIMIT){ > SPEED = SPEED_L_LIMIT; > } > delay(1); > printf("SPEED DOWN\r\n"); > break; > default : break; > } > } > return 0; > } > > 로 테스트한 결과 이상은 없습니다. > > 염치 없지만 1번 스위치 눌렀을때 2바퀴 정회전 후 스톱 > 다시 2번 스위치 눌렀을때 2바퀴 역회전 후 스톱해보고 싶습니다. > > 도움 주시면 감사 하겠고 상기 제품으로 제가 구동하고자 하는것이 어렵다면 > 다른 제품 추천해 주시면 감사하겠습니다. > > 부탁 드립니다. >
9160 답변완료AB-M128-B 모델 문의드립니다 김소정 2015-05-07 1,447
이곳에서 AB-M128-B 를 사서 연결을 했는데 failed가 뜨면서 동작이 되지 않습니다. 6개의 포트가 있는데, 사진처럼 연결하였습니다. ISP와 연결하는 포트가 따로있는 것인지 aTmega128에 문제가 있는 것인지 확인부탁드립니다. 또는 만약 고장이여서, A/S 받아야 된다면 토요일에 찾아갈수 있을까요?
관리자 답변 관리자 · 2015-05-07
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 사진처럼 연결해 주세요. 일반포트에다 연결하면 안됩니다. 망가질 수 있습니다. 참고로, ISP는 프로그램후 컴파일된 결과파일인 HEX 코드를 CPU에 다운로드 하는 장비입니다. ISP 포트에 꽂아야 하며, STK500 프로토콜을 사용합니다. 감사합니다. > > > 이곳에서 AB-M128-B 를 사서 연결을 했는데 failed가 뜨면서 동작이 되지 않습니다. 6개의 포트가 있는데, 사진처럼 연결하였습니다. ISP와 연결하는 포트가 따로있는 것인지 aTmega128에 문제가 있는 것인지 확인부탁드립니다. > > 또는 만약 고장이여서, A/S 받아야 된다면 토요일에 찾아갈수 있을까요? >
9159 답변완료질문 김시현 2015-05-06 1,401
1.포트를 6번에서 4번으로 바꾸고 at 입력후 ok가 떳습니다. 다음날에는 at입력후에는 ok가 뜨지않습니다.ㅠ.ㅠ 2.그리고 슬레이브에 전원을 주고 마스터를 pc에 연결하고 시간이 지나도 둘다 적색불이 계속 깜박입니다. 3.저희 과 교수님께서 제가 하는 것에서 (제가 하려는것은 8051로부터 정보값을 pc에 저장하고 pc에서 이정보를 프로그램을 이용하여 정보를 처리) 마스터가 꼭 필요하냐고 하시던데 제 생각엔 hc-06은 master/slave 변경이 불가하다고 알고 있는데요 필요하다면 그 이유좀 간단히 적어주세요(졸작을 하는데 교수님께서 그러면 제작단가가 높아지지 않냐고 태클하셔서요) 4.아래에 (기능)구성도를 첨부해놨는데 맞는건가요? ----------ㅣ rs-232 l-----------l ㅣ------------ l l ----------ㅣ l---------- l 교수님은 저렇게 해야하는게 아니냐고 하시네요 저희 학교가 교육수준이... 진짜 안가르치면서 자꾸 태클거네요 ㅠ
관리자 답변 관리자 · 2015-05-07
안녕하세요? 고객님, 질문에 답변 드릴께요. > 1.포트를 6번에서 4번으로 바꾸고 at 입력후 ok가 떳습니다. 다음날에는 at입력후에는 ok가 뜨지않습니다.ㅠ.ㅠ ==> 컴퓨터 드라이버가....약간 얽힌듯하네요.. 다른 포트로 다시 강제로 바꿔보세요. > > 2.그리고 슬레이브에 전원을 주고 마스터를 pc에 연결하고 시간이 지나도 둘다 적색불이 계속 깜박입니다. ==> 정상이면 수 초 이내에 서로 인식하여 정지하는 게 일반적잉에요. > > 3.저희 과 교수님께서 제가 하는 것에서 (제가 하려는것은 8051로부터 정보값을 pc에 저장하고 pc에서 이정보를 프로그램을 이용하여 정보를 처리) > > 마스터가 꼭 필요하냐고 하시던데 제 생각엔 hc-06은 master/slave 변경이 불가하다고 알고 있는데요 > 필요하다면 그 이유좀 간단히 적어주세요(졸작을 하는데 교수님께서 그러면 제작단가가 높아지지 않냐고 태클하셔서요) ==> PC 쪽과 89S52 쪽..... 서로 주거니 받거나 하려면, 양쪽에 블루투스가 있어야 합니다. 한쪽에서 무선으로 보내면, 다른 쪽에서는 무선으로 수신하는 모듈이 있어야 하니까요. > 4.아래에 (기능)구성도를 첨부해놨는데 맞는건가요? ==> 밑의 그림이 이해가 잘 안되지만.....블루투스 모듈끼리 유선으로 연결해 놓은건가요? 블루투스가 필요한 이유는 무선으로 서로 통신하기 위함이니...그런 거라면 아래는 안되겠구요. 첨부한 아래한글 파일이 맞습니다. > ----------ㅣ rs-232 l-----------l > ㅣ------------ l l > ----------ㅣ l---------- l > > 교수님은 저렇게 해야하는게 아니냐고 하시네요 > 저희 학교가 교육수준이... 진짜 안가르치면서 자꾸 태클거네요 ㅠ ==> 교수님도 도움을 주시기 위하여 그러실 겁니다. 다만, 분야가 좀 다르면 그러실 수도 있으니, 이해해 주세요. 다른 부분에서 도움을 또 주실 겁니다. ^---^ 감사합니다.
9158 답변완료am-gyro v02질문드립니다 이준성 2015-05-06 1,413
메뉴얼에 입력전압이 3.3v로 나와있는데 다른 센서처럼 약 2.1v정도로 주었을 때에도 작동하나요 ??
관리자 답변 관리자 · 2015-05-06
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 전원에 2.7 ~ 3.3V를 입력하여야 동작합니다. 2.1V에는 정상동작하지 않습니다. 감사합니다. > > > 메뉴얼에 입력전압이 3.3v로 나와있는데 다른 센서처럼 약 2.1v정도로 주었을 때에도 작동하나요 ?? >
9157 답변완료오늘 하루 정말 감사합니다. 김시현 2015-05-05 1,431
전화도 직접해주시고 문자도 해주시고 너무 번거롭게 해드려서 죄송합니다. 답해주신대로 제가 제대로 하는것 같기는 한대 잘 안되서 답변자님께 실망을 끼쳐드린것 같습니다. 혹시 5월11일 시간이 되시는지 여쭙고 싶습니다. 제가 계신곳으로 편하신 시간에 가겠습니다.
관리자 답변 관리자 · 2015-05-06
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. ok까지 뜨게 한 것은 매우 잘하신 겁니다. 그리고나서 두 블루투스 모듈을 동시에 전원을 주게 되면, 이미 ID 등을 맞춰 놓았기 때문에, 잠깐 깜빡이다가 빨간 불이 정지되서 켜지게 됩니다. 일단, 월요일(11일)에 오전 10시 30분에 시간이 가능합니다. 감사합니다. > > > 전화도 직접해주시고 문자도 해주시고 너무 번거롭게 해드려서 죄송합니다. > 답해주신대로 제가 제대로 하는것 같기는 한대 잘 안되서 답변자님께 실망을 끼쳐드린것 같습니다. > 혹시 5월11일 시간이 되시는지 여쭙고 싶습니다. 제가 계신곳으로 편하신 시간에 가겠습니다. >
9156 답변완료AM-DC2-2D 모터모듈 질문 있습니다 배도영 2015-05-05 1,420
모터모듈에 RC용 모터를 사용하려고 합니다. 아래에 코드를 보면 딜레이를 조정해보면서 해보면 돌아가긴 합니다만 불안하네요. 과하게 빨리 도는거 같기도 하고 무엇보다 열이 단시간에 발생합니다. 전압은 12V로 계속 줄 생각인데 전류가 너무 많이 흐르는 건가요? 과전압이 문제라면 저항을 직렬연결하면 해결될까요? 이런 모터는 사용이 안되나요? 물론 AM-DC1-3D을 사용한다면 어느정도 걱정은 줄수도 있겠지만 너무 부득이하게 2D를 사용해야할 상황입니다.... //dc motor 변수 #define MOTOR_PORT PORTB #define PWM1_ON (MOTOR_PORT|=0x01) #define PWM1_OFF (MOTOR_PORT&=0xFE) #define DIR1_ON (MOTOR_PORT|=0x02) #define DIR1_OFF (MOTOR_PORT&=0xFD) #define ENABLE1_OFF (MOTOR_PORT|=0x04) #define ENABLE1_ON (MOTOR_PORT&=0xFB) #define BREAK1_ON (MOTOR_PORT|=0x08) #define BREAK1_OFF (MOTOR_PORT&=0xF7) void motor_forward(){ ENABLE1_ON; PWM1_ON; BREAK1_OFF; DIR1_ON; PORTG = 0x01; delay(60); ENABLE1_OFF; PWM1_OFF; PORTG = 0x00; } 일단 조악하긴 하지만...간단하게 위와 같이 작성하여 메인함수 내에서 특정조건 만족할시 모터함수로 가서 딜레이 함수에 넣은 수에 따라 모터속도가 조절됩니다.
관리자 답변 관리자 · 2015-05-06
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 대부분, RC용 DC 모터들이 전류를 매우 많이 흘리기 떄문에, AM-DC2-2D로는 조금 부족합니다. 모터가 당기는 전류 문제이므로, 전압과는 또 다른 문제죠. 결국 Watt 문제가 되므로, 전압을 내리면 약간 효과는 있겠습니다만, 결국 모터가 필요 Watt를 당기려 할 것이므로, 문제가 해결되지 않습니다. 최소한 AM-DC1-3을 사용하실 것을 권유합니다. AM-DC1-3D도 좀 부족할 지 모르므로, 모터의 스펙을 살펴봐야 하는 데, RC용 모터들이 스펙이 잘 나와 있지 않더군요. 지금 올려주신 그래프를 보면, 전류가 120암페아까지 쓰는 것 같은데, DC1-3D도 많이 부족한 것 같아요. 최소 150A까지 쓸 수 있는 모터드라이버 스펙으로 사용하셔야 아무런 문제가 없을 듯 합니다. 12V면 2kW급으로 써야 하는 데 많이 가격이 나갈 것 같아 좀 걱정이네요. 감사합니다. > > > 모터모듈에 RC용 모터를 사용하려고 합니다. > > 아래에 코드를 보면 딜레이를 조정해보면서 해보면 돌아가긴 합니다만 불안하네요. > > 과하게 빨리 도는거 같기도 하고 무엇보다 열이 단시간에 발생합니다. > > 전압은 12V로 계속 줄 생각인데 전류가 너무 많이 흐르는 건가요? > > 과전압이 문제라면 저항을 직렬연결하면 해결될까요? > > 이런 모터는 사용이 안되나요? > > 물론 AM-DC1-3D을 사용한다면 어느정도 걱정은 줄수도 있겠지만 > > 너무 부득이하게 2D를 사용해야할 상황입니다.... > > > > //dc motor 변수 > #define MOTOR_PORT PORTB > #define PWM1_ON (MOTOR_PORT|=0x01) > #define PWM1_OFF (MOTOR_PORT&=0xFE) > #define DIR1_ON (MOTOR_PORT|=0x02) > #define DIR1_OFF (MOTOR_PORT&=0xFD) > #define ENABLE1_OFF (MOTOR_PORT|=0x04) > #define ENABLE1_ON (MOTOR_PORT&=0xFB) > #define BREAK1_ON (MOTOR_PORT|=0x08) > #define BREAK1_OFF (MOTOR_PORT&=0xF7) > > > void motor_forward(){ > ENABLE1_ON; > PWM1_ON; > BREAK1_OFF; > DIR1_ON; > PORTG = 0x01; > delay(60); > ENABLE1_OFF; > PWM1_OFF; > PORTG = 0x00; > } > > 일단 조악하긴 하지만...간단하게 위와 같이 작성하여 메인함수 내에서 > > 특정조건 만족할시 모터함수로 가서 딜레이 함수에 넣은 수에 따라 모터속도가 조절됩니다. >
9155 답변완료입금완료 했는데 입금처리가 안되어있네요 윤여민 2015-05-05 1,425
일요일에 구매하여 입금까지 바로 했는데, 어제도 , 오늘도 입금대기중이라고만 떠있네요. 전화도 계속 연결이 안되고.. 혹시 어제도 연휴라 그런가 했었는데, 답변게시판보니 그것도 아닌것 같구요. 빠른 처리후 연락 바랍니다 .
관리자 답변 관리자 · 2015-05-05
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 저희는 공지한데로 5월 1일~5일까지 휴가가간입니다. 휴가지에서도 고객님들의 편의를 위해 질문에 답변드리고 있는겁니다. 내일 담당자 출근하면, 입금내역처리하고 제품발송이 차례대로 바로 이뤄지게됩니다. 감사합니다. > > > 일요일에 구매하여 입금까지 바로 했는데, > > 어제도 , 오늘도 입금대기중이라고만 떠있네요. > > 전화도 계속 연결이 안되고.. > > 혹시 어제도 연휴라 그런가 했었는데, 답변게시판보니 그것도 아닌것 같구요. > > 빠른 처리후 연락 바랍니다 . >
9154 답변완료아랫글 또 질문합니다 김시현 2015-05-04 1,427
1.블루투스 중 한개만 하라하셔서 dm-serial에 마스터만 연결하고 AT입력했더니 아무것도 안나옵니다. 이거는 따로 선연결을 한것이 아니고 그냥 dm-serial에 마스터만 꽂은건데 왜 안되죠 (현재 마스터 적색불 깜박입니다) 2.슬레이브와 마스터 전부 연견 제대로 계속해봐도 오프라인 상태뜨는데 제가 뭘 잘못한거죠...
관리자 답변 관리자 · 2015-05-05
안녕하세요? 고객님, DM-USB2SERIAL과 블루투스의 연결은 어떻게 하셨나요? 선연결이 매우 중요합니다. 그리고, 제어판 장치관리자에 COM포트는 몇번으로잡혔고, 어떤터미널 프로그램으로 어떻게 설정했나요? 감사합니다. > > > 1.블루투스 중 한개만 하라하셔서 dm-serial에 마스터만 연결하고 AT입력했더니 아무것도 안나옵니다. > 이거는 따로 선연결을 한것이 아니고 그냥 dm-serial에 마스터만 꽂은건데 왜 안되죠 > (현재 마스터 적색불 깜박입니다) > > 2.슬레이브와 마스터 전부 연견 제대로 계속해봐도 오프라인 상태뜨는데 제가 뭘 잘못한거죠... >