Такааа - да ви разкажа аз за една интересна случка. Такова нещо не съм виждал досега.
Правя контролер за стъпков двигател с този процесор. Като добавя съответна периферия, става драйвер за уни- и биполярни двигатели.
Направих една малко изчанчена схема за биполярен двигател, с тразнистори по схема емитерен повторител - може да се каже, че се получи комплементарен емитерен повторител - един НПН отгоре и един ПНП отдолу. Всъщност това си е чисто усилвателно стъпало по ток. Извинявам се, не мога да чертая схеми в момента. Идеята е да захравя двигателя с 5 волта, ползвайки 12-волтова шина и по този начин аз просто повтарям напрежението от изходите на процесора и си усилвам по ток. Използвам изводи ГП0,1,2 и 5 за управление на транзисторите, а 3 и 4 ми са съответно за посока и стъпка.
При тази схема е трудно да измисля диодна защита от индукция, затова и не съм направил такава. Приемам, че на моменти ще ми се ресетва процесора и това го преглътнах - така или иначе, това е само прототип, който по-късно ще доразвия - сега проучвам принципа. Обаче (тази дума я мразя понякога!) ...
Оказва се съвсем друго. При определена комбинация на фазите, ГП5 самоволно изпада в трето състояние ... В първия момент не можах да го открия това и започнах да си мисля, че ми е цъфнал някой транзистор, щото на практика ги клатя в активен режим и е възможно да е прегрял - както казах, пробвам принципа. Бърз тест на транзисторите ми показа, че са здрави до един. Накрая, с много измервания дори и в движение стана ясно, че единия край на едната намотка на двигателя остава висящ, тоест, работят само три от четирите стъпала. И оттам нататък, тръгвайки назад опрях до този пин на процесора (напълно логично, щото друго няма). Окзава се, че той изпада в трето състояние и аз не знам по каква причина. И остава в това състояние, докато не го ресетна - нищо друго не го връща в активно състояние. Ясно е, че е от смущение от двигателя, обаче как то ще влияе на ТРИС-флага не ми е ясно. И дали всъщност влияе точно на ТРИС !?
В крайна сметка аз си реших проблема, като преместих ролята на този пин на друг. Така схемата тръгна и точно по моите очаквания, понякога си се ресетваше, заради смущенията от двигателя, но вече можех да си продължа изследванията. Впрочем сравнително добра защита се получи, като опънах изходите на стъпалата на драйвера към маса през резистори. В случая говорим за малък двигател - той консумира по около 200 милиампера за всяка намотка. Конкретно използвах резистори от по 100 ома, които да отвеждат евентуална самоиндукция към маса. Стана, сега работи стабилно. Не смея да слагам диоди към 5-те волта, защото на тази шина имам съвсем малко консумация и лесно може да се направи пиково пренапрежение от индукция. А ако ги сложа към 12 волта, става безсмислено, защото пак ще се получават тези смущения на пиновете на процесора.
Сега, ще кажете, че схемата е в разрез с всякаквите правила за буфериране на изходите и т.н. Да, това е вярно, както вече казах - изпробвам принципа. После вече като готово изделие, ще си поставя съответните буфери, вероятно с операционни усилватели, свързани като повторители или пък като тригери или нещо си ... Моята дума беше за конкретния пин, който изпада самоволно в трето състояние, ако се използва като изход. Като вход е идеален (естествено). Възможно е и други да са попадали в такава ситуация или тепърва да попадат, аз просто исках да го знаете това ...
Весели празници на всички, които още не са празнували този месец.
