Съдържание:

Направи си сам 8-канален аналогов монитор за максимално/минимално напрежение: 13 стъпки
Направи си сам 8-канален аналогов монитор за максимално/минимално напрежение: 13 стъпки

Видео: Направи си сам 8-канален аналогов монитор за максимално/минимално напрежение: 13 стъпки

Видео: Направи си сам 8-канален аналогов монитор за максимално/минимално напрежение: 13 стъпки
Видео: RENWEX 2023 /выставка, возобновляемые источники энергии / электротранспорт, аккумуляторы и не только 2024, Юли
Anonim
Направи си сам 8-канален аналогов монитор за максимално/минимално напрежение
Направи си сам 8-канален аналогов монитор за максимално/минимално напрежение

Системите за управление и свързаните с тях устройства се занимават с множество източници на захранване, като линии за отклонение или батерии, и трябва да проследяват най -високата (или най -ниската) линия от даден набор.

Например, превключването на натоварване в система с „много батерии“изисква системата да следи или минималното, или максималното напрежение между решетката на батерията (макс. Или мин. В зависимост от конкретния алгоритъм за превключване) и динамично насочва товара към най -подходящият източник в реално време. Като алтернатива може да се наложи системата временно да изключи батерията с най-ниско напрежение за правилното зареждане.

Друг пример е съвременната слънчева енергийна система, където всеки слънчев панел е оборудван с механизъм за наклон и със слънчева верига за проследяване (последната предоставя информация за позицията на Слънцето за ориентиране на панела). С информацията за максималното напрежение, всяка позиция на слънчевия панел може да бъде фино настроена въз основа на панела на струната, който действително доставя най-високото изходно напрежение, като по този начин се постига превъзходно ниво на оптимизация на мощността.

Има няколко различни марки търговски интегрални схеми (главно микроконтролери), които по принцип могат да внедрят последовател за максимално напрежение. Те обаче изискват програмиране и са по-евтини от решението със смесен сигнал. Допълването на дизайн на Dialog GreenPAK ™ може да повлияе положително на достъпността, размера и модулността на дизайна. Този дизайн използва предимството на интегрирането както на аналогови, така и на цифрови схеми в един единствен чип.

В този Instructable е реализиран аналоговият интерфейс и цифровата логика, необходима за прилагане на максимално (или евентуално минимално) търсене на напрежение сред осем различни източника.

За внедряване на 8-канален аналогов монитор за максимално/минимално напрежение се използва SLG46620G.

По-долу описахме необходимите стъпки, за да разберете как решението е програмирано за създаване на 8-канален аналогов монитор за максимално/минутно напрежение. Ако обаче просто искате да получите резултат от програмирането, изтеглете софтуера GreenPAK, за да видите вече завършения файл за проектиране GreenPAK. Включете комплекта за разработка на GreenPAK към компютъра си и натиснете програма, за да създадете 8-канален аналогов монитор за максимално/минутно напрежение.

Стъпка 1: Блокова диаграма

Блокова диаграма
Блокова диаграма

Фигура 1 показва глобалната диаграма на внедрената система.

Поредица от до 8 източника на променливо напрежение е мултиплексирана и свързана с ADC модул на GreenPAK, свързан към персонализиран вътрешен дизайн, способен да избира източника с най -високо напрежение спрямо останалите. Вътрешната логика извежда тази информация за показване или по -нататъшна обработка.

Дизайнът се основава на продукта GreenPAK SLG46620G, тъй като вгражда всички необходими аналогови и цифрови градивни елементи за приложението. В тази реализация масивът се сканира с помощта на аналогов мултиплексор ADG508, директно задвижван от IC GreenPAK.

Изходната информация е 3-битов цифров номер, съответстващ на номера на източника на напрежение при максимално напрежение. Директен начин да получите тази информация е да покажете номера с помощта на 7-сегментен дисплей. Това може лесно да бъде постигнато чрез свързване на цифровия изход на SLG46620G към 7-сегментен драйвер на дисплея, като например решението GreenPAK, описано в Справка, или към обща 74LS47 IC.

Представената схема търси максимално напрежение. За да преобразувате дизайна в търсач на минимално напрежение, трябва да се добави проста верига за предварително кондициониране между аналоговия мултиплексор и аналоговия вход GreenPAK, като извадите изхода на мултиплексора от 1 V референтно напрежение.

Стъпка 2: Принцип на работа

Принцип на действие
Принцип на действие

Дизайнът има за цел да избере източника с максимално напрежение, поради което се извършва сканиране на целия масив, докато се съхранява последната максимална стойност и се сравнява със следващата стойност на входа (която принадлежи на следващия източник на напрежение в сканирането).

По -долу ще говорим за пълна мултиплексираща последователност по всички входове като „сканиране“или „цикъл“.

Сравнението между две стойности не се осъществява чрез компоненти на ACMP (налични обаче в SLG46620G), а по -скоро чрез DCMP модул, след като стойностите са съответно цифровизирани. Това е усъвършенствана и усъвършенствана техника, за първи път разгледана в справка.

Фигура 2 показва как е структуриран SLG46620G за този дизайн.

Аналоговият входен сигнал отива към ADC входа през PGA компонента с зададено усилване 1. Различни настройки на усилването също са възможни, за да се намери най-доброто съвпадение с електрониката за кондициониране в предния край, предназначена за картографиране на входните напрежения към 0-1 V обхват на модула ADP на GreenPAK.

ADC работи в единичен режим и преобразува аналоговия сигнал в 8-битов цифров код, който след това се прехвърля към DCMP модула. Цифровият код също се подава в SPI блока, конфигуриран като ADC/FSM буфер, където цифров код може да се съхранява и няма да се променя, докато следващият импулс не дойде до SPI CLK входа. Забележете, че специален логически блок управлява SPI CLK входа. Ще разгледаме тази част по -късно, тъй като това е „основната“логика, отговорна за правилната работа. Нов цифров код се съхранява в SPI модула само ако принадлежи към действителното максимално входно напрежение.

Компонентът DCMP се използва за сравняване на текущите ADC данни с последния победител (това е последният макс. Намерен), който се съхранява в SPI блока. Той ще генерира импулс на изхода OUT+, когато новите ADC данни са по -големи от предишните. Използваме сигнала OUT+, за да актуализираме SPI блока с новия победител.

Глобалният часовник сигнализира ADC преобразувания и общи времена. След като се извърши преобразуване, INT изходният сигнал на ADC импулсира, координиран във времето с паралелния изход на данни на ADC. Използваме изхода INT също за увеличаване на 3-битов двоичен брояч, реализиран от DFFs в Matrix1, което е полезно по три причини:

1. Изходните линии на брояча адресират външния аналогов мултиплексор, като по този начин обслужват следващото входно напрежение към ADC;

2. Броят се замразява в 3-битов регистър (внедрен в Matrix1) за съхраняване на временния победител по време на сканиране;

3. Броят се декодира за актуализиране на втори 3-битов регистър (реализиран в Matrix0), след като сканирането приключи.

Стъпка 3: Логична реализация

Логическа реализация
Логическа реализация

ADC модулът последователно предоставя преобразувани данни за всички входни напрежения, един след друг, за неопределено време. След като мултиплексорът е адресиран 0b111 (десетичен 7), броячът се отклонява до 0b000 (десетичен 0), като по този начин започва ново сканиране на входните напрежения.

По време на сканирането изходният сигнал на ADC INT се генерира, когато паралелният изход на данни е валиден. Когато този сигнал пулсира, аналоговият мултиплексор трябва да премине към следващия вход, осигурявайки на PGA съответното напрежение. Следователно, изходът на ADC INT е директният синхронизиращ сигнал на 3-битовия двоичен брояч от Фигура 2, чиято 3-битова паралелна изходна дума директно адресира външния аналогов мултиплексор („V select“на Фигура 1).

