Automatyka domowa zapis czynności

  1. Zainstaluj Raspbiana na raspberry PI. Uaktywnij SSH dodając plik /boot/ssh.
  2. Przy użyciu raspi-config wyłącz manager okien, aktywuj I2C i 1-Wire.
  3. Zainstaluj Domoticz:
    curl -sSL install.domoticz.com | sudo bash
  4. Zainstaluj serwer MQTT – mosquitto
  5. Skonfiguruj urządzenia na ESP8266/ESP32 z zainstalowanym oprogramowaniem Tasmota.
  6. Skonfiiguruj domoticz.

Przetwornica Step-up MCP16251/2 – pomiar poboru prądu w stanie jałowym

Przetwornica MCP16251/2 pozwala na realizację zasilania z jednego ogniwa AA/AAA, ponieważ zaczyna pracować już przy napięciu 0.9 V. Zrealizowałem układ dający na wyjściu 3,3 V:

Badany układ z przetwornicą

Karta katalogowa deklaruje pobór prądu bez obciążenia nie większy niż 25 uA (typowo 14 uA).

Uzyskane przeze mnie wyniki:

Vin = 1,328 V I = 17,8 uA
Vin = 1,610 V I = 14,0 uA

Wyniki zgadzają się z dokumentacją, co oznacza że nie kłamie ona oraz że nie popełniłem znaczących błędów w wykonaniu prototypu.

Pobór prądu na poziomie 25 uA oznacza, iż jedno ogniwo alkaliczne R6/AA o pojemności 2500 mAh (przyjęte na podstawie karty katalogowej Duracell MN1500) wystarczy do podtrzymania życia przetwornicy przez teoretycznie 11 lat (4 lata dla ogniwa AAA o pojemności 1000 mAh). Ponieważ inne procesy, takie jak samorozładowanie ogniwa i korozja skrócą ten czas znaczniej, takim poborem prądu nie trzeba się przejmować.

STM32CubeIDE – aktywacja debugowania w IDE

Co zrobić, żeby debugowanie i programowanie STM32 działało bezpośrednio z STM32CubeIDE?
W Cube IDE uaktywnić na pinach PA13 i PA14 funkcje SYS_JTMS-SWDIO i SYS_JTCK-SWCLK:


A następnie w System Core -> SYS wybrać debug: Serial Wire:


Dla płytki Bluepill warto uaktywnić LED na PC13 jako GPIO output.

Membrana piezo PCA-4B – pomiar impedancji

Wykonałem pomiar impedancji przetwornika piezoakustycznego PCA-4B wykorzystując następujący układ:

Pomiar był wykonywany dla częstotliwości ok. 3,5 KHz, ponieważ taką deklaruje producent jako rezonansową. Ustawiałem potencjometr tak, aby amplituda sygnału na kanale CH2 była równa połowie amplitudy na kanale CH1 (wejściowej). Następnie rozłączyłem układ i odczytałem wartość potencjometru. Wyszło 750 Ω. Przesunięcie fazowe wyniosło 53 stopnie (napięcie na CH2 „opóźnione”). Pomiar multimetrem pojemności membrany dał wynik 90 nF – tak jak w dokumentacji.

Reaktancja kondensatora 90 nF dla częstotliwości 3,5 kHz to 500 Ω. To oznaczałoby, że układ można modelować jako szeregowo połączony kondensator 90 nF oraz rezystor 560 Ω. Dlaczego 560? Bo moduł impedancji to 750 Ω, a reaktancja to 500 Ω. Więc rezystancję należy policzyć z równania pitagorasa sqrt(750^2 – 500^2) = 560? Chyba, już nie pamiętam z teorii obwodów.

 

 

 

Logika wykluczeń

Układ logiczny zabezpiecza przed aktywacją obydwu wyjść. Jedynie jedno wyjście jest możliwe do pobudzenia w danym momencie. Stan wysoki na obydwu wejściach zeruje obydwa wyjścia.

Układ można rozbudować dla n wejść i m wyjść stosując m bramek AND n-wejściowych.

Nie trzeba używać bramek AND gdy dane wyjścia nie są potrzebne.

Przykład zastosowania: sterowanie stycznikami silnika przyciskami przód/tył – zabezpieczenie przed jednoczesnym naciśnięciem dwóch przycisków naraz.

Proste układy: Czujnik światła na fotodiodzie

Oświetlenie fotodiody powoduje przepływ większego prądu, a w konsekwencji wzrost napięcia na rezystorze R2 (10k). Gdy napięcie wzrośnie powyżej ok. 0,7 V, tranzystor otworzy się i załączy zasilanie buzzera. Można zamienić miejscami fotodiodę i rezystor R2, aby uzyskać barierę świetlną (przerwa oświetlenia aktywuje buzzer). Czułość można regulować rezystancją R2 – należy jednak pamiętać, iż zbyt duża rezystancja nie ma sensu, gdyż przeważy obciążenie prądu bazy tranzystora – wtedy warto dodać drugi tranzystor w konfiguracji darlingtona lub podobnej. W testowanym przypadku prąd wsteczny fotodiody nieoświetlonej wynosił ok. 4uA, a oświetlonej – powyżej 100uA, co dawało 1V na obciążeniu R2=10k. Pozwalało to na otwarcie tranzystora i zadziałanie buzzera. Układ jest najprostszej z możliwych konstrukcji. Całkowite usunięcie rezystora R2 spowoduje wzocnienie prądu fotodiody beta-krotnie (w praktyce kilkaset razy) na kolektorze tranzystora. Czyli dla 100uA można spodziewać się 10mA prądu kolektora. Rezystor R1 można zmniejszyć do rozsądnych granic (czyli do 1k). Można użyć 2 takie same rezystory. Układ jest „rozwleczony” na płytce stykowej, ponieważ nie da się zmienić rozstawu rezystorów w obecnej wersji programu Fritzing.

Proste układy: Licznik 4017

Podstawowa aplikacja układu CMOS 4017 – Licznik 1 z 10. W przykładzie ograniczono liczbę wyjść do 4 – Q0-Q3. Wyjście Q4 połączone z wejściem RST. Sygnał zegarowy pochodzi z przycisku. Można dodać zewnętrzne wyzwalanie np. poprzez tranzystor PNP. Można również zmieniać długość łańcucha. Pewną niewygodą jest rozkład wyjść układu – nie są po kolei.

Uwaga na zasilanie oraz ładunki statyczne – łatwo uszkodzić układ podczas testów na płytce stykowej. Dla bezpieczeństwa warto dodać diodę schottky’ego zaporowo na linii zasilania. Gdyby układ łapał „śmieci”, dodać kondensatory 100nF oraz 10uF na linii zasilania w pobliżu układu scalonego.

Zasilanie 5-15V, testowano z baterii 9V.

Proste układy: Łańcuch LED

LED Chaser

Układ sekwencyjnie miga diodami. Mignięcie kolejnej jest wyzwalane przez poprzednią. Łańcuch można wydłużać. Zastosowano kondensatory 10uF. Układ ładnie się wpasowuje w małą płytkę stykową. Wyprowadzenia kondensatora należy rozchylić na raster 0.2″ (jeden rząd przerwy pomiędzy). Ujemne wyprowadzenia do kolektorów, dodatnie do baz. Układ w zasadzie „transportuje” wygaszenie, pozostawiając resztę LED’ów zapalonych. Testowałem łańcuch 5 ledów. Należy pamiętać o sygnale zwrotnym z końca łańcucha na początek (białe połączenie).