BASIC4MCU | 질문게시판 | 신호파형입니다.
페이지 정보
작성자 고전압 작성일2018-12-25 10:05 조회49,465회 댓글12건본문
위 사진이 오실로스코프에서 받은 파형입니다. 디비젼당 1us로 말씀드렸던 파형이고 주파수는 대략 1~100 MHz 입니다.
다만 위 파형의 오실레이션은 매질에 의한 외곡이라서 복구할 필요는 없고 peak 점만 찾으면 됩니다.
최종적으로 하고자 하는것이.. 위와같이 필터를 거쳐서 파형을 적분하여 1us 주기의 파형을 50us정도로 늘인다음 검출하는 것인데..
atmega 328로 가능할까요? 가능하다면 방법을 간단히 설명부탁드립니다.. 아날로그 회로는 기본적인것밖에 몰라서 간단한 조언이라도 감사히 받겠습니다.
P.S. 적고보니 말이 모호하네요. '주기'라고 표현한 것은 파형의 시작과 끝을 말씀드린거고...
처음 신호 발생 후 다음 신호의 발생까지 걸리는 시간은 (방전 발생 확률에 의존하지만) 수 ms 입니다.
댓글 12
조회수 49,465master님의 댓글
master 작성일
빠른 속도의 변환은 상대적으로 오차가 커집니다.
아두이노 구해서 직접 해보세요
ADC변환하고
그 값을 받아서
어딘가로 전송하거나 메모리에 저장하는 등의
일련의 과정은 아무리 빨라도 수 us 입니다.
AVR이 느려서 어쩔 수 없는 것이고요
1us 안에 프로세싱을 마쳐야 한다면 아두이노로는 불가능하다고 말할 수 있겠습니다.
고전압님의 댓글
고전압
마스터님, 아두이노로 다루며 샘플링 속도가 가장높은 것이 어느 것인지 알 수 있을까요?
master님의 댓글
master
128 경우에는
분주비 2
13클럭 변환이므로
26클럭이 가장빠른 변환속도입니다.
16MHz에서 26클럭이면 2us가 조금 안되는 속도인데요
레지스터 읽고 비교하고 저장하고 등등의 코드 실행 속도가 느려서
간단하게 처리를 하더라도 수us를 훌쩍 넘을겁니다.
//
328도 128과 크게 다르지 않습니다.
고전압님의 댓글
고전압
제가 클럭의 개념이 없어서 그런데.. 처리속도가 수us라면.. 50us의 파형정도는 얼추 복원이 가능하지 않을까요..? 정말 해봐야 아는걸까요 ㅠ 그리고 최종적으로 검출하는 값을 지그비와같은 무선통신을 통해 원격으로 파형의 peak값 정도만 대략 보려고합니다. 신호를 몇개 놓쳐도 되고 peak 값이 아주 정확하지 않아도 됩니다.
master님의 댓글
master
일반적인 UART 시리얼통신의 최고 속도는 115200bps입니다.
1바이트 전송시간이 87us죠
1회전송 데이터는 아무리 작아도 2바이트 크기로 보내야 할테니 174us가 걸립니다.
고전압님의 댓글
고전압
50us의 파형의 최대주파수는 20kHz니까 나이키스트이론에 의하면 샘플링은 40kHz정도면 되고, 아트메가 328의 최대 샘플링은 76.9kS/s니까... 검출은 가능하면... 일정값이상(트리거)의 값이 들어오면 100us정도 값들을 저장했다가 송신을 하면 안될까요? 펄스의 주기는 수 ms라 송신까지도 가능할거같은데... 자꾸 질문드려 죄송합니다. 제가 지식이 너무 부족해서..
master님의 댓글
master
일반적이지 않은 내용은
머리로만 생각해서는 답을 얻기 힘들고
직접 해보면서 수정하는 것이 빠릅니다.
고전압님의 댓글
고전압
감사합니다! 일단 해보겠습니다! 시간이 좀 걸릴 것 같습니다 ㅎㅎ
master님의 댓글
master
master님의 댓글
master 작성일
비슷한 기능을 저가의 제품에서 구현되기를 원한다면
USB 오실로스코프로 가능한지 체크해보세요
https://www.google.com/search?q=USB+%EC%98%A4%EC%8B%A4%EB%A1%9C%EC%8A%A4%EC%BD%94%ED%94%84&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi4v_WR8LnfAhUMabwKHUNJDSMQ_AUIDigB&biw=1178&bih=927
master님의 댓글
master 작성일
https://www.google.com/search?q=stm32f103c8t6+%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8&oq=stm32f103c8t6+dken&aqs=chrome.1.69i57j0j69i59.13617j0j7&sourceid=chrome&ie=UTF-8
검색은 아두이노를 넣어서 했지만 반드시 아두이노에서 돌리라는 뜻은 아닙니다.
AVR에 비해서 진입 장벽이 조금 높긴 하지만 32비트 STM32로 처리하면 한결 수월할겁니다.
최대 샘플링 속도는 기억하지 못하지만 12비트 ADC이고, 103 경우 클럭이 72MHz 입니다.
아두이노 IDE로 돌린다고 해도 AVR보다는 빠를겁니다.
고전압님의 댓글
고전압
감사합니다! 공부해보겠습니다!