Sistimi ea pokello ea data e ikemetseng ea lehae

Khamphani e rekile lits'ebetso tsa ho beha leihlo tsa NEKST-M, tse hlahisoang ka har'a naha ke Next Technologies. Ho netefatsa pono ea ts'ebetso ea li-pump units,
lialamo tsa mollo le ts'ireletso, ho ba teng ha motlakase ha ho qala, mocheso oa kamore, boemo ba tšohanyetso ba metsi. Pelo ea NEKST-M ke ATMEGA 1280 mme taba ena ea khothatsa mabapi le monyetla oa ho iketsetsa khiti ea hau bakeng sa litlhoko tse ikhethang.

Mosebetsi o ne o behiloe ho theha mokhoa o ikemetseng oa ho romella sebaka ka ho feletseng bakeng sa litlhoko tse khethehileng ka nako e khutšoanyane ka ho fetisisa le ka litšenyehelo tse fokolang. Motheo ke microcontroller. Ntlafatso, tlhahiso, e entsoeng ke basebetsi ka bo bona.

Sistimi e tlameha ho sebetsa ntle le ho its'etleha ho marang-rang a cellular, li-server, marang-rang le sistimi ea laesense bakeng sa ts'ebeliso ea lisebelisoa tsa radio frequency, e se sebelise likhomphutha ts'ebetsong ea ts'ebetso ea tlhahlobo le taolo kapa, hangata, e sebelisa lilaptop nako le nako, ntle le ho fihlella. lintho ka nako e telele (6-9 likhoeli). Sebopeho sa marang-rang se na le sebopeho sa radial. Lintlha li bokelloa ka nako e le 'ngoe ebe li romelloa ho sebetsa ka mekhoa e tloaelehileng ea puisano kapa e le kopi e thata.

Sistimi e tlameha ho fana ka:

  • ho lekola ts'ebetso ea likarolo tsa ho pompa
  • boiketsetso ba thekenoloji
  • tshireletso ditlamorao tsa maemo a tshohanyetso
  • pontsho ya tshohanyetso
  • palo ea nako ea ts'ebetso
  • ho bala palo ya motlakase o sebedisoang
  • taolo ea mocheso oa thepa
  • tshireletso le alamo ya mollo
  • nako le nako ho rekota tlhahisoleseling
  • litlhoko tse sa tsejoeng tsa nako e tlang

Maemo a mosebetsi:

  • sebaka sa khaso 1 sq. km.
  • ponahalo e tobileng pakeng tsa dintho
  • mocheso ho tloha +50 ho ea ho -50 C
  • mongobo ho fihla ho 100%
  • li-deposit tse sebetsang ka biologically (mold, libaktheria tse fokotsang sulfate)
  • ho thothomela, ha ho sa le joalo, ea mechini ea lihlopha tsa 1-2 ho latela GOST ISO 10816-1-97
  • tikoloho ea motlakase - ho fetola li-motor tsa motlakase tse nang le likhokahano tsa KT 6053, lisebelisoa tsa ho qala tse bonolo tsa RVS-DN, lisebelisoa tsa taolo tsa SIEMENS MICROMASTER PID, mahlaseli a marang-rang a ISM le GSM ho latela litlhoko tsa lisebelisoa tsena, li-arc welding setšeng.
  • matla a marang-rang a feteletseng, ho sitisoa ha nako e khutšoanyane phepelong ea motlakase, ho felloa ke matla ha lehalima, ho se leka-lekane ha terata e ka holimo e robeha ho marang-rang a kabo ea 6-10 kV.

Leha ho na le litlhokahalo tse thata joalo, ts'ebetso e bonolo haholo ha u rarolla bothata mohato ka mohato.

Ha re nka ntho e 'ngoe le e' ngoe, "Arduino Nano 3.0" boto e ile ea fetoha "boko" ba moralo. Boto ea robotdyn e na le molaoli oa ATMEGA 328, e hlokahalang 3,3V voltage stabilizer bakeng sa
800 mA ea hona joale le converter ho CH340G UART-USB.