Нека сега се обърнем към пример, при който входните напрежения трябва да имат следните отношения:

а) V0 <V1 <V2

б) V2> V3, V4

в) V5> V2

Фигура 3 представя основните сигнали, включени в механизма за максимално вземане на решение.

Тъй като данните в крайна сметка се синхронизират в SPI буферния регистър синхронно с INT импулси, съществува прозорец за сравнение, където съдържанието на SPI буфера се сравнява със следващия резултат от преобразуване на ADC. Това конкретно време води до генериране на OUT+ импулси на DCMP изхода. Можем да се възползваме от тези импулси, за да заредим нови стойности в SPI буферния регистър.

Както е видно от линията за данни на SPI буфера от предходната фигура, регистърът SPI винаги съдържа, от време на време, най -голямата стойност от 8 -те входа и се актуализира само когато модулът DCMP открие по -голяма стойност (позовавайки се на DCMP OUT+ изходна линия на графиката, липсващите импулси причиняват V2 да остане блокиран в регистъра до сравнение с V5).

Стъпка 4: Разрешаване на задънена улица

Разрешаване на задънена улица
Разрешаване на задънена улица

Ако внедрената логика би била точно както е описано по -горе, ясно е, че бихме се сблъскали със ситуация на задънена улица: системата е в състояние да открие само напрежения, по -високи от това, съответстващо на това, което се съхранява в буферния регистър на SPI.

Това е валидно и в случай, че това напрежение ще намалее и след това друг вход, досега по -нисък от този, става най -високият: той никога няма да бъде открит. Тази ситуация е по -добре обяснена на Фигура 4, където само 3 входни напрежения са налице в името на яснота.

По време на итерация 2 V3 спада и V1 е действителното максимално напрежение. Но DCMP модулът не осигурява импулс, защото данните, съхранявани в SPI буферния регистър (съответстващ на 0.6 V), са по -големи от тези, съответстващи на V1 (0.4 V).

След това системата се държи като „абсолютен“максимален търсач и не актуализира правилно изхода.

Приятен начин за преодоляване на този проблем е да принудите да презаредите данните в SPI буферния регистър, когато системата завърши пълен цикъл на опросване на всички канали.

Всъщност, ако напрежението на този вход все още е най -високо, нищо не се променя и управлението продължава безопасно (виж Фигура 4 по -горе, това е случаят на циклични взаимодействия 0 и 1). От друга страна, ако напрежението на този вход случайно се понижи до стойност, по -малка от друг вход, тогава презареждането на стойността дава възможност на DCMP модула да произведе OUT+ импулс, когато го сравнява с новата максимална стойност (това е случай на циклични взаимодействия 2 и 3).

За преодоляване на проблема е необходима част от логическа схема. Той трябва да генерира тактов сигнал към SPI компонента, когато цикълът достигне действителния максимален вход, като по този начин принуди повторно зареждане на актуализираната си дума от данни в SPI буферния регистър. Това ще бъде обсъдено в раздели 7.2 и 7.6 по -долу.

Стъпка 5: Конфигурация на устройството - Матрица0 Верига

Конфигурация на устройството - верига Matrix0
Конфигурация на устройството - верига Matrix0

SLG46620G има два матрични блока, както е показано на фигура 2. Следните фигури показват съответните конфигурации на устройството.

Горната част на веригата е „регистър на контура“, реализиран с 3 DFF (DFF0, DFF1 и DFF2). Той се обновява след всеки цикъл на входния мултиплексор, за да изпрати на 7-сегментен драйвер на дисплея двоичния номер на „победителя“, тоест входът с най-високо напрежение в последното сканиране. Както часовникът към DFF, така и данните идват от логиката, реализирана в Matrix1 през съответно порт P12, P13, P14 и P15.

Долната част е аналоговият преден край с вход на Pin 8 и PGA с усилване x1. Изходът на ADC INT отива както към тактовата логика на SPI, така и към Matrix1 през порт P0, където ще служи като тактов сигнал за внедрения брояч.

