Guido обича Linux не само защото е забавно да се открият големите възможности на тези системи, но и заради всички хора, които участват в нейния дизайн.
Преведено на испански от:
Мигел Маган С. "
DC захранване на базата на микроконтролер
Това е четвъртата статия в Linux Focus от серията микроконтролери AT90S4433. Предлагам ви да прочетете предишните статии за програмиране на микроконтролер Atmel, особено:
- Как да инсталирате и използвате средата за разработка на AVR на Linux и как да изградите програмния хардуер:
Март 2002 г., Програмиране на AVR микроконтролера с GCC - Как да направите своя собствена печатна платка:
Май 2002 г., LCD контролен панел за вашия Linux сървър - Как да изградите кутия за вашето захранване:
Септември 2002 г., 1Hz-100Mhz Честотен брояч с LCD дисплей и RS232 интерфейс
Въведение
Микроконтролерът, на който се базира захранването, не е най-простата схема, но мога да ви уверя, че няма да имате нищо против времето, необходимо за изграждането му. Той е много здрав и надежден. Също технически много интересно, защото можете да научите как да генерирате аналогово постояннотоково напрежение с микроконтролер, без да използвате цифрово-аналогов преобразувател.
За този артикул ще ви трябват доста компоненти, но те са евтини и стандартни. Това захранване е евтино.
Какво ти е необходимо
Схема и табела
Използвах орел за Linux, за да проектирам схемата и дъската. Файловете на орел също са включени в пакета tar.gz заедно със софтуера. Можете да ги изтеглите в края на статията.
Веригата е разделена на 2 части. Основна и друга част за силовите транзистори. По-долу имате две независими схеми за двете части, които след това са свързани с кабели.
Основната схема (щракнете върху изображението, за да го увеличите):
Схемата за захранващата част (щракнете върху изображението, за да увеличите):
Как да свържете бутоните в матрица (щракнете върху изображението, за да го увеличите):
Основната дъска, гледана отгоре (щракнете върху изображението, за да увеличите):
Платката е специално създадена за любителите на електрониката. Само синият слой трябва да бъде гравиран върху печатна платка. Червените линии са кабели. Изграждането на едностранна печатна платка е много по-просто и изисква по-малко прецизност. Можете да запоявате проводниците (в червено), така че да са с най-късата дължина. Не можех да направя това на орел.
Малкото компоненти на високоволтовата част на източника могат да бъдат монтирани на стандартна прототипираща платка (те са тези дъски с много дупки). Основната платка и захранващата част са свързани с кабели (JP2 и JP3). Ще забележите, че заземяващият проводник от основната част се свързва с положителния изход на постоянен ток (DC). Това е правилно и е причината, поради която се нуждаем от два отделни трансформатора (единият за захранващата част, а другият за логическата част с микроконтролера и операционните усилватели).
Как работи
Разглеждайки основната схема можете да видите, че тя се състои от 2 части. Единият е отбелязан на схемата като "управление на тока", а другият като "контрол на напрежението". Те са два независими контура за управление. Единият контролира изхода на напрежението, а другият спада на напрежението (потенциалната разлика) над резистора от 0,275 ома от страната на захранването. Спадът на напрежението е еквивалентен на тока. Двете части за управление са "комбинирани" с диоди D2 и D3. Тези диоди образуват аналогов ИЛИ затвор. Тоест, ако токът е твърде висок, тогава контролната част на тока намалява напрежението, докато токът се върне в границите, от друга страна, ако токът не е твърде висок, частта за управление на напрежението се грижи за регулиране на изходното напрежение.
Тази ИЛИ порта работи, защото транзисторът T3 е свързан чрез резистор R19 към + 5V. Ако нямаше свързани усилватели зад D2 и D3, ще получите максималната изходна мощност. Операционният усилвател в управляващия контур контролира изхода, като премахва + 5V от T3 (взима толкова земя, колкото е необходимо).
Контурът за управление на напрежението контролира изходното напрежение според нивото на напрежението, което получава от щифт 5 на IC6B. С други думи, напрежението на щифт 5 е еквивалентно на изхода, умножен по коефициента на усилване, който се определя от резисторите R15, R10 и R16. Същото за тока, с изключение на това, че напрежението на резистора R30 е еквивалентно на максималния изходен ток.
За да изберем максималния ток или да регулираме изхода на захранването, ще трябва само да подадем подходящите напрежения в двете точки (щифт 5 на IC6B и на резистор R30). Това прави микроконтролерът. Но как микроконтролерът може да генерира и регулира постояннотоково напрежение? Погледнете следното изображение:
Това, което виждате на това изображение е как пулсиращ сигнал (последователност от импулси) може да се трансформира в непрекъснат сигнал. Всичко, от което се нуждаете, е да го прекарате през нискочестотен филтър с гранична честота около 100 (или повече) пъти под честотата на сигнала. Тъй като нашият микроконтролер работи на 4MHz, не е твърде трудно да се проектира такъв филтър. Дори ако генерирахме сигнала със софтуер, щяхме да получим няколко kHz и филтърът пак щеше да е много малък.
Разликата в изображението между горната и долната диаграми се нарича модулация с широчина на импулса. Чрез промяна на дължината на импулсите можем да променим постояннотоковото напрежение след филтриране.
!Чудесно, можем да генерираме точно напрежение с постоянен ток с цифров сигнал!
Микроконтролерът AT90S4433 има два вътрешни брояча, единият от 16 бита, а другият от 8. 16-битовият брояч има възможност за използване на Pulse Width Modulation (PWM), внедрен хардуерно в микро с разделителна способност 10 бита. 8-битовият брояч няма тази възможност, но можем да го внедрим чрез софтуер, но все още е достатъчно бърз. Ще използваме 16-битовия брояч за регулиране на напрежението, който ни дава 10 бита = 1023 стъпки на разделителна способност за контрол на напрежението. Токовият изход се контролира с 8-битовия брояч, който ни дава 255 стъпки за контрол на обхвата 1-3000mA. Това означава, че ще имаме точност от 12 mA (или по-малка). Достатъчно е за текущ контрол.
Всички останали компоненти във веригата са за референтен източник на захранване и напрежение (7805 е нашият еталон) и за да се гарантира, че захранването не се държи нестабилно, когато е свързано или изключено.
Софтуерът
Софтуерът за микроконтролера използва много аспекти, които вече знаете от предишните статии (uart за rs232, LCD дисплей, броячи в режим на прекъсване). Можете да разгледате:
linuxdcp.c.
Най-интересният е може би софтуерът PWM (Pulse Width Modulation). Променливата ipwm_phase реализира заедно с ipwm_h PWM за текущата. Ще стартираме 8-битовия брояч в режим на прекъсване и всеки път, когато се генерира прекъсване поради препълване, ще бъде извикана функцията "SIGNAL (SIG_OVERFLOW0)". Тук ще проверим ipwm_phase, за да видим дали трябва да генерираме „1“ или „0“ в изхода и да нулираме брояча. Лесно!.
Въпреки че софтуерът не е твърде сложен, за да го разберете напълно ви препоръчвам да прочетете техническите листове на 4433 (вижте препратките).
4433 е 8-битов микроконтролер и неговите математически възможности са ограничени. Функциите divXbyY и multiXbyY изпълняват 24-битова математика, която ще трябва да изчислим широчината на импулса от напрежение, дадено от потребителя.
Нашето захранване има 7 бутона. Шест от тях са за избор на нива на напрежение и ток, а другата е за режим „в режим на готовност“. Използвайки този режим, можете временно да изключите изхода и все още можете да промените границите на напрежението и тока. Състоянието на бутоните е анкетирано в основния цикъл на програмата. Променливата ignorebutton се използва за подскачане на бутон. Когато натиснете бутон с пръсти, вие го премествате малко нагоре и надолу. Като човек няма да забележите това, но микроконтролерът е толкова бърз, че ще вижда включване, изключване, включване, изключване. Броячът за игнориране изчаква малко след натискането на бутона, за да се избегнат тези отскоци.
Изработване на печатната платка
Основната дъска: |
Кутията за фонтана. Дърво отстрани и метал отдолу, отгоре и отпред: |
Предният панел: |
Как да изградите евтина, но хубава кутия за вашето захранване е описано в статията „Септември 2002, 1Hz-100Mhz Честотен брояч с LCD дисплей и RS232 интерфейс“. Можете да видите кутията и предния панел, които направих вдясно. Кликнете върху изображенията, за да ги увеличите.
Проверки
Ето го: Собственото ни захранване
Видяхте по-горе, че има 3 опции на разположение в зависимост от трансформатора, който използвате. Софтуерът по подразбиране е за изход 16V, 2.2A. За да промените това, редактирайте файла linuxdcp.c и потърсете:
MAX_U, IMINSTEP, MAX_I, ще трябва да промените и калибрирането във функцията set_i, ако имате максимална мощност от 3А. Кодът е добре коментиран и ще видите какво трябва да промените.
И накрая ето няколко магнита от захранването, което съм построил. Това е малко работа, но наистина е много добра и здрава. Времето беше добре прекарано, защото лабораторното захранване наистина е едно от най-използваните неща.
Използване на захранването
u = X избира напрежението (напр. u = 105 избира напрежението при 10.5V)
i = Xmax избира максималния ток (напр. i = 500 избира ограничението на тока при 500mA)
s = 1 или s = 0 избира режим на готовност
u =? или i =? или s =? отпечатва избраните в момента параметри. Това ще доведе до изход на екрана по този начин, например:
u: 50 s: 0 i: 100 l: 0
u: означава напрежение = 50 = 5V, s: 0 означава изключен режим на готовност, i: 100 е 100mA, а l: 0 означава, че текущата граница не е достигната.
Използвайки този команден език ascii, можете също да напишете графичен потребителски интерфейс за захранването. За да използвате rs232 реда, трябва първо да го инициализирате с командата ttydevinit. ttydevinit е включен в софтуерния пакет. Това е описано и в статията: септември 2002 г., Честотен брояч.
Сигурност
Настройки
Препратки
- Uisp AVR софтуер за програмиране: www.amelek.gda.pl/avr/
локално копие: uisp-20011025.tar.gz - Как да изградите хардуера на програмиста и да инсталирате AVR компилатора:
Март 2002 г., Програмиране на AVR микроконтролера с GCC - Изходният код на тази статия linuxdcpower-0.1.tar.gz, 1201K. Включени са също електрическа схема, файлове на Eagle и екранни снимки.
- Целият софтуер (актуализациите ще бъдат изброени тук) и документи: софтуер/таблици с данни
- Информационен лист за bd379 bd379.pdf 44K
- Информационен лист за TL082 TL082.pdf 110K
- Информационен лист за TL071 TL071.pdf 268K
- Лист с данни за 2n3055 2n3055.pdf 64K
- Лист с данни за MAX232 MAX220-MAX249.pdf 448K
- Лист с данни за ST232, евтин вариант, често се продава вместо MAX232 realst232.pdf 100K
- Лист с данни за Atmel AT90S4433 avr4433.pdf 2356K
- Уебсайтът на Atmel: www.atmel.com/
- Eagle за Linux cadsoftusa.com
Формуляр „Talkback“ за тази статия
2004-02-20, генерирано от lfparser версия 2.43
- Музикални инструменти DJ и VJ оборудване Рекордер 48 V Захранване; n Ghost Mugig Източник на
- Захранване с постоянен ток lc 150900-e-c2 220-240v за led ii модули
- Заваръчно оборудване според неговия ток или източник на енергия - Stayer
- Инсталирайте захранване - Подов вентилатор или вентилатор на тавана на компютър ›Хардуер
- Пийте като източник на калории