Pele ho tsohle, li-counter tsa lihora tsa ts'ebetso li entsoe e le tsa morao-rao. Limithara tsa liindasteri tse neng li sebelisoa nakong e fetileng tse neng li bokane ho li-PIC tse nang le potoloho ea phepelo ea motlakase e senang transformer li ile tsa hloleha ka lebaka la ho phahama ha motlakase nakong ea selemo sa ts'ebetso. Ke ba hokahaneng feela ba sebelisang matla a maiketsetso a 5V a ileng a lula a sa fetohe. Ho potlakisa ho kenya le ho feto-fetoha ha khokahanyo, pontšo e mabapi le boemo ba lihlopha e nkiloe ho li-terminals tsa lisebelisoa tsa ho fetola, i.e. ho ngolisoa ha boteng ba motlakase oa karolo ea 1 ka motlakase oa mekhahlelo e meraro ea 380V. Ho hokahanya le molaoli, relay e bohareng e nang le moea oa 220V kapa optocoupler e entsoeng ka LED le GL5516 photoresistor kapa PC817 optocoupler e sebelisoa. Likhetho tsohle li ile tsa lekoa. LED e tsamaisoa ke motlakase o lokisitsoeng o nang le moeli oa hona joale o sebelisa li-capacitor tse peli tsa SVV22 tse etselitsoeng motlakase oa 630V o kopantsoeng letotong bakeng sa polokeho nakong ea tlhahlobo ea phoso ea li-circuits tse nang le megohmmeter.
Ho bala nako ea ts'ebetso ea ho bala ho sebelisa skrine ea ST7735S LCD, phetisetso ea data ea nako ea sebele ka seea-le-moea ho sebelisa module ea E01-ML01DP05 ka makhetlo a 2,4 MHz. Sesebelisoa sena se na le chip ea nRF24L01+ le RFX2401C transmit/receive amplifier,
matla a ho fihla ho 100 mW. Li-antenna tsa Helical tse etselitsoeng mefuta e lakatsehang ka har'a calculator ea inthaneteng sebaka. Khetho ea mofuta oa antenna e khethoa ke ho qheleloa ka thoko ho amoheloa ha maqhubu a bonahatsoang a le mong ho tsoa meahong ea tšepe e potolohileng. Likarolo tsa li-antenna li hatisoa ho printa ea 3D. Boemo ba hona joale ba li-counters bo bolokiloe ho EEPROM ea molaoli ka boeona 'me bo tsosolosoa ha ho ka ba le khaello e sa lebelloang ea matla. Nako ea nako ea ho bala e fanoa ke RTC chip DS3231 ka mokhoa oa mojule o nang le betri ea bekapo. Motlakase o sebelisa li-module tse 3, mohloli oa sebele oa pulse 220/5V HLK-PM01 600mA, converter ho tloha 1-5V ho ea 5V EA-553-HW и 03962A - taolo ea betri e nang le leano tshireletso kgahlanong le potoloho e kgutshwane, ho tlola metsi le ho tjhaja ho feta tekano. Likarolo tsohle li ile tsa rekoa webosaeteng ea Aliexpress.

Boto ea bohobeSistimi ea pokello ea data e ikemetseng ea lehae
4-channel counter. Ho na le li-filters tsa LC ho li-inputs ho sireletsa khahlanong le tšitiso holim'a mohala o sothehileng oa puisano. Lintlha tse mabapi le boemo ba lintho tsa taolo li lula li baloa hang ka motsotsoana 'me li bontšoa ka mebala ho LCD. Ho baloa hoa ntlafatsoa le ho rekota mohopolong o sa fetoheng metsotsong e meng le e meng e 1. Metsotsoana e 36 ke 36/1 ea hora, ena ke mokhoa oo data e hlokahalang ka eona. Metsotsoana e meng le e meng e 100. tlhahisoleseling e fetisoa ka palo ea metsotsoana ea ts'ebetso bakeng sa karolo ka 'ngoe ea taolo. Memori ea EEPROM e na le palo e lekanyelitsoeng ea lipotoloho tsa ho hlakola ho ngola, ho latela moetsi, makhetlo a 12. Khetho e mpe ka ho fetisisa ke ha bonyane sele e le 'ngoe e lula e nchafatsoa. Bophahamo ba k'hamera ea 100000 ke li-byte tse 1, ena ke nomoro e telele ea fomate, lipalo tse 4, kakaretso ea li-byte tse 4 e tšoaretsoe ke rekoto e le 'ngoe. Bolelele ba mohopolo oa chip ke li-byte tse 16; ka mor'a ho kenya 1024 ho li-counter tse 64, ho rekota ho tla qala hape. Laebraring ea EEPROM, mokhoa oa EEPROM.put ha o ngole; haeba boleng ba sele le boitsebiso bo ngotsoeng bo lumellana, ho ke ke ha e-ba le ho senyeha ha lisele. Ka lebaka leo, nako ea ts'ebetso ea memori e tiisitsoeng e tla ba lilemo tse fetang 4. Nako ea mosebetsi o khonehang empa o sa tiisetsoa e ka ba nako e telele haholo.

