Реверсивний лічильник витків на авр. Електронний лічильник витків для намотувального верстата

У багатьох пристроях побутової технікита промислової автоматики порівняно недавніх років випусків встановлені механічні лічильники. Вони продукцію на конвеєрі, витки дроту в намотувальних верстатах і т. п. У разі виходу з ладу знайти аналогічний лічильник виявляється непросто, відремонтувати неможливо через відсутність запасних частин. Автор пропонує замінити механічний лічильник електронним. Електронний лічильник, що розробляється на заміну механічному, виходить занадто складним, якщо будувати його на мікросхемах малого та середнього ступеня інтеграції (наприклад, серій К176, К561). особливо якщо потрібний реверсивний рахунок. А щоб зберегти результат при вимкненому живленні, необхідно передбачити резервну батарею живлення.

Але можна побудувати лічильник всього на одній мікросхемі — універсальному програмованому мікроконтролері, що має у своєму складі різноманітні периферійні пристроїі здатне вирішувати дуже широке коло завдань. Багато мікроконтролерів мають особливу область пам'яті - EEPROM. Записані в ній (у тому числі під час виконання програми) дані, наприклад, поточний результат рахунку, зберігаються і після вимкнення живлення.

У лічильнику застосований мікроконтролер Attiny2313 з сімейства AVR фірми Almel. У приладі реалізований реверсивний рахунок, виведення результату з гасінням незначних н

вулик на чотирирозрядний світлодіодний індикатор, збереження результату в EEPROM при вимкненому живленні. Вбудований в мікроконтролер аналоговий компаратор використано для своєчасного виявлення зменшення напруги живлення. Лічильник запам'ятовує результат рахунку при відключенні живлення, відновлюючи його при включенні, і аналогічно механічному лічильнику має кнопку обнулення показань.

Схема лічильника представлена ​​малюнку. Шість ліній порту В (РВ2-РВ7) та п'ять ліній порту D (PDO, PD1, PD4-PD6) використані для організації динамічної індикації результату рахунку на світлодіодний індикатор HL1. Колекторними навантаженнями фототранзисторів VT1 і VT2 служать вбудовані мікроконтролер і включені програмно резистори, що з'єднують відповідні висновки мікроконтролера з ланцюгом його живлення.

Збільшення результату рахунку N на одиницю відбувається у момент переривання оптичного зв'язкуміж випромінюючим діодом VD1 і фототранзистором VT1, що створює перепад рівня, що наростає, на вході INT0 мікроконтролера. При цьому рівень на вході INT1 повинен бути низьким, тобто фототранзистор VT2 повинен бути освітлений діодом випромінюючим VD2. У момент наростаючого перепаду на вході INT1 за низького рівня на вході INT0 результат зменшиться на одиницю. Інші комбінації рівнів та їх перепадів на входах INT0 та INT1 результат рахунку не змінюють.

Після досягнення максимального значення 9999 рахунок триває з нуля. Віднімання одиниці з нульового значення дає результат 9999. Якщо зворотний рахунок не потрібен, можна виключити з лічильника випромінюючий діод VD2 і фототранзистор VT2 і з'єднати вхід мікроконтролера INT1 із загальним проводом. Рахунок йтиме лише на збільшення.

Як уже сказано, детектором зниження напруги живлення служить вбудований в мікроконтролер аналоговий компаратор. Він порівнює нестабілізовану напругу на виході випрямляча (діодного мосту VD3) із стабілізованим на виході інтегрального стабілізатора DA1. Програма циклічно перевіряє стан компаратора. Після відключення лічильника від мережі напруга на конденсаторі фільтра випрямляча С1 спадає, а стабілізований деякий час залишається незмінним. Резистори R2-R4 підібрані так. що стан компаратора у цій ситуації змінюється протилежне. Виявивши це, програма встигає записати поточний результат рахунку в EEPROM мікроконтролера ще до припинення його функціонування через вимкнення живлення. При наступному включенні програма прочитає число, записане в ЕЕРРОМ, та виведе його на індикатор. Рахунок буде продовжено з цього значення.

Зважаючи на обмежену кількість висновків мікроконтролера для підключення кнопки SB1, що обнулює лічильник, використаний висновок 13, що служить аналоговим інвертуючим входом компаратора (AIM) і одночасно - "цифровим" входом РВ1. Дільником напруги (резистори R4, R5) тут заданий рівень, що сприймається мікроконтролером як високий логічний. При натисканні на кнопку SB1 він стане низьким. На стан компаратора це не вплине, тому що напруга на вході AIN0, як і раніше, більша, ніж на AIN1.

При натиснутій кнопці SB1 програма виводить у всіх розрядах індикатора знак мінус, а після її відпускання починає рахунок з нуля. Якщо при натиснутій кнопці вимкнути живлення лічильника, поточний результат не буде записаний в EEPROM, а значення, що зберігається там, залишиться колишнім.

Програма побудована таким чином, що її легко адаптувати до лічильника з іншими індикаторами (наприклад, із загальними катодами), з іншим розведенням друкованої платиі т. п. Невелика корекція програми буде потрібна і при використанні кварцового резонаторана частоту, яка відрізняється більш ніж на 1 МГц від зазначеної.

При напрузі джерела 15 вимірюють напругу на контактах 12 і 13 панелі мікроконтролера щодо загального дроту (конт.10). Перше має перебувати в інтервалі 4...4.5, а друге — бути більше 3,5, але менше першого. Далі поступово зменшують напругу джерела. Коли воно впаде до 9... 10, різниця значень напруги на контактах 12 і 13 повинна стати нульовою, а потім поміняти знак.

Тепер можна встановити панель запрограмований мікроконтролер, підключити трансформатор і подати на нього мережну напругу. Через 1,5...2 с потрібно натиснути кнопку SB1. На індикатор лічильника буде виведена цифра 0. Якщо на індикатор нічого не виведено, перевірте ще раз значення напруги на входах AIN0.AIN1 мікроконтролера. Перше має бути більше за друге.





Коли лічильник успішно запущено, залишається перевірити правильність рахунку, по черзі затінюючи фототранзистори непрозорою для ІЧ променів пластиною. Для більшої контрастності індикатори бажано закрити світлофільтром із червоного органічного скла.



Ще якщо хтось буде збирати лічильник на Atiny2313 без кварцу,
Фьюзи я запрограмував так

Ознайомившись із низкою опублікованих у журналі конструкцій лічильників різного призначення (наприклад, ), я вирішив розробити свій варіант лічильника витків, у якому використано енергонезалежну пам'ять мікроконтролера. В результаті вдалося створити простий і зручний у роботі лічильник витків для намотувального верстата, що не містить дефіцитних деталей.

Він може вважати від 0 до 9999 оборотів валу, після чого показання індикатора обнуляються і рахунок починається заново. При обертанні валу в зворотний бікіндикатор зменшує свідчення на одиницю за кожен оборот.


Мал. 1

Лічильник складається з кількох вузлів (рис. 1). Основою конструкції служить мікроконтролер DD1, до якого через струмообмежувальні резистори R10-R16 підключений чотирирозрядний світлодіодний індикатор HG1. Дві оптопари - випромінюючий ІЧ діод-фототранзистор (VD2VT1, VD3VT2), - утворюють датчик числа обертів робочого валу верстата, формують імпульси низького рівня, за якими мікроконтролер визначає напрямок обертання і число обертів валу. Передбачена кнопка SB1 для обнулення пам'яті, а також допоміжні ланцюги: R2C2, що працює у складі вбудованого тактуючого генератора мікроконтролера, VD1C1, що зберігає напругу живлення, необхідне переходу мікроконтролера в режим SLEEP, і R6R8, що стежить за напругою живлення лічильник.


Відомо, що мікроконтролери сімейства PIC досить примхливі при роботі з EEPROM (особливо, коли запис до неї відбувається автоматично). Зменшення напруги живлення може спотворити вміст пам'яті При роботі лічильника лінія RB1 (висновок 7) мікроконтролера, до якої підключений ланцюг R6R8, опитується на наявність напруги живлення, і якщо воно зникає, то завдяки ланцюгу VD1C1 мікроконтроллер встигає перейти в режим сну, тим самим блокуючи подальше виконання програми та захищаючи інформацію в EEPROM. У процесі рахунку мікроконтролер зберігатиме у пам'яті числа після кожного обороту робочого валу верстата. При кожному черговому увімкненні живлення індикатор HG1 відобразить число, що було до вимкнення.
Датчик являє собою невелику друковану плату (22x22 мм), на якій змонтовано два випромінюючі діоди та два фототранзистори, встановлені так, що утворюють два оптичних каналупередавач-приймач. Оптичні осі каналів паралельні, міжосьова відстань – близько 10 мм.
На робочому валу верстата закріплена нерухомо шторка у вигляді диска з жорсткого непрозорого для ІЧ променів матеріалу (текстоліт, гетинакс, метал, пластик) товщиною 1...2 мм. Діаметр шторки — 35...50 мм, діаметр центрального настановного отвору дорівнює діаметру валу. Плату на верстаті фіксують так, щоб шторка, обертаючись разом з валом, могла перекривати собою обидва ІЧ промені.
У шторці пропилюють виріз у формі неповного сектора. Кутова ширина і глибина вирізу повинні бути такими, щоб при обертанні валу шторка забезпечувала короткочасне проходження ІЧ випромінювання спочатку лише через один канал, потім через обидва і, нарешті, тільки через інший, як схематично проілюстровано на рис. 2. Колір показує канали, відкриті в тій чи іншій позиції. Такий порядок проходження сигналів з датчика дає мікроконтролеру можливість визначати напрямок обертання робочого валу верстата.
.

Лічильник розрахований на живлення від батареї із трьох гальванічних елементів АА (R6), але можна використовувати будь-який мережевий блок зі стабілізованою вихідною напругою 5 В.
Датчик змонтований на друкованій платі із фольгованого склотекстоліту товщиною 1 мм. Креслення плати показано на рис. 3. Струмообмежуючий резистор R3 припаяний з боку друкованих провідників а випромінюючі діоди і фототранзистори - з іншого.
Інші деталі (крім батареї GB1 та вимикача SA1) розміщені на другій платі, виготовленій з такого ж склотекстоліту. Її креслення представлено нарис. 4. Усі резистори (крім R3) на ній розміщені з боку друку поверхневим монтажем, а мікроконтролер, цифровий індикатор, конденсатори, діод, кнопка SB1 та дротяні перемички – з протилежного боку. Мікроконтролер встановлений на панель, впаяну в плату.
Плата датчика скріплена з двома основними скобами, зігнутими з мідного лудженого дроту діаметром 1,2 мм і припаяними до крайових друкованих провідників плат. Для кріплення плат до корпусу верстата використані саморобні власникиз вушком для гвинта, виготовлені з такого ж дроту і припаяні до основної плати.


Мал. 4


Загальний вигляд одного з конструктивних варіантів лічильника, встановленого на верстаті намоточному, показаний на фото рис. 5. Батарея гальванічних елементів із вимикачем прикріплена до верстата ззаду.

Для датчика, крім зазначених на схемі, можна використовувати випромінюючі діоди SEP8706-003, SEP8506-003, KM-4457F3C, АЛ144А, АЛ108АМ та інші, а фототранзистори SDP8436-003, КТФ102А. Дуже добре підходять також оптопари від старих комп'ютерних кулькових маніпуляторів — мишей; у випромінюючих діодів короткий висновок-катод, а у фототранзисторів - емітер.
Слід зазначити, що краще використовувати фототранзистори в непрозорому (чорному) корпусі - у цьому випадку ймовірність збоїв та помилок у рахунку через потрапляння на фотоприймачі світлових перешкод зовнішніх яскравих джерел буде мінімальною. Якщо ж фототранзистори, наявні, прозорі, на кожен з них слід діти відрізок чорної ПВХ трубки з отвором навпроти лінзи, а весь датчик закрити від стороннього світла накладкою з чорного паперу. Якщо шторка виготовлена ​​з матеріалу, що відображає світло, її рекомендується покрити чорною матовою фарбою.
Замість "поверхневих" резисторів можна використовувати МЛТ-0,125 або С2-23 потужністю 0,062 Вт. Кнопка SB1 - будь-яка, що підходить за місцем кріплення на платі. Замість E40281-L-O-0-W підійде цифровий індикатор FYQ-2841CLR.

Програма мікроконтролера розроблена та налагоджена в середовищі Proteus, після чого за допомогою програматора ICProg завантажена у мікроконтролер. Після встановлення мікроконтролера в панель при першому та наступних увімкненнях лічильника індикатор відобразить знак "мінус" у всіх знайомих. Приблизно за дві секунди на табло з'являться нулі — це ознака готовності лічильника до роботи.

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

У багатьох пристроях побутової техніки та промислової автоматики порівняно недавніх років випусків встановлені механічні лічильники. Вони продукцію на конвеєрі, витки дроту в намотувальних верстатах і т. п. У разі виходу з ладу знайти аналогічний лічильник виявляється непросто, відремонтувати неможливо через відсутність запасних частин. Автор пропонує замінити механічний лічильник електронним. Електронний лічильник, що розробляється на заміну механічному, виходить занадто складним, якщо будувати його на мікросхемах малого та середнього ступеня інтеграції (наприклад, серій К176, К561). особливо якщо потрібний реверсивний рахунок. А щоб зберегти результат при вимкненому живленні, необхідно передбачити резервну батарею живлення.

Але можна побудувати лічильник всього на одній мікросхемі - універсальному програмованому мікроконтролері, що має у своєму складі різноманітні периферійні пристрої та здатний вирішувати дуже широке коло завдань. Багато мікроконтролерів мають особливу область пам'яті - EEPROM. Записані в ній (у тому числі під час виконання програми) дані, наприклад, поточний результат рахунку, зберігаються і після вимкнення живлення.

У лічильнику застосований мікроконтролер Attiny2313 з сімейства AVR фірми Almel. У приладі реалізований реверсивний рахунок, виведення результату з гасінням незначних н

вулик на чотирирозрядний світлодіодний індикатор, збереження результату в EEPROM при вимкненому живленні. Вбудований в мікроконтролер аналоговий компаратор використано для своєчасного виявлення зменшення напруги живлення. Лічильник запам'ятовує результат рахунку при відключенні живлення, відновлюючи його при включенні, і аналогічно механічному лічильнику має кнопку обнулення показань.

Схема лічильника представлена ​​малюнку. Шість ліній порту (РВ2-РВ7) і п'ять ліній порту D (PDO, PD1, PD4-PD6) використані для організації динамічної індикації результату рахунку на світлодіодний індикатор HL1. Колекторними навантаженнями фототранзисторів VT1 і VT2 служать вбудовані мікроконтролер і включені програмно резистори, що з'єднують відповідні висновки мікроконтролера з ланцюгом його живлення.

Збільшення результату рахунку N на одиницю відбувається в момент переривання оптичного зв'язку між діодом випромінюючим VD1 і фототранзистором VT1, що створює наростаючий перепад рівня на вході INT0 мікроконтролера. При цьому рівень на вході INT1 повинен бути низьким, тобто фототранзистор VT2 повинен бути освітлений діодом випромінюючим VD2. У момент наростаючого перепаду на вході INT1 за низького рівня на вході INT0 результат зменшиться на одиницю. Інші комбінації рівнів та їх перепадів на входах INT0 та INT1 результат рахунку не змінюють.

Після досягнення максимального значення 9999 рахунок триває з нуля. Віднімання одиниці з нульового значення дає результат 9999. Якщо зворотний рахунок не потрібен, можна виключити з лічильника випромінюючий діод VD2 і фототранзистор VT2 і з'єднати вхід мікроконтролера INT1 із загальним проводом. Рахунок йтиме лише на збільшення.

Як уже сказано, детектором зниження напруги живлення служить вбудований в мікроконтролер аналоговий компаратор. Він порівнює нестабілізовану напругу на виході випрямляча (діодного мосту VD3) із стабілізованим на виході інтегрального стабілізатора DA1. Програма циклічно перевіряє стан компаратора. Після відключення лічильника від мережі напруга на конденсаторі фільтра випрямляча С1 спадає, а стабілізований деякий час залишається незмінним. Резистори R2-R4 підібрані так. що стан компаратора у цій ситуації змінюється протилежне. Виявивши це, програма встигає записати поточний результат рахунку в EEPROM мікроконтролера ще до припинення його функціонування через вимкнення живлення. При наступному включенні програма прочитає число, записане в ЕЕРРОМ, та виведе його на індикатор. Рахунок буде продовжено з цього значення.

Зважаючи на обмежену кількість висновків мікроконтролера для підключення кнопки SB1, що обнулює лічильник, використаний висновок 13, що служить аналоговим інвертуючим входом компаратора (AIM) і одночасно - "цифровим" входом РВ1. Дільником напруги (резистори R4, R5) тут заданий рівень, що сприймається мікроконтролером як високий логічний. При натисканні на кнопку SB1 він стане низьким. На стан компаратора це не вплине, тому що напруга на вході AIN0, як і раніше, більша, ніж на AIN1.

При натиснутій кнопці SB1 програма виводить у всіх розрядах індикатора знак мінус, а після її відпускання починає рахунок з нуля. Якщо при натиснутій кнопці вимкнути живлення лічильника, поточний результат не буде записаний в EEPROM, а значення, що зберігається там, залишиться колишнім.

Програма побудована таким чином, що її легко адаптувати до лічильника з іншими індикаторами (наприклад, із загальними катодами), з іншим розведенням друкованої плати і т.п. від вказаної.

При напрузі джерела 15 вимірюють напругу на контактах 12 і 13 панелі мікроконтролера щодо загального дроту (конт.10). Перше має перебувати в інтервалі 4...4.5, а друге - бути більше 3,5, але менше першого. Далі поступово зменшують напругу джерела. Коли воно впаде до 9... 10, різниця значень напруги на контактах 12 і 13 повинна стати нульовою, а потім поміняти знак.

Тепер можна встановити панель запрограмований мікроконтролер, підключити трансформатор і подати на нього мережну напругу. Через 1,5...2 с потрібно натиснути кнопку SB1. На індикатор лічильника буде виведена цифра 0. Якщо на індикатор нічого не виведено, перевірте ще раз значення напруги на входах AIN0.AIN1 мікроконтролера. Перше має бути більше за друге.





Коли лічильник успішно запущено, залишається перевірити правильність рахунку, по черзі затінюючи фототранзистори непрозорою для ІЧ променів пластиною. Для більшої контрастності індикатори бажано закрити світлофільтром із червоного органічного скла.



Ще якщо хтось буде збирати лічильник на Atiny2313 без кварцу,
Фьюзи я запрограмував так



вихідний ASM
Прошивка

Варіант 1: ATmega8 + Nokia 5110 LCD + живлення 3V

У схемі використовують Atmega8-8PU (зовнішній кварц частотою 8MHz), Nokia 5110 LCD і транзистор для обробки імпульсів від геркона. Регулятор напруги на 3,3V забезпечує живлення для всього кола.

Всі компоненти були змонтовані на макетній платі, включаючи роз'єми для: ISP - програматора (USBAsp), 5110 Nokia LCD, живлення (5V, що подається на 3.3V - регулятор), геркона, кнопки скидання та 2-контактний роз'єм, що використовується для зчитування полярності обмотки двигуна приводу верстата, щоб знати, збільшувати або зменшувати лічильник.

Призначення роз'ємів:
J1: Харчування. На роз'єм надходить 5V і далі на стабілізатор L7833 для отримання напруги 3,3V, використовуваного ATmega8 та LCD.
J2: Гніздо РК-екрана Nokia 5110 LCD.
J3: Геркон. Вхід імпульсів для підрахунку мікроконтролерів.
J4: Роз'єм полярності. Він повинен бути підключений паралельно до обмотки двигуна. Схема стеження була розрахована для 12-вольтового двигуна, але її можна застосувати під іншу напругу двигуна, регулюючи номінали дільників напруги, утворені R3-R4 та R5-R6. Якщо двигун підключений до прямої полярності, на PD0 буде висока балка. рівень, якщо двигун підключений до зворотної полярності, то PD1 буде високий лог. рівень. Ця інформація використовується в коді для збільшення або зменшення лічильника.
J5: Скидання лічильника. При натисканні кнопки відбудеться обнулення лічильника.
Роз'єм ISP: це 10-контактний роз'єм для програматора USBAsp AVR.

Схема пристрою

Фото готового пристрою


Варіант 2: ATmega8 + 2x16 HD44780 LCD + живлення 5V

Деякі з моїх читачів попросили зробити варіант лічильника, в якому використовується дисплей 2x16 HD44780 (або менший варіант 1x16). Для цих дисплеїв потрібна напруга живлення 5V, тому стабілізатор на 3,3V не є актуальним.

Схема пристрою

Біти конфігурації мікроконтролера для обох варіантів: LOW – 0xFF, HIGH – 0xC9.

Архів для статті "Лічильник витків для намотувального верстата"
Опис:

Вихідний код(Сі), файли прошивок для мікроконтролера

Розмір файлу: 111.35 KB Кількість завантажень: 257

Сталося так, що припекло мені трансформатор мотати, все б добре, та верстата тільки не вистачає – від тут і почалося! Пошук по інтернетах дав деякі можливі варіанти верстато-побудови, але бентежило мене те, що підрахунок витків проводиться знову ж таки механічним лічильником, здобутим зі спідометра або старого магнітофона, а також геркони з калькуляторами. Хм …. На механіку, у плані лічильника, у мене не стояло абсолютно, спідометрів на розбирання у мене немає, зайвих калькуляторів теж. Та й як сказав тов. Seregaз РадіоКота: « Хороші електронники, найчастіше - погані механіки!». Може я і не найкращий електронник - але механік точно паршивий.

Тому вирішив я зварганити електронний лічильник, а всю механічну частину пристрою доручити на розробку сімейству (благо батько і брат у мене саме аси в частині механіки).


Прикинувши одне місце до іншого, вирішив, що 4 розрядів індикаторів мені вистачить з головою - це не багато - не мало, а 10 000 витків. Управляти всім неподобством буде контролер, ось тільки улюблені ATtiny2313 і ATmega8 мені здалося зовсім не комільфо пхати в такий пльовий пристрій, завдання просте і вирішувати її потрібно просто. Тому будемо користувати ATtiny13 - напевно, найдохліший МК з тих, що є у продажу на сьогоднішній момент (я не беру PIC-і або MCS-51 - ці я тільки запрограмувати зможу, а ось програми для них писати не вмію). Ніг у цієї тиньки замало, ну ніхто не заважає нам зсувні регістридо неї прикрутити! Як датчик оборотів вирішив використовувати датчик холу.


Накидав схему:


Про кнопки відразу не сказав - а куди ж без них! Цілих 4 штуки крім ресета (S1).

S2 - включає режим намотування (режим встановлено за замовчуванням) - з кожним оборотом осі з котушкою буде збільшувати значення витків на 1
S3 - режим змотування, відповідно, з кожним оборотом, буде зменшувати значення на 1. Максимально змотати можна до «0» - мінус змотуватися не буде:)
S4 - читання збереженої в EEPROM інформації.
S5 - запис EEPROM поточного значення + режим.


Природно потрібно не забувати натиснути на кнопку смотування, якщо збираємося змотувати витки, інакше вони приплюсовуватимуться. Можна було повісити замість 1 датчика холу - 3 штуки або валкодер і змінити програму контролера таким чином, щоб він сам вибирав напрямок обертання, але думаю в даному випадку це зайве.


Тепер небагато за схемою:
Як бачимо, нічого надприродного у ній немає. Живиться все це неподобство від 5В., Струм споживає щось в районі 85мА.


З датчика холу TLE4905L (можна спробувати і інший встромити, я вибирав за принципом «що дешевше і є в наявності») сигнал надходить на контролер, генерується переривання та змінюється поточне значення, залежно від вибраного режиму. Контролер відсилає інформацію на зсувні регістри, з яких вона, своєю чергою, вирушає на семисегментні індикатори чи клавіатуру. Семисегментники застосовував із загальним катодом, у мене був одразу квартет в одному корпусі, але бажаючим ніхто не заважає прикрутити 2 здвоєні або 4 одиночні з'єднавши паралельно аноди. Крапка на індикаторах не використовується, відповідно висновок H (dp) висить у повітрі. Працюють індикатори в динамічному режимітому опору в R3-R9 номіналом менше розрахункових. На транзисторах VT1-VT4 зібрано драйвери для індикаторів. Можна було застосувати і спеціалізовані мікросхеми типу ULN2803, але вирішив на транзисторах, з тієї простої причини, що у мене їх скупчилося - як бруду, деяким з них років більше ніж мені.


Кнопки S2-S4 – а-ля матрична клавіатура. "Виходи" кнопок висять на тих же провідниках як і входи регістрів, справа в тому, що після пересилання даних з контролера в регістри на входах SHcp і Ds може бути сигнал будь-якого рівня, і на вміст регістрів це ніяк не вплине. «Входи» кнопок висять на виходах регістрів, передача інформації відбувається приблизно так: спочатку контролер відправляє інформацію на регістри для подальшого пересилання на індикатори, потім відправляє інформацію для сканування кнопок. Резистори R14-R15 необхідні для запобігання бійкам між ногами регістрів/контролера. Пересилання інформації на індикацію і на сканування клави відбувається на великій частоті (внутрішній генератор в тині13 налаштований на 9,6 МГц), відповідно як швидко ми не намагалися б натиснути і відпустити кнопку, за час натискання відбудеться багато спрацьовувань і відповідно нулик з кнопки побіжить на зустріч одиниці з контролера. Ну і така неприємна річ як брязкіт контактів кнопок знову ж таки.


Резисторами R16-R17 підтягуємо нашу клавіатуру до живлення, щоб під час простою з виходів клавіатури на входи контролера приходила одиниця, а не Z стан, що тягне помилкові спрацьовування. Можна було обійтися і без цих резисторів, внутрішніх pull-up резисторів у МК цілком достатньо, ну та рука у мене не піднялася їх прибрати – береженого бог береже.


За схемою начебто й усе, для тих, хто зацікавився, наводжу список компонентів. Відразу зазначу, що номінали можуть відрізнятися в той чи інший бік.

IC1 - мікроконтролер ATtiny13, можна застосувати з літерою V. Розпинування для варіанта в SOIC-і така ж як на схемі. Якщо у когось виникне бажання застосувати в корпусі QFN/MLF - тому даташит до рук.
IC2-IC3 - 8-ми розрядні зсувні регістри з клямкою на виході - 74HC595, на макеті я використовував у корпусах DIP на платі в готовому пристрої в SOIC-і. Розпинування однакове.
IC4 – цифровий однополярний датчик холу TLE4905L. Обв'язка по датасіту R2 - 1k2, C2-C3 по 4n7. При встановленні датчика на верстат перевірити, на який бік магніту він реагує.
C1, C4 і C5 - конденсатори фільтруючі живлення, я ставив по 100n, повинні бути встановлені, якомога ближче до живильних висновків мікросхем.
R1 – резистором підтягуємо ногу ресет до живлення, 300Ом – і далі. Я встановлював 1k.
R3-R9 - струмообмежувальні резистори для індикаторів. 33 Ом - 100 Ом, чим більше опір, тим відповідно тьмяніше світитимуть.
R10-R13 - обмежують струм у ланцюгах баз транзисторів. На макеті стояли по 510 Ом, у плату вкрутив по 430 Ом.
VT1-VT4 - КТ315 з будь-якими буквеними індексами, можна замінити на КТ3102, КТ503 та аналоги.
R14-R15 як писалося вище для запобігання "бійки", думаю можна поставити від 1k і вище, але не задирати вище 4k7. При R16-R17 рівних 300 Ом, сумарний опір послідовно з'єднаних резисторів не повинен перевищувати 5k, в ході моїх експериментів з підвищенням опору вище 5k з'являлися помилкові спрацьовування кнопок.


Після перевірки роботи лічильника на макеті, настав час зібрати залізницю в «закінчений пристрій».


Плату розводив у SL, причому розвів швидше за все не оптимально - підганяв під наявні деталі, ліньки мені було на ринок їхати купувати інші. Загалом розвів, надрукував на прозорій односторонній плівці Lomond для чорно-білих лазерних принтерів. Друкував у негативі, у 2-х примірниках. Негатив - бо збирався ПП робити за допомогою плівкового фоторезиста, а він у свою чергу NEGATIVE. А в 2-х примірниках - щоб при поєднанні вийшов максимально непрозорий шар тонера. Немає в мене бажання ще й балон із аерозолем TRANSPARENT 21 купувати.


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


Тепер треба підготувати фольгований текстоліт. Хтось трет його дрібною шкіркою, хтось гумкою, а я, останнім часом, віддаю перевагу наступним варіантам:
1. Якщо мідь не дуже засрата окислами, досить її протерти тампоном змоченим у нашатирному спирті - ох і смердюча херня доповім я Вам, не подобається мені це заняття, але зате спритно. Ідеально мідь блищати після цього не буде, але оксид спирт змиє і плата протруїться.
2. Якщо мідь загажена порядно, я її полірую повстяним колом. Вішаю його на дриль та вуаля. Особливо тут старатися не треба, пасту ГОІ я не застосовую, для подальшого протравлення достатньо тільки повстяного кола. Швидко та ефективно.
Загалом підготували - фото викласти не можу, блищить зараза як дзеркало і нічого не видно на фотці, фотограф з мене паршивий.


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


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


Далі накладаємо шаблон на плату, тут плата двостороння, тому шаблон буде по обидва боки плати. Кладемо цей бутерброд на лист оргскла і притискаємо вторим листом зверху. Два листи необхідні для того, щоб після засвічення однієї сторони, можна було акуратно перевернути плату не зсунувши фотошаблон.
Засвічуємо з іншого боку. Я користуюсь ось такою лампою:

Засвічую з відстані десь 150мм протягом 7 хвилин (відстань і час підбираються експериментально).



Далі готуємо слабкий лужний розчин – чайна ложка кальцинованої соди на півлітра води. Температура води – не важлива. Розмішуємо, щоб розчинилася вся сода. Для рук цей розчин не небезпечний, на дотик як мильна вода виходить.


Знімаємо з нашої плати захисну плівку і кидаємо в розчин, після чого активно пензликом починаємо терти - але особливо не натискаємо, щоб не здерти доріжки. Можна звісно і не терти, але тоді є варіант змиватися фоторезист буде:
- довго
- змиється все
а нам чи то не інше не підходить, тому трьом.
отримуємо щось схоже:

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


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


Далі лудимо. Для маленьких плат або дуже ювелірних користуюся сплавом Розе, для таки плат - тупо паяльником з плоским жалом розмазую олово по платі. Плату в цьому випадку має думку покрити флюсом, я користуюся звичайним спирто-каніфольним.

Комусь може здатися що доріжки вийшли не дуже рівними - доріжки вийшли рівними:) це витрати методу лудіння паяльником, олово не рівномірно лягає.

У закінченому варіанті кнопка скидання відсутня - ну нікуди мені її було на платі встромляти, тож місця мало, а якщо зависне МК, значить знеструмлю і заново включу. Так само з'явився діод у ланцюзі живлення – захист від переполюсування. Що стосується решти деталей - то використовував лише ті, що були під рукою, тому тут і SMD, і звичайні корпуси.


На нерухомій частині верстата кріпимо датчик, на вісь обертання встановлюємо магніт таким чином, щоб він при обертанні проходив 3-5 мм від датчика. Ну і користуємось:)


Тепер точно все, дякую всім за увагу, а товаришам GP1і Avrealза допомогу у розробці.



Завантаження...
Top