Table of Contents

Filip-George MANOLE (78761) - Self Balance Robot

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Descriere generală

Descriere minimala

Se va citi regulat (la minim 100Hz) date de la senzorul de accelerometru + giroscop si se va face comensarea erorii prin actionarea motoarelor. Motoarele se actioneaza cu ajutorul driverelor.

Schema Bloc

Hardware Design

Lista de Piese

Sechema electrica

Scurta descriere

Intreg robotul este alimentat de la bateria de 7.4V. Pentru a verifica starea bateriei am legat un voltmetru la bornele ei.

Motoarele functioneaza la 6V si pot consuma un curent maxim de 6.5A. Pentru fiecate motor am folosit o sursa coboratoare pentru a regla voltajul la 6V si care pot da un curent de pana la 5A pentru fiecare motor.

Pentru a alimenta placa de baza la 5V am folosit alta sursa coboratoare care da un curent mai mic.

Software Design

Mediul de dezvoltare folosit este Atmel Studio.

Librarii

Implementare:

/* Initializare PWM */
void motor_init(void);

void move_forward(uint8_t ocr);

void move_backward(uint8_t ocr);

void move_stop();
double compute(int input)
{
	
	static int lastErr = 0;
	static int errSum = 0;
	
	int error = SETPOINT - input;
	errSum += error;
	int dErr = (error - lastErr);
	
	/*Remember some variables for next time*/
	lastErr = error;
	
	/*Compute PID Output*/
	return Kp * error + Ki * errSum * SAMPLE_TIME + Kd * dErr / SAMPLE_TIME;
	
} 

Rezultate Obţinute

Software

GitHub - implementarea software a proiectului

Jurnal

Bibliografie/Resurse

Specificatii componente hardware.

Biblioteci/tutoriale folosite