Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 31.01.2012, 23:15  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Сообщение от Alpout Посмотреть сообщение
я думаю в схеме идет вч возбуждение..
Откуда ему взяться. Единственно, что можно предположить, так это то, что происходит перезапуск процессора по BOR (если питание хе..вое или ВЧ емкости на ногах питания процессора нет, а токи Вам нравится качать хорошие через светодиод, то вполне может быть).
Реклама:
alvadep вне форума  
Непрочитано 01.02.2012, 00:50  
Alpout
Прописка
 
Аватар для Alpout
 
Регистрация: 13.09.2011
Адрес: Уфа
Сообщений: 253
Сказал спасибо: 20
Сказали Спасибо 19 раз(а) в 14 сообщении(ях)
Alpout на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

ладно завтра чуточку переделаю код и схему. я некорректно описал практику по вч. отпишусь.
Alpout вне форума  
Непрочитано 01.02.2012, 01:00  
Bumbarra
Вид на жительство
 
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
Bumbarra на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Биты конфигурации? Сторожевой таймер? Порядок инициализации контроллера? Калибровочная константа? Если ты ее не стер только...
Как кнопку подключаешь? Что она вообще должна делать? Какой уровень у нее активный? А ты точно настроил GP3 на цифровой вход-выход?
Светодиоды горят? А это что, по твоему?
Цитата:
MOVLW B'00000111'
MOVWF GPIO
Ты ж сам задал им сначала включение, а уж потом проверку нажатия кнопки и зациклил еще. Если на GP3 = 0, то выполняется цикл записи единиц в порт (RGB_ON), а если GP3 = 1, то выполняется другой цикл, а гашения то и нету.. Код то выполняется по поряку следования. А где остальной код? Тут никаких пауз нет, все ето крутится на огромной скорости.

Как ты блин в симуляторе то получил, что работает? по этому коду - на выходах постоянно будет единицы

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

Цитата:
Если последняя строка GOTO RGB_ON,
Да эт просто опечатка. Нормальный компилятро бы не пропустил ошибку.

Сообщение от alvadep Посмотреть сообщение
Откуда ему взяться.
Мега-лол. Ну вы даете.

Лишней является вторая команда BTFSC GPIO, D'3'
"Если 0, то пропустить следующий шаг". Если 1, то выполнить следующий шаг.
Из-за этого и зацикливается неверно

Последний раз редактировалось Bumbarra; 01.02.2012 в 01:18.
Bumbarra вне форума  
Непрочитано 01.02.2012, 01:18  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Ув. Bumbarra, внимательно посмотрите схему из первого поста.
Код
Цитата:
MOVLW B'00000111'
MOVWF GPIO
как раз выключает светодиоды.
alvadep вне форума  
Непрочитано 01.02.2012, 01:25  
Bumbarra
Вид на жительство
 
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
Bumbarra на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Сути не меняет. Тогда почему написано RGB_ON?
Bumbarra вне форума  
Непрочитано 01.02.2012, 01:39  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

А вот то, что нет всего кода и соответственно нет полной картины это правда. И не о чем тут больше пока говорить.
alvadep вне форума  
Непрочитано 01.02.2012, 09:07  
Alpout
Прописка
 
Аватар для Alpout
 
Регистрация: 13.09.2011
Адрес: Уфа
Сообщений: 253
Сказал спасибо: 20
Сказали Спасибо 19 раз(а) в 14 сообщении(ях)
Alpout на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

отпишусь как сделаю
Alpout вне форума  
Непрочитано 01.02.2012, 17:27  
Bumbarra
Вид на жительство
 
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
Bumbarra на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Нууу если активный уровень для зажигания диодов - низкий, то перед включением портов на выход лучше установить в GPIO единицы для гашения диодов, чтобы не было бросков тока в начальный момент. Зачем лишний раз ерунду делать то?

