МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/мин)

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
takei
Нашел транзистор. Понюхал.
Сообщения: 181
Зарегистрирован: Пн янв 14, 2013 15:06:57
Откуда: Д.Вс.

МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/мин)

Сообщение takei »

Здравствуйте уважаемые участники этого форума.
Подскажите, как этой схемой, можно управлять колекторным двигателем от микроконтроллера
Изображение
Ранее я расматривал вариант МОС3063 + ВТ 136 но столкнулся с трудностью согласования импульсов с началом фазы
А эта стандартная(кстати китайская) схема регулировки , практически у всех бытовых приборов, осталось только грамотно реализовать принципиальную схему , управления от мк (и неплохобы использовать цифровой ШИМ).
Вложения
power_regulator.gif
(10.43 КБ) 43523 скачивания
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение otest »

Ни как нельзя.
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение zero648 »

zero648 писал(а):Регулятор переделан из мастеркитовского набора (NM1041), только на атмега8, поставил светодиодный барграф, полный накал индикатора +10% мощности, в полнакала +5% мощности, семисегментники сюда просто не вписываются.
Изображение Изображение Изображение

P.S. Регулировка фазоимпульсная....

Для болгарки думаю потянет, зависит от мощности симистора, в этом на 8A/250V.

P.S. Если заинтересует есть схема, плата в layout для mega8-TQFP, прошивка тоже для TQFP. Прошивку можно и для PDIP переделать, но схема немного изменится.
takei
Нашел транзистор. Понюхал.
Сообщения: 181
Зарегистрирован: Пн янв 14, 2013 15:06:57
Откуда: Д.Вс.

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение takei »

otest писал(а):Ни как нельзя.

Не ну сказать никак это ....никак.
Вот можно сделать ступенчатое переключение
Изображение
конечно затратно, но все же без участия человека, автоматика на МК может переключать несколько скоростей...

zero648 писал(а):Регулировка фазоимпульсная.......
P.S. Если заинтересует есть схема,

Да интересует мне нужно найти схемное решение для управления двигателя этой схемой от микроконтроллера.
Сама схема (которую я приложил к своему собщению) это регулятор (кнопка)
Изображение
практически на всех известных мне бытовых иструментах.
Наверняка можно приделать еще что нибудь, для электронной регулировки...
Вложения
power_regulator1.GIF
(9 КБ) 5730 скачиваний
Последний раз редактировалось takei Вт янв 15, 2013 11:48:50, всего редактировалось 1 раз.
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение zero648 »

В вашей схеме нужно убрать DB3 и всю его обвязку и поставить MOC3052 например, тогда и МК приделать проще будет к схеме, плюс добавить схему детектора нуля.
takei
Нашел транзистор. Понюхал.
Сообщения: 181
Зарегистрирован: Пн янв 14, 2013 15:06:57
Откуда: Д.Вс.

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение takei »

Мне примерно понятна схема МОС и ВТА
Изображение
но пока я не могу сделать свою программу с привязкой к импульсу перехода через ноль синусоиды сетевого напряжения, начинающийся в начале фазы (детектор фазы).

Я тут кстати для себя немного уяснил область применения МОС
МОС304х и МОС305х - полностью не взаимозаменяемы:
Изображение Изображение
МОС304х имеет встроенную схему включения при пересечении напряжением нуля (т.е., предназначен для использования в качестве своеобразного "реле переменного тока" - включено-выключено),
а МОС305х ее не имеет и может использоваться для фазового регулирования (например, в диммерах, для плавной регулировки мощности нагрузки).

Хотелось бы использовать схему с этим готовым блоком с db3, или я всетаки не совсем правильно я вас понял, что это значит? "плюс добавить схему детектора нуля." Это нужно делать программно в микроконтроллере?
Вложения
5296644.png
(12.94 КБ) 5382 скачивания
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение zero648 »

В схеме с DB3 используется задержка открывания симистора в начале полупериода, зачем её использовать вместе с контроллером, если контроллер сам будет регулировать эту задержку, схема получится сложнее, проще с MOC, но нужно добавить схему детектора нуля.

В архиве проект переделал под ATmega8 в DIP корпусе.
Вложения
Bolgarin_PWM_220V.rar
(29.85 КБ) 518 скачиваний
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение Барсик »

А по какому алгоритму МК должен управлять болгаркой? Типа, нажал кнопку и ушёл спать, а болгарка сама начинает пилить всё подряд без участия человека? :)
У меня есть проект диммера на ATtiny13. Диммер управляется тремя кнопками. Кнопка 1 - включение/выключение. Кнопка 2 - больше. Кнопка 3 - меньше. Ну и, разумеется, плавное нарастание яркости при включении до заданного кнопками значения.

Схема в прикошаченном файле.
Вложения
dimmer2.gif
(9.48 КБ) 1688 скачиваний
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение clawham »

я сделал свою болгарку проще!

Человеку надо плавный старт и стабилизация оборотов!

для этого я выпрямляю сетевое на кондер 400 микрофарад 600 вольт
потом полевиком ШИМлю на высокой частоте

парралельно считаю кол-во импульсов от крыльчатки вентилятора ротора оптопарой....
подаётся питание, болгарочка проверяет коротким рывком не заторможен ли ротор и начинает плаавненико 10 секунд разгоняться ... как дошло до 5000 оборотов - мощность снижается...примитивный ПИ регулятор....

начинаем пилить и обороты не проседают.....но....болгарки нынче слааабенькие...и по нагреву до 90 градусов отработанного воздуха я начинаю раз в секунду коротко переводить частоту ШИМа в 1 килогерц...в результате мотор начинает ПИЩАТЬ....и я понимаю что пора бы отпустить нагрузку....как только мк заметил это - сбавляет обороты до 800 на роторе и продолжает часто пищать....идёт охлаждение....мотор ненагружен не на пределе и вентилятор нормально качает воздух....при температуре 60 градусов - пищит дооолго и начинается разгон до номинала....

я думаю именно это нужно любому электроинструменту с колекторниками форсированными....особенно это электролобзиков и перфораторов касается - инструмент со склонностью заклинить.....сколько бы я пилок с экономил ... если б и на лобзик сделал такое :)...есть конечно и проблема...диод надо ультрафаст и на напругу 800 вольт...и он на 32 килогерцах греется....так же нужен драйвер полевика...ибо тоже...чатсота не абы какая....
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
takei
Нашел транзистор. Понюхал.
Сообщения: 181
Зарегистрирован: Пн янв 14, 2013 15:06:57
Откуда: Д.Вс.

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение takei »

Алгоритм работы такой...
1. болгарка используется не по прямому назначению, она работает как вентилятор.... я думаю никто не испугается если пылесос будет работать как вентилятор.
2. думаю все кто читает этот форум держали в руках например шуроповерт, и убедились что кнопка по приведенной мной выше схеме работает очень стабильно от 0 и до 100% мощности, плавно и надежно (я не про мех.часть кнопки))). Можно даже сказать схема "золото"

3. У меня работать так . Сначала плавный пуск до 800об.мин. с переходом на 2000об.мин , в нужное время будет еще 8000об.мин или 10000об.мин и потом опять 2000об.мин или выкл. вот всего навсего что нужно мне для "счастья"))).

4. и все же благодаря обсуждению в этом форуме, удалось услышать в ваших советах то что мне нужно.
Предполагаю использовать в этой схеме вот такую деталь
резисторную оптопару
Изображение
Надеюсь, что смогу управлять его сопроивлением с помощью простого ШИМа.
5. осталось достать такой опторезистор , насколько я понимаю при советской промышлености был их выпуск, а с импорными аналогами наверное я буду в "пролете" :(
Вложения
22.png
(18.61 КБ) 5901 скачивание
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение clawham »

1) выбросьте вы эти симисторы
2) если считаете эту схему золотом - то вы просто не знаете как у соседей компьютер сам включается или помехи на телеке сыпятся...кроме того все трансформаторы гудеть будут как подорванные...

3) да...конечно резисторная оптопара это кул...но сейчас её не найти ...и у неё проблема с допуститым нарпяжением на концах того самого резистора...там порядка 60 вольт было....а у вас там все 300 будут...

4) никто не запрещает взять биполярник на 400 вольт, резистор килоом 50 и заменить этим биполярником этот переменник в вашей кнопке, тогда пороговый конденсатор вы будете заряжать порциями...и в теории там низковольтной оптопары типа 4n25 должно хватить...НО...ЗАчЕМ?

собрали детектор нуля, завели его на прерывание мк, по прерыванию обнулили счетный регистр 16-тибитного счетчика работающего на 1 килогерце и далее выставили значение совпадения...

совпадение = 0 - максимуму мощности
совпадение = 65536 - ноль мощности

по прерыванию совпадения вы глушите таймер и выдаёте короткий открывающий импульс оптосимистору который откроем силовой симистор...
это при условии что на полный период сетевого напряжения вы получите два прерывания в начале положительной и в начале отрицательной полуволны
если же только одно прерывание то тут немного сложнее

нужно использовать два регистра и прерывания по переполнению и первое будет в общем-то таким же а второе прерывание должно быть всегда на 10 миллисекунд позже первого....вот и все дела...можно и разные таймеры использовать чтоб точно выставить 10 миллисекунд задержку....по истечении этой задержки вы снова выдаёте один управляюющий импульс на оптосимистор

оптосимистор уже БЕЗ детектора нуля обязательно

ну а логику пишите какую хотите....скорее всего нужен быдет датчик оборотов в виде холла с магнитиком на валу мотора или оптопары со шторкой...

все эти варианты есть !
это обычные "умные" диммеры....там есть и детектор нуля и программа работы с этим сигналом прерывания и выходная схемка для оптосимистора....только там значения яркости - по таблицам и кнопкам а у вас - датчик скорости вращения
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение Барсик »

takei писал(а):Предполагаю использовать в этой схеме вот такую деталь
резисторную оптопару
Фиг Вы где найдёте резисторную оптопару, да ещё с допустимым высоким напряжением на резисторе. clawham верно говорит.
А что касается "этой" схемы, то у меня она работала плоховато. При слабой яркости лампы появлялось низкочастотное мерцание. Что, собственно, меня и сподвигло сделать нормальный диммер на микроконтроллере.
Аватара пользователя
petruxa99
Открыл глаза
Сообщения: 71
Зарегистрирован: Вс фев 19, 2012 18:01:05
Откуда: Chelyabinsk, RF
Контактная информация:

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение petruxa99 »

Возможно не в тему,я в этом не особо шарю, но вот схема где управляют симистором BT 136,(и точно работает с BT 139,сам проверял)
http://radiokot.ru/circuit/power/converter/17/
И у самого вопрос, можно ли симистор подключать к реактивной нагрузке в качестве регулятора ?
Изображение
takei
Нашел транзистор. Понюхал.
Сообщения: 181
Зарегистрирован: Пн янв 14, 2013 15:06:57
Откуда: Д.Вс.

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение takei »

Барсик писал(а):
takei писал(а):Предполагаю использовать в этой схеме вот такую деталь
резисторную оптопару
Фиг Вы где найдёте резисторную оптопару, да ещё с допустимым высоким напряжением на резисторе. clawham .

Согласен, но как вариант можно было бы взять какой нибудь светодиод Изображение
И вот такой фоторезистор у меня есть, в сборе это и будет опторезистор
Изображение
сведений не имею он до 50 вольт или нет, если до 50 вольт то после эксперимента можно будет сказать , что у меня БЫЛ этот фоторезистор :))


Но это же еще не все, за два дня я тут умудрился написать изощренный КОД, запутался в котором я совсем, прерывание, таймер, задержки.........
в общем пока принимаю соболезнования принимаю ...))))) , вот часть кода с который я как мог сообразил.
Спойлер

Код: Выделить всё

#include <mega8.h>
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
 #include <stdio.h>
#include <delay.h>
#define TTT_PIN PORTD.0    // пин управления 
#define pljus_PIN  PINC.0
#define minus_PIN  PINC.1
unsigned char   procent=52;
// Таблица задержек для 16-тибитного таймера
flash const unsigned int  Period[99] = {
20324,  // 1% нагрузки
19794,  // 2% нагрузки
19384,  // 3% нагрузки
19036,18728,18450,18190,17948,17720,17504,17296,17096,16904,16718,16536,16360,16188,16022,15858,15696,
15538,15384,15232,15082,14934,14788,14644,14500,14360,14220,14082,13944,13808,13674,13540,13406,13274,13142,
13012,12882,12752,12622,12494,12366,12238,12110,11982,11854,11728,11600,11472,11346,11218,11090,10962,10834,
10706,10578,10448,10318,10188,10058,9926,9794,9660,9526,9392,9256,9118,8980,8840,8700,8556,8412,8266,8118,
7968,7816,7662,7504,7342,7178,7012,6840,6664,6482,6296,6104,5904,5696,5480,5252,5010,4750,4472,4164,
3816, // 97% нагрузки
3406, // 98% нагрузки
2876  // 99% нагрузки
};
interrupt [EXT_INT0] void ext_int0_isr(void)
{
TTT_PIN = 1;
TCNT1 = 0; // сбросили таймер
  GICR&=~(1<<6);  // запретили прерывание INT0 // GIFR = 0x10000000
}

// Timer1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
TTT_PIN = 0;
 GIFR|=(1<<6);     // сбросили флаг прерывания - Флаг сбрасывается ЕДИНИЦЕЙ
 GICR|=(1<<6);
                           
OCR1A = Period [procent]*2;
//OCR1B = Period [procent]+100;
//        TCNT0=0xFA;                                                             // запускаем таймер на 96 мкс
//        TCCR0=0x04;                                                             // частота таймера 62.500 кГц
}

// Declare your global variables here

void main(void)
{
PORTB=0b00000000;
 DDRB=0b00000000;
PORTC=0b00000011;
 DDRC=0b00000000;
PORTD=0b00000000;
 DDRD=0b00000001;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 4000,000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x9C;
OCR1AL=0x40;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Rising Edge
// INT1: Off
GICR|=0x40;
MCUCR=0x03;
GIFR=0x40;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x10;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
lcd_init(16);
// Global enable interrupts
#asm("sei")

while (1)
      {   
     
                                  lcd_gotoxy(0,0); 

                                                 lcd_putchar((procent/100)%10+0x30);
                                                 lcd_putchar((procent/10)%10+0x30);
//                                                   lcd_putchar('.');
                                                 lcd_putchar(procent%10+0x30);
     
     
     
     
     
     
     
if((pljus_PIN==0)&&(procent !=99))
procent+=1;
delay_ms(10); // задержка 10 мс.

if((minus_PIN==0)&&(procent !=1))
procent-=1;
delay_ms(10); // задержка 10 мс.


      };
}

Результат есть! но только на осциллографе протеуса, а вот светодиод от моего шима не светится,? даже в протеусе, непонимаю куда он ........
если кто может помочь, посмотрите пожалуйста, проект и протеус в архиве.
Zero_herez-nuli.rar
(115.6 КБ) 330 скачиваний

petruxa99 спасибо но мне из готового может подойти только схемное решение, программу на МК смогу применить если только у меня получится управлять ей самостоятельно.....
Эта тема для меня по прежнему актуальна, спасибо что принимаете участие.
Вложения
R.jpg
(2.84 КБ) 5060 скачиваний
S.jpg
(2.98 КБ) 5551 скачивание
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение zero648 »

takei писал(а):Результат есть! но только на осциллографе протеуса, а вот светодиод от моего шима не светится,? даже в протеусе, непонимаю куда он ........
если кто может помочь, посмотрите пожалуйста, проект и протеус в архиве.
Чтобы светодиод светился в протеусе от шима, нужно поставить конденсатор параллельно светодиоду и токоограничивающий резистор в цепь светодиода.
IBIT
Встал на лапы
Сообщения: 143
Зарегистрирован: Ср фев 17, 2010 13:52:50
Откуда: Ukraine

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение IBIT »

clawham писал(а):я сделал свою болгарку проще!

ета разработка в свободном доступе? очень интеренсно посмотреть полную реализацию.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение clawham »

делал для себя...ни схемы ни платы ни прошивки как таковой нет...всё делалось на ходу исходя из встречающихся проблем...

впринципе это всё мелочи и делаются любым радиогубителем на ура...
существует в единичном экземпляре у моего отца - он строитель....заколебался покупать якоря :)