Setšoantšo sa potolohoSistimi ea pokello ea data e ikemetseng ea lehae
Lenaneo ho Arduino IDE//12 byte (328%)

# kenyeletsa // Laeborari ea litšoantšo tsa mantlha
# kenyeletsa // laeborari e kgethehileng ka Hardware
# kenyeletsa
#kenyelletsa
# kenyeletsa
# kenyeletsa
# kenyeletsa
RF24 radio(9, 10); // ntho ea seea-le-moea bakeng sa ho sebetsa le laeborari ea RF24,
// le linomoro tsa phini nRF24L01+ (CE, CSN)
# kenyeletsa
DS3231 rtc(SDA, SCL);
Nako t;

//#define TFT_CS 10
# hlalosa TFT_CS 8
#define TFT_RST -1 // o ka boela oa hokela sena ho Arduino reset
// maemong afe, beha pina ena ea #define ho -1!
//#define TFT_DC 9 // DC=RS=A0 - likhetho tsa mabitso bakeng sa ho khetha taelo kapa ngoliso ea data.
#hlalosa TFT_DC 3

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

// Khetho ea 2: sebelisa likhoele empa butle hanyane!
#define TFT_SCLK 13 // beha tsena hore e be lipini life kapa life tseo u li ratang!
#define TFT_MOSI 11 // beha tsena hore e be eng kapa eng eo u e ratang!
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
# kenyeletsa

byte shift = 52;
byte pinState;
pompo e telele e sa ngolisoang [4];// sehlopha se nang le boleng ba li-counter tsa metsotsoana e 4
float m = 3600.0;
aterese ea int e sa ngolisoang = 0;
int rc;// feto-fetoha bakeng sa dibadi
suprim e telele e sa ngolisoang = 0;
sumsec e telele e sa ngolisoang = 0;
byte ke = 0;
byte k = 34;
int e sa ngolisoang z = 0;
byte b = B00000001;
pompong ea bayte[4]; // sehlopha sa ho boloka maemo a ntho, 1 - tima, 0 - ho.
int qala = 0; //

