Sunteți pe pagina 1din 10

Robochallenge 2018 - Proba Freestyle Showcase

Smart electrical motorcycle


Miron Cristi
Macsim Beneamin
Universitatea “Stefan Cel Mare” Suceava

Rezumat-În lucrare se prezintă modul de funcționare a unei motociclete electrice echipată cu un motor de
current continuu fără perii colectoare (motor brushess) de 24V,250W.Un alt aspect studiat în prezenta lucrare îl
reprezintă monitorizarea capacități bateriei,a vitezei de rulare a motocicletei,a pulsului motociclistului și alte funcții
“inteligente” cu ajutorul senzorilor si a unui microprocessor de tip ATmega 328P compatibil cu arduino uno și afișarea pe
un ecran de tip LCD.

Cuvinte cheie-motor de current continuu fără perii,controller electric pentru viteză,arduino uno,display tip LCD

I.INTRODUCERE

Vehiculele electrice din categoria cărora fac parte și motocicletele electrice prezintă un interes tot mai
ridcat atât pentru industrie cât și pentru consumator.Beneficiile pe care le prezintă pot depași neajunsurile cum ar fi
prețul de achizție ridicat,timpul de încărcare și nivelul bateriei.Prețurile de achiziție vor scădea rapid pe măsură ce
vor intra mai multe pe piață,iar tehnologia va rezolva problemele legate de timpii de încărcare.Performanțele actuale
prezintă o gama de 300km+ și un timp de încărcare până la 30 de minute pentru o capacitate de 80%.Care sunt
câteva din avantajele motocicletei electrice?

Putere și cuplu.Ceea ce caută motocicliști sunt motoarele rapide.Vehiculele electrice dețin recordul de vârf Pikes
Peak pentru ambele:mașini și motociclete.Un motor electric are cuplu instantaneu de 100%,ceea ce înseamnă o
accelerație rapidă.
Poluarea mediului înconjurător.Bineânțeles că motocicletele electrice nu scot fum și nu utilizează conbustibil
neregenerabil limitat.Metodele de producție se înmulțesc,bateriile devin reciclabile și există multe surse de energie
regenerabilă care poate fi folosită.
Sunetul produs.Daca majoritatea motocicliștilor adoră sunetul scos de motocicletă același lucru nu se poate spune
despre membrii comunități care îl găsesc adesea enervant.Cele mai multe motociclete electrice sunt linistite,atât de
liniștite încât unii spun că sunt un pic periculoase deoarece nu le poți auzi.
Mentenanță redusă.Motocicletele electrice nu au filter de aer,ulei,curele de transmisie,bujii,iar altele nu au nici
ambreiaj sau cutie de viteză.Rezultă o economisire a timpului și a banilor pe reparații și întreținere.
II.CONTROLUL MOTORULUI BRUSHLESS

Motocicleta pe care am realizat-o este echipată cu un motor de curent continuu fără perii,cunoscut și ca motor
comutat electronic.Acest motor este încastrat în roată,(eng.hub motor) și nu prezintă sistem de transmisie extern.
Motorul electric de curent continuu fără perii este un motor sincron alimentat cu curent electric prin
intermediul unui invertor sau sursă de comutare care produce un curent electric de curent alternativ pentru a conduce
fiecare fază a motorului printr-un regulator cu buclă închisă.Controlerul furnizează impulsuri de curent la
înfășurările motorului care controlează viteza și cuplul motorului.
Motorul brushless pe roată este un motor electric care este încorporat în butucul
unei roți și îl acționează direct.Câmpurile electromgnetice ale motorului pe roată sunt
furnizate la înfășurările staționare ale motorului.Partea exterioară a motorului urmează sau
încercă să urmeze aceste câmpuri ,întorcând roata atașată.Energia este transferată electronic
într-un astfel de motor,eliminând contactul fizic între piesele staționare și cele mobile.Deși
tehnologia motoarelor fără perii este mai scumpă,cele mai multe sunt mai eficente și mai
durabile decât sistemele cu motor cu perii.[3]
Alimentarea și controlul motorului brushless îl realizez cu ajutorul unui controler
electronic de viteză.Dispozitivul electronic de control al vitezei sau prescurtat ESC este un
circuit electronic care conrolează reglează viteza unui motor electric.De asemenea poate
Robochallenge 2018 - Proba Freestyle Showcase

oferi o inversare a sensului de rotație a motorului și o frânare dinamică.ESC-urile sunt de puteri diferite cu mai
multe sau mai puține funcții și sunt utilizate pentru vehiculele electrice de diferite dimensiuni dar și în modelele
controlate cu comandă radio.
Principiu de funcționare al controlerului.
Controlerul electronic al vitezei urmăreste un
semnal de referințăal turației și variază viteza de
comutare a unei rețele de tranzistoare cu efect de
camp(FET).Prin reglarea cicului de funționare sau a
frecvenței de comutatre a tranzistorilor,viteza
motorului este schimbată.Sunt necesare diferite tipuri
de comenzi de turație pentru motoarele de curent
continuu cu periisau fără perii.În cazul defață când am
un motor de curent continuu fără perii viteza motorului
este variată prin reglarea cronometrări impulsurilor de
curent livrate la mai multe înfășurări ale motorului.Faza corectă variază în funcție de rotația motorului ,care trebuie
luată în considerare de ESC.Pentru detectarea acestei roații am utilizat detectoare magnetice bazate pe efectul
hall(senzori hall).

ESC-ul utilizat are mai mulți pini conectori care au următoarele funcții:
a.alimentarea controlerului cu tensiune continua de la baterie
b.alimentarea motorului brushless cu tensiune alternative
c.posibilitatea de reglare a turației cu ajutorul unui accelerometru,care este în
definitive un potențiomtru
d.posibilitatea de realizare a frânări dinamice atât pe nivel înalt cât și minim
e.o așa nimită funcție ”cruise” care redă posibilitatea de menținere a vitezei la un
anumită valoare
f.posibilitatea de creștere a vitezei în trepte de viteză(3 trepte de viteză)
g.posibilitatea de încărcare a bateriei prin intermediul controlerului
h.funcța de ”autoînvățare”care ne ajută la calibrarea motorului pentru a avea o bună reglare a vitezei
i.posibiliatrea de inversare a sensului de rotire a motorului brushless
Calibrarea motorului este foarte importantă deoarece ESC-ul trebuie să cunoască valorile de minim și maxim a
semnalului PWM pe care accelerometrul îl trimite.Pentru a calibra motorul de curent continuu fără perii se urmăresc
următorii pași:
1.se setează accelerometru pe valoare maxima și se conectează funcția ”self-learning”
2.se întrerupe conexiunea bateriei și se conectează senzorul Hall
3.se reconectează bacteria și se așteaptă memorarea valori maxime
4.se deconectează accelerometrul și sere conecteaza apoi pe valoarea minima care este memorată
5.se deconectează funcția ”self-learning” și viteza se reglează din accelerometru.

III.PLACA DE DEZVOLTARE ADUINO UNO ȘI AFIȘAJ TIP LCD 16x4

Arduinno UNO este o placă de dezvoltare bazată pe microcontrolerul ATmega328P și dezvoltată de


Arduino.cc.Placa este echipată cu seturi de intrări/ieșiri digitale și analogice care pot fi interfațate cu diferite plăci de
expansiune și alte circuite.Placa dispune de 14 pini digitali și 6 pini analogiciEste programabilă cu Arduino IDE prin
intermediul unui cablu USB tip B.Poate fi alimentată de un cablu USB sau de o baterie externă de 9V.Placa arduino
UNO este prima dintr-o serie de plăci USB arduinoși modelul de referință pentru platform Arduino.[3]
Avantaje:
-prcesorul ATmega328 pe arduino UNO este preprogramat cu un bootloader care permite încărcareaunui cod nou
fără a utiliza un programator hardware extern.Acesta comunică utilizând protocolul STK500 original.
-nu utilizează chip-ul FTDI USB-serial ci oferă ATmega16U2 programată ca un convertor USB-serial
Specificații tehnice:
 Microcontroller:ATmega328P
 Tensiune de lucru:5V
 Tensiune de intrare:7-20V
Robochallenge 2018 - Proba Freestyle Showcase

 Pini I/O digitali:14 dintre care 6 cu semnal PWM la ieșire


 Pini analogici:6
 Memorie flash:32 KB dinte care 0.5 KB utilizați de bootloader
 SRAM:2 KB
 EEPROM:1KB
 Viteza de procesare:16 MHz
Arduino UNO are o serie de facilități pentru comunicarea cu un computer,cu o altă placă Arduino sau alte
microcontroalere.ATmega328 oferă comunicație serial UART TTL,disponibilă pe pinii digitali 0(RX) și
1(TX).Software-ul Arduino include un monitor serial care permite trimiterea de date textuale simple la și de la
bord.O bibliotecă SoftwaeSerial permite comunicarea serial pe orcare dintre pinii digitali ai plăci Arduino UNO.
Pentru a afișa datele preluate de la senzori am utilizat un afișaj cu cristale lichide LCD 16x4.
Afișajul cu cristale lichide (LCD) este u afișaj cu ecran plat sau un alt dispozitiv optic modular electronic
care utilizează proprietățile de modulare a luminii ale cristalelor lichide.Cristalele lichide nu emit direct
lumina,folosind în schimb o iluminare de fundal sau un reflector pentru a produce imagini color sau monocrom.
Placa Arduino UNO are o bibliotecă LiquidCrystal care permite să controlez afișajul LCD care este compatibil cu
driverul Hitachi HD44780.LCD-urile au o interfață paralelă ceea ce înseamnă că microcontrolerul trebuie să
manipuleze mai multe coloanede interfață simultană pentru a controla afișajul.Intefața LCD 16x4 este formată din
următori pini:
-un pin selecție registru(RS)care controlează locurile în care scrieți datele în memoria LCD.
-un pin de citire/scriere care selectează modul de citire sau modul de scriere
-un pin de activare care permite scrierea în registru
-8 pini de date
-un pin constrângere a afișajului pentru a controla contrastul afișajului
-pini sursei de alimentare(+5v și GND) fundal utilizați pentru alimentarea
ecranului LCD
-pini cu LED-uri de fundal pentru a porni ș opri lumn de fundal a LCD-ului
Caracteristici: [4]
 Tensiune alimentare:5v
 Curent:2mA
 Tensiune alimentare backlight:.2V
 Curent luminăfundal:250mA

IV.”SMART”MOTORCYCLE

Motocicleta ”SMART” măsoară și afișează în timp real diferiți parametri ai motocicletei însăși dar și a
motociclistului.Pentru a realiza acest lucru este nevoie de diferiți senzori plasați în diferite locuri cu scopul de
monitoriza și afișa starea reală.
Robochallenge 2018 - Proba Freestyle Showcase

Monitorizarea se realizează cu ajutorul plăci de dezvoltare Arduino UNO iar afișarea este pe un afișaj LCD
16x4.Acești senzori sunt:
1.Senzor bazat pe efect Hall pentru monitorizarea și afișarea vitezei de rulare a motocicletei
2.Senzor de tensiune și curent pentru a monitoriza și afișa starea baterie de alimentare
3.Senzor de impulsuri Amped pentru monitorizarea și afișarea pulsului motociclistului în vederea unei bune sănătăți
4.Senzor de distanță pentru a monitoriza și avertiza în caz de pericol
5.Modul Bluetooth Master Slave HC-05 pentru a transmite datele preluate de senzori pe telefon

1.Senzor bazat pe effect Hall este un traductor care variază tensiunea de ieșire
ca răspuns la un câmp magnetic.Senzorul de efect Hall are mai multe aplicați
ca:comutarea proximități,pozițioare,detectare viteză și detectarea curentului.În aplicația
mea senzorul este utilizat pentru detectarea vitezei de rulare a motocicletei și este
montat direct în roată.[1]
Funcționare sensor.Într-un sensor de efect Hall o bandă subțire de
metal are un curent aplicat de-alungul acestuia.În prezența unui
câmp magnetic electroni din banda metalică sunt împinși spre o
margine creând o sarcină pozitivă pe o parte și o încărcare negative pe cealaltă.Acest
dezechilibru al sarcini poate fi apoi măsurat ca o tensiune.Când tensiunea este ridicată înseamnă
că există un câmp magnetic în apropiere,când tensiunea este scăzută nu există un camp
magnetic.
Deoarece motorul este brushless acesta prezintă 3 senzori Hall pe fiecare fază a motorului.Voi
folosi doar un sensor pentru a prelua semnal analogic deteminând astfel numărul de rotații pe minut și prin calcule
viteza de rulare.

2.Senzorul de tensiune și curent.Senzorul de tensiune este


de fapt un divizor e tensiune care este un circuit linear pasiv care
produce o tensiune de ieșire(Vout)care este o fracțiune din
tensiunea de intrare(Vin).Divizarea tensiuni reprezintă rezultatul
distribuiri tensiuni de intrare între componentele divizorului.
Calculul tensiuni de măsurat:
Tensiune de intrare:E=24V
=3900Ω
=1000Ω
Aplicând lege lui Ohm pe prima buclă,deoarece rezistoarele sunt
parcurse de același curent I,vom obține:

Aplicând încă o dată legea lui Ohm pe porțiunea de circuit formată din R2 obținem:

Valoare curentului este citită cu ajutorul unui sensor de curent


bidirectional bazat pe efectul Hall.Modulul este realizat cu ajutorul unui
circuit integrat ACS712 ELC-30.Senzorul returnează o valoare direct
proporțional cu curentul(66mV/A).
Caracteristici:[4]
 Tensiune alimentare:5V
 Curent consumat:10mA
 Utilizează ieșire analogical
 Eroare:1,5%
3.Senzorul de impulsuri Amped.Ritmul cardiac este măsurat cu ajutorul senzorului
de impulsuri Amped. Senzorul Amped este un sensor de frecvență cardiac pentru Arduio care
combină un sensor optic simplu cu amplificare și circuite de anulare a zgomotului
realizându-se astfel o citire ușoară și apidă a pulsului.De asemenea,consumă energie cu doar
4mA curent la 5V.[2]
Robochallenge 2018 - Proba Freestyle Showcase

4.Senzor ultrasnic HC-SR04.Pentru a măsura distanța dinte motocicletă și alte obiecte care se pot ivi în fața ei
și ca măsură de prevenire a accidentelor se utilizează senzorul ultrasonic HC-SR04.Acest senzor este un modul cu 4
pini:Vcc,Trigger,Echo și respective GND.Modulul are ”2 ochi”care formează transmițătorul și receptorul cu
ultrasunete.Senzorul funcționează cu formul simpă:
Distanța=Viteza x Timpul
Pentru a calcula distanța folosind formula de mai sus trebuie să stim viteza și timpul.Deoarece folosim undele
ultrasonice conoaștem viteza de propagare în condiții de camera:330 m/s.Circuitele incorporate pe modul vor calcula
timpul necesar ca unda emisă să revină și să fie captată de receptorul Echo,astfel încât putem cunoaște ș timpul
necesar.Distanța este calculată folosind microcontrolerul de pe Arduino.
Caracteristici:[4]
 Tensiune alimentare:5v
 Distanța practică măsurată:2cm-80cm
 Curentul consumat:15mA
 Acuratețea:3mm
 Unghiul de măsură:15 grade

