Мазмұны:

CloudX көмегімен сандық вольтметр: 6 қадам
CloudX көмегімен сандық вольтметр: 6 қадам

Бейне: CloudX көмегімен сандық вольтметр: 6 қадам

Бейне: CloudX көмегімен сандық вольтметр: 6 қадам
Бейне: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Қараша
Anonim
CloudX көмегімен сандық вольтметр
CloudX көмегімен сандық вольтметр

Батареялар тізбектерде жұмыс істегенде тұрақты токтың тұрақты түрін береді. Олардың төмен шу деңгейі оларды кейбір өте сезімтал тізбектерге тамаша үйлесімді етеді. Алайда, олардың кернеу деңгейі белгілі бір шекті нүктеден төмен түсетін кезде, тізбектер (олар қуат көзіне арналған) тұрақсыз әрекетке түсуі мүмкін; әсіресе олар оны өңдеуге жақсы жасалмаған кезде.

Осылайша, батареяны толық ауыстыру немесе зарядтау қажет болған жағдайда, бізге дұрыс нұсқаулық беру үшін батарея қуатын үнемі бақылау қажет. Сондықтан, бұл DIY -де (Мұны өзіңіз жасаңыз) біз CloudX көмегімен 7Segment -ті дисплей ретінде қолдана отырып, батареяның кернеуінің қарапайым өлшегішін жасауымыз керек.

1 -қадам: Жабдыққа қойылатын талаптар

CloudX микроконтроллер модулі

CloudX USB

SoftCard

7 сегменттің дисплейі

Резисторлар

Қуат беру блогы

Нан тақтасы

Өткізгіш (қосылатын) сымдар

2 -қадам: CloudX M633 микроконтроллері

CloudX M633 микроконтроллері
CloudX M633 микроконтроллері

CloudX микроконтроллер модулі

CloudX модулі - бұл электроникаға арналған аппараттық құрал, ол сізге қарапайым микроконтроллер тақтасы арқылы физикалық әлеммен қарым -қатынас жасаудың өте ыңғайлы және қарапайым тәсілін ұсынады. Бүкіл платформа ашық бастапқы физикалық есептеуге негізделген. IDE-дің (интеграцияланған даму ортасы) қарапайымдылығы оны жаңадан бастағандар үшін өте қолайлы етеді, бірақ озық соңғы пайдаланушыларға өз жолымен жүруге мүмкіндік беретін жеткілікті функционалдылықты сақтайды. Жаңғақ қабықшасында CloudX микроконтроллермен жұмыс жасаудың қарапайым процесін қамтамасыз етеді-онымен байланысты қалыпты күрделі бөлшектерді алып тастау; сонымен бірге өте бай пайдаланушы тәжірибесі платформасын ұсынады. Ол көптеген қосымшаларды табады: мектептер - тамаша оқу құралы; өнеркәсіптік және коммерциялық өнімдер; және әуесқойдың қолында тамаша құрал.

3 -қадам: Қосылымдарды бекіту

Қосылымдарды бекіту
Қосылымдарды бекіту

7 сегментті түйреуіштер: A, B, C, D, E, F, G, 1, 2 және 3 CloudX-MCU pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, pin10 және pin11 сәйкесінше.

4 -қадам: схема

Схема диаграммасы
Схема диаграммасы

Микроконтроллер модулі, осында орталық кезеңде, қосылуы мүмкін:

тақтадағы Vin және Gnd нүктелері арқылы (яғни оларды сыртқы қуат көзінің +ve және -ve терминалдарына қосу);

немесе CloudX USB жұмсақ картасы модулі арқылы

. Жоғарыда көрсетілген схемадан оңай көрініп тұрғандай, аккумулятордың кіріс кернеуі MCU (микроконтроллер) модулімен байланысады, осылайша кернеуді бөлу желісінің нүктесі MCU түйреуішінің A0 нүктесіне қосылады..

және келесі түрде таңдалады:

желі арқылы өтетін ток мөлшерін шектеу;

MCU үшін қауіпсіз диапазонда (0 - 5) В шегінде.

Формуланы қолдану: VOUT = (R2/(R1+R2)) * VIN; және оны оңай бағалауға болады.

Voutmax = 5В

және бұл жоба үшін біз: Vinmax = 50V;

5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Мысалы R2 = 10kΩ алу; R1 = 45/5 * 10 = 90кОм

5 -қадам: жұмыс принципі