может какнибудь переделаю под подобную вещь и свою микроболгарочку да статью напишу :) ну там и делать-то нечего....обычный ШИМ, обычный сетевой выпрямитель с токовым шунтом....МК гальванически связан с сетью, питание - конденсаторное - ничего такого чтобы было важное сложное или дефицитное....единственное - холла нормального не нашел потому сделал на оптопаре....и с ними тоже проблема...из обычных мышек медленные...надо из современных брать....
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение vitalik_1984 »

zero648 писал(а):Чтобы светодиод светился в протеусе от шима, нужно поставить конденсатор параллельно светодиоду и токоограничивающий резистор в цепь светодиода.

Так а можно с этого места подробнее?на сколько конденсатор и резистор, если с Мк 5в питается?Резистора 300ом должно хватить?
Аватара пользователя
zero648
Вымогатель припоя
Сообщения: 650
Зарегистрирован: Пн июн 18, 2012 12:01:04
Откуда: Челябинская область, Копейск

Re: МК должен управлять болгаркой (MK>db3>bt136= 0 -1250 об/

Сообщение zero648 »

Сопротивления ставлю 100-200 Ом, конденсатор нужно подбирать в зависимости от частоты ШИМ, чем меньше частота тем больше емкость, могут быть лесятки, сотни и тысячи uF, для примера, при частоте ШИМа 100Гц ставлю емкость 3300-4700uF.
takei
Нашел транзистор. Понюхал.
Сообщения: 181
Зарегистрирован: Пн янв 14, 2013 15:06:57
Откуда: Д.Вс.

детектор нуля, управление фазой

Сообщение takei »

Вот первый результат по программе, и мой код
Спойлер

Код: Выделить всё

#include <mega8.h>
#include <delay.h>
#define TTT_PIN PORTD.0    // пин управления 
#define pljus_PIN  PINC.1
#define minus_PIN  PINC.0
unsigned int   procent=20000;
interrupt [EXT_INT0] void ext_int0_isr(void)
{
TTT_PIN = 0;

TCNT1 = 0; // сбросили таймер
  GICR&=~(1<<6);  // запретили прерывание INT0 // GIFR = 0x10000000
}

interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
TTT_PIN = 1;
 GIFR|=(1<<6);     // сбросили флаг прерывания - Флаг сбрасывается ЕДИНИЦЕЙ
 GICR|=(1<<6);
OCR1A = procent;                           
}
void main(void)
{
PORTB=0b00000000;
 DDRB=0b00000000;
PORTC=0b00000011;
 DDRC=0b00000000;
PORTD=0b00000000;
 DDRD=0b00000001;
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 4000,000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: On
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x9C;
OCR1AL=0x40;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Rising Edge
// INT1: Off
GICR|=0x40;
MCUCR=0x03;
GIFR=0x40;
TIMSK=0x10;
ACSR=0x80;
SFIOR=0x00;
TTT_PIN = 0;
#asm("sei")

while (1)
      {   
         if((pljus_PIN==0)&&(procent <=37800))
         procent+=1000;
         delay_ms(10); // задержка 10 мс.

         if((minus_PIN==0)&&(procent >=4000))
         procent-=1000;
         delay_ms(10); // задержка 10 мс.
      };
}


в протеусе управляет синусоидой идеально.

Изображение Изображение


В железе собрал, естественно уменя тут получился затык.....
По схеме в железе синхроимпульс нуля на INT0 приходит (осциллографа не имею, но методом тыка,))) проверил есть)
Выход PD0 , прицепил светодиод, яркость меняется, значится схема получается живая...
Далее МОС3052+ВТ136, лампа горит во весь накал, при уменьшении периода синусоиды кнопкой минус, наблюдаю слегка заметные(можно сказать беспорядочные) мерцания лампы.
Кто может поправьте... направьте. Все файлы проекта прикреплены в архиве
Вложения
12.gif
(16.67 КБ) 5584 скачивания
detektor_nulja_s_preryvaniem.rar
(96.59 КБ) 544 скачивания
11.gif
(15.43 КБ) 6108 скачиваний
Ответить

Вернуться в «Периферия»