Нужна помощь в программировании ШИМ (PWM).

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
culibin 100
Встал на лапы
Сообщения: 88
Зарегистрирован: Ср апр 29, 2009 10:35:56
Откуда: кр. лиман украина

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение culibin 100 »

доброго времени суток граждане коты если не трудно помогите пните куда надо .
хочу замутить регулировку напряжения с помощью шим , мне надо менять напряжение на варикапе
я так понимаю можно при помощи шим открывать или закрывать транзистор и как следствие будет меняться напряжение .(предел от 0 до 6 вольт на выходе ) я не могу въехать как заставить работать мк с шим . пытаюсь писать на асме мк мега 16 как работает таймер на счет внутренних импульсов разобрался .заранее спасибо
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Здравствуйте!
У меня почти такая же поблема, есть мк - tn2313, необходимо организовать ШИМ, только мне необходимо это осуществить на асемблере в AVR studio. Если есть готовая программа буду очень признателен, или хотя бы тыкнете носом где это подробно написано. В книгах искал, в интернете тоже, но все равно мне не понятно((( помогите, объясните новичку пожалуйста.
culibin 100
Встал на лапы
Сообщения: 88
Зарегистрирован: Ср апр 29, 2009 10:35:56
Откуда: кр. лиман украина

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение culibin 100 »

я не стал заморачиваться можно сделать проста резистивный цап и комутировать свободным портом замыкать пины на массу образуя своеобразный делитель и получить на выходе напругу правда немного ступенчато если пределы большие а так пойдет это называется аналоговый цап в инете натыкался и не раз
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

culibin 100 для меня это пока сложновато. Все таки надеюсь, что кто нибудь отзавется на мою просьбу.
culibin 100
Встал на лапы
Сообщения: 88
Зарегистрирован: Ср апр 29, 2009 10:35:56
Откуда: кр. лиман украина

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение culibin 100 »

там все просто включено последовательно куча резюков вверху на плюс внизу на массу а соединения к портам http://www.google.com.ua/search?hl=ru&c ... 5&gs_rfai=
гугль рулит там все просто только разберись хотя мне самому некоторые вещи туго доходят
на асме могу чего то подсказать что знаю ,сам недавно юзаю.
эмулятор вм-лаб 3.12
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Со схемой то я разберусь, мне бы вот про написание программы хотелось услышать.
culibin 100
Встал на лапы
Сообщения: 88
Зарегистрирован: Ср апр 29, 2009 10:35:56
Откуда: кр. лиман украина

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение culibin 100 »

опиши свое устройство что будет прицеплено к портам и что должен делать мк
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

БУдет микроконтроллер, который тактируется внутренним RC - генератором и как вот реализовать ШИМ на микроконтроллере я понять не могу??? Я все пересмотрел но так и не допирает до меня. В нете нашел пару прог но они с ошибками я не стал заморачиваться и удалил их...
culibin 100
Встал на лапы
Сообщения: 88
Зарегистрирован: Ср апр 29, 2009 10:35:56
Откуда: кр. лиман украина

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение culibin 100 »

как давно ты занимаешся програмированием ?
решил значит все таки делать на шиме регулировку
на резюках проще ацп прога будет совсем маленькая зато паять хватит вдоволь если надо могу скинуть пару книжек там по тине есть че погядеть
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение akl »

Junior2010 Посмотри здесь. Вся работа реализована на ШИМ.
viewtopic.php?f=2&t=26785
culibin 100
Встал на лапы
Сообщения: 88
Зарегистрирован: Ср апр 29, 2009 10:35:56
Откуда: кр. лиман украина

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение culibin 100 »

Junior2010 вот пример цапа на резисторах глянь если интересно
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

покапался в нете нашел ШИМ, но мне кажеться что это не то... выкладываю текст программы, ах да еще она с ошибкой стека, я догнать не могу, что за ошибка. Может подскажет то это или не то и в чем ошибка.



; Atmega8, crystal 1MHZ (internal)
; Timer Counter 1
; Fast PWM & ADC

.include "m8def.inc"

.def wreg =R16
.def duration =R17
.def wreg2 =R18


init:

ldi wreg,low(RAMEND)
out SPL,wreg

ldi wreg,high(RAMEND) ; Stack Pointer = $45F
out SPH,wreg

cli ; запретить прерывания


ldi wreg, 0b10000011 ; Вкл. Ацп, Однокр. преобр., Прерывание запрещено, СК/8 (125 kHz)
out ADCSR, wreg

ldi wreg, 0b01101110 ; AVcc, Внеш. конд. на Aref, Выравн. по лев. краю, channel 1.23V bg
out ADMUX, wreg

rcall adc_convert


;******************* TIMER1 ***********************

ldi wreg,0x00
out PORTB,wreg ; Запись 0 в порт

ldi wreg,0b00000010 ; PortB.1 (OC1A) - Output
out DDRB,wreg


ldi wreg, 0b10000001 ; неинв. 8 битный ШИМ
out TCCR1A, wreg

ldi wreg, 0b00001001 ; CK/1
out TCCR1B, wreg

ldi wreg, 0b00000000
out TIMSK, wreg


main:

ldi wreg, 250 ; 25mS
rcall delay

ldi wreg, 0b01100101 ; ADC Channel 5 (PortC.5 ; pin 28)
rcall adc_convert

ldi wreg2, 0x00
out OCR1AH, wreg2

out OCR1AL, wreg


rjmp main



;*********************** DELAYS **************************

delay: ; 0.1mS * wreg
ldi duration, 24
cycle:
nop
dec duration
brne cycle
dec wreg
brne delay
ret


;********************** AD CONVERTION *******************

adc_convert:

out ADMUX, wreg ; wreg contains channel

sbi ADCSR, ADSC ; Start Convertion
sbic ADCSR , ADSC
rjmp PC-1
in wreg, ADCL ; просто формальность (первым всегда читается ADCL)

in wreg, ADCH ; wreg contains result

ret
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Ну что ни кто не поможет?
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Ну что ни кто не поможет?
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Alexeus »

1) не видно инициализации векторов прерываний
2) стек по даташиту инициализируется так (незнаю имеет ли очередность записи в регистры стека, но в даташите сначала в старший):

RESET: ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16
sei
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Alexeus, а больше ошибок нету? ОСтальное все правильно? Подойдет это программа?
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Снова я ))) Вообще я пишу эту програмульку к зачету, сегодня показал ее своему преподу и он сказал что программа абсолютно не подходит ((( На мой вопрос, что конкретно не то он сказал: "Ты должен был ввести цифровой сигнал с какими то определенными параметрами, а на выходе получить ШИМ и все" я так и не понял в чем моя ошибка... Помогите пожалуйста завтра перездача, а я так и не могу понять что делать...
Junior2010
Родился
Сообщения: 12
Зарегистрирован: Сб апр 10, 2010 14:19:22

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Junior2010 »

Просматриваю тему постоянно и вижу что кто то постоянно ее читает, а ответить то что трудно!!!!!!!!
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Нужна помощь в программировании ШИМ (PWM).

Сообщение Meteor »

Насколько понимаю суть проблемы, необходимо:
1) "избавиться" от подпрограммы запроса данных с АЦП.
2) Выделить порт под задание кода ШИМ.
3) Написать кусок кода чтения данных с порта в п.2.
4) Ввести в качестве параметра полученные данные из п 3 в регистр OCRi
5) Проверить работу.
6) Сдать зачет
7) Проставиться котам
8) .....
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»