5. Modul Bluetooth Master Slave HC-05.Acest modul este folosit pentru a transmite wireless datele preluate de la
microcontrolerul ATmega328 la un telefon Prin creearea unei interfețe pe telefon putem observa parametrii
motocicletei având și posibilitatea de a interveni și modifica acești parametrii
Caracteristici:[4]
 Tensiune alimentare:3.6-6V
 Curent consumat:30mA
 Comunică pe serială UART
 Distanță de transmitere:10m
 Putere de transmise:+4dBm
 Senzitivitate recepție:-80dBm

V. Schema electrică și PCB dezvoltate în Altium Designer

Schema electrică folosită pentru a realiza PCB-ul motocicletei a fost realizat în Altium Designer. În schemă se
pot vedea conexiunile din placa principală Arduino UNO, LCD-ul, senzorii și acumulatori.

Fig.1 Schema electrică


Robochallenge 2018 - Proba Freestyle Showcase

Fig.2 PCB 3D

VI. Programarea motocicletei

Codul a fost scris în mediul de dezvoltare Arduino Software (IDE) bazat pe proiectul Processing, care include
suport pentru limbaje de programare ca C și C++.

VI. Acumulatori, calculul consumului de energie și a timpilor de încărcare a bateriei

Motocicleta electrică folosește baterii cu plumb-acid care au o capacitate de stocare a energiei de 14 amperi oră.
Folosind următoarea formulă calculăm puterea cerută pentru a efectua o singură încărcare.

Unde:E-puterea la ieșire [Wh]


Q-capacitatea de stocare a energiei[Ah]
V-tensiunea maxima baterie[V]
N-numarul de baterii

Rata curent în România la consumatori casnici de joasă tensiune este de 0,4975 lei/kWh. Acest cost
împreună cu energia utilizată per încărcare rezultă un total de 0,167 lei.
Deoarece bicicleta este capabilă de 3 km per încărcare,costul pe kilometru se ridică la 55 bani/km.
Încărcarea se realizează cu un transformator coborâtor de tensiune de 220v/12V timp de 8-12h dacă
bacteria este descărcată complet. Întrucât sub 20V motorul nu mai funcționează trebuie efectuate încărcări mai dese
timp de aproximativ 2h.

Fig. 3 Încărcarea bateriilor


Robochallenge 2018 - Proba Freestyle Showcase

VI. CONCLUZIE

Tehnologia vehiculele electrice din care face parte și motocicleta electrică ”inteligentă”sunt într-o creștere
spectaculoasă în ultimi ani.Tot mai multe firme și corporații investesc miliarde pentru a moderniza și eficentiza acest
tip de vehicul.Nivelul de tehnologie și inteligență ridicat se vede în multitudinea de inovații aduse așa numitelor
”mașini inteligente”.Un plus de siguranță pentru individ și protecția mediului înconjurător sunt prezentate în
proiectul motocicletei electrice inteligente.

VII. REFERINŢE BIBLIOGRAFICE


[1]www.pandaebikes.com
[2]www.pulsesensor.com
[3]en.wikipedia.org
[4]www.optimusdigital.ro

VIII. ANEXE

1. Codul Arduino

#define USE_ARDUINO_INTERRUPTS true


#include <PulseSensorPlayground.h>
#include <LiquidCrystal.h>
#define NUM_SAMPLES 10

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int PulseWire = A4;


const int LED13 = 13;
int Threshold = 550;

int refsig = 500;


int val;
int prev_val = 0;
int t, cur_t;
int rpm=0;
float v=0.0;

int sum = 0;
unsigned char sample_count = 0;
float voltage = 0.0;
int C=0;

const int buttonretur = 7;


const int ledretur = A2;
int buttonstateretur = 0;

const int buttonfrana = 6;


const int ledfrana = A1;
int buttonStatefrana = 0;

const int ledpornire = A5;


int buttonstatepornire = 0;

