sergm411

Не перепрошивается PIC16F628A

16 сообщений в этой теме

sergm411    1

Здравствуйте , я собрал часы по этой схеме http://www.labkit.ru/html/clock?id=470

Прошил контроллер самодельным PicKit 2 Lite , и он перестал определятся , часы работают без проблем но контроллер получается как одноразовый . Разработчик часов предупреждает об этом , вот я думаю может есть способ вернуть его к определению с моим программатором . Прикрепил прошивку , может подскажите что в ней его блокирует .

Old_clock_IN14+DS18+beep.hex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
oldmao    1 210

Скорее всего программно сброшен бит LVP конфигурации, разрешающий низковольтное программирование (только от +5 вольт). Теперь ищи/делай высоковольтный (HV) программатор, чтобы им выставить этот бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    484
10 часов назад, sergm411 сказал:

может подскажите что в ней его блокирует .

В статье же написано :

Цитата

Для работы часового кварца в программе пишется пара строк:

T1OSCEN = 1; // вкл тактового генератора

TMR1CS = 1; // внешний тактовый сигнал

После того, как прошивка с этими параметрами будет прошита в микроконтроллер, микроконтроллер перестает определяться простыми программаторами (в том числе Экстра-Пик и PicKit2-Lite).



 

10 часов назад, sergm411 сказал:

вот я думаю может есть способ вернуть его к определению с моим программатором

Опять же, всё написано :

Цитата

Если в оболочке PICkit2 (PICkit 3) поставить галку "Use VPP First Program Entry", микроконтроллер начинает определяться (перепрошиваться, стираться …).
 



 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sergm411    1

Ставил я галки , ничего . Вот скрин .

 

Вот ошибка . При этом я его выбрал из мануала программы .

1.jpg

Вот программа его определяет по умолчанию . Подпаивал к нему AUX , тоже без изменений .

222.jpg

Программатор тест вроде проходит .

35.jpg

Изменено пользователем sergm411

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    484

Ну чудес не бывает. Может кит у Вас лайт-версии ?
То, что такая проблема есть, это точно. Сам сталкивался с ней. Но с ней справлялся и PICkit3 и даже переделанный под "First VPP" экстра-пик.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sergm411    1

Да лайт версия . А что нужно сделать , добавить чтобы заработало ? Или придется купить полноценный программатор ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    484

Не в курсе. На сколько мне известно, лайт-версия ущербна в цепях управления питанием. Отсюда и подобные проблемы.

PS: А зачем переделывать/покупать ? Он же шьёт нормально. Для повторения конструкций - достаточно.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sergm411    1

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sergm411    1

Сегодня купил PicKit 2 , и перепрошил без проблем :D . Поставил галку в меню программы , контроллер начал определятся , как и писал разработчик часов .

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 049
В 04.06.2017 в 00:44, Alex сказал:

В статье же написано :

Цитата

Для работы часового кварца в программе пишется пара строк:

T1OSCEN = 1; // вкл тактового генератора

TMR1CS = 1; // внешний тактовый сигнал

После того, как прошивка с этими параметрами будет прошита в микроконтроллер, микроконтроллер перестает определяться простыми программаторами (в том числе Экстра-Пик и PicKit2-Lite).

 

автор несколько лукавит...

Цитата

    processor 16F628A
    #include <P16F628A.INC>
    __config 0x3F10
;   _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF
;   & _INTOSC_OSC_NOCLKOUT

и это в документации есть , и на форуме обсуждалось не один раз, принудительная подача Vpp раньше Vdd решает проблему

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Tecnik2    0

Интересная информация. У меня тоже некоторые проблемки с этой микросхемой (+аналогично с PIC16F468A).

Прошиваю на ChipProg по LPT. Не прошивается одна фюза - LVP.

Считывая стертый PIC, LVP - RB4/PGM pin has PGM function, low voltage programming enabled.

CONFIG - 03F94h

Загрузив файл прошивки, LVP - RB4 is digital I/O. HV on MCLR mast be used for programming

CONFIG - 03F14h

После прошивки идет сравнение и конфигурирование. Оно вот и проходит с ошибкой. Это одинаково для двух ПИК контроллеров.

Память записал верно. Отличие в одном фюзе.

Влияет ли эта ошибка на работу конечного устройства?

 

У 16F628A вывод RB4 не задействован, а вот у 16F648A он подключен к дисплею.

Схема.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Tecnik2    0

Начитался про LVP. Его нужно выключить. Вот в этом и проблема, не получается это сделать. Хоть собирай другой программатор и там пробуй.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 049

LVP можно выключить только при высоковольтном программировании, об этом написано в каждой спецификации на любой контроллер

собственно вам даже програ об этом грит

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Tecnik2    0

Спасибо. Вот на это и натолкнулся. Программатор то имеет высокие напряжения.

Проверил напряжения во время программирования на Vdd - 5В, LVP - 4,4В, Vpp - 7В.

Конечно, ничего не получается!

Хотя в проге написано, на фото слева внизу, напряжения программирования Vpp - 13 В, Vcc - 5 В.

Облазил прогер, не знаю как включить режим высоковольтного программирования.

Кто-то знает?

Программатор ChipProg по LPT порту. Подключен к нему блок питания с двумя напряжениями 10В и 28В. Во время программирования не просидает.

 

Прог.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Tecnik2    0

Ура! Победа.

Проблема была вот в чем. Кто-то паял питание к программатору и перепутали 10В и 12В местами (гнезда нет, провод напрямую к плате припаян). Конечно из 10 В не получиться получить 13В. Перепаял.

Все. Оба пика прошил. Класс!

 

Теперь при программировании как  положено Vdd - 4.8 В, Vpp - 12.8 В, LVP - 0.03 В.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: karomag
      Добрый день.
      Экспериментирую с подключение 7-сегментного индикатора к мк stm32. Индикатор с общим катодом. Соответственно для вывода цифры необходимо на анод каждого сегмента подать 1, а на общий катод 0. И тут я не могу понять какие токи будут через порты. Теоретически, пины МК подключенные через резистор 300 Ом к аноду (напряжение МК 3.3 В) то ток будет 4 мА, тогда на общем катоде должно быть 7 * 4 = 28 мА (цифра 8, т.е. горят все сегменты). Т.е. это небольшое, но превышение макс тока на ногу 20 мА. И надо общий вывод подключать через транзисторный ключ.
      Взял мультиметр. Результаты замера: ток каждого сегмента ~2.5 мА, ток общего катода 5 мА. Вот тут я подумал о школе Хогвардс))) Как все таки рассчитывается все таки ток на общем выводе? 
    • Автор: art_budka
      Ищу подрядчика для разработки проекта робота-рисовальщика. Есть бюджет, ТЗ. 
      Устройство представляет собой манипулятор передвигающий головку в плоскости XY в пределах жесткой рамы на которой установлены двигатели и направляющие перемещения. Головка представляет собой блок, отвечающий за передвижение закрепленного в фиксаторе объекта-пера по оси Z на расстояние до 20 мм. Фиксатор на элементе подъёма головки должен обеспечить жесткое закрепление предметов массой 10 - 80 грамм - кистей, шариковых ручек, карандашей и маркеров диаметром от 5 до 20 мм.
      Решение необходимо для обеспечения точных, многократно повторяющихся перемещений “пера” над плоской поверхностью. Для формирования движений в устройстве должна быть реализована электромеханическая схема, подключенная посредством USB-интерфейса к персональному компьютеру для отправки команд на манипулятор и получения обратной связи от контроллера манипулятора. 
      ТЗ, смета и бюджет через art_budka@rambler.ru 
    • Автор: green_whale
      Доброго времени суток.
      Собственно, сразу к делу. Необходимо измерить вч напряжение (частота порядка 20кГц, максимальная амплитуда 75мВ) с помощью микроконтроллера (скорее всего будет использоваться Arduino).
      Форма входного сигнала - пила (возрастает от минимального значения до максимального). Сигнал однополярный.
      Измерить нужно именно максимальное значение входящего сигнала. Измерение должно быть весьма точным (желательно, чтобы погрешность не превышала 1-2%).
      Есть пару идей :
      1. Сгладить сигнал, используя пиковый детектор (сможет ли сигнал такой частоты и формы зарядить конденсатор?).
      2. Использовать цап для генерации постепенно снижающегося напряжения и аналоговый компаратор.

      Надеюсь, кто-нибудь уже решал подобную проблему и сможет помочь советом или схемой.
    • Гость мистер_чувак
      Автор: Гость мистер_чувак
      Здравствуйте. Нашёл свои старые китайские портативные колонки, которые давно уже разобрал и потерял некоторые провода. Помогите разобраться, что к чему соединять, чтобы работало.
      фотка1
      фотка2
      фотка3
      фотка4
      фотка5
      фотка6
      фотка7
    • Автор: butyavk
      Компания "Диаконт" приглашает на собеседование по вакансии инженер-программист микроконтроллеров.
      Мы производим и поставляем современные приборы управления электроприводами для различных отраслей отечественной промышленности.
      Пополняем нашу команду программистов (готовы принять 2-3 кандидатов с различным опытом работы)!

      Основные обязанности:
      Разработка программного обеспечения для блоков управления приводами и др. вычислительных систем.
      Программирование на C++ микроконтроллеров фирмы Texas Instruments и НИИЭТ на базе ядра ARM Cortex-M4.
      Поддержка и доработка существующего программного обеспечения.
      Участие в научно-исследовательских и опытно-конструкторских работах.
      Участие во внедрении систем на объектах (редкие командировки).

      Требования к кандидатам:
      Хорошее знание схемотехники;
      Знание методов разработки и проектирования ПО для микроконтроллеров и опыт работы с их периферией;
      Знание основ управления электроприводами и ТАУ;
      Знание языков программирования высокого уровня (C++, C);
      Знание современных методов разработки ПО (ООП, ...);
      Знание английского языка (чтение технической документации);
      Приветствуется знание Python, Matlab/Octave;
      Дополнительным плюсом будет опыт автоматизированного тестирования встроенного ПО.

      Условия:
      Оплата полностью белая (на руки в зависимости от знаний и опыта от 50 000 руб до 100000 руб). Но, готовы обсуждать!;
      Карьерный и профессиональный рост;
      Предприятие с комфортными условиями труда на севере города;
      ДМС;
      График работы понедельник - пятница 9:00-17:40;
      Плавающее начало работы с 8:00-10:00;
      Льготное питание в столовой на территории предприятия;...

      Ключевые навыки
      Программирование микроконтороллеров
      C/C++
      Управление электродвигателями

      Адрес
      Санкт-Петербург, ул. Учительская 2, м. Гражданский проспект

      Тип занятости
      Полная занятость, полный день

      Резюме лучше отправлять на rykov@diakont.com