Suvartojamos energijos matuoklis

Šiame straipsnyje aprašysiu atskirą darbą, kuriame su RPI ir Arduino bei operaciniu stiprintuvu atliekamas kintamos formos srovės ir įtampos matavimas, įvertinamas statistinis duomenų išbarstymas ir rezultatai patiekiami WEB puslapyje. Turinys. Darbo atskiros dalys: 1. Trumpas aprašymas. 2. Davikliai 3. Struktūrinė, principinė schemos bei ploštės konstruktyvas. 4. Arduino programos diagrama ir listingas, duomenų struktūra 5. RPI …

Skaityti toliau

Maksimalios galios taško nustatymas

Angliškai skambėtų PPT – Power Point Tracking (dėkui Rimui V. už termino „atradimą”). Tai turėtų būti šio darbo esmė. Kadangi didžiausia dabartinė problema suprojektuoti galingą (10kW) reguliatorių siejantį generatorių kaip energijos šaltinį ir fiksuotą apkrovą kaip generatoriaus terminatorių. Problema slypi nestabiliame schemos darbe, kai įvyksta reguliavimo elemento grandinės perdegimas. Tai beveik visada įvyksta generuojant didesnius …

Skaityti toliau

Duomenų replikavimas

Tikslas kaupti duomenis atsarginiame serveryje su tikslu pasiekti juos net ir tada, kai jėgainės duomenys nepasiekiami. Jėgainės MySQL master serveris kaupia duomenis replikavimui. Juos pasiima centrinis slave serveris. Slave serveris bus defas.lt MySQL serveris. Patikrinkime abejų serverių id. Jie turi būti skirtingi. Aprašomas my.cnf faile MySQL serverio atveju. [mysqld] server-id=2 ir MariaDB MySQL serverio versijos …

Skaityti toliau

Vidutinių reikšmių matavimas ir perdavimas į DB

Nerandant metodo, kaip momentines analogines reikšmes versti į apibendrintas (Užduotis: tris sinusoidės absoliučius taškus su X ir Y koordinatėmis transformuoti į sinusoidės amplitudę ir kampinį greitį), supaprastiname užduoties sprendimą ieškodami minimalios ir maksimalios sinusoidės taškų laike ir čia išskaičiuojame jos amplitudę. Matavimo laikas preliminariai imamas lygus vienai sekundei. Ši prielaida siejama su visos sistemos inertiškumu. …

Skaityti toliau

Žiogas

Vėjo jėgainės valdiklio atskira realizacija, koreguojanti vėjo kryptį nuo generatoriaus apsisukimų. Schema: Ziogas_schema, plokštė Ziogas_plokste. Rpi suinstaliuotas OS, panašiai, kaip ir VJV (vėjo jėgainės valdiklio. user’is pi/vejojegaines, root be slaptažodžio). Šis Rpi turi WLAN, nenaudosime GSM ryšio. Tačiau paimsime duomenis iš Arduino, kaip ir VJV atveju. Taigi, ruošiame kompiliavimui tokį pat failą, kaip ir VJV …

Skaityti toliau

Duomenų srautas

Netikėtai nutrūko mobilaus interneto paslauga. Iškilo klausimas, kokį srautą generuoja duomenų grafiko perpiešimas. Suinstaliuotas iptraf paketas į Rpi. parodytas srautas su iptraf paslauga ir grafiko atvaizdavimas viename įrenginyje generavo 38kbit/sek. srautą. Pridėjus dar vieną įrenginį su grafiko srauto vaizdavimu gavosi 52 kbit/sek. Atjungus įrenginius srautas sumažėjo iki 28kbit/sek. nedidelės matematinės manipuliacijos rodo (52-27)/2=12,5kbit/sek duomenų srautas …

Skaityti toliau

Ką daryti, jei neveikia?

Prijungti USB kabelį – įsitikinti ar detektuoja Arduino Procesorių – įrenginių tvarkytuvėje turi atsirasti COM prievadas. Pajungti LAN kabelį – Rpi turi atsakyti į ping paketą ir jungtis 192.168.2.177 fiksuotu LAN adresu su SSH protokolu (naudoju Putty programą). Patikrinti megabaitų likutį http://mano.tele2.lt svetainėje. 2018.01.15 nustojo veikti valdiklio registracija MySQL į centrinį serverį. Per 15 dienų …

Skaityti toliau

Rpi programos kodas

Kompiliavimo eilutė gcc -o test3.o -lmysqlclient -I/usr/local/include -L/usr/local/lib -lwiringPi test2.c Programos kodas: /*****Configures an Raspberry Pi as an SPI master and demonstrates bidirectional communication with an***/ #include <mysql/mysql.h> //used by mysql #include //used by mysql #include #include <sys/ioctl.h> #include <linux/spi/spidev.h> #include #include #include //used by string //#include /*******Declare Global Variables*****************************/ unsigned short int spiTxRx(char txDat); …

Skaityti toliau

Arduino programos kodas

#include <SPI.h> const int markeris=8; const int klaida=4; const int VejoPin=3; const int Power1=5; const int Power2=6; const int VGROUT=2;//sukeiciau 2 ir 7 vietomis, kad tur42iau pertraukima, kurie galimi 2 ir 3 pin’uose UNO versijai const int TempCL=7; byte buf[256]; byte BETZ[256]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x03,0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x06,0x06,0x06,0x06,0x07,0x07,0x07,0x08,0x08,0x08,0x08,0x09,0x09,0x09,0x0A,0x0A,0x0A,0x0A,0x0B,0x0B,0x0B,0x0C,0x0C,0x0C,0x0D,0x0D,0x0D,0x0E,0x0E,0x0E,0x0F,0x10,0x11,0x11,0x12,0x12,0x13,0x14,0x14,0x15,0x15,0x16,0x17,0x17,0x18,0x18,0x19,0x1A,0x1A,0x1B,0x1B,0x1C,0x1C,0x1D,0x1E,0x1F,0x1F,0x20,0x20,0x21,0x22,0x23,0x24,0x25,0x25,0x26,0x27,0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x48,0x49,0x4B,0x4D,0x4E,0x4F,0x52,0x53,0x55,0x57,0x58,0x5A,0x5C,0x5D,0x5F,0x60,0x62,0x64,0x65,0x66,0x67,0x69,0x6A,0x6C,0x6E,0x6F,0x71,0x72,0x73,0x74,0x76,0x78,0x7B,0x7D,0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,0x94,0x97,0x9A,0x9C,0x9D,0x9F,0xA1,0xA4,0xA6,0xA9,0xAC,0xAE,0xB1,0xB4,0xB6,0xB9,0xBB,0xBF,0xC1,0xC2,0xC3,0xC5,0xC6,0xC8,0xCA,0xCC,0xCE,0xD0,0xD2,0xD4,0xD6,0xD8,0xDA,0xDC,0xDE,0xE0,0xE1,0xE3,0xE5,0xE7,0xE9,0xEB,0xED,0xEF,0xF1,0xF3,0xF4,0xF7,0xF9,0xFB,0xFD,0xFF}; byte dat[256];//={0x82,0xA9,0x0f,0x12,0x55,0x66,0x77,0x88,0x99,0x0A,0x19,0x28,0x37,0x46,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; byte checksumreal,komanda,clr; int komilgis; boolean beginas=false; boolean process_error=false; byte checksumsend=0; int …

Skaityti toliau