roboforum.ru

Технический форум по робототехнике.
Текущее время: 06 ноя 2024, 12:29

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19, 20, 21 ... 144  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 13:00 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
да, можно с помощью ШИМ - avr123.nm.ru/z8.htm

Можно сделать цикл (avr123.nm.ru/05.htm) и в нем постепенно менять величину ШИМ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 15:49 
Не в сети

Зарегистрирован: 27 май 2007, 11:28
Сообщения: 6
Откуда: Украина
Я эту стрницу уже перечитал несколько раз  но мне наверно не доходит!
мне нужно вводить в реальную схему ФНЧ ? В примерах частота 7.37 а у меня тактовая 1мГц мне тоже ее изменять?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 15:52 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Для светодиода ФНЧ не нужен. Частоту можно и 1 МГц оставить. Но я советую вам взять мой пример и добавить только цикл изменения величины ШИМ.  Когда разберетесь как работает то будете модифицировать понимая что делаете.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 15:58 
Не в сети

Зарегистрирован: 27 май 2007, 11:28
Сообщения: 6
Откуда: Украина
изменения величины ШИМ
А каким параметром она задается?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 15:58 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Цитата:
  http://avr123.nm.ru/z8.htm

Изменить величину генерируемого ШИМ можно так:

Вычислите новое значение из диапазона 0 - 1023 для записи в   OCR1A  
и запишите вот такими строками программы:

Код:
// pwm_val - это число от 0 до 1023
// PWM(PD5) = OCR1A / 10.23  (%)
OCR1AH = (char)(pwm_val>>8);
OCR1AL = (char)pwm_val;

       
После выполнения этого участка программы  на ножку PD5 начнет
выводится ШИМ сигнал величиной (pwm_val/10.23) в процентах.


Чтобы светодиод загорался за 1 секунду вы можете в цикле
увеличивать значение pwm_val на 10 каждые 10 мС например.

======

Курс расчитан конечно на чтение с начала а не с задачи 8   :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 16:08 
Не в сети

Зарегистрирован: 27 май 2007, 11:28
Сообщения: 6
Откуда: Украина
Код:
#include <tiny2313.h>

// Declare your global variables here

void main(void)
{
 // Declare your local variables here

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

 // Input/Output Ports initialization
 // Port A initialization
 // Func2=In Func1=In Func0=In
 // State2=T State1=T State0=T
 PORTA=0x00;
 DDRA=0x00;

 // Port B initialization
 // Func7=In Func6=In Func5=In Func4=Out Func3=Out Func2=In Func1=Out Func0=Out
 // State7=T State6=T State5=T State4=0 State3=0 State2=T State1=0 State0=0
 PORTB=0x00;
 DDRB=0x1B;

 // Port D initialization
 // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
 // State6=T State5=T State4=T State3=T State2=T State1=T State0=T
 PORTD=0x00;
 DDRD=0x00;

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

 // Timer/Counter 1 initialization
 // Clock source: System Clock
 // Clock value: 1000,000 kHz
 // Mode: Fast PWM top=03FFh
 // OC1A output: Non-Inv.
 // OC1B output: Non-Inv.
 // Noise Canceler: Off
 // Input Capture on Falling Edge
 // Timer 1 Overflow Interrupt: Off
 // Input Capture Interrupt: Off
 // Compare A Match Interrupt: Off
 // Compare B Match Interrupt: Off
 TCCR1A=0xA3;
 TCCR1B=0x09;
 TCNT1H=0x00;
 TCNT1L=0x00;
 ICR1H=0x00;
 ICR1L=0x00;
 OCR1AH=0x00;
 OCR1AL=0x00;
 OCR1BH=0x00;
 OCR1BL=0x00;


 while (1)
 {
   // Place your code here

 };
}


Цените труд отвечающих, форматируйте исходные коды! и обязательно заключайте их в тег [code ][/code ]
За исходный код не заключенные в тег CODE буду штрафовать <V>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 16:12 
Не в сети

Зарегистрирован: 27 май 2007, 11:28
Сообщения: 6
Откуда: Украина
Я курс перечитал уже несколько раз и благодаря ему я вообще хоть чтото стал понимать
в МК и СИ . А задача 8 подходит к тому что я начал реализовывать в железе.
Вот так.

Советую сначало разобраться в основах си, а уже потом лезть в мк-огород :)
потренеруйтесь сначало на комьпьютере, напишите что-нибудь простое, обязательно повозитесь со строками,
вникните в суть указателей, иначе так и будут сплошные грабли вылезать <V>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 май 2007, 16:28 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
в цикле

Код:
while (1)
    {
    // Place your code here

    };


Делайте о чем я писал выше.  Изменение ШИМ, пауза ...  и так по кругу  при превышении максимума - обнуление ШИМ и новое плавное зажигание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 май 2007, 00:46 
Не в сети

Зарегистрирован: 27 май 2007, 11:28
Сообщения: 6
Откуда: Украина
Возник вопрос? Какой режим РWM лучше использовать Phase Corect  или Fast  и какие установки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 май 2007, 04:24 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Лучше по каким критериям?  Установки мастер компилятора делает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июн 2007, 17:36 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Мне нужно вывести на 2 ножки сигнал с частотой от 0 до 500кГц причем чтобы он был в противофазе т. е. если PORTB.0=0, то PORTB.1=1. Можно ли это организовать с помощью ШИМ Mega16?
А то вариант:

PORTB.0=0;
PORTB.1=1;
delay_ms(x);
PORTB.0=1;
PORTB.1=0;
delay_ms(x);

не очень подходит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июн 2007, 23:05 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Че нихто не знает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июн 2007, 23:16 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
ну...
вот вам моя мысль
я не 123авр но тоже советовать люблю

мб сделать 2 шима?
1 вариант: второй шим будет работать по прерыванию от первого...
2 вариант: оба шима по одному таймеру но один шим пусть будет с инверсным выходом(блин в курсе написано про инверсный шим а так не помню)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 июн 2007, 00:47 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Да но ШИМ не дает возможности регулировать частоту, а только скважность. А может просто задействовать таймер по прерыванию, это кажись идея.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 июн 2007, 13:52 
Не в сети

Зарегистрирован: 03 фев 2007, 20:24
Сообщения: 79
Откуда: Омск
Тут фишка!!! Начал семку мастрячить в протеусе - нашёл модель ммс карты но она просит образ как его сделать этот образ для неё??? Может кто работал с ммс в протеусе подскажите!!! :(


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19, 20, 21 ... 144  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO