Популярные статьи

BMW 3-series Coupe (Бмв ) 2006-2009: описание, характеристики, фото, обзоры и тесты

С сентября 2006 года серийно выпускается БМВ 3-й серии купе (Е92). Невзирая на свое техническое родство с седаном и Touring, купе БМВ 3-й серии имеет

Длительный тест Range Rover Sport: часть вторая

Аш длительный тест Range Rover Sport Supercharged подошел к концу. Первая хорошая новость: машину не угнали! Вторая: несмотря на соблазн, за

Audi E-tron (Ауди ) 2010: описание, характеристики, фото, обзоры и тесты

Audi E-tron, представленный на автосалоне в Детройте в январе 2010 года, совсем не то же самое, что E-tron, который выставлялся осенью на IAA 2009 во

Принципы ухода за АКБ зимой

В зимнее время года при морозной погоде аккумулятор автомобиля испытывает нагрузку намного больше, чем в летнее время. Автовладельцами замеченны

SEAT Toledo (Сиат Толедо) 1998-2004: описание, характеристики, фото, обзоры и тесты

Эта модель расширяет присутствие компании SEAT в сегменте рынка престижных автомобилей. Toledo - первый автомобиль компании дизайн которого выполнен

В 2000 г. семейство японских Corolla лишь обновилось. Спрос на эти машины падал и классическая Corolla уже не устраивала японских покупателей. Как

Skoda Octavia (Шкода Октавия) 1996-1999: описание, характеристики, фото, обзоры и тесты

Skoda Octavia - это современный переднеприводной автомобиль с поперечным расположением двигателя. На нём может стоять один из пяти моторов концерна

Chrysler PT Cruiser (Крайслер Пт крузер) 1999-2010: описание, характеристики, фото, обзоры и тесты

Дебют серийной модели PT Cruiser состоялся в 1999 году в Детройте. Компании Chrysler удалось зацепить ностальгическую струну в душе каждого простого

Примеряем Audi A6 Allroad и A8 Hybrid к нашим дорогам

Компания сыграла на контрасте, представив одновременно две модели, совершенно противоположные по идеологии: сверхэкономичный лимузин-гибрид А8 и

Toyota Tundra Crew Max (Тойота Тундра Crew Max) 2006-2009: описание, характеристики, фото, обзоры и тесты

Toyota Tundra (Тойота Тундра) проектировался как грузовик. Мощный двигатель, основательная рама и большая грузоподъемность... вот что отличает этот

Архив сайта
Облако тегов
Календарь

Блок живлення з програмним керуванням

  1. ArticleCategory: [Choose a category, do not translate this] Hardware AuthorImage: [Here we need a little image from you]
  2. AboutTheAuthor: [A small biography about the author]
  3. Abstract: [Here you write a little summary]
  4. ArticleIllustration: [This is the title picture for your article]
  5. Що нам знадобиться
  6. плата
  7. Принцип роботи
  8. Програмне забезпечення
  9. Створення друкованої плати
  10. тестування
  11. Ось він: наш власний блок живлення
  12. Використання блоку живлення
  13. Безпека
  14. Налаштування

ArticleCategory: [Choose a category, do not translate this]

Hardware

AuthorImage: [Here we need a little image from you]

TranslationInfo: [Author + translation history. mailto: or http: // homepage]

original in en Guido Socher

en to ru Gleba

AboutTheAuthor: [A small biography about the author]

Гвідо любить користуватися лінуксом за ті можливості які він відкриває в ньому кожен день а так само через людей, які займаються розробкою вільного ПЗ.

Abstract: [Here you write a little summary]

Це четверта стаття з серії заміток Focus про мікроконтролерах серії AT90S4433. рекомендуємо також ознайомитися зі змістом попередніх статей про мікроконтролерах Atmel.

  1. How to install and use the Linux AVR development environment and how to build the programmer hardware:
    March 2002 Programming the AVR Microcontroller with GCC
  2. How to make your own printed circuit board:
    May 2002 A LCD control panel for your Linux server
  3. How to build the case / box for your power supply:
    September 2002 Frequency counter 1Hz-100Mhz with LCD display and RS232 interface

Однією з головних складових вашого комп'ютера завжди був надійний блок живлення. У цій статті ми розповімо як самому зібрати подібне устройстсво, причому програмований і керований програмно. Він буде оснащений рідкокристалічним дисплеєм, а його управління буде здійснюватися через RS232 інтерфейс. Та й виглядати він буде теж нехило.
Доведеться розпаяти не найбільшу просту плату, але так ми познайомимося з усім різноманіттям мікроконтролерів.
Ну а якщо ж вам новорічний блок живлення ні до чого, тоді загляньте сюди: "Simple DC power" . Для проведення експерименту з електронікою в Лінукс цілком достатньо і простого блоку живлення ... Focus. Та власне з програмним забезпеченням Лінукс він і не має нічого спільного.
У будь-якому випадку, складний або простий блок живлення ви хочете зібрати, це статтю буде цікаво прочитати навіть в ознайомлювальних цілях.

ArticleIllustration: [This is the title picture for your article]

ArticleBody: [The article body]

вступ

Штука яку ми спробуємо зібрати, не найпростіше з того, що ви робили в цій жізні.Но однозначно ви не пошкодуєте про час, проведеної за сборкой.Получітся дуже надійна і корисна річ. Крім усього, вона технічно цікава тим, що ви навчитеся генерувати DC ток без використання перетворювача.
Нам знадобиться багато комплектуючих, але це будуть самі стандартні запчастини. Так що в матеріальному плані вам не особливо доведеться витрачатися.

Що нам знадобиться

Перелік Коплекти ви знайдете тут: part list Так само знадобляться частини, наведені на схемі нижче.
Наш блок живлення може існувати в трьох варіантах, за винятком одного трасформатора і резистора, зміни будуть тільки в програмному обеспеченіі.Все три головні комплектуючі будуть загальними для всіх варіантів:

  1. 0-16V Imax = 2.2A
    Трансформатор 15V 2.5A
  2. 0-24V Imax = 2.2A
    Трансформатор 24V 2.5A
  3. 0-30V Imax = 3A
    Трансформатор 30V 3A

Зауваження: У всіх трьох випадках вам знадобиться так же додатковий трасформатор на 9V, 100mA, для забезпечення харчування основної плати.

плата

Для розробки самої схеми я використав наступний софт eagle самі файли включені в архів, посилання на них ви знайдете в кінці цієї статті.
Схема розділена на дві частини: основна і та, яка буде прилягати до транзисторів пітанія.Ніже наведені 2 схеми обох частин, які між собою будуть з'єднуватися проводами.
Основна схема (клікніть на картинку щоб збільшити):
Для розробки самої схеми я використав наступний софт   eagle   самі файли включені в архів, посилання на них ви знайдете в кінці цієї статті
Частина схеми відповідає за високу напругу (клікніть щоб збільшити):

Приєднання кнопок до плати (клікніть щоб збільшити):

Основна плата, виду зверху (клікніть щоб збільшити):

Оскільки ця плата спочатку аматорська, то тому вона одностороння. Блакитним кольором позначено те, що підлягає друку на плату, червоним позначено проводове соедіненіе.Провода можна розмістити так, щоб вони були коротше і займали менше місця, просто в eagle мені цього зробити не вдалося.
Силова частина схеми може бути змонтована на макетної платі (тієї, що з великою кількістю отворів) .Сіловая частина і основна плата з'єднуються між собою проводами (JP2 і JP3). Заземлення підключено на позитивний контакт виходу харчування. Тут все правильно, і саме тому нам знадобляться два окремих трансформатора (для харчування і забезпечення роботи логічної частини мікроконтролера і підсилювачів).

Принцип роботи

Головна схема складається з двох частей.На малюнку вони позначені: "current control" і "voltage control". Це дві абсолютно незалежні схеми.Одна прямо стежить за вихідним напругою, а інша за падінням напруги на резисторі 0.275 Ohm. Напруга на резисторі прямопропорційно протікає через нього струму. Обидва ланцюги управління об'єднані через діоди D2 і D3. Таким чином діоди утворюють аналогову схему АБО. Таким чином, при перевищенні струму в навантаженні ланцюг регулююча струм знижує вихідна напруга джерела живлення до моменту, поки струм в навантаженні не стане нижче встановленої межі і тоді в силу вступить ланцюг відповідає за рівень вихідної напруги джерела живлення.
Такий логічний OR-шлюз можливий через те, що транзистор T3 з'єднаний через R19 на + 5V. Якщо відключити виходи операційних підсилювачів від D2 і D3, то на виході ми отримаємо максимальну напругу. Операційні підсилювачі управляють вихідним напругою за допомогою транзистора T3 (знижуючи рівень напруги на його вході).
Петля управління напругою контролює вихід відповідно до рівня напруги на вході 5 мікросхеми IC6B. Іншими словами, напруга на вході 5 відповідає вихідній напрузі, помноженому на коефіцієнт посилення підсилювача визначається номіналами резисторів R15, R10 і R16. Те ж саме щодо ланцюга обмеження струму, з тією лише різницею, що тут контролюється напруга на резисторі R30, еквівалентну рівню струму в навантаженні.
Для того, щоб встановити рівень обмеження струму або необхідне вихідна напруга, нам просто необхідно досягти відповідних напружень в двох точках схеми: на вході 5 мікросхеми IC6B і резистори R30. Це те, що повинен зробити мікроконтролер .... Але яким чином мікроконтролер зможе сформувати необхідні вихідні напруги? Погляньте на наступний малюнок:
Головна схема складається з двох частей
На малюнку зображено перетворення імпульсного сигналу в постійну напругу. Все що для цього необхідно, пропустити вхідний імпульсний сигнал через низькочастотний фільтр з частотою зрізу в сотні і більше разів нижче частоти вхідного сигналу. Оскільки мікроконтролер працює на частоті 4Mhz, зібрати подібний фільтр буде не складно. Навіть якщо імпульси ми будемо формувати програмно, то і в цьому випадку ми легко отримаємо частоту порядку декількох кГц і необхідний фільтр виявиться легко реалізованим
Різниця між першим і другим діаграмою демонтсрірует нам широтно- імпульсну модуляцію (ШІМ). Змінюючи ширину імпульсів можна змінювати постійну напругу на виході фільтра.
Правда круто? Можна формувати точне напруга з цифрового сигналу!
До складу мікроконтролера AT90S4433 входять два внутрішніх лічильника. Один 16-бітний, а другий 8-бітний. 16-бітний лічильник може апаратно формувати 10-бітний ШІМ. У 8-ми бітному лічильнику такої можливості немає, але ми сформуємо програмний ШІМ з достатньою для нашої задачі частотою. Ми використовуємо 16-ти бітний лічильник для регулювання напруги це буде: 10 біт = тисячі двадцять три кроку для регулювання напруги. А струмом на виході будемо управляти 8-ми бітовим лічильником це дасть нам 255 кроків на діапазон регулювання 1-3000 мА. Це означає, що точність регулювання складе 12мА і навіть менше. Що досить для нашого пристрою.
Всі інші компоненти відповідають за харчування схеми і формування опорного напруги (за це відповідає 7805), а також контроль стабільності поведінки вихідної напруги блоку харчування при включенні-виключенні.

Програмне забезпечення

Нюанси програмного забезпечення роботи мікроконтролера були описані в попередніх статтях (uart для rs232, рідкокристалічний дисплей, лічильники в режимі переривання). Прочитати їх можна тут:
linuxdcp.c .
Мабуть найбільший інтерес представляє реалізація програмного ШІМ. Мінлива ipwm_phase разом з ipwm_h формують ШІМ для управління схемою обмеження струму. Ми включимо 8-ми бітний лічильник в режимі генерації переривань по переповнення, викликаючи кожного разу функцію "SIGNAL (SIG_OVERFLOW0)". У ній перевіряється ipwm_phase і приймається рішення в який стан необхідно перевести вихід ШІМ: 0 або 1, після чого перезапускаємо таймер. Легко.
Програмне забезпечення абсолютно нескладне, слід лише ознайомитися з rfc 4433.
4433 представляє з себе 8-ми бітний мікроконтролер з обмеженими математичними возможностямі.Функціі divXbyY і multiXbyY використовують 24 бітні розрахунки, необхідні для точного розрахунку скважности в залежності від заданого користувачем напруги.
Блок живлення оснащений 7-ю кнопками. 6 кнопок призначені для перемикання рівнів струму і напруги і одна кнопка "режим очікування". Остання кнопка дозволяє тимчасово відключити вихідна напруга, зберігши при цьому можливість змінювати вихідна напруга і струм. Стан кнопок відстежується в головній зашморгу програми. Передбачена змінна придушення брязкоту кнопок. При натисканні кнопки можна абсолютно проти своєї волі і непомітно для себе натиснути кнопку двічі, але контролер, який досить для цього чутливий, буде реєструвати включення і виключення. Придушення брязкоту здійснюється введенням невеликої паузи після натискання кнопки.

Створення друкованої плати

Пакет програмного забезпечення містить постскріпт файл (linuxDCpower.ps) із зображенням друкованої плати. Особисто я вважаю, що друковані майданчика навколо отворів для установки елементів маленькі, і тому рекомендую підправити їх маркером перед травленням. Процес виготовлення друкованої плати в домашніх умовах докладно описаний тут: May 2002 A LCD control panel for your Linux server .
Як зробити дешевий і стильний корпус для блоку живлення написано тут: "September 2002 Frequency counter 1Hz-100Mhz with LCD display and RS232 interface" . Малюнок лицьовій панелі мого блоку розташований праворуч. Натисніть щоб збільшити.

тестування

Як і будь-яку іншу електричний ланцюг, блок живлення не варто відразу включати в мережу, а слід спочатку протестувати всі її компоненти. Так буде легше виявити помилки, допущені при складанні плати.

  1. Зберіть основну плату але не підключайте її.
  2. Візьміть батарейку на 9V і підключіть плюс на pin 2 а мінус на pin 1 коннектора, на схемі позначення як AC_POWER. Перевірте вольтметром, що у вас є + 5V на max232 між ніжками 8 і 16 і ніжками 7 і 8 мікроконтролера. Позитивне напругу живлення на операційних підсилювачах повинно бути близько 9V.
  3. Тепер переверніть батарейку навпаки. Проконтролюйте наявність негативного напруги живлення близько -9V на операційних підсилювачах.
  4. Якщо вищевказані тести пройшли успішно, значить все нормально і на плату можна встановити МАХ232 і мікроконтролер.
  5. Ще раз підключіть 9V батарейку так, щоб на платі було +5 напругу живлення (див.вище) .Далі підключіть програмує кабель до паралельного порту і до плати.
    Розпакуйте завантажений софт, зайдіть в створену директорію і наберіть:
    make avr_led_lcd_test.hex
    make testload
    make ttydevinit
    Після цього повинна завантажитися програма тестирующая блок. На РК екрані має висвітитися слово "hello", замигает червоний індикатор і якщо ви під'єднали комп'ютер через rs232, то висвітиться слово "ok" (запустіть rs232 командою ttydevinit, далі - cat / dev / ttyS0, або cat / dev / ttyS1 для COM2) .
  6. Тепер зберіть головний блок але не підключайте основний трансформатор. Замість цього підключіть до кабелю підключення трансформатора батарейку. При цьому не важливо в який полярності ви підключили батарейку на конденсаторі 4700мкФ буде напруга 9V. Перевірте вольтметром.
  7. Після того як головний тест пройдено, перевірте ще раз дроти і підключайте всі трансформатори і харчування. Без установки операційних підсилювачів ви отримаєте максимальну напругу на виході блоку живлення. Обережно заміряйте напруга - головне тепер не створити коротке замикання, тому що схема обмеження струму ще не працює.
  8. Вимкніть, встановіть операційні підсилювачі і програмує кабель, увімкніть пристрій и наберіть:
    make
    make load
  9. Тепер блок живлення функціонує. Зверніть увагу, що кабель через який здійснювалося програмування, все ще включений і може створювати перешкоди напруги. Вимкніть його щоб отримати більш точні значення напруги.

Ось він: наш власний блок живлення

Як вже говорилося раніше, блок живлення може функціонувати в трьох режимах, в залежності від трансформаторов.По замовчуванням у нас 6V, 2.2A. Щоб змінити, змініть в файлі linuxdcp.c рядок містить:
MAX_U, IMINSTEP, MAX_I, і в функції set_i слід змінити калібрування, якщо у нас на максимумі 3А. Коментарів там досить, так що проблем з цим не виникне і ви зрозумієте, що вам правити.
І нарешті кілька картинок мого блоку харчування. На вигляд він звичайно непоказний, але зате я виконав непогану роботу і блок живлення вийшов потужний і надійний, а час я провів не дарма.
Як вже говорилося раніше, блок живлення може функціонувати в трьох режимах, в залежності від трансформаторов

Використання блоку живлення

Навряд чи є сенс розповідати навіщо потрібен блок живлення. 4 кнопки служать для для зміни напруги. 2 кнопки для покрокового перемикання вгору / вниз на 1V і ще дві, для покрокового плюс-мінус 0.1V. Хоча в принципі можна обмежитися і двома кнопками. Адже зниження / підвищення тут нелінійне. Для малих зачение можна обмежитися і 50mA. А для значень більш 200mA можна перемикати і по 100mA. Вище 1А, відповідно по 200mA.І для цього цілком достатньо двох кнопок.
Кнопка переходу в режим очікування пожет бути використана як як вмикач / вимикач, без необхідності відновлення попередніх значень, при подальшому включенні.
Червоний індикатор загориться в тому випадку, якщо ви досягнете порогового значення, а в режимі очікування він буде блимати.
Блок живлення може бути повністю керований з консолі через послідовний порт rs232. Передбачені наступні команди:

u = X регулює вольтаж (eg u = 105 перехід в режим 10.5V)
i = Xmax ток (eg i = 500 встановлює ліміт в 500mA)
s = 1 або s = 0 перехід в режим очікування
u =? або i =? або s =? висновок на екран поточних установок в наступному форматі:
u: 50 s: 0 i: 100 l: 0
u: означет voltage = 50 = 5V, s: 0 означає режим очікування відключений, i: 100 одно 100mA, і l: 0 означає що межа не досягнуть

При бажанні можна написати ще і графічний интерфес для програми управління. Для використання послідовного порту необхідно його форматувати командою ttydevinit, вона включена в інсталяційний пакет. Подальшою інформацією можна ознайомитися тут: September 2002 Frequency Counter .

На схемі вище видно, що ми використовували два трасформатора, а земля основної плати підключається до плюса вихідної напруги силовий плати. Трансформатори розв'язані, тому тут нема чого боятися. Його потребує для того, щоб дотримати правильну полярність в колі зворотного зв'язку операційних підсилювачів. Трохи про заходи: При такому підключенні земля послідовного порту також виявляється підключена до позитивного виходу джерела піатнія. Іншими словами, ви не зможете використовувати інші пристрої, підключені до послідовного порту. Про всяк випадок можна написати попередження на корпусі про це. Якщо ви не хочете опинитися перед загрозою короткого замикання, користуйтеся або ноутбуком з акумуляторами, або переконайтеся, що до блоку живлення не підключені інші пристрої, або не використовуйте послідовний порт. Нехай ця обережність вас не шокує. Якщо встановити рівень обмеження струму не більше 250mA, то будь-яка ваша навіть сама безглузда помилка не зіпсує ваш комп'ютер, а про вашу помилку повідомить червоний світлодіод.

Безпека

У ланцюзі задіяний трансформатор, який підключений до головного блоку живлення: (230V або 110V в залежності від країни). Обов'язково перевірте ізоляцію проводки. Якщо раніше вам не доводилося стикатися з блоками живлення, краще зайвий раз проконсультуйтеся з людиною який в цьому розбирається.

Налаштування

Програмне забезпечення для блоку живлення калібрувати повністю. Швидше за все вам не доведеться нічого менять.В основному точність калібрування залежить від номіналів 7805, R15, R10, R16, R38, R30, R26. Вони визначають похибка установки напруги і рівня струму. Для тонкої настройки вам слід або поміняти резистори, або внести зміни в програму. Не забувайте, що підключений програмує кабель впливає на вихідну напругу. У програмі змінити налаштування можна в функціях set_u і set_i. Все це детально описано тут: linuxdcp.c

Посилання та корисна література

Але яким чином мікроконтролер зможе сформувати необхідні вихідні напруги?
Правда круто?
Або i =?
Або s =?