Pomiędzy dwoma światami, czyli pomiar wartości analogowych

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.

Posted in Sto dni w kolorze.