Вопрос по PIC16F877
|
|
MiXaS |
Дата: Пт, 04.04.2014, 11:36 | Сообщение # 16 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
На самом деле порт б самый простой порт, не так много настроек как например порт а , е, д... Научитесь правильно конфигурить порт и больше у вас таких проблем не будет. Если память не лжет, то порт а и порте связывает один регистр, так же порт д связан с портом е. В даташитах есть непонятные схемы модулей, но е,ли потратить немного времени, то сразу станет ясно как, что работает, да и схема станет понятна.
|
|
|
|
tolyan249 |
Дата: Сб, 05.04.2014, 14:46 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
189
Замечания:
±
На сайте с 11.10.2007
Статус:
Offline
|
Вопрос еще такой в схеме использовал сначала отосимистор MOC3021 , потом поменял на MOC3083 c zero cross voltage , и схема перестала работать хотя ток управления у них одинаковый 5ма , или загораеться в полный накал или вообще не горит, а с MOC3021 работает отлично, плавно загораеться и плавно тухнет. просто плату спаял а менять 30 оптопар не охота, может какой другой алгоритм нужен для управления этими оптосемисторами.... Может кто подскажет в чем может быть проблема. код для управления выше. какой нужно подать импуль на оптосемистор , не могу понять с этим zero cross voltage... Спасибо.
|
|
|
|
Andriy76 |
Дата: Сб, 05.04.2014, 17:39 | Сообщение # 18 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
231
Замечания:
±
На сайте с 06.04.2010
Статус:
Offline
|
Значит надо делать привязку к переходу через 0 . Вы сигнал подаете на включение а оптосимистор ждет перехода через 0 . И если я правильно все понимаю то он и не включит сам симистор в неподходящий момент . Надо сделать детектор перехода через 0 . Пример вот http://www.3e-club.ru/view_full.php?id=14&name=zero-cross
|
|
|
|
tolyan249 |
Дата: Сб, 05.04.2014, 18:01 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
189
Замечания:
±
На сайте с 11.10.2007
Статус:
Offline
|
Детектор нуля сделан у меня по схеме моей же ссылка http://www.picbasic.ru/_fr/12/3363483.png с тем оптроном работало без укоризненно . купил другие оптроны думал будет лучше а оказалось что придаться покупать MOC3021 и выпаивать MOC3083 30 оптронов . а как неохота. у меня и там в схеме эти оптроны нарисованы , блин что делать пока ума не приложу. Одно единственное наверно да ,что детектор 0 мой ,сдвинут во времени с детектором нуля симистора. и не попадает импульс включения симистора , но все равно он включается иногда но на полную яркость .
вот прерывание на порт B.0
If INTCON.1=1 Then 'произошло прерывание по PORTB.0 If OPTION_REG.6=0 Then 'если это фронт то делать сдедующие s=0 TMR0=255 PORTA=0 PORTB=0 PORTC=0 PORTD=0 PORTE=0 OPTION_REG.6=1'переключаем для прерывания по спаду что бы мерить имульс а не период весь Else OPTION_REG.6=0 'возращаем на место что бы прерывание было опять по фронту s=0 TMR0=255 PORTA=0 PORTB=0 PORTC=0 PORTD=0 PORTE=0 EndIf INTCON.1=0 EndIf If INTCON.2=1 Then 'пришло прерывание от таймера TMR0-что он переполнился Inc s 'переполнение происходит каждые 256мкс-микросекунд INTCON.2=0 'считываем эти переполнения и увеличеваем переменную на 1 EndIf 'что бы знать сколько переполнений было
Сообщение отредактировал
tolyan249 - Сб, 05.04.2014, 18:13
|
|
|
|
anatol |
Дата: Сб, 05.04.2014, 18:14 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
tolyan249, zero cross voltage ШИМ несовместимо. Причем сигнал включения должен присутсвовать в момент включения внутренней схемой. Т.Е. постоянно на время включения, "иголками" не обойдешься. Если бы нагрузка была инерционной, то можно ШИМ заменить на число-периодное регулирование. Это когда, например 24 периода из цикла в 128 включен, а остальное время отдыхаем.
|
|
|
|
tolyan249 |
Дата: Пн, 14.04.2014, 06:13 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
189
Замечания:
±
На сайте с 11.10.2007
Статус:
Offline
|
У меня нет шима.
Добавлено (05.04.2014, 18:18) --------------------------------------------- я просто подаю 1 импульс на оптосимистор только сдвигаю во времени относительно 0 какая мощность мне нужна, а сам импульс ширину не меняет он всегда постоянный.
Просто с тем оптроном работало замечательно но он был у меня один для экспериментов выписал другие думал будет лучше.Добавлено (05.04.2014, 18:24) --------------------------------------------- Да теперь понятно, дошло
zero cross voltage ШИМ несовместимо. Причем сигнал включения должен присутсвовать в момент включения внутренней схемой. Т.Е. постоянно на время включения, "иголками" не обойдешься. Если бы нагрузка была инерционной, то можно ШИМ заменить на число-периодное регулирование. Это когда, например 24 периода из цикла в 128 включен, а остальное время отдыхаем. Добавлено (05.04.2014, 18:26) --------------------------------------------- Спасибо огромное за советы и помощь, буду покупать другие оптроны. Куда деваться. Добавлено (14.04.2014, 06:13) --------------------------------------------- Оптроны поменял все работает но встал другой вопрос, иногда когда как , сбрасывается контроллер или зависает, что можно придумать что бы контроллер не сбрасывался. емкости по питанию возле ног микросхемы стоят 0,1мкф. дросселя ставил емкости увеличивал после стабилизатора 5в. не помогает. нет да сброситься контроллер. может кто что подскажет спасибо. и как использовать WDT от зависаний контроллера?
Спасибо за помощь.
Сообщение отредактировал
tolyan249 - Сб, 05.04.2014, 18:22
|
|
|
|
MiXaS |
Дата: Пн, 14.04.2014, 20:27 | Сообщение # 22 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Что-то мне подсказывает, что Ваш контроллер расположен вблизи силовых элементов и наводка сводит его с ума. Как не странно такое бывает. Еще может быть связанно с не правильной разводкой платы. Я насколько помню, Вы уже вытравили её. Посмотрите как правильно это делать. Вроде на паяльнике есть.
|
|
|
|
anatol |
Дата: Пн, 14.04.2014, 23:15 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Определиться просто - делаешь контрольный выход (светик параллельно) и выключаешь силовуху. Не тормозит - разводка и др., тормозит - программа. Если программа, то возможно переполнение стека.
|
|
|
|
tolyan249 |
Дата: Вт, 15.04.2014, 18:12 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
189
Замечания:
±
На сайте с 11.10.2007
Статус:
Offline
|
Да платы разные но расположены близко, Спасибо за совет проверю и посмотрю,что можно сделать. Спасибо за советы ответы.
Сообщение отредактировал
tolyan249 - Вт, 15.04.2014, 18:13
|
|
|
|