В принципе, сам модуль ШИМ управления тремя светодиодами может выглядеть вот так:
(Используются ресурсы таймера TMR0 - при переполнении таймера проверяется флаг T0IF, включаются все светодиоды и начинается новый цикл. Суть работы - в сложении текущего значения TMR0 с числом M=(255-N), N - это время свечения диода. Если после операции сложения будет переполнение в аккумуляторе W, (STATUS, C = 1), то диод выключается. Для каждого из трех диодов операция повторяется. Можно и наоборот, вычитать. Только тогда наоборот проверку проводить - btfss STATUS, C ).

Порт GP3 нужно подтягвать к плюсу питания (он не имеет внутренней поддтяжки), а кнопку замыкать на общий. Причем, в тегсте проги нужно предусмотреть циклы задержки, чтобы переждать "дребезг" контактов и избежать ложных срабатываний, а так же задержку на отпускание кнопки. Вообще, не понятно, что автор хочет делать этой кнопкой, потому сейчас чето изобретать с ней не имеет смысла.

Код:
;============================	
Initial_PIC:
	movlw d'00000111'	;All LEDs
	movwf GPIO		;is off
	movwf CMCON		;Digit IO
	bsf STATUS, RP0
	movlw b'10000100'          ;set TMR0 prescaler 1:32
	movwf OPTION_REG            ;and Internal Instruc cycl
	movlw d'00011000'	         ;set Input/Output
	movwf TRISIO		;
	bcf STATUS, RP0
	clrf TMR0
;===========================
;..... тут чето такое еще ...............
;===========================
	movlw .240		;Set time
	movwf PWM_R		;	LED_R
	movlw .10		;Set time
	movwf PWM_G		;	LED_G
	movlw .128		;Set time
	movwf PWM_B		;	LED_B

	call All_LED_on
;---------------------------
;-- PWM control module -----
pwm:
	btfsc INTCON, T0IF	;Check overflow TMR0
	call All_LED_on		;

;-- R-LED Control
	movf PWM_R, W
	addwf TMR0, W		
	btfsc STATUS, C		;Check over
	bsf GPIO, GP0		;Turn off LED_R		

;-- G-LED Control
	movf PWM_G, W
	addwf TMR0, W
	btfsc STATUS, C		;Check over
	bsf GPIO, GP1		;Turn off LED_B

;-- B-LED Control
	movf PWM_B, W
	addwf TMR0, W
	btfsc STATUS, C		;Check over
	bsf GPIO, GP2		;Turn off LED_G

	goto pwm
;============================
All_LED_on:
	bcf GPIO, GP0
	bcf GPIO, GP1
	bcf GPIO, GP2
	bcf INTCON, T0IF	;clr flag over TMR0
	bcf STATUS, C
	return
;============================
Миниатюры:
Нажмите на изображение для увеличения
Название: OscPWM.jpg
Просмотров: 114
Размер:	119.0 Кб
ID:	31180   Нажмите на изображение для увеличения
Название: RGB.jpg
Просмотров: 193
Размер:	26.3 Кб
ID:	31181  

Последний раз редактировалось Bumbarra; 01.02.2012 в 17:40.
Bumbarra вне форума  
Непрочитано 03.02.2012, 03:03  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Ну, раз Вы, Bumbarra, любите всех критиковать, то позвольте и я Вас немного покритикую.
Код:
;-- PWM control module -----
pwm:
	btfsc INTCON, T0IF	;Check overflow TMR0
	call All_LED_on		;

;-- R-LED Control
	movf PWM_R, W
	addwf TMR0, W		
	btfsc STATUS, C		;Check over
	bsf GPIO, GP0		;Turn off LED_R		

;-- G-LED Control
	movf PWM_G, W
	addwf TMR0, W
	btfsc STATUS, C		;Check over
	bsf GPIO, GP1		;Turn off LED_B

;-- B-LED Control
	movf PWM_B, W
	addwf TMR0, W
	btfsc STATUS, C		;Check over
	bsf GPIO, GP2		;Turn off LED_G

	goto pwm
