Dotychczas rozpatrywanymi źródłami danych dla wyświetlanych pomiarów były diagnostyka oraz magistrala CAN. W ob przypadkach mamy do czynienia z cyfrową transmisją danych. Również fabtyczny sensor temperatury oraz poziomu oleju dostarcza nam sygnał w formie cyfrowej. Musimy jednak pamiętać, że spora część użytkowników będzie chciała dodać nowe czujniki, m.in. ciśnienia doładowania, ciśnienia oleju, temperatury spalin, itp. Zdecydowana większość z nich będzie dostarczać jednak sygnał analogowy – czy to w formie napięcia czy zmiennej rezystancji.
W jaki sposób podłączymy je do procesora?
Nasz układ STM32F407 posiada wbudowany przetwornik analogowo-cyfrowy o 12-bitowej rozdzielczości i maksymalnym napięciu wejściowym do 3.3V. Nie musimy więc używać zewnętrznych układów scalonych – wszystko co potrzebne mamy już na pokładzie 🙂
Czy to oznacza, że możemy “podpiąć” czujnik bezpośrednio do przetwornika?
Niestety nie… Po pierwsze każdy rodzaj czujnika wymagać będzie w zasadzie zaprojektowania odpowiedniego układu interfesującego – szczególnie dotyczy to sensorów rezystancyjnych. Po drugie, jeśli czujnik będzie dostarczał napięcie przekraczające 3.3V może dojść do uszkodzenia mikrokontrolera.
Jak więc “dopasować” poziomy napięć>
Przyjrzyjmy się prostszemu przypadkowi czujnika, który dostarcza sygnał pomiarowy w formie napięcia. Poniższy schemat przedstawia przykład układu interfesujący.
Rezystory R17 and R18 tworzą klasyczny dzielnik napięcia. Odpowiednio dobierając ich wartości, napięcie na wejściu ANALOG_IN można obniżyć do wymaganego poziomu 3.3V na wyjściu ADC_INPUT. Dioda Zenera D2 służy jako zabezpieczenie przed przekroczeniem dopuszczalnego napięcia.
Dlaczego? Przecież dzielnik powinien je obniżyć.
Przyjmijmy, że czujnik dostarcza sygnał w zakresie 0-5V, a dzielnik przekształca je na 0-3.3V. Ale co jeśli np. gdzieś przetrze się przewód lub nastąpi zwarcie i na wejściu pojawi się nagle 12V? W takim przypadku dioda zenera nie dopuści do wzrostu powyżej jej napięcia przewodzenia, czyli 3.3V.
Kondensator C25 tłumi zakłócenia indukowane w przewodach połączeniowych oraz wygładza nieco przebieg sygnału.