Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
10.03.2009, 17:05
|
|
Временная регистрация
Регистрация: 28.06.2005
Сообщений: 56
Сказал спасибо: 3
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Программирование PIC-ов или как победить MCLR
Здравствуйте, Уважаемые.
Решил освоить микроконтроллеры. Электроникой занимаюсь для удовольствия, ну и чтобы не быть совсем профаном при беседах с сотрудниками лаборатории, занимающимися разработкой новой электроники для систем диагностики газовых потоков.
Начал с простенького PIC16F84. Разработал небольшой проект в Протеусе. Написал прогу на ассемблере, засунул в Протеус, и, как ни странно, всё заработало.
Захотелось воплотить, так сказать, в железе.
Не отступая от традиций, решил собрать AN589 программатор. Ну и в азарте прикрутил к нему DC-DC преобразователь напряжения 5-›10…14 вольт (на MAX762), чтобы запитывать это всё от USB, т.к. толкового блока питания у меня нет. На макетке всё заработало. Вроде и PIC16F84A прошивался нормально.
Собрал всё на печатке и ВОТ НАЧАЛОСЬ:
Проблема №1: При подключении PIC16F84A (2 шт из разных партий), PIC16F877 напряжение на MCLR не превышает 10,5 вольт, хотя DC преобразователь выдаёт положенные 13,5. Греется транзистор VT2 по схеме.
Проблема №2: При подключении PIC16F877A напряжение на MCLR в норме, но чтение схемы идёт с ошибками (программатор подключён непосредственно к LPT). О программировании в таких условиях и говорить не приходится.
Проблема №3: И радость и разочарование. PIC16F874 и программируется и читается без проблем. И с кабелем LPT (1.5 м) и без него. MCLR в норме ничего не греется.
Подскажите, что может быть не так.
По форумам поискал. Путной информации нет.
Есть зацепки:
1. При понижении напряжения на MCLR ниже земли через контроллер может течь большой ток (до 80 мА), что может привести к большому падению напряжения на переходе транзистора и далее …. не знаю как это связано с моей схемой.
2. В новых контроллерах нужно отключать режим низковольтного программирования. Но PIC16F84A такого не имеет …. или я не прав.
3. Ещё есть, что-то с подачей питания на PIC и задержкой подачи напряжения программирования, в результате чего начинается исполнение программы и … далее непонятно.
Буду благодарен за любую помощь.
Схема программатора и печатной платы прилагается.
-- Прилагается рисунок: --
Прикрепленный файл: 6886725.rar
|
|
|
|
10.03.2009, 18:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Проблема №2 из-за буквы А. МК PIC16F87*А пишутся по другому алгоритму, поэтому алгоритм программирования для PIC16F87* дает ошибку(правильно пишется каждая 8-я ячейка памяти программ). Чтобы нормально работать нужно в свойствах проекта обязательно ставить правильный тип процессора.
Напряжение программирования должно быть точно 13,5В при меньшем - не записывается при большем 14 - горит, причем сильно зависит от экземпляра МК. Сейчас на столе лежит 16F628A, который в программаторе читается и пишется правильно, а в схеме не работает совсем. Ессть несколько таких же 12F675.
|
|
|
|
10.03.2009, 21:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 29.01.2005
Адрес: Воронеж
Сообщений: 1,384
Сказал спасибо: 24
Сказали Спасибо 243 раз(а) в 182 сообщении(ях)
|
Сообщение от MisterDi
|
Напряжение программирования должно быть точно 13,5В при меньшем - не записывается при большем 14 - горит
|
.
Интересно откуда у вас эти сведения. Во у меня из datasheet
MSMC
Откройте окно теста в программе и проверти все напряжения.Вы не указали какую программу пользуете.
-- Прилагается рисунок: --
|
|
|
|
10.03.2009, 21:40
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Послушайте, вас не задолбало собирать не известно что , а потом искать из за чего не шьется?
Не хотите мучений соберите пиккит2 или исд .
__________________
Осторожно , злой кот
|
|
|
|
10.03.2009, 22:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
5+++ Работать надо на современном оборудовании. AN589 хоть и микрочиповский продукт, но уж очень стар.
|
|
|
|
10.03.2009, 22:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Сообщение от otest
|
Сообщение от MisterDi
|
Напряжение программирования должно быть точно 13,5В при меньшем - не записывается при большем 14 - горит
|
.
Интересно откуда у вас эти сведения. Во у меня из datasheet
|
Написано больше 14В, т.е. out of spec. Остальные данные из практического опыта.
-- Прилагается рисунок: --
|
|
|
|
11.03.2009, 07:27
|
|
Временная регистрация
Регистрация: 28.06.2005
Сообщений: 56
Сказал спасибо: 3
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Здравствуйте, Всем.
Я конечно понимаю, что нужно идти в ногу со временем и т.д. и т.п. Но для начинающих PikKit, ICD - это, как для Вас, например, температурная стратификация или лазерная абляция
Прототип схемы взят из журнала Радио №1, 2004 - не такой уж и старый источник.
Просьба была, подсказать, где могут быть проблемы в схеме, а послать на ICD или куда ещё, так это просто.
Что касается программного обеспечения:
Использовал DL4YHF's PIC Programmer for Windows (WinPicPr). В окне интерфейса программатор инициализируется нормально, все тесты по отдельным каналам проходит, напряжения в норме. Но это всё без PICа. С PICом ситуация, как описано в первом посте.
Использовал так же IC Prog всё тоже самое.
Может есть проблема с аналоговой и цифровой землёй на плате они объединены не в одной точке (заметил только после сборки устройства). Как проверить? Есть цифровой TDS на два канала.
Вчера подсоединил MCLR PIC16F84A через резистор 750 Ом - напряжение выросло до положенных 13.5В, но на программирование микросхемы это никакого действия не оказало.
|
|
|
|
11.03.2009, 07:45
|
|
Временная регистрация
Регистрация: 28.06.2005
Сообщений: 56
Сказал спасибо: 3
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Сообщение от MisterDi
|
Проблема №2 из-за буквы А. МК PIC16F87*А пишутся по другому алгоритму, поэтому алгоритм программирования для PIC16F87* дает ошибку(правильно пишется каждая 8-я ячейка памяти программ). Чтобы нормально работать нужно в свойствах проекта обязательно ставить правильный тип процессора.
Напряжение программирования должно быть точно 13,5В при меньшем - не записывается при большем 14 - горит, причем сильно зависит от экземпляра МК. Сейчас на столе лежит 16F628A, который в программаторе читается и пишется правильно, а в схеме не работает совсем. Ессть несколько таких же 12F675.
|
В программе выбирается соответствующий процессор !
Но проблема в том, что даже пустой PIC16F877A читается с ошибками, которые в зависимости от задержек выставляемых в программе располагаются в разных местах. LPT кабеля нет. Удивляет ещё то, что PIC16F874 и читается и пишется без проблем.
Напряжение менял от 12 до 14 вольт результат одинаковый.
Ещё что касается AN589. Конечно староват, но ведь разрабатывался для PIC16C84 и (по статьям) должен работать со всеми перечисленными PICами и уж тем более с PIC16F84A.
Так в чём причина отказа от его использования.
Если есть веские аргументы, хотелось бы услышать.
В противном случае можно сказать:"Используй ChipProg за 50 кРуб и всё будет хорошо".
Извиняюсь, если мои выскажывания кому-то пришлись не по душе.
|
|
|
|
11.03.2009, 10:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Основная проблема подобных программаторов - програмно формируемые временные интервалы, точно сформировать которые операционная система не в состоянии. Отсутствие оперативной поддержки в среде того же МП-ЛАБа - тоже минус. Как писал уважаемый dosikus, комплектация на ПикКит обошлась в 500р. На мой взгляд достойная альтернатива.
|
|
|
|
11.03.2009, 11:17
|
|
Временная регистрация
Регистрация: 28.06.2005
Сообщений: 56
Сказал спасибо: 3
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Сообщение от MisterDi
|
Основная проблема подобных программаторов - програмно формируемые временные интервалы, точно сформировать которые операционная система не в состоянии. Отсутствие оперативной поддержки в среде того же МП-ЛАБа - тоже минус. Как писал уважаемый dosikus, комплектация на ПикКит обошлась в 500р. На мой взгляд достойная альтернатива.
|
Я не спорю с этим и со временем либо куплю оригинал PicKit, либо соберу сам.
Но есть вопросы сегодняшнего дня с которыми хотелось бы разобраться.
1. Почему программатор на макетке работал с PIC16F84A, а на плате(в сборе) не работает?
2. Может через MCLR идти такой ток, что на транзисторе VT2 падает 3,5 вольта или PIC не рабочий?
3. Почему F874 нормально программируется, а другие нет.
И далее...
Как видно вопросы связаны не только с процессом (временные интервалы и т.д.)и их важно понимать и при спользовании PicKit и AN589
В целом не нужно превращать ветку в обсуждение что лучше или хуже. Хотелось бы разобраться с конкретной железякой.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
последовательное программирование pic
|
ctefan |
Микроконтроллеры, АЦП, память и т.д |
9 |
17.08.2008 10:38 |
!!!объектное программирование для PIC`ов!!!
|
hubble |
Микроконтроллеры, АЦП, память и т.д |
7 |
14.02.2008 16:18 |
программирование PIC
|
Lex_DJ |
Микроконтроллеры, АЦП, память и т.д |
8 |
02.06.2007 05:18 |
Внутрисхемное программирование PIC
|
lisergin |
Микроконтроллеры, АЦП, память и т.д |
4 |
05.10.2005 00:02 |
Вопрос - программирование PIC-ов на языке высокого уровня
|
GRIM |
Микроконтроллеры, АЦП, память и т.д |
2 |
29.02.2004 09:03 |
Часовой пояс GMT +4, время: 20:47.
|
|