- This is for operating step motor by using Hardware Timer(hr_timer)
6.1.21-v7l+
Raspbian 32bit Legacy
- Raspberrypi 4 ( RAM : 8 GB )
- Step Motor: ULN2003 + Motor Module
Pin Number | Purpose |
---|---|
GPIO12 | GlassMotor IN1 |
GPIO16 | GlassMotor IN2 |
GPIO20 | GlassMotor IN3 |
GPIO21 | GlassMotor IN4 |
GPIO24 | ShieldMotor IN1 |
GPIO25 | ShieldMotor IN2 |
GPIO19 | ShieldMotor IN3 |
GPIO1 | ShieldMotor IN4 |
GPIO23 | TiltMotor IN1 |
GPIO18 | TiltMotor IN2 |
GPIO15 | TiltMotor IN3 |
GPIO14 | TiltMotor IN4 |
클릭하여 시연 영상을 시청할 수 있습니다.
-
When installing Raspbian, add "arm_64bit = 0" to the config.txt file. If you do not do this, the kernel will be updated to 64-bit.
-
Enter root mode
sudo su
- To check the current kernel version on a Linux system, including Raspbian, you can open a terminal and enter the following command
uname -r
- Update Linux kernel headers
sudo agt-get install linux-headers
- Update the Linux kernel on Raspberry Pi
sudo apt install raspberrypi-kernel-headers
- Enter 'make' in the 'Drivers' folder(directory). This is for Driver building, driver permission change, driver kernel registration.
make
- Enter 'ls -al' in the '/dev/' folder to check the permissions of the driver.
ls -al
- Enter 'make' in the 'test' directory
make
- Enter './test' in the 'test' folder to test the operation of the motor driver.
./test
- If the Motor Spec does not show 2ms after completing the above steps, allow overclocking in the config.txt file by increasing the CPU frequency from 700Hz to 800Hz (up to a maximum of 1000Hz).
-
라즈비안 설치 시 config.txt 파일에 arm_64bit = 0 을 적어준다. 이를 진행하지 않을 경우 64비트 커널로 업데이트가 된다.
-
'sudo su' 을 입력한다.
sudo su
- 'uname -r'를 입력해서 현재 커널 버젼을 확인한다. ( 프로젝트 커널 버젼: 6.1.21-v7l+)
uname -r
- 리눅스 커널 헤더 업데이트를 한다.
sudo agt-get install linux-headers
- 라즈베리 파이의 리눅스 커널 업데이트를 한다.
sudo apt install raspberrypi-kernel-headers
- Drivers 폴더에서 'make'를 입력한다. => 드라이버 빌드, 드라이버 권한 변경, 드라이버 커널 등록
make
- /dev/폴더에서 'ls -al'을 입력해서 드라이버의 권한을 확인한다.
ls -al
- test 폴더에서 'make'를 입력한다.
make
- test 폴더에서 './test'를 입력하고 모터 드라이버의 동작을 확인한다.
./test
- 위 단계를 진행했을 때 2ms의 Motor Spec을 보이지 않는다면 config.txt파일에 CPU Frequency를 700Hz에서 800Hz로 Overclocking을 허용해준다. ( 최대 1000Hz )
Match Raspberry Pi Board Pin Number with Step Motor in GlassDriver.c(TiltMotor,ShileMotor etc) code
https://github.com/NahyunEE/smart_sunroof
GPU GPL