188 lines
11 KiB
TeX
188 lines
11 KiB
TeX
\chapter{Introduzione}
|
||
\label{ch:introduzione}
|
||
Negli ultimi anni, il settore delle macchine movimento terra è evoluto verso architetture elettroniche sempre più complesse.
|
||
Similmente ai veicoli stradali, i moderni mezzi d'opera integrano numerose \ac{ecu} e una vasta rete di sensori e attuatori, interconnessi
|
||
tramite il protocollo \ac{can} suddivisi in uno o più bus.
|
||
L'elevata mole di dati generati ha permesso lo sviluppo di sistemi telematici, diagnostici e di fleet management per monitorare lo stato di salute
|
||
del mezzo, ottimizzare i consumi e pianificare la manutenzione \cite{telematics_industrial_vehicle}.\\
|
||
\\
|
||
Tuttavia, l'accesso a questi sistemi viene limitato dai sistemi proprietari dei costruttori: sebbene i dati \ac{can} grezzi siano leggibili tramite strumenti
|
||
di diagnostica, spesso questi non seguono standard come \ac{sae} J1939 e vengono offuscati da \ac{id} proprietari, decodificati dentro ecosistemi chiusi.
|
||
Ad esempio, il sistema \textit{KOMTRAX}\texttrademark di Komatsu consente, tra varie possibilità, il tracciamento remoto, geofencing e l'analisi
|
||
di efficienza del mezzo \cite{komatsu_komtrax_specification}, che pur essendo efficace per monitoraggio e controllo, è una piattaforma che non espone
|
||
i frame \ac{can} né permette l'integrazione con software di terze parti. Operano in maniera simile altri sistemi proprietari, tra i quali \textit{VisionLink}\texttrademark (Caterpillar),
|
||
\textit{JDLink}\texttrademark (John Deere), \textit{LiDAT}\texttrademark (Liebherr), \textit{SiteWatch}\texttrademark (CASE e New Holland).\\
|
||
Per le aziende con flotte multimarca, questa mancanza di accessibilità limita lo sviluppo di soluzioni diagnostiche unificate e l'analisi approfondita delle
|
||
condizioni specifiche dei mezzi.\\
|
||
\\
|
||
Il presente lavoro di tesi nasce da questa esigenza operativa, in collaborazione con l'azienda edile CAT (S.a.s.). L'impresa ha espresso l'interesse a disporre di
|
||
strumenti diagnostici brand-agnostic per il monitoraggio della propria flotta di mezzi d'opera multimarca impiegati in scavi e movimento terra, in particolare
|
||
per scopi di manutenzione predittiva e monitoraggio delle condizioni del veicolo. \\
|
||
In questo contesto, ha messo a disposizione per le attività di sperimentazione un escavatore Komatsu PC210 NLC-8, consentendo l'acquisizione di dati
|
||
in condizioni operative reali e la validazione delle metodologie di reverse engineering.
|
||
|
||
\subsection{Stato dell'arte}
|
||
\label{sec:stato-dell-arte}
|
||
Al momento della scrittura del presente lavoro di tesi, la letteratura tecnica pubblica non riporta casi documentati di decodifica dei frame CAN
|
||
proprietari di mezzi di lavoro Komatsu. \\
|
||
Esistono tuttavia alcuni progetti correlati nel settore delle macchine off-highway e nel reverse engineering di messaggi \ac{can} più in generale: \\
|
||
\\
|
||
Un articolo IEEE introduce CANMatch, un tool automatizzato per effettuare reverse engineering di \ac{can} frame tramite frame matching, che ha permesso
|
||
di ottenere un metodo semplice per interpretare i dati proprietari loggati su più di 400 veicoli stradali \cite{canmatch-reverse-engineering}.
|
||
Questo metodo potrebbe applicarsi analogamente al caso di sistemi proprietari compatibili con SAE J1939. \\
|
||
\\
|
||
PolyCAN, parte del progetto TractorHacking, è un tool diagnostico che punta ad effettuare un reverse engineering del \ac{can} bus di trattori John
|
||
Deere e permettere l'iniezione di messaggi dall'esterno, in modo da ottenere controllo completo sul mezzo \cite{tractorhacking}. \\
|
||
\\
|
||
Seppur manchi letteratura pubblica specifica per escavatori Komatsu, evidenze empiriche riportate da comunità tecniche specializzate riportano che per
|
||
alcuni dei mezzi di questo marchio (specificamente un dumper HD785 ed un escavatore PC1250) i \ac{can} \ac{id} loggati non sono puramente J1939, ma un
|
||
protocollo ibrido contenente ID a 29 bit (Extended \ac{can}) ed a 11 bit (Standard \ac{can}) \cite{diagnet-komatsu}.
|
||
|
||
\subsection{Obiettivi}
|
||
\label{sec:obiettivi}
|
||
L'obiettivo di questo elaborato è lo sviluppo di un sistema per l'acquisizione, la decodifica e l'analisi dei dati di un escavatore idraulico
|
||
provenienti dal suo \ac{can} bus.
|
||
Nello specifico, il lavoro si articola in:
|
||
\begin{itemize}
|
||
\item \textbf{Identificazione:} Individuazione delle caratteristiche del sistema diagnostico del veicolo contenente accesso al \ac{can} bus;
|
||
\item \textbf{Acquisizione dati:} Sviluppo di un'interfaccia hardware per il logging dei messaggi \ac{can} in tempo reale;
|
||
\item \textbf{Reverse engineering:} Lettura e decodifica delle comunicazioni proprietarie Komatsu;
|
||
\item \textbf{Analisi dati:} Traduzione dei dati decodificati in parametri fisici.
|
||
\end{itemize}
|
||
|
||
\section{Contesto operativo}
|
||
Si introducono i protocolli di comunicazione utilizzati in questo elaborato di tesi.
|
||
|
||
\label{subsec:architettura}
|
||
Si effettua una breve descrizione del veicolo e dei sistemi hardware e software utilizzati per ottenere, decodificare ed interpretare i dati \ac{can}.
|
||
|
||
\subsection{Komatsu PC210 NLC-8}
|
||
\label{subsec:komatsu_pc210}
|
||
Il veicolo oggetto di studio è l'escavatore Komatsu PC210 NLC-8: si tratta di un escavatore idraulico cingolato
|
||
di media portata, parte della serie \textit{Dash 8} in commercio dal 2006 al 2016. La designazione NLC (\textit{Narrow Long Crawler}) identifica una
|
||
configurazione del sottocarro caratterizzata da una carreggiata ridotta e una maggiore lunghezza del telaio, ottimizzata per applicazioni che
|
||
richiedono un ingombro trasversale contenuto \cite{komatsu_pc210_8_2017_brochure}.
|
||
|
||
È equipaggiato con un motore diesel common rail a 6 cilindri in linea, sviluppato da \textit{Komatsu Cummins Engine Corporation} (KCEC), joint venture
|
||
paritetica tra \textit{Komatsu Ltd.} e \textit{Cummins Inc.}; infatti il motore \textit{SAA6D107E-1} montato sul PC210 NLC-8 è basato sulla stessa
|
||
architettura del \textit{Cummins 6D107} \cite{pc210-230-240-manual}.\\ % forse invece meglio citazione su questa roba del Cummins qua
|
||
Il sistema idraulico \textit{Komatsu HydrauMind} adotta una logica a centro chiuso (CLSS) abbinata al controllo mutuo pompa-motore \cite{pc210-230-240-manual}.
|
||
Sul piano dell'elettronica, questa integra nativamente il sistema proprietario Komatsu di telematica e gestione del mezzo \textit{KOMTRAX}\texttrademark
|
||
discusso precedentemente. \\
|
||
Il sistema \ac{can} consiste in un unico bus accessibile dalla \ac{ecu} oppure da una presa di diagnostica all'interno della cabina \cite{pc210-230-240-manual}.
|
||
Lo schermo nella cabina di controllo infatti è un nodo \ac{can} e visualizza eventuali errori o informazioni utili come regime motore e temperature
|
||
direttamente in modo da essere visibili in ogni momento all'operatore. Le informazioni visibili dal sistema \textit{KOMTRAX}\texttrademark vengono anche esse
|
||
comunicate tramite \ac{can} bus.
|
||
% TODO: foto schermo cabina acceso
|
||
|
||
La serie PC210 rappresenta una delle piattaforme più diffuse nel segmento delle medie portate a livello europeo. Komatsu è stabilmente tra i primi produttori
|
||
di escavatori nel mercato \ac{emea}, ed il PC210 è indicato come uno dei modelli chiave della gamma Komatsu in questa regione.
|
||
Un numero significativo di unità \textit{Dash 8} è ancora oggi operativo in flotte di piccole e medie imprese edili e di movimento terra, grazie alla robustezza meccanica
|
||
della piattaforma, alla disponibilità di ricambi (anche di provenienza Cummins per il motore) e alla relativa semplicità di manutenzione rispetto alle generazioni
|
||
successive.
|
||
% TODO: mettere fonti per tutto ciò
|
||
% TODO: foto motore
|
||
|
||
\vspace{5mm}
|
||
|
||
\begin{table}[htbp]
|
||
\centering
|
||
\captionsetup{skip=10pt}
|
||
\caption{Specifiche tecniche secondo \citeauthor{komatsu_pc210_8_2017_brochure}}
|
||
\label{tab:specifiche_nlc8}
|
||
\footnotesize
|
||
\renewcommand{\arraystretch}{0.85}
|
||
\setlength{\tabcolsep}{4pt}
|
||
\begin{tabular}{@{} p{4.5cm} p{9.5cm} @{}}
|
||
\toprule
|
||
\multicolumn{2}{@{}l}{\textbf{Powertrain}} \\
|
||
\midrule
|
||
Motore & Komatsu-Cummins SAA6D107E-1: Diesel common rail, 6 cilindri in linea, turbo aftercooled \\
|
||
Cilindrata & 6,69 L \quad (Alesaggio $\times$ Corsa: 107 $\times$ 124 mm) \\
|
||
Potenza (ISO 14396) & 116 kW (156 bhp) @ 2.000 rpm \\
|
||
Normativa emissioni & EU Stage IIIA \\
|
||
\midrule
|
||
\multicolumn{2}{@{}l}{\textbf{Impianto idraulico e scavo}} \\
|
||
\midrule
|
||
Pompe idrauliche & HydrauMind E-CLSS, 2 pompe a pistoni assiali a cilindrata variabile \\
|
||
Portata e pressioni max & 2 $\times$ 219 L/min \quad (Impl./Trasl.: 380 bar, Rotaz.: 295 bar) \\
|
||
Forza di scavo & 16.500 kg (benna) / 13.800 kg (braccio) \\
|
||
Capacità benna & 1,68 m$^3$ \\
|
||
Modalità operative & 5 (Power, Economy, Breaker, Attachment, Lifting) \\
|
||
\midrule
|
||
\multicolumn{2}{@{}l}{\textbf{Pesi e dimensioni}} \\
|
||
\midrule
|
||
Peso operativo & 23.360 kg \\
|
||
Carreggiata / Passo & 2.040 mm / 4450mm \\
|
||
Pattini & 700 mm \\
|
||
Profondità di scavo massima & 6.620 mm \\
|
||
\midrule
|
||
\multicolumn{2}{@{}l}{\textbf{\ac{can} bus}} \\
|
||
\midrule
|
||
Architettura & Singolo bus SAE J1939 con ID proprietari \\
|
||
\bottomrule
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\begin{figure}[htbp]
|
||
\centering
|
||
\begin{subfigure}{1\textwidth}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0002.jpeg}
|
||
\caption{Frontalmente}
|
||
\label{fig:komatsu_front}
|
||
\end{subfigure}
|
||
\hfill
|
||
\begin{subfigure}{1\textwidth}
|
||
\centering
|
||
\includegraphics[width=\textwidth]{assets/images/pc210nlc-8/IMG_0001.jpeg}
|
||
\caption{Dal retro}
|
||
\label{fig:komatsu_rear}
|
||
\end{subfigure}
|
||
\caption{Komatsu PC210 NLC-8, oggetto di questo elaborato di tesi}
|
||
\label{fig:komatsu_overview}
|
||
\end{figure}
|
||
|
||
\FloatBarrier
|
||
|
||
\subsection{STM32F405RGT6}
|
||
\label{subsec:stm32f405rgt6}
|
||
Introduzione alla stm32 usata
|
||
|
||
\subsection{FreeRTOS}
|
||
\label{subsec:freertos}
|
||
Descrizione di freertos, brevemente perche l'ho scelto ma poi lo dico meglio in Cap.2
|
||
|
||
\subsection{TJA1050}
|
||
\label{subsec:tja1050}
|
||
Descrizione TJA1050 e perche l'ho scelto (brevemente)
|
||
|
||
% fonti: datasheet per ste tre robe
|
||
%
|
||
|
||
\subsection{Protocolli di comunicazione}
|
||
\label{subsec:protocolli}
|
||
|
||
|
||
\subsubsection{CAN bus}
|
||
\label{subsubsec:canbus}
|
||
\cite{voss2008comprehensible}
|
||
\cite{css_electronics_j1939}
|
||
Il \ac{can} bus è un protocollo di comunicazione seriale che supporta in modo efficiente il controllo distribuito in tempo reale con un livello di sicurezza molto elevato.
|
||
Il suo ambito di applicazione va dalle reti ad alta velocità al cablaggio multiplex a basso costo. \\
|
||
Nell’elettronica automobilistica, le unità di controllo del motore, i sensori, i sistemi anti-slittamento, ecc. sono collegati tramite CAN con velocità di trasmissione fino a 1 Mbit/s.
|
||
Allo stesso tempo, è conveniente integrarlo nell’elettronica della carrozzeria del veicolo, ad esempio nei gruppi ottici o nei finestrini elettrici, per sostituire il cablaggio aggiuntivo altrimenti necessario. \\
|
||
% fonte CAN ISO 11898 bosch da aggiungere
|
||
|
||
|
||
\subsubsection{SAE J1939}
|
||
\label{subsubsec:j1939}
|
||
\cite{css_electronics_can_bus}
|
||
Introduzione a SAE J1939
|
||
% fonte SAE J1939
|
||
|
||
\subsubsection{UART}
|
||
\label{subsubsec:uart}
|
||
Introduzione a UART
|
||
% trova una fonte
|