Ние регулираме скоростта на въртене на двигателя с помощта на ШИМ (PWM) на ATtiny2313, AVR Lab устройства на
AVR форум
Ние регулираме скоростта на въртене на двигателя с помощта на PWM (PWM) на ATtiny2313
Изпълнението на контрола на скоростта на двигателя е доста просто. За да направите това, трябва да знаете какво е модулация на ширината на импулса (PWM на английски PWM), за да имате представа за възможните варианти за нейното прилагане.
В този пример ще ви кажа как да използватесофтуерна ШИМ, т.е. няма да се използват специални таймери-броячи със софтуерШИМ.ШИМ използвайки хардуерния ресурс на таймери-броячи се нарича хардуерен ШИМ, моят колега се изказа добре за това.
И така, алгоритъмът е следният, необходимо е да се организира намаляване и увеличаване на пълнотата на импулсите чрез натискане на бутоните "+" и съответно "-". Подпрограмите за намаляване и увеличаване на скоростта на въртене ще се активират от два бутона, които от своя страна ще бъдат свързани към прекъсванията int0 и int1. Подобно решение се дължи на факта, че няма да има повече бутони за управление, което означава, че прекъсванията са просто грях да не се използват. Съответно скоростта ще се увеличи или намали в зависимост от пълнотата на импулсите, превключващи силовата верига на управлението на двигателя.
Схемата на устройството е както следва:

В основния цикъл на програмата ще бъде самата програма за внедряване насофтуерна ШИМ.
Пин 12 на микроконтролера AtTiny2313 трябва да бъде свързан към захранващата верига. Предлагам да се изгради захранваща верига за управление на двигателя върху комплект от два полеви транзистора IRF7105. Доста евтин, компактен и достъпен в търговската мрежа монтаж. Предимството на използването на полеви транзистори е, че тепрактически няма спад на напрежението и всъщност те не се нагряват поради това. Малък недостатък е напрежението на отваряне на транзисторите с полеви ефекти на този монтаж, според паспорта е 5V, но експериментално е проверено, че е около 4V.
А това означава, че ще имаме доста тесен диапазон от промени в оборотите на двигателя от 4V до 5V. По принцип можете да използвате всяка друга схема за управление на мощен товар, използването на такава схема се дължи на ниската мощност на портовете на микроконтролераATTiny2313 и всъщност всички микроконтролери от семействотоAVR. За да не се изгорят портовете на микроконтролера, се използва верига за управление на натоварването на мощността и в този случай колекторен двигател.

Видео за работа на контролера:
Това е страхотно! :) Благодаря за
Това е страхотно! :) Благодаря за статията и източника. Запали моя двигател. Разбира се, не мина и без танци с тамбура. Но това се дължи главно на самия двигател. Моят двигател е доста мощен (мини свредла за бормашини често се правят от такива). Проблемът е, че той не искаше да стартира при ниски скорости и спря, когато скоростта беше намалена, а самият режим PWM не пасваше, не работеше както бихме искали. Освен това програмата не предоставя "ограничители" за скорост. Тези. Например, натискайте бутона за намаляване на звука през цялото време. Скоростта намалява, намалява. И тогава идва момент, когато променливата за ШИМ преминава през нула до отрицателни стойности. В този момент двигателят ми е практически спрял. можете да кажете "Излитане" от масата с максимална скорост. Бях меко казано шокиран. Добре че беше залепен само за осталист хартия, а не нещо "по-тежко". Като цяло, след няколко часа копаене в програмата, промяна на променливи, диапазон, успяхме да постигнем повече или по-малко нормални резултати. Като цяло проблема с ниските обороти си остава (е, такъв двигател, нищо не може да се направи), но шаймата работи супер. С прекъсвания, всичко също бръмчи! :)
необходима помощ
можете ли да ми кажете как е възможно да се управлява двигателят mn-145A с номинално напрежение от 27 волта и ток от 0,6-0,7 ампера, като се използва подобно схемно решение
Да, схемата остава.
Да, действителната верига остава същата, единственото нещо е, че полевият транзистор трябва да бъде по-мощен, можете да вземете например irfz44. И обърнете внимание на микроконтролера повече от 5 волта не може да се приложи!
Помощ за tiny85
Помощ на tiny85 за управление на сервото през USB (без допълнителни чипове и кварц) - за да отворите ком порта и там да напишете ъгъла, който ми трябва?
И искам денят да бъде
И искам да имам 34 часа на ден. Фразата ". през USB. " ". отворен com порт. " е убита
добре, какво е? виртуален
добре, какво е? виртуален com порт - не е ли възможно?
". чрез USB (без
". през USB (без допълнителни чипове и кварц)." - нуууууу, с такива условия.
добре, те го правят) obdev.at/products/vusb/easylogger.html само задачата е малко по-различна и има малко документация)) или е много по-трудно да се преобразува аналогов вход в цифров?
Оценете това по трудност.
Оценете сложността на този проект, като вземете предвид факта, че няма изходен код. От 1 до 100. Ако мигате светодиода, това е например 5! И кажете ми колко хора познавате, които могат сами да напишат USB софтуерния протокол.
неправилно твърдение
неправилно изложение на проблема. какво да взема за 95? (нямам достатъчно въображение))) това USB PWM ли е? източникът на USB частта изглежда е там (на същия V-USB) и изглежда, че е имало реализации на точно такива неща от прехвърляне на данни от компютър към устройство. остава само да окачите подложката и да комбинирате всичко в един проект. за начало нямам достатъчно, за да се справя с работата на софтуерния USB))) Имам нужда да бъде добре сдъвкан) - затова питам)))
Имам нужда от съвет!
Кой ще ти каже какъв е проблема, когато се сглоби тази схема, моторът върти постоянно на бутоните, няма гу гу! предпазители? Копирах програмата директно от тази страница! оформление на бутони от http://avrlab.com/node/37, както разбирам. Фърмуера тече нормално и бръмченето е компилирано!
Код от сайта, ако вземете и
Ако вземете и копирате кода от сайта, той няма да работи, трябва да премахнете номерацията на редовете. За всеки случай вижте дали оптимизацията на кода е активирана, тя може да премахне ненужните паузи и програмата ще работи зле.
Бутоните наистина са изтеглени с +5V резистори.
Номерацията на редовете не се копира
Номерацията на редовете не се копира, когато се копира чист код!
Всичко тук се базира на
Тук всичко се основава на прекъсване! Само за да тествате прекъсването, напишете проста програма, която, когато натиснете външния бутон за прекъсване, включва светодиод или нещо подобно. По този начин можете да проверите дали прекъсванията работят в самия микроконтролер. Обърнете внимание на свързването на библиотеката за прекъсвания, конфигурирането на прекъсванията и самото разрешаване на глобалното прекъсване. Всичко трябва да е както в списъка на програмата на страницата на сайта.
Ех, ако можех да пиша програми!
О, само ако можех да пиша програми! Защотози не работи, каква е тайната?
О, само ако знаех как
О, ако можех да напиша FAQ)) за мен писането на код е като в космоса)
Не, има такъв израз.
Не добре, има такъв израз ". да се осраеш и да не се нацупиш. " Не се казва обида, но нищо няма да се случи без затруднения. Ако има проблем - правилното му решение е в разбирането на решението му и способността да се направи необходимото за решението. Няма начин без него.
Разбирам всичко! просто новак
Разбирам всичко! Аз съм просто начинаещ в тази област, опитвам се да го разбера с помощта на примери, кодирането все още е в плановете, добре, ще се научи и хс как ще бъде! Часовникът наскоро събра всичко според схемата от първия път, работи там не по-трудно от тази глупост, но тук пречка Не знам защо фърмуерът не работи или е компилиран по някакъв начин не толкова по-кратък xs!