void setup () {

rtc. qala ();
radio.qala(); // Qala mosebetsi nRF24L01+
radio.setChannel(120); // mocha oa data (ho tloha ho 0 ho ea ho 127).
radio.setDataRate(RF24_250KBPS); // sekhahla sa phetisetso ea data (RF24_250KBPS, RF24_1MBPS, RF24_2MBPS).
radio.setPALevel(RF24_PA_MAX); // matla a ho fetisa (RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm,
// RF24_PA_HIGH=-6dBm, RF24_PA_MAX=0dBm)
radio.openWritingPipe(0xAABBCCDD11LL); // Bula phala e nang le sesupo bakeng sa phetiso ya data

// Ho beha nako, qolla mela e hlokahalang
//rtc.setDOW(1); // Letsatsi la beke
//rtc.setTime(21, 20, 0); // Nako, ka sebopeho sa lihora tse 24.
//rtc.setDate(29, 10, 2018); // Letsatsi, Mphalane 29, 2018

tft.initR(INITR_BLACKTAB); // qala chip ea ST7735S, tabo e ntšo
// Sebelisa sethatho sena (hlakola) haeba u sebelisa 1.44" TFT
//tft.initR(INITR_144GREENTAB); // qala chip ea ST7735S, RED rcB tab
tft.setTextWrap(bohata); // Lumella mongolo ho tsoa moeling o ka ho le letona
tft.setRotation( 2); // bakeng sa BLACK PCB le RED tft.setRotation(0) kapa che.
tft.fillScreen(ST7735_BLACK); // skrine e hlakileng

DDRD = DDRD | B00000000;
PORTD = PORTD | B11110000; // ho tiisa software hoa sebetsa, boemo bo phahameng -
// lintho tse laoloang "ha li sebetse", "4" e ngoletsoe likoung tsohle tse kholo tsa 1 D, ha ho na palo e hlahang.

bakeng sa ( rc = 0; rc <4; rc++)
{
tft.setCursor ( 3, rc * 10 + shift ); // ho bontsha dinomoro tsa boemo ba dintho tsa taolo
tft.print(rc + 1);
}

tft.setCursor(12, 0); // tlhahiso 3 mela ea mongolo
tft.println("BATSOALI & BUILD"); // ho ithorisa baratuwa
tft.setCursor(24, 10); // kapa tokelo ea molao e mpe
tft.print("DEVELOPER M.M");
tft.setCursor(28, 20);
tft.print("BUILD-ER D.D");

//ho hlaphoheloa ha data///////////////////////////////////// //////////

bakeng sa (z = 0; z <1023; z += 16) {// E pheta ka lisele tsohle tsa indasteri
// 'me o ngolla mefuta e mengata ea lipompo tse 4, li-byte tse 4 bakeng sa counter ka 'ngoe, hobane
// Boetsuwa bo bolelele bo sa saenwang. Ho na le li-counters tse 4, rekoto e le 'ngoe ea tse 4 e nka li-byte tse 16.
EEPROM.get(z, pompo[0]); // kahoo, ntle le for loop, molumo o fokolang
EEPROM.get(z+4, pompo[1]);
EEPROM.get(z+8, pompo[2]);
EEPROM.get(z+12, pompo[3]);

// ho fana ka boleng bo bocha bo latelang bakeng sa kakaretso ea li-counters tse 4
suprim = (pompo [0] + pompo [1] + pompo [2] + pompo [3]);

// e bapisa boleng bo bocha ba kakaretso ea li-counters tse 4 ho feto-fetoha ea suprim le boleng bo fetileng ho feto-fetoha
// sumsec mme haeba kakaretso e fetileng e ka tlase ho kapa e lekana le kakaretso e ncha, e ncha e kholo kapa e lekanang e abeloa
// boleng ba sumsec.

haeba ( sumsec <= suprim ) {
sumsec = suprim; //

// mme boleng ba hona joale z bo abeloa ho feto-fetoha ha aterese, z ke aterese ea tšimoloho ea boloko ba 16-byte ea litekanyetso tse 4.
// li-counters tse tlalehiloeng ka nako e le 'ngoe (ho tloha ha ho khethoa boema-kepe, likaroloana tsohle tsa eona tse 8 li ngotsoe ka nako e le' ngoe,
// ho kenyelletsa le likotoana tsa rona tse phahameng tsa 4 tsa boema-kepe D).
aterese = z;
}
}

// hape ho fihlella memori ea eeprom atereseng ea tšimoloho ea block ea li-byte tse 16 tsa litekanyetso tse 4 tse rekotiloeng.
// ho qetela, ke. boleng pele o koala kapa o qala hape ka lebaka la leqhoa. Ho rekota tsa moraorao
// litekanyetso tsa li-counter ka har'a letoto la pompo ea mefuta e 4.

EEPROM.get(aterese, pompo[0]);
EEPROM.get(aterese + 4, pompo[1]);
EEPROM.get(aterese + 8, pompo[2]);
EEPROM.get(aterese + 12, pompo[3]);

aterese += 16; // ho eketsa aterese bakeng sa ho ngola thibela e latelang ntle le ho ngola lintlha tsa tlaleho ea ho qetela

// pheletso ea ho hlaphoheloa ha data////////////////////////////// ////////////////

attachInterrupt(0, count, RISING); // pin D2, lumella litšitiso, tla motsotsoana o mong le o mong
// maqhubu a tsoang ho RTC DS3231 ho tsoa ho SQW tlhahiso

wdt_enable(WDTO_8S); // qala sebali sa nako, qala molaoli hape haeba ho hoama, nako,
// eo u hlokang ho fana ka taelo ea reset ea nako wdt_reset ('me u qobe ho qala hape nakong ea ts'ebetso e tloaelehileng - 8 sec.
// bakeng sa liteko ha ho kgothaletswe ho beha boleng ho metsotsoana e ka tlase ho 8. Tabeng ena, timer e tsosolosoa ka ho khetheha.
// ho thothomela, mme ho etsahala motsotso o mong le o mong.

}

sekgoqetsane se se nang letho () {
// potoloho e se nang letho, mona ho tla ba le taolo holim'a ts'ebetso ea karolo e bulehileng ea motlakase oa motlakase
}

