Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 10218 | 답변완료Atmega128 모듈로 DC모터 제어 질문 드리려고 합니다. | 남관우 | 2019-05-17 | 1,810 |
|
안녕하세요!
5V짜리 정도되는 학습용도 DC모터를 제어하려고 합니다.
PWM 방식을 사용하려고 하는데,
DC모터는 별도의 드라이버모듈이 있어야 한다고 배운 적 있어서요.
혹시 뉴티씨에서 그런 관련된 모듈을 판매하고 있는지.
그게 아니라면 어떤 걸 쓰면 좋을지 조언을 좀 구하고자 합니다.
감사합니다!
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
본사에서 판매중인 DC모터 드라이버는 AM-DC2-2D제품과 AM-DC1-3D 제품을 판매하고 있습니다.
DC2-2D는 범용적인 모터구동 드라이버고,
http://newtc.co.kr/dpshop/shop/item.php?it_id=1314666721
DC1-3D는 더 높은전류/전압을 사용하실 때 사용하는 드라이버입니다.
http://newtc.co.kr/dpshop/shop/item.php?it_id=1314666728
DC2-2D는 듀얼채널이라 두개의 모터를 돌릴 수 있지만,
DC1-3D는 싱글채널이라 모듈당 한개의 모터만 돌릴 수 있는 점 참조해주시기바랍니다.
둘다 pwm이 지원됩니다.
감사합니다.
>
>
> 안녕하세요!
>
> 5V짜리 정도되는 학습용도 DC모터를 제어하려고 합니다.
> PWM 방식을 사용하려고 하는데,
> DC모터는 별도의 드라이버모듈이 있어야 한다고 배운 적 있어서요.
> 혹시 뉴티씨에서 그런 관련된 모듈을 판매하고 있는지.
> 그게 아니라면 어떤 걸 쓰면 좋을지 조언을 좀 구하고자 합니다.
>
> 감사합니다!
>
|
||||
| 10217 | 답변완료아두이노 우노 ADC 관련 | 정해택 | 2019-05-16 | 1,803 |
|
우선 항상 친절한 답변 감사드립니다.
adc 채널에 아무것도 연결하지 않은 상태에서 adc값을 출력했을 때 아무런 값도 안나와야 맞는거 같은데 200정도되는 adc값이 출력이 됩니다.
새 제품을 사용해도 똑같은 현상이 발생합니다.
혹시 어떤 문제인지 알 수 있을까요?
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여주셔서 감사합니다.
고객님이 보신 현상은 정상적인게 맞습니다.
해당 현상은 ADC채널 핀에 아무것도 연결되지 않아 플로팅 상태가 되어 전압이 마구 변하는 것입니다.
만약 계속 0이 출력되기를 원하시면 풀다운저항을 통해 GND와 연결해주시는게 좋습니다.
감사합니다.
>
>
> 우선 항상 친절한 답변 감사드립니다.
> adc 채널에 아무것도 연결하지 않은 상태에서 adc값을 출력했을 때 아무런 값도 안나와야 맞는거 같은데 200정도되는 adc값이 출력이 됩니다.
> 새 제품을 사용해도 똑같은 현상이 발생합니다.
> 혹시 어떤 문제인지 알 수 있을까요?
>
|
||||
| 10216 | 답변완료ATMEL Studio 7코딩 | 정해택 | 2019-05-15 | 1,800 |
|
안녕하세요. 아까의 답변은 정말 감사드립니다.
한가지 더 여쭤보고 싶은 점이 있는데 아트멜 스튜디오 내에서 (x,y) 좌표점을 3개 이상을 알고 있을시 linear fitting한 식을 구하는 것이 가능한지 알고 싶습니다. 가능하다면 그 방법도 알려주시면 감사드리겠습니다.
친절한 답변 감사드립니다.
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
고객님이 질문주신 내용은 난이도가 꽤 있어 답변이 불가할 것 같습니다.
저희도 시간을 써야되는 사항이라 개발 영역으로 들어가서, 비용이 발생될 수 있습니다.
이 점 양해해 주시기 바랍니다.
감사합니다.
>
>
> 안녕하세요. 아까의 답변은 정말 감사드립니다.
> 한가지 더 여쭤보고 싶은 점이 있는데 아트멜 스튜디오 내에서 (x,y) 좌표점을 3개 이상을 알고 있을시 linear fitting한 식을 구하는 것이 가능한지 알고 싶습니다. 가능하다면 그 방법도 알려주시면 감사드리겠습니다.
> 친절한 답변 감사드립니다.
>
|
||||
| 10215 | 답변완료ATMEL Studio 7 함수 | 정해택 | 2019-05-15 | 1,829 |
|
안녕하세요.
atmel studio 7을 사용하고 있는데 여기서 자연로그 즉 ln(x)를 사용할 수 있는 지 알고 싶습니다.
혹시 사용할 수 있다면 어떤 함수를 써서 어떤 식으로 사용할 수 있는지도 알고 싶습니다.
항상 친절한 답변 감사드립니다.
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
라이브러리 중 math.h를 포함시켜주시면 수학함수들을 사용하실 수 있습니다.
소스코드 상단부에 #include <math.h>구문을 추가하셔서 라이브러리를 Add해주신 후
자연로그는 log(double x) 함수를 사용해주시고, 상용로그는 log10(double x) 함수를 사용해주시면 됩니다.
만약 log(10)을 실행하면, 2.30258509299405가 반환됩니다.
감사합니다.
>
>
> 안녕하세요.
> atmel studio 7을 사용하고 있는데 여기서 자연로그 즉 ln(x)를 사용할 수 있는 지 알고 싶습니다.
> 혹시 사용할 수 있다면 어떤 함수를 써서 어떤 식으로 사용할 수 있는지도 알고 싶습니다.
> 항상 친절한 답변 감사드립니다.
>
|
||||
| 10214 | 답변완료모터 스피드 제어하기 | 김상용 | 2019-05-01 | 1,870 |
|
안녕하세요.
스위치 입력하여 정역 모터 제어하는 프로그램을 겨우 완성했읍니다.
그동안 도움이 많이 됐읍니다. 아래 소스입니다.
스위치 키이 확인하고 PWM ON DIR ON/OFF 하는 동작입니다.
다음은 키이 입력 후 PWM을 제어해서 스피드를 제어하고 싶습니다.
VR 입력에 PWM 제어하는 소스는 있는데 직접 PWM을 제어하고 싶읍니다.
그런 예제가 있는지요..
그리고 문의 드릴 아래 스피드 제어의 해석을 좀 부탁드려요...
DIR1 CW, CCW를 사용해야 되고요
void Speed_Control(void){
input = (SW_PORT&0x20)>>2; // 이부분이 무슨뜻인지 도통 알수 없네요...0x20 이면 PORTG PORT5 맞죠? 2보다 크다는 >>2 이게 왜 들어가야 되나요?
if(input == 0x01){ // PORTG의 첫번째 스위치 인가요?
temp++; //DIR2_CW; 탬프 증가가 어떻게 DIR CW가 되는지요?
}
if(input == 0x02){
temp--; //DIR2_CCW;
}
}
========키이 입력하고 정역 모터 제어 ===============
#include <avr/io.h>
#include <avr/interrupt.h>
unsigned char pind6, pind5, pind4;
//#define SW_PORT PING
//#define SW_PORT_DDR DDRG
#define MOTOR_PORT PORTC
#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 port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0xff;
PORTD = 0xff;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
//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();
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 delaytime){
int i,j;
for(i=0;i<1000;i++){
for(j=0;j<delaytime;j++){
}
}
}
int main(void)
{
init_devices();
while(1){
pind5=PIND&0x20;
pind4=PIND&0x10;
if(pind5 == 0)
{
PWM1_ON;
DIR1_ON;
delay(100);
}
else if(pind4 == 0)
{
PWM1_ON;
DIR1_OFF;
delay(100);
}
else
{
PWM1_OFF;
}
}
return 0;
}
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
우선 요청하신 소스를 첨부해드립니다.
이 소스는 타이머를 이용하여 직접 포트핀을 제어하며 사각파를 구현하고,
듀티비를 조정하여 결론적으로 PWM으로 제어하는 소스입니다.
잘 사용하시기 바라며, 소스 관련하여 답변드리겠습니다.
Q : > input = (SW_PORT&0x20)>>2; // 이부분이 무슨뜻인지 도통 알수 없네요...0x20 이면 PORTG PORT5 맞죠? 2보다 크다는 >>2 이게 왜 들어가야 되나요?
A : 풀어서 해석해 드리자면, '&'는 논리연산 AND의 기호이며, 0x20(0b00100000)을 AND연산 합니다.
즉, SW_PORT의 5번핀의 데이터만 사용하겠다는 뜻이고, 다음으로 >>2 는 오른쪽으로
두번 쉬프트하겠다는 뜻으로 0x20(0b00100000)을 0x08(0b00001000)으로 만드는 역할을 합니다.
쉬프트 연산자 '>>'와, 비교연산자 '>' 를 헷갈리지 않으셨으면 좋겠습니다.
Q : > if(input == 0x01){ // PORTG의 첫번째 스위치 인가요?
A : 이 조건문은 위쪽의 연산결과를 사용하는 것으로, 값이 1일 때 만족하는 조건문입니다.
Q : > temp++; //DIR2_CW; 탬프 증가가 어떻게 DIR CW가 되는지요?
A : 어떤 소스를 사용하셨는지는 모르겠지만, 주석을 지우셔야 할 것 같습니다.
감사합니다.
>
>
> 안녕하세요.
> 스위치 입력하여 정역 모터 제어하는 프로그램을 겨우 완성했읍니다.
> 그동안 도움이 많이 됐읍니다. 아래 소스입니다.
> 스위치 키이 확인하고 PWM ON DIR ON/OFF 하는 동작입니다.
> 다음은 키이 입력 후 PWM을 제어해서 스피드를 제어하고 싶습니다.
> VR 입력에 PWM 제어하는 소스는 있는데 직접 PWM을 제어하고 싶읍니다.
> 그런 예제가 있는지요..
> 그리고 문의 드릴 아래 스피드 제어의 해석을 좀 부탁드려요...
> DIR1 CW, CCW를 사용해야 되고요
> void Speed_Control(void){
> input = (SW_PORT&0x20)>>2; // 이부분이 무슨뜻인지 도통 알수 없네요...0x20 이면 PORTG PORT5 맞죠? 2보다 크다는 >>2 이게 왜 들어가야 되나요?
> if(input == 0x01){ // PORTG의 첫번째 스위치 인가요?
> temp++; //DIR2_CW; 탬프 증가가 어떻게 DIR CW가 되는지요?
> }
> if(input == 0x02){
> temp--; //DIR2_CCW;
> }
> }
>
> ========키이 입력하고 정역 모터 제어 ===============
> #include <avr/io.h>
> #include <avr/interrupt.h>
> unsigned char pind6, pind5, pind4;
>
> //#define SW_PORT PING
> //#define SW_PORT_DDR DDRG
>
> #define MOTOR_PORT PORTC
> #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 port_init(void)
> {
> PORTA = 0x00;
> DDRA = 0x00;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00; //m103 output only
> DDRC = 0xff;
> PORTD = 0xff;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
> }
>
> //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();
>
> 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 delaytime){
> int i,j;
> for(i=0;i<1000;i++){
> for(j=0;j<delaytime;j++){
> }
> }
> }
>
> int main(void)
> {
> init_devices();
>
>
>
> while(1){
>
> pind5=PIND&0x20;
> pind4=PIND&0x10;
>
>
>
> if(pind5 == 0)
> {
>
> PWM1_ON;
> DIR1_ON;
> delay(100);
> }
>
> else if(pind4 == 0)
> {
>
> PWM1_ON;
> DIR1_OFF;
> delay(100);
>
> }
>
> else
> {
> PWM1_OFF;
> }
>
> }
> return 0;
>
>
> }
>
|
||||
| 10213 | 답변완료ATMEL Studio 7에서 실수형(Float) 출력하기 | 정해택 | 2019-04-30 | 1,839 |
|
실수형을 출력할 때libprintf를 추가하라고 하셨는데 그것을 추가하는 NOUL창을 어디서 열어야되는지 모르겠습니다,
알려주시면 감사하겠습니다.
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
질문하신 내용이 아래 링크에 관한 내용이 맞는지는 모르겠습니다만,
http://newtc.co.kr/dpshop/bbs/board.php?bo_table=m32&wr_id=141
해당 게시글은 2016년 6월에 작성된 글로, 현재버전과 다를 수 있습니다.
ATMEL Studio 7.0.1931버전에서는 창의 이름이 NOUL이 아니고, 프로젝트이름으로 됩니다.
해당 창의 진입하는 방법은, 프로젝트가 열려있는 상태에서
상단 메뉴바에서 Project -> <Project Name> Properties... 로 들어가시면 됩니다.
감사합니다.
>
>
> 실수형을 출력할 때libprintf를 추가하라고 하셨는데 그것을 추가하는 NOUL창을 어디서 열어야되는지 모르겠습니다,
> 알려주시면 감사하겠습니다.
>
|
||||
| 10212 | 답변완료[재문의] USBISP 사용 문제 문의드립니다. | 박유진 | 2019-04-30 | 1,769 |
|
현재 사용중인 MCU/usbisp는 다른 PC(win7) codevision / avrstudio 에서 잘 프로그램 됩니다.
노트북이 윈10이라 호환성을 생각해 ATmel studio7을 설치하여 사용려고 했던건데 왜 프로그램 모드로 진입 할 수 없다는 말만 나오는지 모르겠네요.
+ 디바이스 시그니쳐 / 퓨즈 리드가 안됩니다. 같은 에러메시지가 뜹니다. ( Failed to enter programming mode.)
제작년에 제가 윈7 atmel studio7로 작업할때 잘 되었었고
작년에 다시 같은 환경에서 사용하려고 했을때 에러메시지가 나타났습니다. ( 윈도우 호환성 문제는 아닌것 같습니다)
올해 노트북을 구매하게 돼서 윈10 / atmel studio7 설치하고 사용하려니 같은 에러메시지가 뜹니다.
작년에 한참 구글링으로 찾아볼때 아트멜사에서 자사 제품이 아닌 툴을 막아버렸다는 글을 본적이 있는데
혹시 최근 윈도우10 atmelstudio7 환경으로 ISPUSB 3.6 사용테스트 해보신적이 있으신지 궁금합니다.
-추가
USBISP 새로 하나 까서 사용해보니 잘 됩니다.
ISP 문제인것 같은데 AS 신청하고 받는데 얼마나 걸릴까요>??
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
네, 제품 AS는 도착하면 당일 또는 익일 발송 가능합니다.
급하시면 직접오시면 바로 됩니다.
앞으로도 많은 이용 부탁드립니다.
감사합니다.
>
>
> 현재 사용중인 MCU/usbisp는 다른 PC(win7) codevision / avrstudio 에서 잘 프로그램 됩니다.
>
> 노트북이 윈10이라 호환성을 생각해 ATmel studio7을 설치하여 사용려고 했던건데 왜 프로그램 모드로 진입 할 수 없다는 말만 나오는지 모르겠네요.
> + 디바이스 시그니쳐 / 퓨즈 리드가 안됩니다. 같은 에러메시지가 뜹니다. ( Failed to enter programming mode.)
>
> 제작년에 제가 윈7 atmel studio7로 작업할때 잘 되었었고
> 작년에 다시 같은 환경에서 사용하려고 했을때 에러메시지가 나타났습니다. ( 윈도우 호환성 문제는 아닌것 같습니다)
>
> 올해 노트북을 구매하게 돼서 윈10 / atmel studio7 설치하고 사용하려니 같은 에러메시지가 뜹니다.
>
>
> 작년에 한참 구글링으로 찾아볼때 아트멜사에서 자사 제품이 아닌 툴을 막아버렸다는 글을 본적이 있는데
>
> 혹시 최근 윈도우10 atmelstudio7 환경으로 ISPUSB 3.6 사용테스트 해보신적이 있으신지 궁금합니다.
>
>
>
> -추가
> USBISP 새로 하나 까서 사용해보니 잘 됩니다.
> ISP 문제인것 같은데 AS 신청하고 받는데 얼마나 걸릴까요>??
>
|
||||
| 10211 | 답변완료USBISP 사용 문제 문의드립니다. | 박유진 | 2019-04-30 | 1,756 |
|
Atmega128a 모듈
Window 10
atmel studio 7 을 사용합니다
타겟 설정을 stk500 로 하고 포트도 자동으로 잡혔습니다.
장치관리자에 포트 목록에 Silicon Lsbs CP210x .... 도 제대로 잡힙니다.
그러나 프로그램 버튼을 누르면 첨부된 그림과 같이 에러메시지가 출력됩니다.
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
ISP와 ATmega모듈간에 접촉불량이 있는지 확인해 주시고,
개발환경상에서 MCU종류는 제대로 선택해 주셨는지 다시한번 확인해보시기 바랍니다.
또한, 개발환경에서 프로그래밍 전에 모듈의 시그니쳐가 Read가 잘 되는지,
퓨즈는 Read / Write가 되는지 확인해 보시기 바라며,
다른 ATmega모듈에 ISP를 꽂아보는 방법 등으로 ISP의 문제인지, ATmega모듈의 문제인지 찾아보시고,
문제를 모르겠다고 하시면 저희 본사쪽에 수리할 모듈과 증상, 돌려받으실 이름,주소,전화번호 등을 보내주시면(택배비 선불) A/S를 진행해보실 수 있습니다.
감사합니다.
>
>
> Atmega128a 모듈
> Window 10
> atmel studio 7 을 사용합니다
>
> 타겟 설정을 stk500 로 하고 포트도 자동으로 잡혔습니다.
>
> 장치관리자에 포트 목록에 Silicon Lsbs CP210x .... 도 제대로 잡힙니다.
>
> 그러나 프로그램 버튼을 누르면 첨부된 그림과 같이 에러메시지가 출력됩니다.
>
|
||||
| 10210 | 답변완료세금계산서 요청건 | 최성욱 | 2019-04-29 | 1,797 |
|
안녕하세요
에이원디앤피 입니다.
지난번 usb 수리요청건으로 수리비 대해 셰금계서가 가능한지 문의 드립니다.
확인하여 보시고 회신부탁드립니다.
관리자 답변
안녕하세요 고객님.
저희 뉴티씨 제품을 이용해주셔서 감사합니다.
사업자등록증 팩스로 보내주시면 세금계산서 발급이 가능합니다.
FAX) 02-704-4733
감사합니다.
>
> 안녕하세요
> 에이원디앤피 입니다.
>
> 지난번 usb 수리요청건으로 수리비 대해 셰금계서가 가능한지 문의 드립니다.
>
> 확인하여 보시고 회신부탁드립니다.
>
|
||||
| 10209 | 답변완료AM-DC1-3D 구동 예제 부탁드려요 | 김상용 | 2019-04-25 | 1,658 |
|
AVR Studio v4.19 + GCC Tool Chain을 사용하고 있읍니다.
몇가지 예제를 주셨지만 제대로 모터 구동이 되는 예제가 없네요..
키이입력을 받아 정역이 되는 예제가 있으면 소스를 변경하여 제품에 적용하려고 하는데
한달동안 해매고 있네요...
주신 예제 1 ex_Motor_SW_PWM_Speed_control
define 된걸 보면 AM-DC1-3D 핀연결과 다릅니다. PWM1, DIR1을 사용합니다.
그래서 안되는것으로 보입니다. DC2-2D 구동 모듈을 사야 하나요?
#define PWM2_ON (MOTOR_PORT|=0x10)
#define PWM2_OFF (MOTOR_PORT&=0xEF)
#define DIR2_CW (MOTOR_PORT|=0x20)
#define DIR2_CCW (MOTOR_PORT&=0xDF)
#define ENABLE2_OFF (MOTOR_PORT|=0x40)
#define ENABLE2_ON (MOTOR_PORT&=0xBF)
#define BREAK2_ON (MOTOR_PORT|=0x80)
#define BREAK2_OFF (MOTOR_PORT&=0x7F)
주신 예제 2 ex_AM_DCx_x_DC_MOTOR_Control
이 소스는 그래도 AM-DC1-3D 모듈에 모터가 돌아가야 되는데
반응이 없네요...LED 예제 헥사파일을 다운 받으면 모터가 구동되는것을 확인 함.
#define MOTOR_PORT PORTC
#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)
#define PWM2_ON (MOTOR_PORT|=0x10)
#define PWM2_OFF (MOTOR_PORT&=~0x10)
#define DIR2_ON (MOTOR_PORT|=0x20)
#define DIR2_OFF (MOTOR_PORT&=~0x20)
#define ENABLE2_OFF (MOTOR_PORT|=0x40)
#define ENABLE2_ON (MOTOR_PORT&=~0x40)
#define BREAK2_ON (MOTOR_PORT|=0x80)
#define BREAK2_OFF (MOTOR_PORT&=~0x80)
AVR Studio v4.19 + GCC Tool Chain 에서AM-DC1-3D 구동 예제 되는것좀 부탁드릴게요...
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
요청하신 예제를 첨부하여 드립니다.
DC1-3C나 DC2-2D나 MOTOR1만 구동하실 때에는 예제가 호환되도록 만들어져 있어서,
일반적으로 사용하시기는 편하실텐데,
최근에 컴파일러인 툴체인의 변동들이 있고, 또한 윈도우버전업 등으로 약간씩 여건이 변경되어서,
기존의 라이브러리도 좀 달라지고 한 부분들이나, 구동시의 문제점 등이 가끔 보고되고 있어서,
어려움을 겪을 수도 있겠구나 하는 생각이 듭니다.
그래서, 첨부와 같이 제작하여 컴파일해보고 올려드립니다. 정역제어만 되는 예제입니다.
잘 사용하시기 바랍니다.
감사합니다.
>
>
> AVR Studio v4.19 + GCC Tool Chain을 사용하고 있읍니다.
> 몇가지 예제를 주셨지만 제대로 모터 구동이 되는 예제가 없네요..
> 키이입력을 받아 정역이 되는 예제가 있으면 소스를 변경하여 제품에 적용하려고 하는데
> 한달동안 해매고 있네요...
>
> 주신 예제 1 ex_Motor_SW_PWM_Speed_control
> define 된걸 보면 AM-DC1-3D 핀연결과 다릅니다. PWM1, DIR1을 사용합니다.
> 그래서 안되는것으로 보입니다. DC2-2D 구동 모듈을 사야 하나요?
> #define PWM2_ON (MOTOR_PORT|=0x10)
> #define PWM2_OFF (MOTOR_PORT&=0xEF)
> #define DIR2_CW (MOTOR_PORT|=0x20)
> #define DIR2_CCW (MOTOR_PORT&=0xDF)
> #define ENABLE2_OFF (MOTOR_PORT|=0x40)
> #define ENABLE2_ON (MOTOR_PORT&=0xBF)
> #define BREAK2_ON (MOTOR_PORT|=0x80)
> #define BREAK2_OFF (MOTOR_PORT&=0x7F)
>
>
> 주신 예제 2 ex_AM_DCx_x_DC_MOTOR_Control
> 이 소스는 그래도 AM-DC1-3D 모듈에 모터가 돌아가야 되는데
> 반응이 없네요...LED 예제 헥사파일을 다운 받으면 모터가 구동되는것을 확인 함.
>
> #define MOTOR_PORT PORTC
> #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)
>
> #define PWM2_ON (MOTOR_PORT|=0x10)
> #define PWM2_OFF (MOTOR_PORT&=~0x10)
> #define DIR2_ON (MOTOR_PORT|=0x20)
> #define DIR2_OFF (MOTOR_PORT&=~0x20)
> #define ENABLE2_OFF (MOTOR_PORT|=0x40)
> #define ENABLE2_ON (MOTOR_PORT&=~0x40)
> #define BREAK2_ON (MOTOR_PORT|=0x80)
> #define BREAK2_OFF (MOTOR_PORT&=~0x80)
>
> AVR Studio v4.19 + GCC Tool Chain 에서AM-DC1-3D 구동 예제 되는것좀 부탁드릴게요...
>
|
||||
| 10208 | 답변완료atmega328P를 Atmel studio 7.0으로 ISP업로드 할시 에러문의 | 방경환 | 2019-04-23 | 1,791 |
|
안녕하세요. 자작 아두이노를 위해 회로를 구성하고 ad-usbisp v3.6 으로 아무기능 없는 빈 코드를 업로드
해보려고 하고 있습니다. 사용 설명을 참고하여 Add target으로 usbisp, sk500을 설정하고 다음
device programming로 atmega328p에 ISP를 이용하여 코드를 업도르 하려고 하는데 어려움이 있습니다.
Timestamp: 2011-10-06 22:18:22.276
Severity: ERROR
ComponentId: 20100
StatusCode: 0
의 에러와 함께 잘 되고 있지 않습니다.
그 외에 device programming에서 device signature항목의 read를 클릭하였을 때 디바이스가 읽혀야 되는데
read를 누르면 에러와 함께 000000으로 표시되고 있습니다. 그 오른쪽에서 전압도 0V가 읽히는 데 이것은
프로그래밍에서 임의의 값으로(예4.5V)로 write한 후 다시 read를 누르면 device signature은 에러가 나지만
전압은 4.5V를 정상적으로 읽어보고 있습니다.
usbisp도 기본상태일 때에는 녹색불이 껌벅껌벅이다가 read를 누르면 적색불 3번이 껌벅인 후 다시 초록색
으로 껌벅껌벅이는것을 보면 현재 device signature를 제외하고는 모두 정상인것으로 확인 되고 있습니다.
혹시 어디서 문제가 있고 해결방법이 있을까요??
추가로 잘 안될 시 회사로 찾아가면 무상으로 확인해 주신다고 질문답변의 어느글에서 본 것 같습니다.
답변해주신 해결법으로 해결이 안되면 한번 직접 찾아가도 괜찮을까요??
감사합니다.
관리자 답변
안녕하세요, 고객님.
저희 뉴티씨 제품을 이용해주셔서 감사합니다.
해당 증상은 Atmel studio 7.0과 AD-USBISP V3.6은 서로 통신이 되지만
AD-USBISP V3.6과 타겟보드가 통신되지 않는 증상입니다.
타겟보드에서 ISP 관련핀에 VCC나 GND가 인가되지는 않았나 확인해보시고,
AD-USBISP V3.6문제라고 생각되시면 저희 주소호 A/S요청 보내주시면 됩니다.
감사합니다.
>
>
> 안녕하세요. 자작 아두이노를 위해 회로를 구성하고 ad-usbisp v3.6 으로 아무기능 없는 빈 코드를 업로드
>
> 해보려고 하고 있습니다. 사용 설명을 참고하여 Add target으로 usbisp, sk500을 설정하고 다음
>
> device programming로 atmega328p에 ISP를 이용하여 코드를 업도르 하려고 하는데 어려움이 있습니다.
>
> Timestamp: 2011-10-06 22:18:22.276
> Severity: ERROR
> ComponentId: 20100
> StatusCode: 0
> 의 에러와 함께 잘 되고 있지 않습니다.
>
> 그 외에 device programming에서 device signature항목의 read를 클릭하였을 때 디바이스가 읽혀야 되는데
>
> read를 누르면 에러와 함께 000000으로 표시되고 있습니다. 그 오른쪽에서 전압도 0V가 읽히는 데 이것은
>
> 프로그래밍에서 임의의 값으로(예4.5V)로 write한 후 다시 read를 누르면 device signature은 에러가 나지만
>
> 전압은 4.5V를 정상적으로 읽어보고 있습니다.
>
> usbisp도 기본상태일 때에는 녹색불이 껌벅껌벅이다가 read를 누르면 적색불 3번이 껌벅인 후 다시 초록색
>
> 으로 껌벅껌벅이는것을 보면 현재 device signature를 제외하고는 모두 정상인것으로 확인 되고 있습니다.
>
> 혹시 어디서 문제가 있고 해결방법이 있을까요??
>
> 추가로 잘 안될 시 회사로 찾아가면 무상으로 확인해 주신다고 질문답변의 어느글에서 본 것 같습니다.
>
> 답변해주신 해결법으로 해결이 안되면 한번 직접 찾아가도 괜찮을까요??
>
> 감사합니다.
>
|
||||
| 10207 | 답변완료USB to Serial V02 변환 보드 통신 포트 연결 끊김 에러 질문입니다. | 주식회사플랜즈커피 | 2019-04-22 | 2,003 |
|
안녕하세요.
이렇게 질문을 드리는 이유는 다름이 아니고, USB to Serial V02 변환 보드를 이용하는데 있어서 문제가 있기 때문입니다.
제가 atmega128과 pc와의 통신을 USB to Serial V02 변환 보드를 이용해서 하고 있습니다.
이 통신이 평소에는 잘 주고받다가 간헐적으로 pc에 잡히는 통신 포트의 연결이 끊겨버립니다. 하루에 1~2번, 많게는 5~6번까지도 일어나고 있습니다.
통신 포트 연결 끊김 현상은 통신 직후뿐만 아니라 통신 준비중이던 때에도 그냥 이유없이 끊기고 있습니다.
인터넷을 검색해보니 노이즈가 끼면 포트 연결이 끊길 수 있다고, 포토커플러로 uart를 절연해주라거나, 필터를 달라거나 하는 등의 솔루션이 제시되어있기는 하던데, 이 모듈에 이미 적용되어 있는 사항인지도 궁금하네요.
긴글 읽어주셔서 감사합니다! 제발 이 포트연결끊김 에러를 해결하고싶습니다...!!
p.s
pc에서 찍히는 정확한 에러명은 'bad file descriptor' 입니다.
관리자 답변
안녕하세요 고객님.
저희 뉴티씨 제품을 이용해주셔서 감사합니다.
해당 오류는 노이즈나, 물리적인 연결단절때문에 나타나는 오류입니다.
저희 제품은 노이즈특성이 매우 좋기떄문에 냉납같은 연결단절이 일어나신것 같습니다.
서울특별시 서초구 사평대로 2길 19-19 4층(방배동 756-7) (주)뉴티씨(NEWTC) A/S 담당자 (앞)
이쪽으로 보내주시면 A/S 해드릴수있습니다.
A/S 보내실때는 증상과 받으실 주소를 넣어주세요.
감사합니다.
>
>
> 안녕하세요.
>
> 이렇게 질문을 드리는 이유는 다름이 아니고, USB to Serial V02 변환 보드를 이용하는데 있어서 문제가 있기 때문입니다.
>
> 제가 atmega128과 pc와의 통신을 USB to Serial V02 변환 보드를 이용해서 하고 있습니다.
>
> 이 통신이 평소에는 잘 주고받다가 간헐적으로 pc에 잡히는 통신 포트의 연결이 끊겨버립니다. 하루에 1~2번, 많게는 5~6번까지도 일어나고 있습니다.
>
> 통신 포트 연결 끊김 현상은 통신 직후뿐만 아니라 통신 준비중이던 때에도 그냥 이유없이 끊기고 있습니다.
>
> 인터넷을 검색해보니 노이즈가 끼면 포트 연결이 끊길 수 있다고, 포토커플러로 uart를 절연해주라거나, 필터를 달라거나 하는 등의 솔루션이 제시되어있기는 하던데, 이 모듈에 이미 적용되어 있는 사항인지도 궁금하네요.
>
> 긴글 읽어주셔서 감사합니다! 제발 이 포트연결끊김 에러를 해결하고싶습니다...!!
>
> p.s
> pc에서 찍히는 정확한 에러명은 'bad file descriptor' 입니다.
>
|
||||
| 10206 | 답변완료AD-GPS-T 통신 속도 설정 어디까지 되나요? | 이종석 | 2019-04-16 | 2,125 |
|
안녕하세요
메뉴얼에 보면 1200~1.8432M bps까지 된다고 하는데
"$PSRF100,1,57600,8,1,0" 명령어로 테스트해보니 57600이 최대인것 같습니다.
확인 부탁드립니다.
감사합니다.
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
고객님이 테스트하신 명령어 "$PSRF100,1,57600,8,1,0"는 57600속도로 설정하는 것입니다.
명령어의 끝에 *과 CheckSum을 포함하여 "$PSRF100,1,115200,8,1,0*05"
이 명령어로 테스트하시면 최대속도인 115,200, 즉 1.8432Mbps로 통신하실수 있습니다.
감사합니다.
>
>
> 안녕하세요
> 메뉴얼에 보면 1200~1.8432M bps까지 된다고 하는데
> "$PSRF100,1,57600,8,1,0" 명령어로 테스트해보니 57600이 최대인것 같습니다.
> 확인 부탁드립니다.
>
> 감사합니다.
>
|
||||
| 10205 | 답변완료ex_AM_DCx_x_DC_MOTOR_Control 테스트 | 김상용 | 2019-04-15 | 2,031 |
|
안녕하세요
아래 소스를 빌더하여 다운로드 하였는데 모터는 회전을 합니다.
그런데 PORTG SWITCH2,3 키이가 먹지 않네요.
PORTG = 0x02;PORTG = 0x03;
다른프로그램 ex_Motor_SW_PWM_Speed_control 이것도 맞찮가지이데요..
뭔가 잘못되었는지요.....
// S/W Environment :AVR Studio + WINAVR Compiler
// Target : M128
// Crystal: 16MHz
//
// Made by NEWTC Co., Ltd. in Korea.
// DAEWOO RYU
// Email : davidryu@newtc.co.kr
// +82-2-704-4774(TEL), +82-2-704-4733(FAX)
// http://www.newtc.co.kr
// example : AM-DCx-xx DC motor controller test
#include <avr/io.h>
#include <avr/interrupt.h>
#define MOTOR_PORT PORTC
#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)
#define PWM2_ON (MOTOR_PORT|=0x10)
#define PWM2_OFF (MOTOR_PORT&=~0x10)
#define DIR2_ON (MOTOR_PORT|=0x20)
#define DIR2_OFF (MOTOR_PORT&=~0x20)
#define ENABLE2_OFF (MOTOR_PORT|=0x40)
#define ENABLE2_ON (MOTOR_PORT&=~0x40)
#define BREAK2_ON (MOTOR_PORT|=0x80)
#define BREAK2_OFF (MOTOR_PORT&=~0x80)
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;// DDRG = 0xff;
}
//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();
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 delaytime){
int i,j;
for(i=0;i<1000;i++){
for(j=0;j<delaytime;j++){
}
}
}
int main(void)
{
init_devices();
ENABLE1_ON;
PWM1_ON;
BREAK1_OFF;
ENABLE2_ON;
PWM2_ON;
BREAK2_OFF;
while(1){
DIR1_ON;
DIR2_ON;
PORTG = 0x02;
delay(2000);
DIR1_OFF;
DIR2_OFF;
PORTG = 0x03;
delay(2000);
}
return 0;
}
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
PORTG는 출력으로 사용할 떄 사용하는 파라미터이고,
입력으로 사용하실때에는 PING라는 파라미터를 사용하셔야합니다.
현재 고객님의 while문 안에 PORTG = 0x02;라는 코드가 있는데,
이것은 G포트의 출력을 0x02로 하는것이고,
스위치를 사용하여 제어하고 싶으시다면
조건문을 사용하여 if(PING == 0x02) {...} 이런식으로 사용하셔야합니다.
감사합니다.
>
>
> 안녕하세요
> 아래 소스를 빌더하여 다운로드 하였는데 모터는 회전을 합니다.
> 그런데 PORTG SWITCH2,3 키이가 먹지 않네요.
> PORTG = 0x02;PORTG = 0x03;
> 다른프로그램 ex_Motor_SW_PWM_Speed_control 이것도 맞찮가지이데요..
> 뭔가 잘못되었는지요.....
>
>
> // S/W Environment :AVR Studio + WINAVR Compiler
> // Target : M128
> // Crystal: 16MHz
> //
> // Made by NEWTC Co., Ltd. in Korea.
> // DAEWOO RYU
> // Email : davidryu@newtc.co.kr
> // +82-2-704-4774(TEL), +82-2-704-4733(FAX)
> // http://www.newtc.co.kr
> // example : AM-DCx-xx DC motor controller test
>
> #include <avr/io.h>
> #include <avr/interrupt.h>
>
> #define MOTOR_PORT PORTC
> #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)
>
> #define PWM2_ON (MOTOR_PORT|=0x10)
> #define PWM2_OFF (MOTOR_PORT&=~0x10)
> #define DIR2_ON (MOTOR_PORT|=0x20)
> #define DIR2_OFF (MOTOR_PORT&=~0x20)
> #define ENABLE2_OFF (MOTOR_PORT|=0x40)
> #define ENABLE2_ON (MOTOR_PORT&=~0x40)
> #define BREAK2_ON (MOTOR_PORT|=0x80)
> #define BREAK2_OFF (MOTOR_PORT&=~0x80)
>
>
>
> 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;// DDRG = 0xff;
> }
>
> //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();
>
> 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 delaytime){
> int i,j;
> for(i=0;i<1000;i++){
> for(j=0;j<delaytime;j++){
> }
> }
> }
>
> int main(void)
> {
> init_devices();
>
> ENABLE1_ON;
> PWM1_ON;
> BREAK1_OFF;
> ENABLE2_ON;
> PWM2_ON;
> BREAK2_OFF;
>
> while(1){
> DIR1_ON;
> DIR2_ON;
> PORTG = 0x02;
> delay(2000);
> DIR1_OFF;
> DIR2_OFF;
> PORTG = 0x03;
> delay(2000);
> }
> return 0;
> }
>
|
||||
| 10204 | 답변완료AVR MEGA 8 모듈 라이트 (AM-8PL) 문의 | 최민호 | 2019-04-15 | 1,702 |
|
ad-usbisp 가 제품구성에 포한되어있는건가요?
관리자 답변
안녕하세요 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
AM-8PL제품에는 다른 제품이 포함되어 있지 않습니다.
혹시, AM-8PL에 다운로드를 하고 싶으시다면
AD-USBISP V03.6 또는 AD-USBISP V6.0을 구매하셔서
AD-ISP-CVB와 연결해서 사용하셔야 합니다.
감사합니다.
>
>
> ad-usbisp 가 제품구성에 포한되어있는건가요?
>
|
||||