const int TRIG_PIN = 10;


const int ECHO_PIN = 9;
Robochallenge 2018 - Proba Freestyle Showcase

const unsigned int MAX_DIST = 23200;


PulseSensorPlayground pulseSensor;

void setup() {

Serial.begin(9600);
lcd.begin(16, 4);
pinMode(A3,INPUT);

pulseSensor.analogInput(PulseWire);
pulseSensor.blinkOnPulse(LED13);
pulseSensor.setThreshold(Threshold);

if (pulseSensor.begin()) {
}
pinMode(ledretur, OUTPUT);
pinMode(buttonretur, INPUT_PULLUP);

pinMode(ledfrana, OUTPUT);
pinMode(buttonfrana, INPUT_PULLUP);

pinMode(ledpornire, OUTPUT);

pinMode(TRIG_PIN, OUTPUT);
digitalWrite(TRIG_PIN, LOW);
pinMode(TRIG_PIN, OUTPUT);
digitalWrite(TRIG_PIN, LOW);
}

void loop() {
//citire puls
int myBPM = pulseSensor.getBeatsPerMinute();

if (pulseSensor.sawStartOfBeat()) {

lcd.setCursor(0,0);
lcd.print("Pulsul=");
lcd.print(myBPM);
lcd.print(" BPM");
}
delay(20);
//citire viteză
int sig = analogRead(A3);
if (sig > refsig) val = HIGH;
else val = LOW;
if (prev_val == 0 && val == 1) {
cur_t = millis();
delay(10);
Serial.print("Viteza=");
Serial.print(100*(0.03769*(6000 / (cur_t - t))));
Serial.print("km/h ");
Serial.println("|");
Robochallenge 2018 - Proba Freestyle Showcase

lcd.setCursor(0,1);
lcd.print("Viteza=");
lcd.print( 100*(0.03769*(6000 / (cur_t - t))));
lcd.print("km/h ");
t = millis();

//citire tensiune
while (sample_count < NUM_SAMPLES) {
sum += analogRead(A0);
sample_count++;
delay(10);}
voltage = ((float)sum / (float)NUM_SAMPLES * 5.015) / 1024.0;
C=4*voltage*4.93;
Serial.println("Capacitatea=");
Serial.print(C);
Serial.println("|");
lcd.setCursor(4,2);
lcd.print("Tensiunea=");
lcd.print(voltage *4.93);
lcd.print("V");
lcd.setCursor(15,0);
lcd.print("C:");
lcd.print(C);
lcd.print("%");
sample_count = 0;
sum = 0;

//led retur
buttonstateretur = digitalRead(buttonretur);
if (buttonstateretur == LOW) {
analogWrite(ledfrana,0);
analogWrite(ledretur, 200);
delay(200);
analogWrite(ledretur,0);
delay(200);}

//led frana
buttonStatefrana = digitalRead(buttonfrana);
if (buttonStatefrana == LOW) {
analogWrite(ledfrana,200);}
else{
analogWrite(ledfrana,0);}

//citire distanța
unsigned long t1;
unsigned long t2;
unsigned long pulse_width;
float cm;
float inches;
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
while ( digitalRead(ECHO_PIN) == 0 );
t1 = micros();
Robochallenge 2018 - Proba Freestyle Showcase

while ( digitalRead(ECHO_PIN) == 1);


t2 = micros();
pulse_width = t2 - t1;
cm = pulse_width / 58.0;
if ( pulse_width > MAX_DIST ) {
// Serial.println("Out of range");
} else {
//Serial.print(cm);
//Serial.print("|");

//Serial.print(" cm \t");
lcd.setCursor(4,3);
lcd.print("Distanta=");
lcd.print(cm);
lcd.print(" cm ");

}
delay(100);
if(cm<30){
for (int i = 350; i < 400; i++) {
tone(8, i);
delay(10);}}

else{
noTone(8);
}

prev_val = val;

S-ar putea să vă placă și