palo e se nang letho() {

tft.setTextColor(ST7735_WHITE); // beha mmala wa fonte
t = rtc.getTime (); // nako ya ho bala
tft.setCursor(5, 120); // ho beha boemo ba sesupa
tft.fillRect(5, 120, 50, 7, ST7735_BLACK); // ho hleka sebaka sa tlhahiso ya nako
tft.print(rtc.getTimeStr()); // lipalo tsa oache ea tlhahiso

wdt_reset(); // seta botjha sebohodi se seng le se seng, ke hore, motsotsoana

bakeng sa (rc = 0; rc <4; rc ++) // qalo ea potoloho bakeng sa ho hlahloba ho lumellana ha boemo ba ho kenya letsoho
// li-port bits ho boemo bo fetileng bo baliloeng ba li-port D bits
{
pinState = (PIND >> 4) & ( b << rc);

haeba (pumrcounter [rc] != pinState) {// 'me haeba e sa lumellane, joale
pumrcounter[rc] = pinState; // ho abela boemo ba boemo ba boema-kepe boleng bo bocha 1/0
}
// sesupo sa boemo ba dintho tse laolang mebala
// BLUE ke glitch e nyane ea skrine e teng (kapa laeborari?), RGB le BGR li tsoakane.
haeba (pinState == ( b << rc )) {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_BLUE); // bakeng sa boemo bo tlase ba ho bala fetola TŠEHLA ho ea ho PUTSOE
} hape {
tft.fillRect(15, ((rc * 10 + shift)), 7, 7, ST7735_GREEN); // bakeng sa boemo bo tlase ba ho bala phetoho PUTSOE ho ea ho BOTALA
pompo [rc] += 1; // eketsa motsotsoana o le mong ho counter ea nako ea ho sebetsa
}
}

k++;
haeba (k == 36) {
k = 0;

tft.fillRect(30, shift, 97, 40, ST7735_BLACK); // ho hlakola sebaka sa pontsho ya nako ya tshebetso
tft.fillRect(60, 120, 73, 7, ST7735_BLACK); // le matsatsi

tft.setCursor(60, 120); // ho beha boemo ba sesupa
tft.print(rtc.getDateStr()); // hlahisa letsatsi skrineng sa LCD

bakeng sa (rc = 0; rc <4; rc ++) //lihora tsa ts'ebetso tsa tlhahiso ka kakaretso, karolo ea leshome le
{
tft.setCursor ( 30, rc * 10 + shift); // lekholo la hora le theolelo ea skrine tlase ka lipikselse tse 10
tft.println(pompo [rc] / m);
}

// ho ngola boleng ba lihora tsa ts'ebetso "tse tala" (ka metsotsoana) ho EEPROM ////////////////////////////

bakeng sa (rc = 0; rc <4; rc++)
{
EEPROM.put(aterese, pompo [rc]);
aterese += boholo ba(float); // eketsa phapano ya aterese ya ho ngola
}
}

// romela lintlha ka mocha oa seea-le-moea ho tsoa ho data e bontšang hore na ke li-byte tse kae tse lokelang ho romelloa.
haeba ((k == 6 ) || (k == 18 ) || (k == 30 )) {

data e telele e sa ngolisoang;

radio.write(&start, sizeof(start));

bakeng sa (i = 0; ke <4; i++) {
data = pompo [i];
radio.write(&data, sizeof(data));
}
}
}

Lintlha tse 'maloa qetellong. Ho bala ho etsahala maemong a tlase a utloahalang ho tse kenang.

Ho hula-ho hanyetsa R2-R5 ke 36 kOhm bakeng sa khetho e nang le li-photoresistors GL5516. Tabeng ea phototransistor optocoupler le relay, beha ho 4,7-5,1 kOhm. Arduino Nano v3.0 bootloader e ile ea nkeloa sebaka ke Arduino Uno e sebelisa lenaneo la TL866A bakeng sa ts'ebetso e nepahetseng ea sebali sa nako. Li-fuse li lokisoa hore li sebetse ka li-voltages tse ka holimo ho 4,3 V. Potoloho ea ka ntle ea reset R6 C3 ha ea ka ea sebelisoa. Lenaneong la sampole, maqhubu a transmitter ha a tsamaellane le sebaka se sa ngolisoang; sebaka sa 2,4 MHz se lekanyelitsoe ho maqhubu a 2400.0-2483.5 MHz.

Mefuta e fapaneng ea E01-ML01DP05 transmitter ke 2400-2525 MHz. Bophahamo ba kanale e le 'ngoe ke 1 MHz, ha u beha lebelo e le "RF24_2MBPS" mocha o boletsoeng oa radio.setChannel(120) mme o latelang o tla lula, ke hore. sehlopha se tla ba 2 MHz.

Source: www.habr.com

Eketsa ka tlhaloso