Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA TRANSPORTURI
PROIECT
Sisteme de dirijare a
traficului feroviar
Îndrumător Student
Ș.l. Dr. Ing. Andrei Răzvan Andrei – Cristian SIMION
GHEORGHIU Grupa 8412
București
2018
1. Temă proiect: să se proiecteze un sistem automat de verificare a integrității trenului, care să
transmită informații de alertă atât la locomotivă, cât și la un dispecerat regional. Sunt obligatorii
următoarele:
a. În cazul în care se utilizează un microcontroler se va justifica alegerea în funcție de
parametrii care au importanță pentru proiect.
b. În cazul sub-sistemului de comunicații se va detalia soluția tehnică, inclusiv conectarea
și, dacă este cazul, programarea modulelor utilizate. De asemenea, se va defini conținutul
mesajului care se va transmite și se vor propune modalități de securizare a acestuia.
c. Stabilirea unei proceduri de acțiune în cazul alertelor.
d. Analiza posibilelor defecțiuni în funcționarea sistemului și propunerea de soluții pentru
detecția acestora și semnalizarea la un dispecer.
e. Justificarea soluțiilor alese: pentru fiecare se vor prezenta avantaje și dezavantaje.
Pe baza notațiilor:
- nn = numărul de litere din nume => SIMION = șase caractere;
- np = numărul de litere din prenume => Andrei = șase caractere.
Dacă nn este par, alimentarea disponibilă este de curent continuu, dacă nn este impar,
alimentarea disponibilă este de curent alternativ.
2. Conținutul proiectului:
a. Prezentarea schemei bloc propuse, cu explicarea blocurilor componente și definirea
funcțiilor acestora.
b. Prezentarea schemei de amplasament a echipamentelor utilizate.
c. Descrierea soluției alese pentru realizarea fizică a fiecărui bloc din cele prezentate
anterior: schemă electrică, calcule pentru dimensionarea elementelor componente, prezentarea
datelor de intrare și ieșire necesare, elemente de fiabilitate.
d. Proiectarea interfețelor dintre blocurile funcționale – dacă este cazul.
e. Prezentarea programului software (limbaj de asamblare, C/μC, pseudocod, schemă
logică etc.) – dacă se utilizează microcontroler.
f. Prezentarea schemei complete rezultate pentru realizarea temei.
1. Proiectare sistem
a. ATmega1280
Fiind proiectantul acestui proiect, ținând cont de parametrii dați de către îndrumător și
ideea pe care mi-am propus să o implementez, trebuie să folosesc un microcontroler cu cel puțin
12 canale ADC (12 fiind numărul maxim de vagoane) pentru a putea citi starea fiecărui vagon
în parte, mai exact nivelul de tensiune la una din cele două stări (cuplat/decuplat).
Pe lângă cele 12 canale ADC pe care microcontroler-ul trebuie să le aibă, va trebui să țin
cont și de numărul de canale TXD/RXD, care trebuie să fie în număr de minim două de fiecare
pentru că voi folosi un modul GSM și un modul GPS.
Ținând cont de tot ce-mi va trebui pentru realizarea sistemului, am găsit microcontroler-
ul ATmega1280, care îmi oferă următoarele posibilități:
- Conectarea la 16 canale ADC, dintre care eu am nevoie de 12;
- Patru perechi TXD/RXD, dintre care eu am nevoie de două, putând pe parcurs să adaug
și alte două module, dacă este cazul.
b. Sub-sistem de comunicații
În cazul în care totul este în regulă, se transmite câte un mesaj către dispecerat din 15 în
15 minute specificând faptul că trenul este complet: “COD STARE TREN: 978312” (cu
ajutorul modulului GSM), dar și locația la momentul respectiv (cu ajutorul modulului GPS),
LCD-ul păstrând coordonatele GPS-ului timp de trei secunde, apoi revenind la mesajul inițial,
iar la bordul locomotivei se afișează pe LCD următorul mesaj: “STARE TREN: COMPLET”.
În cazul în care un vagon se decuplează, se afișează pe LCD următorul mesaj: “STARE
TREN: VAG #XY DECUPLAT”, iar simultan va porni sistemul de alarmă format dintr-o
sonerie și LED-ul de avertizare de culoare roșie, totodată trimițându-se către dispecerat o alertă
cu mesajul: “COD STARE TREN: 9782XY”, unde XY reprezintă numărul vagonului, și
pornind același sistem de alarmă, format dintr-o sonerie și un LED de culoare roșie.
Exemplu: Dacă s-a decuplat vagonul 7, știm că după el se află și celelalte vagoane, până la
vagonul 12 inclusiv, iar mesajul afișat la bordul locomotivei este: “STARE TREN: VAG #7
DECUPLAT”, la dispecerat fiind afișat: “COD STARE TREN: 978207”. Se afișează numărul
vagonului unde s-a întrerupt conexiunea.
Notă: Modulul GPS nu se va lua în considerare pentru acest proiect dacă din cauza
cerințelor proiectului putem transmite doar acest mesaj.
d. Posibile defecțiuni
Componentele folosite, mai ales cele apropiate de exterior, sunt toate făcute să
funcționeze la temperaturi între -30° C și +60° C, în foile de catalog fiind valori mai mari de
atât, și mai mici, eu am specificat ceea ce s-ar putea produce în realitate. LCD-ul se află la
bordul locomotivei, și mă îndoiesc că vor fi sub -20° C în locomotivă, mai ales când trenul este
pus în funcțiune, pentru că altfel LCD-ul este oprit.
Dispeceratul este anunțat, în caz de defecțiune, numai în momentul în care un vagon este
decuplat în timpul mersului trenului.
e. Alegerea soluțiilor
Circuitul cu fotoelemente
Circuitul cu microcontroler
Avantaje: canale ADC suficiente pentru numărul de vagoane, canale TXD/RXD suficiente
pentru modulele necesare, îndeplinirea a mai multor funcții simultan (alarmă, aprindere LED
etc.).
Dezavantaje: există riscul de a afișa alte informații decât cele care s-au scris în codul software,
informații ce au legătură cu cele scrise, dar afișate eronat.
2. Conținutul proiectului
La bordul locomotivei
Amplasare pe vagon
Amplasare între vagoane, între primul vagon și locomotivă
c. Prezentare componente
Convertorul MAX5035
MAX5035CUSA+
Stabilizatorul de tensiune LM7805
Fotoelemente
LCD 16x2
Notă: Modulele GSM și GPS folosite în proiect sunt generice. Așadar, nu pot oferi
informații amănunțite pentru aceste componente.
Pierderi de tensiune
Un alt parametru specificat în acest proiect este faptul că, pentru fiecare echipament nou
introdus, tensiunea de intrare este de 60 volți. Cei 60 volți vor “pleca” de la locomotivă, drept
urmare, tensiunea nu rămâne constantă.
Am considerat următoarele:
- Lungimea vagonului estimată la 30 metri;
- Cel puțin un metru în plus pentru fiecare conexiune (vagon-vagon, primul vagon-
locomotivă);
- Având 12 vagoane: 12*32 = 384 metri de cablu;
- Din cei 60 volți, va trebui să avem minim 12 volți la capătul cablului pentru a putea
funcționa în condiții optime convertorul și stabilizatorul;
- Tensiunea pe firul care face legătura între circuitul de pe vagoane și microcontroler,
nu trebuie să scadă mai mult de doi volți.
Notă: Puteam să folosesc un alt convertor MAX5035 ce-mi oferă tensiunea de ieșire 5
volți, dar nu este o tensiune constantă de 5 volți, există pierderi și stabilizatorul s-ar
putea să nu funcționeze.
Am ales convertorul MAX5035CUSA+, deoarece stabilizatorul LM7805 suportă
tensiunea de intrare de 12 volți, și îmi oferă tensiunea de ieșire de 5 volți mereu, fără să-
mi fac alte griji.
Notă: Din câte putem observa, se pierde foarte puțin din tensiune datorită curentului
mic ce trece prin fototranzistor (aproximativ 25 mA).
În acest sens, nivelul de tensiune setat în codul software, va rămâne la fel pentru toate
vagoanele.
e. Programul software
#include <avr/io.h>
#define F_CPU 8000000UL //Setare frecventa microcontroler
#include <util/delay.h>
#include <string.h>
#include <stdlib.h>
#define D4 LCD_PORTB0
#define D5 LCD_PORTB1
#define D6 LCD_PORTB2
#define D7 LCD_PORTB3
#define RS LCD_PORTB4
#define EN LCD_PORTB5
#include "lcd.h"
void init_adc()
{
ADMUX = (1 << REFS0); //Selectarea tensiunii de referinta si a canalului de
intrare
ADCSRA = (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0); //Starea
canalelor ADC
}
//Porneste conversia
ADCSRA |= (1 << ADSC);
return(ADC);
}
void wait()
{
uint8_t i;
for(i = 0; i < 20; i++)
_delay_loop_2(0);
}
int main(void)
{
uint16_t adc;
while(1)
{
lcd_set_cursor(1, 1); //Se afiseaza pe linia 1
lcd_afisare("STARE TREN:"); //mesajul
init_adc();
adc = read_adc(1); //Citeste ADC pe intrarea 1
wait(); //Asteapta
if(adc >= 512) //Setez nivelul de tensiune
vagon = 1; //Primul vagon
_delay_ms(500);
init_adc();
adc = read_adc(6); //Citeste ADC pe intrarea 6
wait(); //Asteapta
if(adc >= 512) //Setez nivelul de tensiune
vagon = 6; //Al 6-lea vagon
_delay_ms(500);
init_adc();
adc = read_adc(7); //Citeste ADC pe intrarea 7
wait(); //Asteapta
if(adc >= 512) //Setez nivelul de tensiune
vagon = 7; //Al 7-lea vagon
_delay_ms(500);
if(vagon > 0)
{
PORTF = 0b00000001; //Se porneste alarma
PORTA = 0b00000001; //Se aprinde LED-ul de avertizare
lcd_set_cursor(2, 1); //Se afiseaza pe linia 2
if (vagon == 1)
lcd_afisare("VAG #1 DECUPLAT"); //mesajul
else
if (vagon == 6)
lcd_afisare("VAG #6 DECUPLAT"); //mesajul
else
if (vagon == 7)
lcd_afisare("VAG #7 DECUPLAT"); //mesajul
_delay_ms(500);
}
else
{
PORTF = 0b00000000; //Alarma oprita
PORTA = 0b00000000; //LED avertizare oprit
lcd_set_cursor(2, 1); //Se afiseaza pe linia 2
lcd_afisare("____COMPLET____"); //mesajul
_delay_ms(500);
}
}
}
Notă: Acest cod reprezintă o simplă testare a circuitului proiectat. El este conceput
pentru a vedea ce se petrece în urma oricărui eveniment (cuplat/decuplat). Nu este făcut
pentru a transmite date către dispecerat, funcționează doar local (pe tren).
3. Bibliografie
http://christianferoviarul.blogspot.com/2008/09/tablourile-de-bord-la-locomotivele-din.html
http://www.scritub.com/tehnica-mecanica/Manual-de-exploatare-tren2120612.php
https://www.miculelectrician.ro/calculator-de-cabluri.php
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-
microcontroller-ATmega8_L_datasheet.pdf
http://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-
atmega640-1280-1281-2560-2561_datasheet.pdf
https://www.engineersgarage.com/sites/default/files/LCD%2016x2.pdf
http://extremeelectronics.co.in/avr-tutorials/using-adc-of-avr-microcontroller/
https://datasheets.maximintegrated.com/en/ds/MAX5035.pdf
https://ro.mouser.com/ProductDetail/Maxim-
Integrated/MAX5035CUSA+?qs=1THa7WoU59HoB4FgiDJ0aA%3D%3D
https://www.farnell.com/datasheets/73758.pdf
https://www.sparkfun.com/datasheets/Components/LM7805.pdf
http://www.ablab.in/buzzer-interfacing-with-avr-atmega32-microcontroller/
http://www.ablab.in/sim808-gsm-gprs-gps-modem-interfacing-with-avr-atmega32-
microcontroller/
http://www.farnell.com/datasheets/2171929.pdf
https://www.google.ro/imghp