Category: STM32F4 Discovery

Project 03- STM32F4xx PID controller 33

Project 03- STM32F4xx PID controller

CMSIS files from ARM provides ARM Math functions. There are also PID controller functions in different formats for f32, q31 and q7. This tutorial/project will talk about how to implement PID controller on STM32F4xx using PID functions from ARM. PID Controller Fast about PID controller. PID stands for Proportional-Integral-Derivative controller. This is a control loop feedback mechanism widely used in industrial control systems. It calculates the error between measured value and the desired setpoint value. According to the error, it...

MPU-6050 6-axes gyroscope and accelerometer 113

Library 43- MPU-6050 6-axes gyro and accelerometer for STM32F4

MPU-6050 is a 3-axes accelerometer and 3-axes gyroscope MEMS sensor in one piece. It can also measure temperature. It is very cheap device but also very powerful. It can measure simultaneously three (X, Y and Z) channels for accelerometer and gyroscope at the same time with 16-bit resolution. This chip is also compatible with MPU9150, except that MPU9150 has 3axes magnetometer (or compass) included. MPU-6050 Features Accelerometer 4 selectable full scales (2G, 4G, 8G and 16G) Gyroscope 4 selectable full scales...

Servo motor 71

Library 42- Control RC servo with STM32F4

Library 42 allows you to simple connect and interface RC servo motors with STM32F4. They are small, cheap motors, commonly used for RC (Radio Control), small scale robotics and more. Servos are really simple to interface. They expect 50Hz signal on the input. According to the pulse length (duty cycle) they rotate between 0 and 180 degrees. If signal has 1ms pulse length, motor rotation will be 0 degrees and if signal has 2ms length, then it will have 180degrees rotation. Any pulse length...

Library 41- STDIO implementation for STM32F4 11

Library 41- STDIO implementation for STM32F4

After I made a tutorial on how to use printf with STM32F4, I decided to make a library for printf and other functions that are able to output data to the stream. This library allows you to basically use unlimited different output streams, but just one can be use with printf at a time. You can use other output functions, like fprintf, which accepts stream pointer as parameter to know where to output data. Library Features Output strings using printf...

Library 40- Output clocks from STM32F4 14

Library 40- Output clocks from STM32F4

STM32F4 has capability to output different clocks on specific 2 pins. You are able to output clocks in original frequency (no prescaler) and also with prescaler values 2, 3, 4 and 5. 2 pins are used to output different frequencies. They are not able to output the same clocks. You can output: MCO1 HSI: High Speed Internal oscillator, 16MHz RC HSE: High Speed External oscillator, or External User clock LSE: Low speed, 32768Hz oscillator or ceramic resonator PLLCLK: Output clock...

Library 39- Power consumption modes for STM32F4 23

Library 39- Power consumption modes for STM32F4

For library 39, I made a low power modes library. This allows you to simple put STM32F4 into SLEEP, STOP or STANDBY mode. Point of this modes is simple. You want decrease current on device. If you are working on battery project, this will be very helpful. You can set current down to about 2uA with proper low power mode. I will tell you only the highlights of all 3 power down modes in this post. For detailed informations, check ST’s...