2019/03 5

PADS - 부품 간격 맞춰가면서 놓기

아트웍을 하다보면 동일 간격을 유지하고 싶을 때가 있습니다. 예를 들어 IC랑 R/L/C가 이 정도는 떨어져 있어야 수삽이 편하겠다 이런 경우처럼요. GRID를 사용하거나 속성의 위치정보를 넣어서 하는 방법도 사용하지만 2D LINE를 사용하여 일정 사이즈의 사각형을 그린다음 그 라인에 맞춰서 놓는게 빠르게 빠르게 배치할 수 있어 편합니다. 일단 휙휙 놓고나서 다시 조정을 하지만 그 휙휙 놓을 때 참 편합니다.

PADS - COPPER POUR 겹쳐서 사용하기

전체를 그라운드 Copper Pour을 사용하고 내층에 일정 부분을 다른 Net의 Copper Pour을 사용할 수 있었습니다.사용하는 방법을 몰라서 내층은 Copper을 전부 직접 깔았었는데 이런 방법이 있었네요. 1. 내부 Copper Pour의 속성창을 엽니다. 2. Flood & Hatch Options를 눌러줍니다. 3. Flood priority 순위를 0으로 둡니다.(외곽 Copper Pour보다만 높은 우선순위면 될 것 같습니다.) 4. 이제 외곽 Copper Pour의 속성창을 엽니다. 5. Flood & Hatch Options를 눌러줍니다. 6. Flood priority 순위를 1로 둡니다.(내부 Copper Pour보다만 낮은 우선순위로 바꿔주면 됩니다.)

PID 제어

\Drivers\CMSIS\DSP_Lib\Source\ControllerFunctions안에 arm_pid_init_f32.c 파일을 Merge 시키거나 arm_math 파일만을 묶어서 라이브러리로 만들어 추가해도 됩니다. 실제 사용시에는 다양한 값을 받아서 PID 제어를 하면 될 듯 싶습니다.조금 더 부드럽게 값을 만져줄 수 있어 몇개의 Factor을 받아 2중 PID 구조를 사용하였습니다. #include "arm_math.h" /* Private typedef -----------------------------------------------------------*//* Private define --------------------------------------------------------..

LSM6DSL, LIS2MDL, LPS22HB

가속, 자이로, 온도, 압감지, 마그넷 센서LSM6DSL, LIS2MDL, LPS22HB소스와 통신하는 부분을 ST에서 제공하는 프로그램에서 발췌했더니 비효율적으로 되어있습니다.데이터시트를 보고 최적화와 함께 함수들을 만들어 써야합니다. void main(void){ACCGyroAxis_TypeDef ACCAxis, GyroAxis;MagnetAxis_TypeDef MagnetAxis;float fPress, ftemperature;float fBatt;uint16_t Batt_Percent; LSM6DSL_ACCGyroInit();LIS2MDL_MagnetInit();LPS22HB_TempPreInit(); LSM6DSL_ACCGyroEnable();LIS2MDL_MagnetEnable();LPS22H..