- Компоненте потребне:
- Опис:
- Шема и радно објашњење:
- Дизајн кола и ПЦБ-а користећи ЕасиЕДА:
- Израчунавање и наручивање узорака ПЦБ на мрежи:
- Објашњење програмирања:
У овом пројекту ћемо израдити ПИЦ систем за надзор аутомобила на ПЦБ-у. Овде смо дизајнирали ПЦБ користећи ЕАСИЕДА симулатор и дизајнер ПЦБ на мрежи. Овај круг за надзор акумулатора у аутомобилу користи се за надгледање снаге аутомобилског акумулатора тако што га само укључите у утичницу на инструмент табли аутомобила. ПЦБ- има опцију да га користе као Мерење напона алат или волтметар без употребе УСБ Цар Цхаргер. Овде смо причврстили терминални блок за мерење напона других извора напајања, само повезивањем две жице у њега из извора напајања.
Компоненте потребне:
- ПИЦ микроконтролер ПИЦ18Ф2520 -1
- Израђена ПЦБ плоча -1
- УСБ конектор -1
- 2-полни конектор терминала (опционално) -1
- Седмосегментни приказ уобичајене аноде (4 у 1) -1
- БЦ557 Транзистор -4
- 1к отпорник -6
- 2к отпорник -1
- Отпорник 100Р -8
- Кондензатор 1000уФ -1
- 10уФ кондензатор -1
- 28-пинска ИЦ база -1
- женске метлице -1
- 7805 Регулатор напона -1
- Аутомобилски УСБ пуњач -1
- ЛЕД -1
- Зенер диода5.1в -2
- УСБ кабл (Б-тип или Ардуино УНО компатибилан) -1
- Кристал 20МХз -1
- 33пФ кондензатор -2
Опис:
Генерално није важно мерити снагу батерије у аутомобилу сваки пут, али често морамо знати о напону акумулатора током пуњења, да бисмо проверили да ли се пуни. Овим можемо заштитити квар батерије због неисправног система пуњења. Напон 12в аутомобилске батерије током пуњења је око 13,7в. Тако можемо утврдити да ли се наша батерија добро пуни или не и можемо истражити узроке квара батерије. У овом пројекту ћемо применити мерач напона за аутомобилску батерију помоћу ПИЦ микроконтролера. Упаљач за цигарете у аутомобилу или аутомобилски УСБ пуњач користи се за довод напона батерије на АДЦ пин микроконтролера уз помоћ круга делитеља напона. Затим четвороцифрени седмосегментни дисплејкористи се за приказ напонске вредности батерије. Овај круг може мерити напон до 15в.
Када се акумулатор у аутомобилу пуни, тада напон на стезаљкама акумулатора заправо долази од алтернатора / исправљача, због чега систем очитава 13,7 волти. Али када се батерија не пуни или мотор аутомобила није УКЉУЧЕН, тада је напон на терминалу батерије стварни напон батерије око 12в.
Исто коло можемо користити и за мерење напона других извора напајања до 15в. У ту сврху смо залемили терминални блок (пластични блок зелене боје) на ПЦБ где можете повезати две жице са извора напајања и надгледати напон. Погледајте Видео на крају, где смо га демонстрирали мерењем напона променљивог напајања, УСБ банке напајања и 12в АЦ-ДЦ адаптера. Такође проверите круг једноставног монитора батерије и круг пуњача батерије од 12в.
Шема и радно објашњење:
У овом кругу за надзор напона акумулатора очитали смо напон акумулатора у аутомобилу помоћу уграђеног аналогног пина ПИЦ микроконтролера и овде смо изабрали пин АН0 (28) пина микроконтролера кроз коло делитеља напона. За заштиту се користи и зенер диода од 5.1в.
Седмосегментни дисплеј 4 у 1 користи се за приказ тренутне вредности напона акумулатора у аутомобилу који је повезан на ПОРТБ и ПОРТЦ микроконтролера. Регулатор напона од 5в, наиме ЛМ7805, користи се за напајање читавог кола, укључујући седам дисплеја. Кристални осцилатор од 20 МХз користи се за усмеравање микроконтролера. Круг напаја сам УСБ аутомобилски пуњач помоћу ЛМ7805. Додали смо УСБ прикључак у ПЦБ, тако да можемо директно повезати УСБ пуњач за аутомобил на коло.
Аутомобилски УСБ пуњач или упаљач за цигарете обезбеђују 5в регулисано напајање из 12в електричне утичнице аутомобила, али морамо измерити стварни напон аутомобилске батерије тако да смо дорадили аутомобилски пуњач. Треба да отворите УСБ пуњач у аутомобилу, а затим пронађете терминале 5в (излаз) и 12в (улаз), а затим уклоните везу 5в трљајући га брусним папиром или неком тврдом ствари и директно спојите УСБ излазни терминал на 12в. Прво отворите 5в везу са УСБ порта у аутомобилском УСБ пуњачу, а затим повежите 12в на УСБ порт на који је било повезано 5в. Као што је приказано на доњој слици, пресекли смо црвену кружну везу, она се може разликовати у пуњачу за аутомобил.
Да бисмо овде конфигурисали АДЦ, одабрали смо аналогни пин АН0 са унутрашњим референтним напоном од 5в и ф / 32 такта за АДЦ конверзију.
За израчунавање напона акумулатора у аутомобилу из вредности АДЦ користили смо следећу формулу:
Напон = (вредност АДЦ / фактор отпорника) * референтни напон Где: вредност АДЦ = излаз делитеља напона (микроконтролером претвара у дигитални) Фактор отпорника = 1023,0 / (Р2 / Р1 + Р2) // 1023 је максимална вредност АДЦ (10- бит) Референтни напон = 5 волти // изабрана интерна референца од 5в
Прорачун фактора отпорника:
У овом пројекту очитавамо напон акумулатора у аутомобилу који је (углавном) око 12в-14в. Дакле, урадили смо овај пројекат под претпоставком да мак 15в значи да се овај систем може читати мак до 15в.
Дакле, у колу смо користили Р1 и Р2 отпорник у делу разделника напона и вредности су:
Р1 = 2К
Р2 = 1К
Фактор отпорника = 1023,0 * (1000/2000 + 1000)
Фактор отпорника = 1023,0 * (1/3)
Фактор отпорника = 341,0 за до 15 волти
Дакле, Финална формула за прорачун напона биће следећа, коју смо користили Кодекс, дат на крају овог члана:
Напон = (вредност АДЦ / 341,0) * 5,0
Дизајн кола и ПЦБ-а користећи ЕасиЕДА:
Да бисмо дизајнирали склоп за монитор напона акумулатора у аутомобилу, користили смо ЕасиЕДА који је бесплатни мрежни ЕДА алат за креирање кола и ПЦБ-а на бешаван начин. Претходно смо наручили неколико ПЦБ-а од ЕасиЕДА-е и још увек користимо њихове услуге пошто смо пронашли читав процес, од цртања кола до наручивања ПЦБ-а, погоднијих и ефикаснијих у поређењу са другим произвођачима ПЦБ-а. ЕасиЕДА нуди бесплатно цртање, симулацију, дизајн ПЦБ-а, а такође нуди и висококвалитетну, али ниску цену прилагођену услугу ПЦБ-а. Овде погледајте комплетан водич о томе како користити Еаси ЕДА за израду шема, распореда ПЦБ-а, симулације кола итд.
ЕасиЕДА се побољшава из дана у дан; додали су многе нове функције и побољшали целокупно корисничко искуство, што ЕасиЕДА чини лакшим и употребљивијим за дизајнирање кола. Ускоро ће лансирати његову верзију за радну површину, која се може преузети и инсталирати на рачунар за офлајн употребу.
У ЕасиЕДА-и можете учинити ваше дизајне кола и ПЦБ-а јавним, тако да их други корисници могу копирати или уредити и од тога имати користи. Такође смо учинили јавним читав свој распоред кола и ПЦБ-а за овај монитор напона акумулатора у аутомобилу, погледајте доњу везу:
хттпс://еасиеда.цом/цирцуитдигест/ПИЦ_басед_Цар_Баттери_Мониторинг_Систем-63ц2д5948еаа48ц5бцббд8дб49а6ц776
Испод је Снимак горњег слоја изгледа ПЦБ-а од ЕасиЕДА-е, можете видети било који слој (горњи, доњи, горњи део, дно итд.) ПЦБ-а избором слоја из прозора „Слојеви“.
Израчунавање и наручивање узорака ПЦБ на мрежи:
Након завршетка дизајна ПЦБ-а, можете кликнути на икону излаза за производњу , која ће вас одвести на страницу за наручивање ПЦБ-а. Овде можете прегледати ПЦБ у програму Гербер Виевер или преузети Гербер датотеке са ПЦБ-а и послати их било ком произвођачу, а такође је и много лакше (и јефтиније) наручити директно у ЕасиЕДА-и. Овде можете одабрати број ПЦБ-а које желите да наручите, колико слојева бакра вам треба, дебљину ПЦБ-а, тежину бакра, па чак и боју ПЦБ-а. Након што одаберете све опције, кликните на „Сачувај у корпу“ и довршите наруџбину, а након неколико дана добићете своје ПЦБ плоче.
Можете директно наручити ову ПЦБ или преузети Гербер датотеку помоћу ове везе.
Након неколико дана наручивања ПЦБ-а, добио сам узорке ПЦБ-а
Након добијања ПЦБ-а, монтирао сам све потребне компоненте преко ПЦБ-а, и коначно смо припремили наш систем за надзор акумулатора у аутомобилу, проверите ово коло у раду у видеу датом на крају.
Објашњење програмирања:
Програм овог пројекта је мало тежак за почетнике. За писање овог кода потребне су нам заглавне датотеке. Овде користимо МПЛАБ Кс ИДЕ за кодирање и КСЦ компајлер за изградњу и компајлирање кода. Код је написан на језику Ц.
У овом коду очитали смо напон батерије помоћу аналогног пина, а за контролу или слање података на четвороцифрени седмосегментни екран користили смо рутину прекидача тајмера у ПИЦ микроконтролеру. Сав прорачун за мерење напона врши се у главној програмској рутини.
Прво, у код смо укључили заглавље, а затим конфигурисали ПИЦ микроконтролер помоћу конфигурационих битова.
#инцлуде
А затим се приказују декларисане променљиве и дефинисани пинови за седам сегмената
непотписан инт цоунтер2; непотписана позиција цхар = 0; непотписани знак к = {0кц0,0кф9,0ка4,0кб0,0к99,0к92,0к82,0кф8,0к80,0к90}; инт цифра1 = 0, цифра2 = 0, цифра3 = 0, цифра4 = 0; #дефине ТРИС_сег1 ТРИСЦбитс.ТРИСЦ0 #дефине ТРИС_сег2 ТРИСЦбитс.ТРИСЦ1 #дефине ТРИС_сег3 ТРИСЦбитс.ТРИСЦ2 #дефине ТРИС_сег4 ТРИСЦбитс.ТРИСЦ3 #дефине ТРИС_лед1 ТРИСАбитс.ТРИСА2 #дефине ТРИС_лед2 ТРИСАбитс.ТРИСА5 #дефине ТРИС_лед3 ТРИСАбитс.ТРИСА0 #дефине ТРИС_лед4 ТРИСАбитс.ТРИСА1 #дефине ТРИС_лед5 ТРИСАбитс.ТРИСА………………
Сада смо креирали рутину прекида тајмера за вожњу седмосегментног приказа:
прекид празнине лов_приорити ЛовИср (воид) {иф (ТМР0ИФ == 1) {цоунтер2 ++; иф (бројач2> = 1) {иф (позиција == 0) {сегмент1 = 0; сег2 = 1; сег3 = 1; сег4 = 1;………………
Сада у воид маин () функцији, покренули смо тајмер и прекид.
ГИЕ = 1; // ГЛОБЛЕ ИНТРРУПТ ОМОГУЋУЈЕ ПЕИЕ = 1; // периферна заставица прекида Т0ЦОН = 0б000000000; // вредност предкалера стављена ТМР0ИЕ = 1; // омогућавање прекида ТМР0ИП = 0; // приоритет прекида ТМР0 = 55536; // старт бројача након ове вредности ТМР0ОН = 1;
А онда у вхиле петљи читамо аналогни улаз на аналогном пину и позивамо неку функцију за прорачун.
вхиле (1) {адц_инит (); за (и = 0; и <40; и ++) {Вредност = адц_валуе (); адцВалуе + = Вредност; } адцВалуе = (флоат) адцВалуе / 40,0; претворити (адцВалуе); кашњење (100); }
С обзиром адц_инит () функција се користи за инитиализинг АДЦ
воид адц_инит () {АДЦОН0 = 0б00000011; // одабир адц канала АДЦОН1 = 0б00001110; // одабир аналогног и дигиталног и / п АДЦОН2 = 0б10001010; // време изједначавања време задржавања АДОН = 1; }
С обзиром адц_валуе функција се користи за читање улаз из аналогног пина и израчунати напона.
флоат адц_валуе (воид) {флоат адц_дата = 0; док је (ГО / ДОНЕ == 1); // већи битни подаци започињу конверзију вредност адц_дата = (АДРЕСЛ) + (АДРЕСХ << 8); // Складиштимо 10-битни излаз адц_дата = ((адц_дата / 342.0) * 5.0); ретурн адц_дата; }
А дата функција претварања користи се за претварање вредности напона у подржане вредности сегмента.
конверзија празнина (флоат ф) {инт д = (ф * 100); цифра1 = д% 10; д = д / 10; цифра2 = д% 10; д = д / 10; цифра3 = д% 10; цифра4 = д / 10; }
Проверите комплетан код за овај пројекат у наставку са демонстрацијом видео.