Паралелните изходи на данни ADC и SPI са съответно обозначени като NET11 и NET15, за да бъдат свързани към DCMP компонента в Matrix1.

Стъпка 6: Конфигурация на устройството - SPI Clocking Logic

Конфигурация на устройството - SPI Clocking Logic
Конфигурация на устройството - SPI Clocking Logic

Както беше посочено по -рано в раздела „Реализация на логика“, SPI буферният регистър се актуализира всеки път, когато сравнението между действителната съхранена стойност и новите данни за преобразуване на ADC генерира импулс на изхода DCMP OUT+.

Целостта на сигнала се осигурява, ако този сигнал е И-редактиран с изхода ADC INT. Това избягва всякакви скокове и фалшиво задействане.

Ние също така подчертахме, че за да пропуснете ситуации на блокиране, SPI буферът трябва да се актуализира, когато цикълът достигне действителните данни за победителя.

След това в играта има три сигнала за правилен SPI часовник:

1. ADC INT изход (LUT0-IN1)

2. DCMP OUT+ изход (LUT0-IN0 през порт P10)

3. Броя се равнява на сигнал за затваряне (LUT0-IN2 през порт P11)

Първите две са AND-ed и двете OR-ed с последния в LUT0, чиято реализация е конфигурирана както на Фигура 6.

Стъпка 7: Конфигурация на устройството - Свойства на компонентите на Matrix0

Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0
Конфигурация на устройството - Свойства на компонентите на Matrix0

Фигури 7-10 показват останалите прозорци на свойствата на компонентите, принадлежащи на Matrix0.

Стъпка 8: Конфигурация на устройството - Матрична верига1

Конфигурация на устройството - Матрична верига1
Конфигурация на устройството - Матрична верига1

Стъпка 9: Конфигурация на устройството - 3 -битов двоичен брояч

Конфигурация на устройството - 3 -битов двоичен брояч
Конфигурация на устройството - 3 -битов двоичен брояч
Конфигурация на устройството - 3 -битов двоичен брояч
Конфигурация на устройството - 3 -битов двоичен брояч
Конфигурация на устройството - 3 -битов двоичен брояч
Конфигурация на устройството - 3 -битов двоичен брояч

Горната част на веригата съдържа логически елементи, главно 3-битов двоичен брояч с тактова честота от изхода ADC INT, както вече беше обсъдено. Този брояч е реализиран с доста „стандартна“схема, показана на фигура 12.

Този брояч е реализиран в нашия дизайн с помощта на джапанки DFF9, DFF10, DFF11 и INV1, LUT4, LUT8. Изходът DFF9 е LSB, докато DFF11 е MSB, както е показано на Фигура 13.

LUT4 е конфигуриран като XOR, докато LUT8 изпълнява логиката AND-XOR от Фигура 12.

Изходите на брояча отиват към три цифрови изходни пина за адресиране на външния аналогов мултиплексор.

LUT10 декодира кода на брояча, когато сканирането приключи и подава импулс към Matrix0 чрез DLY8 и порт P12. Това просто се постига чрез И-инжиране на изходите на брояча, като по този начин се декодира номер 7 dec (0b111 двоичен, край на цикъла).

Стъпка 10: Конфигурация на устройството - 3 -битова логика за сравнение

Конфигурация на устройството - 3 -битова логика за сравнение
Конфигурация на устройството - 3 -битова логика за сравнение

Фигура 15 показва схемата, използвана за откриване, когато цикълът итерира при текущия „победител“адрес. В този случай, както вече беше обсъдено, цифров импулс трябва да принуди повторно зареждане на текущия резултат от ADC, за да разреши евентуална ситуация на задънена улица.

Адресът „победител“се съхранява във временния регистър на Matrix1 (вижте по -долу), докато текущият адрес се извежда от двоичния брояч.

Портовете XNOR осигуряват истински (логически 1 или „висок“) изход, когато и двата входа са равни. И този сигнал за всички битове (LUT9) ни дава импулс, когато двата двоични кода са еднакви. Подробности за XOR портите за проверка на паритета могат да бъдат намерени в Справочник.

Сигналът „Counter-equals-Latch“се предава към Matrix0 през порт P11.

Стъпка 11: Конфигурация на устройството - Логика за цифрово сравнение и временен регистър

Конфигурация на устройството - Логика за цифрово сравнение и временен регистър
Конфигурация на устройството - Логика за цифрово сравнение и временен регистър

Долната част на Фигура 11 (подчертана на Фигура 16) показва DCMP блока, частта за вземане на решения в този дизайн.

DFF6, 7 и 8 образуват 3-битов регистър за съхраняване на временния входен номер „победител“, докато цикълът работи. Входът към джапанките са 3-битовите изходи на двоичен брояч, както се вижда в глобалната верига Matrix1 на Фигура 11, тук пропуснати за по-голяма яснота.

Изходите от този регистър не могат да управляват директно 7-сегментния дисплей, защото запаметената тук стойност се променя по време на сканиране и трябва да се счита за „валидна“само в края на самото сканиране.

Поради тази причина изходите на временния регистър се свързват към Loop Register на Matrix0 чрез междуматрични портове P13, P14 и P15.

Важно е да се отбележи на фигура 16, че временният регистър се задейства от изхода DCMP OUT+, когато ADC-SPI регистрира резултатите от сравнението в открит нов макс.

Същият OUT+ сигнал се предава към Matrix0, SPI CLK Logic, през порт P10.

Стъпка 12: Конфигурация на устройството - Свойства на компонентите на Matrix1

Конфигурация на устройството - Свойства на компонентите на Matrix1
Конфигурация на устройството - Свойства на компонентите на Matrix1
Конфигурация на устройството - Свойства на компонентите на Matrix1
Конфигурация на устройството - Свойства на компонентите на Matrix1
Конфигурация на устройството - Свойства на компонентите на Matrix1
Конфигурация на устройството - Свойства на компонентите на Matrix1

Фигури 17-19 показват прозорците за свойства на компонентите, принадлежащи на Matrix1.

Стъпка 13: Резултати

Резултати
Резултати
Резултати
Резултати
Резултати
Резултати
Резултати
Резултати

За да се тества изпълнението, е конструиран прототип на оценителна платка, където 8 -те аналогови входни напрежения се получават от серия резисторни разделители с TrimPots (както е показано на фигура 20).

Използваният мултиплексор е ADG508, част, която може да работи с едно захранване (12 V).

7-сегментният драйвер на дисплея е 74LS47. Той декодира паралелна входна дума и директно управлява 7-сегментен дисплей с общ анод.

Таблото за оценка има 2x10 правоъгълен конектор за включване директно в платформата за разширено развитие GreenPAK на своя разширителен конектор, както е показано на фигура 21.

Съвместно с GreenPAK Advanced Development Platform прави много лесно да се правят измервания на сигналите за бърза проверка. Например, Фигура 22 показва набор от сигнали (съответно CLOCK, ADC INT изход и DCMP OUT+ изход), уловени от HP 54620A Logic Analyzer. Формите на вълните се задействат от нарастващ фронт на OUT+ сигнал (в обхвата, обозначен като „A> B“), следователно това е улавяне на форма на вълната, когато се открие ново максимално напрежение сред аналоговите входове. Всъщност той е получен чрез завъртане на един от TrimPots на оценителната комисия, за да се увеличи съответното напрежение, показано на фигура 22.

Фигура 23 показва схемата на оценителната комисия.

Заключение

В тази инструкция ние внедрихме осемканален търсач на максимално (или минимално) напрежение, който да се използва като общо допълнение към многоканалните системи за управление. Представеният подход използва усъвършенствани функции на компонентите GreenPAK и показва как е възможно да се интегрират в един единствен чип аналогови и цифрови функции. Няколко търговски интегрални схеми могат да бъдат заменени с Dialog GreenPAK, така че размерът и цената на приложението могат да бъдат намалени.

Препоръчано: