Таймер на ATtiny13 (как подключить нагрузку?)

Обсуждаем цифровые устройства...
Ответить
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Изображение
Программа:
Спойлер

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

//Date    : 16.03.2014
//Chip type           : ATtiny13
//Clock frequency     : 9,600000 MHz


#include <tiny13.h>

bit old_SA1, SA1;
long unsigned int counter;
unsigned char data;
flash long unsigned int number[]= {32955,65909,98864,131819,164774,197729,230684,263639};

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// опрос позиции
old_SA1= SA1;
SA1= PINB.2;

if(old_SA1 && !SA1)
	{
	PORTB.4= 0; // при достижении позиции останавливаем двигатель
	//опрос кнопок
        data= 4*PINB.3 + 2*PINB.0 + PINB.1;
	// старт таймера
        counter= number[data];
        }
// отсчет таймера
if(counter) --counter;

// старт двигателя
if(counter== 1) PORTB.4= 1; 
}



void main(void)
{
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Port B initialization
PORTB=0b00001111;
DDRB= 0b00010000;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 9,375 kHz
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x05;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x02;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;

// Global enable interrupts
#asm("sei")

while (1)
{


};
}
Выключателями SA2,SA3 и SA4 задается время срабатывания с дискретом в 15 минут (от 15 до 120). Выключатель SA1 - концевик на валу.
И прошивка.
Но думаю у уважаемого Soir'а поинтереснее будет.
Вложения
timer.hex
(1.19 КБ) 622 скачивания
Docendo discimus
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

каким образом задаеться время кнопками(какие должни бить замкнутие)!я так понял что ключ на валу буде рестартовать таймер по кругу(тоесть с на
чала)??и зачем в паралель мотору диод?
какое время для роботи двигателя задано в прошивке?
Фаза есть - ума не надо!
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

pyzhman писал(а):Изображение
Программа:
Спойлер

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

//Date    : 16.03.2014
//Chip type           : ATtiny13
//Clock frequency     : 9,600000 MHz


#include <tiny13.h>

bit old_SA1, SA1;
long unsigned int counter;
unsigned char data;
flash long unsigned int number[]= {32955,65909,98864,131819,164774,197729,230684,263639};

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// опрос позиции
old_SA1= SA1;
SA1= PINB.2;

if(old_SA1 && !SA1)
	{
	PORTB.4= 0; // при достижении позиции останавливаем двигатель
	//опрос кнопок
        data= 4*PINB.3 + 2*PINB.0 + PINB.1;
	// старт таймера
        counter= number[data];
        }
// отсчет таймера
if(counter) --counter;

// старт двигателя
if(counter== 1) PORTB.4= 1; 
}



void main(void)
{
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Port B initialization
PORTB=0b00001111;
DDRB= 0b00010000;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 9,375 kHz
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x05;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x02;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;

// Global enable interrupts
#asm("sei")

while (1)
{


};
}
Выключателями SA2,SA3 и SA4 задается время срабатывания с дискретом в 15 минут (от 15 до 120). Выключатель SA1 - концевик на валу.
И прошивка.
Но думаю у уважаемого Soir'а поинтереснее будет.
можно так сделать?
Изображение
и для работи таймера контакт S1 должен бить постоянно замкнут или нажат и отпущен???
Вложения
2.JPG
(33.06 КБ) 2989 скачиваний
Фаза есть - ума не надо!
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Выключатель SA1 должен быть нажат при воздействии на него флажка, установленного на валу поворотного механизма. Т.е. если механизм находится в одном из положений, то на мк должен подаваться "0".
Соответствие между кнопками и отсчетом таймера:
SA4 отпущен, SA3 отпущен, SA2 отпущен - 120 мин
SA4 отпущен, SA3 отпущен, SA2 нажат - 105 мин
SA4 отпущен, SA3 нажат, SA2 отпущен - 90 мин
...
SA4 нажат, SA3 нажат, SA2 нажат - 15 мин

Ключ SA1 на валу дает информацию о позиции и служит для остановки вращения.

Диод в параллель мотору служит для гашения выплесков напряжения, которые неизбежно возникают при работе двигателя, и предохраняет транзистор.

Время работы двигателя не ограничено, он вращается до достижения механизмом позиции SA1.
можно так сделать?
Для ручного управления можно, но тогда нужно разнести ручное управление и автоматическое.
Docendo discimus
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

проверьте пожалуйста правильность схеми!
Изображение
Вложения
1.JPG
схема
(40.58 КБ) 4314 скачиваний
Фаза есть - ума не надо!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

7812 убрать.

А что Soir? Неужели не откликается?
Docendo discimus
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

сказал что поможет только на другом форуме!!!а уже и тут все придумали)буду сщас розводить плату а завтра думаю попробую испитать
Фаза есть - ума не надо!
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

проверте схемку и печатку
Изображение
Изображение
Вложения
2.JPG
печатка
(110.5 КБ) 2429 скачиваний
1.JPG
схема
(37.54 КБ) 4521 скачивание
Фаза есть - ума не надо!
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вт фев 21, 2012 12:16:42
Откуда: Беларусь, Минск

Сообщение AndreW_91 »

1. К МК не подключена земля. Как на схеме, так и на плате.
2. Силовая земля делает слишком большую петлю по всей плате. Силовой полевик лучше всего разместить близко между входом питания и выходом на нагрузку. И сделать так, чтобы земля к расходилась от точки подключения питания звездой. Если просто бросить перемычку от нижней дорожки до 4 вывода МК - можете ловить сбросы или зависания МК при каждом старте/стопе двигателя.
3. У полевика перепутаны сток и исток на схеме и плате. Исток подключается на землю, сток - к нагрузке.
4. У стабилизатора перепутаны вход и выход. для 78L05 в корпусе TO-92 цоколёвка выход-общий-вход (см datasheet)
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

AndreW_91 писал(а):1. К МК не подключена земля. Как на схеме, так и на плате.
2. Силовая земля делает слишком большую петлю по всей плате. Силовой полевик лучше всего разместить близко между входом питания и выходом на нагрузку. И сделать так, чтобы земля к расходилась от точки подключения питания звездой. Если просто бросить перемычку от нижней дорожки до 4 вывода МК - можете ловить сбросы или зависания МК при каждом старте/стопе двигателя.
3. У полевика перепутаны сток и исток на схеме и плате. Исток подключается на землю, сток - к нагрузке.
4. У стабилизатора перепутаны вход и выход. для 78L05 в корпусе TO-92 цоколёвка выход-общий-вход (см datasheet)
исправил
Изображение
Вложения
плата.JPG
плата
(118.93 КБ) 2670 скачиваний
Фаза есть - ума не надо!
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

исправленная печатка(подогнал размери под детальки! и усилил дорожки силового узла)
Изображение
Проверьте пожалуйста првильность!!!
Вложения
плата.lay
плата
(12.72 КБ) 543 скачивания
плата.JPG
плата
(104.21 КБ) 2447 скачиваний
Фаза есть - ума не надо!
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

коти!!!ви где?проверьте пожалуйста правильность схеми и печатки!!!а то вся робота застила!!!!!!!!!!жду подтверждения-и начинаю делать!
Фаза есть - ума не надо!
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

При такой нагрузке на входе питания просто необходим электролит 100-470мкф 16В, да и на выходе стабилизатора 10-47мкф 10-16В не помешает. Они вредными почти никогда не бывают :tea: А так вроде правильно все.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

Martin76 писал(а):При такой нагрузке на входе питания просто необходим электролит 100-470мкф 16В, да и на выходе стабилизатора 10-47мкф 10-16В не помешает. Они вредными почти никогда не бывают :tea: А так вроде правильно все.
Конденсатор на входе будет стоять в БП!а после тлки добавлю!
Фаза есть - ума не надо!
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

добавил конденсатор после 78L05
Изображение
Вложения
плата готова.JPG
(102.23 КБ) 2567 скачиваний
Фаза есть - ума не надо!
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

nyvkom_sv писал(а):жду подтверждения-и начинаю делать!
Можешь делать, как Друг Кота, разрешаю 8)
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

Martin76 писал(а):
nyvkom_sv писал(а):жду подтверждения-и начинаю делать!
Можешь делать, как Друг Кота, разрешаю 8)
так все в норме???запускаю процес изготовления!!завтра отпишусь что получилось!!!!Всем Котам спасибо за помощь :kill:
Фаза есть - ума не надо!
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

витравил плату, все впаял!!!десять раз все проверил и пропаял доожки!!!проверил дорожки и транзистор, а оно почему то никаких признаков жизни не подает!!!проверте ви, может кто что то найдет или может в прошивке дело?
Изображение
Изображение
Вложения
IMG_20140320_155929.jpg
(143.35 КБ) 2678 скачиваний
IMG_20140320_155848.jpg
(164.55 КБ) 2756 скачиваний
Фаза есть - ума не надо!
Друг Кота
Аватара пользователя
Сообщения: 20183
Зарегистрирован: Пт фев 04, 2011 17:57:51
Откуда: Рыбинск

Сообщение Martin76 »

Спаяно правильно, если 5В в порядке и не работает, то проблема в прошивке. Попробовать можно перепрошить или верифицировать МК.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 186
Зарегистрирован: Вс мар 16, 2014 10:13:35
Откуда: Ровно

Сообщение nyvkom_sv »

питание МК в норме!!может проблема в тексте прошивки?или верифицировать МК.-ето как
Фаза есть - ума не надо!
Ответить

Вернуться в «Цифровая техника»