;============================
All_LED_on:
	bcf GPIO, GP0
	bcf GPIO, GP1
	bcf GPIO, GP2
	bcf INTCON, T0IF	;clr flag over TMR0
	bcf STATUS, C
	return
В таком варианте:
1. Нет такого значения PWM_R(G,B) при котором ШИМ прекращался бы полностью (нет чистого нуля). Это не есть хорошо.
2. Скважность по каналам RGB будет не одинаковая при одинаковых значениях регистров PWM_R(G,B). Отличие хоть и будет не значительное (8 машинных циклов между выключением R и G, 2 - между включением R и G), но тем не менее.
3. Не одинаковое время выполнения команд по разным циклам ветвления. Это не критично, но нужно стремиться к идеальному варианту, когда время выполнения не зависит от условий.
--------------------------------------------------------------------------
Я бы сделал так
Код:
;-- R-LED Control
	movf PWM_R, W
	addwf TMR0, W		
	btfss STATUS, C		;Check over
	bsf GPIO, GP0		;Turn off LED_R		
	btfsc STATUS, C
	bcf GPIO, GP0

;-- G-LED Control
	movf PWM_G, W
	addwf TMR0, W
	btfss STATUS, C		;Check over
	bsf GPIO, GP1		;Turn off LED_B
	btfsc STATUS, C
	bcf GPIO, GP1

;-- B-LED Control
	movf PWM_B, W
	addwf TMR0, W
	btfss STATUS, C		;Check over
	bsf GPIO, GP2		;Turn off LED_G
	btfsc STATUS, C
	bcf GPIO, GP2
В таком варианте:
1. Скважность будет абсолютно одинаковая по каналам при одинаковых значениях регистров PWM_R(G,B), отличия будет только в фазах сигналов.
2. Время выполнения фрагмента не зависит от условий.
alvadep вне форума  
Непрочитано 05.02.2012, 10:06  
Alpout
Прописка
 
Аватар для Alpout
 
Регистрация: 13.09.2011
Адрес: Уфа
Сообщений: 253
Сказал спасибо: 20
Сказали Спасибо 19 раз(а) в 14 сообщении(ях)
Alpout на пути к лучшему
По умолчанию Re: Регулирование яркости светодиодов по ШИМ на PIC12F629

Bumbarra, у тебя много ошибок. нерабочая программа. а идея хорошая. у меня воще по-другому программа реализуется. в моем варианте задействуются только РОНы. а таймеры, прерывания не трогаю пока. кстати, насчет схемы включения светодиодов на общий анод...там порты работают только на общий минус, походу порты реализованы как "выход эмиттера")))ю не смарел еще выходы портов как сделаны. вот схема и у меня заработало. ошибка в проге нет!! единственное приходилось менять в проге-это соответствующее инверитрование некоторых команд, чтобы работал на общий минус. вот кстати схема пределанная. А то что реализуете схемы на компьютере-не полностью заменяет практику!!! я уже давно забросил эту тему, так как не все точно описывают практику! лучше практика рулит!!!! это типичные проги, такие как Протеус, Воркбенч-мною проверенные проги, от котрорых остались несовсем хорошие впечатления. поэтому в данное время я ими воще не пользуюсь!Нажмите на изображение для увеличения
Название: scheme2.JPG
Просмотров: 160
Размер:	28.0 Кб
ID:	31316
Alpout вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение яркости RGB светодиодов с помощью PIC12F629 Alpout Микроконтроллеры, АЦП, память и т.д 1 07.01.2012 23:04
Достаточно ли будет яркости в 7сегм LED индикаторе? code-by Микроконтроллеры, АЦП, память и т.д 7 28.10.2010 22:55
Линейное измен-е яркости PWM'ом tempora Микроконтроллеры, АЦП, память и т.д 100 18.03.2009 19:52
PID регулирование greyzzz Микроконтроллеры, АЦП, память и т.д 4 06.03.2007 20:41
регулирование температуры mishutka Измерительное оборудование 2 23.09.2006 08:25


Часовой пояс GMT +4, время: 16:50.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot