Техника

Друзья, говорят, радиомеханики - добрый народ. Кто может уделить 10 минут своего времени и помочь разобраться со схемой?

Собираю плату управления вентиляторами (в корпусе ПК), которая меняет напряжения между 5 - 7 - 12 при нажатии на кнопку.

После многих неудачных попыток с потенциометрами, стабилизаторами ит. д., решил использовать Аттини13 и управление через ШИМ.

Товарищ написал тестовый скетч, который заставляет светодиод плавно "зажигаться" с нуля до максимума и обратно. Загрузил скетч в Тиню, на макетке собрал тиню и один светодиод через резистор 270Ом (вторая нога резистора через 270ом идет к земле). Подал питание - работает.

Товарищ скинул мне рабочий скетч, с прописанной кнопкой, и схему, как мне нужно все подключить, сказал подобрать значения ШИМ, что бы найти состояние 8 вольт. Перед этим отправил меня в чип и дип за транзистором IRFZ44NPBF и резистором на 100ом (10кОм у меня есть). Сказал, что больше ничего не понадобится.
Пока я ездил в магазин - он ушел спать (он из будущего, живет на 6 часов позже, часовые пояса, все дела.)

И тут у меня ступор. Я вижу тут две схемы, они слегка отличаются.
Что меня смущает:
1. Тиня питается от 5в, вентилятор от 12в. Что делать?
2. На левой части схемы изображен диод. У меня есть диод 1N5399, который отличается от того, который изображен на схеме. Надо ли его ставить?
3. На схеме не вижу кнопки, куда ее нужно поставить.

На всякий случай ниже скину скетч. И спасибо тому, кто поможет собрать мне это все на макетке!
//

#define pwm 0
#define btn 1

// Настройки
byte pwm_value[3] = {100, 200, 255}; // Значения ШИМ для трех ступеней (0-255)
// Настройки

byte mode;
bool btn_flag;

void setup(){
pinMode(pwm, OUTPUT);
pinMode(btn, INPUT);
}

void loop(){
if(digitalRead(btn) && !btn_flag){
btn_flag = true;
mode < 2? mode++ : mode = 0;
analogWrite(pwm, pwm_value[mode]);
delay(100);
}
else if(!digitalRead(btn) && btn_flag) btn_flag = false;
}
Ру
Руи
115
механический тумблер соединяющий пару последовательно/паралельно=дешево и сердито
AG
Andrey Gavrilov
66 272
Лучший ответ
1. Запитать МК от 12В через 5-вольтовый стабилизатор напряжения, например, через микросхему 7805
2. Диод ставить можно почти любой, в том числе - ваш.
3. Товарищ скинул скетч для Ардуино, а вам нужна программа и прошивка для МК который не Ардуино, то есть - не имеет загрузчика как у Ардуино. И этот скетч туда нельзя засунуть
Ольга Кульбида
Ольга Кульбида
86 310
V@lentink@ Вд Я в окопе... :)) Зачем вентилятору контроллер? о_О
Антон Михайлов Можно, Папа, можно. :)
Виктор Бурсин Программу для ардуино можно запихать программатором. Только бы с нумерацией портов разобраться аккуратно, это вообще головная боль (((

Козлы итальяшки, хоть и гении, всё через жопу, не могли для Ардуино сохранить АТмеговскую нумерацию (((
13я тиня шьется через LPT на раз. Пихать ее в Ардуину - это из пушки по воробьям. Питать Тиню можно через 7805. Диод нужен чисто для "срезания" отрицательных пиков напряжения в момент отключения тока через индуктивную нагрузку, поэтому особых требований к нему нет.
Dj
Djylia
54 430
Руи А при чем тут ардуино
1. Тиня питается от 5в, вентилятор от 12в. Что делать? - иметь оба напряжения питания. Лаверна верно посоветовала - организовать 5 В из 12 В с помощью микросхемы 7805 (в краденом советском варианте КРЕН8А). Лучше 7805L - меньше места, проще добавить в схему.
2. На левой части схемы изображен диод. У меня есть диод 1N5399, который отличается от того, который изображен на схеме. Надо ли его ставить? Для светодиодов - не нужно. Для мотора и вентилятора - НУЖНО. Там же ясно написано - для ИНДУКТИВНОЙ нагрузки (реле, мотора). Защита от обратных токов самоиндукции. Диод годится DUC - ЛЮБОЙ (ну абсолютно любой!! кремниевый)))
3. На схеме не вижу кнопки, куда ее нужно поставить.
У тебя в программе кнопка - btn
В defin'ах сказано - #define btn 1
Значит - это вывод АРДУИНО "порт 1". Для Atmega328 это наверное порт PD1 (TxD). Какой это пин для Тини - смотри сам. В принципе можешь поменять на любой свободный порт изменив эту строчку.
АА
Ахмет Амагов
78 189
Это самый простой активный регулятор на полевом транзисторе, и без разницы чем ты управляешь, хоть пальцем
Арман Дусшанов
Арман Дусшанов
50 395
Что мешает использовать недорогой реобас?
Руи то, что не существует недорогих реобасов. Мой реобас будет стоить рублей 200. А какой реобас можно купить за 200 рублей? Даже на али за 200 рублей реобасы, которые сгорают через неделю. А мой - надежный
1. стабилизатор 12 -> 5В. (78L05 напр.)
2. Диод на моторе нафиг не нужен. И нагрузка там нихрена не индуктивная как написано.
3. Ты сначала спроси у своего товарища он тебе скетч для тини или для ардуино написал. Одно не работает в другом. Если будет на тине, то пусть пишет прогу для тини. И скажет тогда на какой порт повесил кнопку.
Dastan Aidarbekov
Dastan Aidarbekov
66 571
Ахмет Амагов ТАКАЯ программа будет работать и на том, и на другом. И писал он видимо для Тини, раз использовал порты, нормально зарезервированные под RC323
Из описания я не понял - как вам нужно управлять вентиляторами - ПЛАВНО или чтобы на них было дискретно -

сперва 5 - после переключения - 7, после следующего нажатия - 12
Ахмет Амагов Так же у него программа (скетч на диком сленге ардуинщиков) приведена.
Дискретно: byte pwm_value[3] = {100, 200, 255}
И переключаются по кнопке по циклу по нажатой кнопке
mode < 2? mode++ : mode = 0;
1) запитать тиньку через стабилизатор 7805.
2) надо, ставь.
3) транзистор с движком к 5 ноге тиньки, кнопку к 6 ноге

Шить только через isp программатор или ардуину в качестве isp программатора. Предварительно зашив "загрузчик" (на самом деле это программирование фузов и выбор рабочей частоты, полноценный загрузчик в тиньку не шьется).
.
J S
J S
39 981
че так сложно то..
шимы ардуино и проч херню..
тумблер со средним положением и два резистора - вся схема..
/радиомеханики - добрый народ /. - наговаривают на них
Жанна Удинкан
Жанна Удинкан
7 208
Ахмет Амагов Очень добрые... если им лабораторного спирта принести грамм 500. И мини надеть))))
Почему не использовать управляющий сигнал вентилятора процессора,..
а вместо "void loop" классическую схемотехнику.
Bezeb Bezebovich
Bezeb Bezebovich
3 665