Кіріс өлшеу кернеуі кернеуді бөлу желісінің VOUT нүктесі арқылы оқылған кезде, деректер сегментте көрсетілетін соңғы нақты мәнге дейін бағалау үшін MCU -де өңделеді. Бұл (жүйенің дизайны)-ондық нүктенің автоматты орны, себебі ол (ондық нүкте) қалқымалы мән уақыттың кез келген уақытында белгілейтініне сәйкес дисплей бірлігіндегі орынды өзгертеді. Содан кейін, 7-сегменттің дисплейлік қондырғысы мультиплекс режимінде қосылады. Бұл арнайы келісім, бұл MCU бір деректер шинасы (8-деректер түйрегіштері) дисплей бөлігіндегі үш белсенді 7 сегментті береді. Деректер үлгісін компоненттердің әрбір бөлігіне жіберу сканерлеу деп аталатын процесс арқылы жүзеге асады. Сканерлеу-бұл 7 сегменттің әрбір компонентіне деректерді жіберуді қамтитын әдіс; және оларға сәйкес деректер келген кезде оларды біртіндеп қосуға (яғни қосуға). Олардың әрқайсысына жүгіну жылдамдығы осылайша жасалады, ол адамның көзқарасын бір уақытта олардың барлығына (құрамдас бөліктерге) қосылады (қаралады) деп сендіреді. Бұл (сканерлеу) іс жүзінде көру тұрақтылығы деп аталатын құбылысты қолданады.

6 -қадам: Бағдарламалық қамтамасыз ету бағдарламасы

#қосу

#қосу

#қосу

#сегментті анықтаңыз1 pin9

#сегментті анықтаңыз2 pin10

#сегментті3 pin11 анықтаңыз

batt_voltage қалқыма;

int decimalPoint, batt;

/*әрбір берілген цифр үшін сегмент үлгісін сақтайтын массивтер*/

char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};

int disp0, disp1, disp2;

көрсету () {

белгісіз char i;

if (decimalPoint <10) {

disp0 = (int) batt_voltage /100; // MSD (ең маңызды цифр) алады

// ең жоғары салмақ

/* келесі өлшенген санды алады; және тағы басқа */

disp1 = ((int) batt_voltage % 100)/10;

disp2 = ((int) batt_voltage % 10);

}

басқа {

disp0 = (int) batt_voltage /1000;

disp1 = ((int) batt_voltage % 1000)/100;

disp2 = ((int) batt_voltage % 100)/10;

}

/*Өрнектер көрсету үшін құйылады; және 0x80 символы ондық бөлшекті қосады

егер байланысқан шарт шын болса*/

үшін (i = 0; i <50; i ++) {

pin9 = pin10 = pin11 = HIGH;

if (decimalPoint <10)

portWrite (1, CCathodeDisp [disp0] | 0x80);

else portWrite (1, CCathodeDisp [disp0]);

сегмент1 = ТӨМЕН;

сегмент2 = ЖОҒАРЫ;

сегмент3 = ЖОҒАРЫ;

кешігулер (5);

pin9 = pin10 = pin11 = HIGH;

if ((decimalPoint> = 10) && (decimalPoint <100))

portWrite (1, CCathodeDisp [disp1] | 0x80);

else portWrite (1, CCathodeDisp [disp1]);

сегмент1 = ЖОҒАРЫ;

сегмент2 = ТӨМЕН;

сегмент3 = ЖОҒАРЫ;

кешіктіру (5);

pin9 = pin10 = pin11 = HIGH;

егер (decimalPoint> = 100)

portWrite (1, CCathodeDisp [disp2] | 0x80);

else portWrite (1, CCathodeDisp [disp2]);

сегмент1 = ЖОҒАРЫ;

сегмент2 = ЖОҒАРЫ;

сегмент3 = ТӨМЕН;

кешігулер (5);

}

}

setup () {// орнату мұнда

analogSetting (); // аналогтық порт инициализацияланды

portMode (1, OUTPUT); // 1 -ден 8 -ге дейінгі түйреуіш түйреуіштер ретінде конфигурацияланған

/ * шығыс түйреуіштері ретінде конфигурацияланған сканерлеу түйреуіштері */

pin9Mode = OUTPUT;

pin10Mode = OUTPUT;

pin11Mode = OUTPUT;

portWrite (1, LOW);

pin9 = pin10 = pin11 = HIGH; // сканерлеу түйреуіштері (олар белсенді емес)

// басында ажыратылады

loop () {// Бағдарлама осында

batt_voltage = analogRead (A0); // өлшенген мәнді қабылдайды

batt_voltage = ((batt_voltage * 5000) / 1024); // 5Vin үшін айырбастау коэффициенті

batt_voltage = (batt_voltage * 50)/5000; // 50Vin үшін айырбастау коэффициенті

decimalPoint = batt_voltage; // ондық нүкте қайда пайда болатынын белгілейді

// деректерді өңдеуге дейінгі бастапқы мән

көрсету ();

}

}

Ұсынылған: