Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.09.2014, 23:32
|
|
Прописка
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
ШИМ и электродвигатель
двигатель от лотка сд привода
можно ли в таком виде собирать, или шунтировать двигатель диодом?
__________________
Самое главное умение - умение радоваться жизни.
|
|
|
|
25.09.2014, 00:06
|
|
Прописка
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ШИМ и электродвигатель
я дисплей добавил, чтоб значение шим выводить
он мне 4F показывает постоянно
где я накосячил?
Цитата:
|
#include ‹mega8.h›
#asm
.equ __lcd_port=0x12 ;PORTC
#endasm
#include ‹lcd.h›
#include ‹delay.h›
#include ‹stdio.h›
char string[10];
void main(void)
{
float V;
PORTB=0x00;
PORTC=0x03;
DDRB=0x08;
ASSR=0x00;
TCCR2=0x6C; //частота ШИМ.
TCNT2=0x00;
OCR2=0x00; //величина заполнения импульса.
TIMSK=0x00;
ACSR=0x80;
ADCSR=0x85;
lcd_init(16);
while (1)
{
delay_ms(20);
ADCSR |= 0x40;
V = (float) OCR2;
sprintf(string, "%1.4f", V);
lcd_gotoxy(0,0);
lcd_puts(string);
if((PINC.0==0)&&(OCR2‹0xff))
{
OCR2=OCR2+0x01;
delay_ms(5);
}
if((PINC.1==0)&&(OCR2›0x00))
{
OCR2=OCR2-0x01;
delay_ms(5);
}
};
}
|
__________________
Самое главное умение - умение радоваться жизни.
|
|
|
|
25.09.2014, 00:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
|
Re: ШИМ и электродвигатель
Сообщение от AVRkin
|
можно ли в таком виде собирать
|
Или базу у транзистора оторвёт, или выход контроллера сдохнет. Резистор забыли. Или транзистор - МОСФЕТ.
|
|
|
Сказали "Спасибо" Scadauser
|
|
|
25.09.2014, 00:21
|
|
Прописка
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ШИМ и электродвигатель
Сообщение от Scadauser
|
Или базу у транзистора оторвёт, или выход контроллера сдохнет. Резистор забыли. Или транзистор - МОСФЕТ.
|
100 Ом поставлю
а с кодом можете помочь?
я там в типах данных запутался
__________________
Самое главное умение - умение радоваться жизни.
|
|
|
|
25.09.2014, 00:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
|
Re: ШИМ и электродвигатель
Сообщение от AVRkin
|
а с кодом можете помочь?
|
Я - нет, лет 20 этим не занимался, кто-нибудь другой поможет, завтра. Сегодня уже все спать пошли.
|
|
|
|
25.09.2014, 09:38
|
|
Частый гость
Регистрация: 09.02.2007
Сообщений: 15
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ШИМ и электродвигатель
›sprintf(string, "%1.4f", V);
Интересный формат - сто лет printf уже не использовал, сколько нового
Бегло погуглил, тут две реализации по два варианта каждая
Если хочешь получить на экране 1.2345, то
реализация 1:
sprintf(string, "%6.4f", V);
реализация 2:
sprintf(string, "%0*.*f",6,4,V);
Если хочешь получить на экране 1234.5, то
реализация 1:
sprintf(string, "%6.1f", V);
реализация 2:
sprintf(string, "%0*.*f",6,1,V);//и ещё вариант без нуля, вот интересно будет работать?
|
|
|
Сказали "Спасибо" le_cha_sever
|
|
|
25.09.2014, 10:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,635
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: ШИМ и электродвигатель
Сообщение от AVRkin
|
V = (float) OCR2;
sprintf(string, "%1.4f", V);
|
Мать моя женщина! Зачем так делать?
P.S. С такой схемой лоток только в одну сторону крутиться будет! Для двухстороннего движения нужно ставить H-мост. Рекомендую L9110 (сам такой и использую в схеме сверлильного станочка) — недорогой + мощей для движка привода сидюка хватит.
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось eddy; 25.09.2014 в 10:31.
Причина: почитал внимательней
|
|
|
|
25.09.2014, 11:13
|
|
Прописка
Регистрация: 07.09.2014
Сообщений: 136
Сказал спасибо: 18
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: ШИМ и электродвигатель
с доп микросхемами потом займусь, сейчас с шимом хочу разобраться
через мосфет двигатель в одну сторону крутится уже, мне пока хватит
с экранчиком разобрался, спасибо
я прицепил ещё 2 кнопки на порт С и проинициализировал ещё один ШИМ на РВ1
проблема в том, что он не регулируется кнопками и генерирует с очень большой частотой
Код:
|
#include ‹mega8.h›
#include ‹delay.h›
void main(void)
{
PORTB=0x00; //0 на порт Б
PORTC=0x0f; // на порт С 4 кнопки
DDRB=0b00001010; // порт Б нога 2 и 4 на выход (ШИМ)
// инициализация ШИМ1
ASSR=0x00;
TCCR2=0x6C;
TCNT2=0x00;
OCR2=0x00;
TIMSK=0x00;
// инициализация ШИМ2
OCR1AL=0xE8;
TCCR1A=0x82;
TCCR1B=0x19;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x02;
ICR1L=0x00;
OCR1A=0x00;
OCR1B=0x00;
while (1)
{
//шим1 начало
if((PINC.0==0)&&(OCR2‹0xff))
{
OCR2=OCR2+0x01;
delay_ms(5);
}
if((PINC.1==0)&&(OCR2›0x00))
{
OCR2=OCR2-0x01;
delay_ms(5);
//шим1 конец
//шим2 начало
if((PINC.0==0)&&(ICR1H‹0xff))
{
ICR1H=ICR1H+0x01;
delay_ms(5);
}
if((PINC.3==0)&&(ICR1H›0x00))
{
ICR1H=ICR1H-0x01;
delay_ms(5);
//шим2 конец
}
};
}
} |
я уже все биты которые есть менял, по инструкции ставил,
а второй шим ( РВ1) или генерит очень быстро, или не работает
где я накосячил?
__________________
Самое главное умение - умение радоваться жизни.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:45.
|
|