LPT Программатор PIC микроконтроллеров » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    LPT Программатор PIC микроконтроллеров
    Автор публикации: alex Просмотров: 16699 Добавлен: 5-07-2012, 18:38 Комментарии: 14

    Описание: В интернете очень много схем программаторов: через LPT, Com, Usb. Некоторые схемы очень простые - состоящие из двух трех электронных компонентов, некоторые сложные - с применением программируемой логики и микроконтроллеров. На мой взгляд это самый простой программатор микроконтроллеров PIC, который можно собрать за короткое время и из доступных деталей. В программаторе используется всего одна микросхема К155ЛН2, несколько резисторов и транзисторов. Наладка не требуется и программатор начинает работать сразу после подачи на него питания.

    Перечень программируемых микроконтроллеров
    С помощью этого программатора можно запрограммировать практически все известные микроконтрллеры PIC в DIP корпусе
    10FXXX, PIC12CXXX, PIC12FXXX, PIC16CXXX, PIC16FXXX, PIC18FXXXX, где X - любая цифра или буква. Полный список можно просмотреть в раскрывающемся меню программы WinPic.

    - В своей схеме я использовал: транзисторы - КТ361Б; микросхема - К155ЛН3, чип резисторы. Вместо 78L05 и 78L08 - отечественные КР142ЕН8Б и КР142ЕН5А
    - Вместо 40 контактной панельки использовал 48 контактную, так как 40 контактная стоила, как четыре 48 контактных.



    Внешний вид программатора



    Вид изнутри



    УВЕЛИЧИТЬ
    Принципиальная схема программатора




    Внешний вид программы WinPic800



    Настройки программы WinPic800




    Внешний вид программы PicALL



    Настройки программы WinPic800




    Расположение микросхем на панели



    В архиве находятся:
    - ProgPicLpt1.lay и ProgPicLpt2.lay - Два варианта разводки печатных плат
    - WinPic800.rar - Программа WinPic v.3.57a
    - PICALL.rar - Программа PICALL
    - ProgLPT.jpg - Принципиальная схема программатора

    ProgPicLPT.rar [1,6 Mb] (cкачиваний: 1804)

    Комментарии
    legin333 24 августа 2014 16:16 Группа: Посетители
    Я не могу разобратся с платой можете помочь. Укого есть плата с обозначеными деталями!
    alex 25 августа 2014 09:11 Группа: Администраторы
    Что конкретно непонятно с платой?
    Транзисторы p-n-p КТ361 устанавливаются как показано на фотографии. Пермычки в файлах LAY указаны тонкими линиями, правильность которых можно проверить опять же по фотографии. Платы соединяются один к одному, т.е. первый вывод к первому и так далее. Все резисторы SMD имеют типоразмер 0805.
    Руководствуйясь принципиальной схемой можно легко определить где и какие элементы расположены.
    apeks1 5 апреля 2015 22:05 Группа: Посетители
    можно заменить к155лн3 на к155лн2 ?
    ARES2015 9 апреля 2015 11:18 Группа: Посетители
    --------------------------------------------------------------------------------



    можно заменить к155лн3 на к155лн2 ?

    По крайней мере, когда я проверял работоспособность данной схемы, с 155ЛН2 она работает точно так же. (проверял я, естественно, не подключая к LPT порту).
    Вопрос в другом: автор действительно собирал по данной схеме, или как-то ее дорабатывал?
    Два резистора от +5v на 2 и 8 ноги микры 155ЛН3 - точно там должны быть? Потому что с ними транзисторы VT1 и VT2 благополучно открываются даже без установленной микросхемы. И закрыть их нет никакой возможности (т.е 2 светодиода постоянно светятся). После отключения этих резисторов схема при проверке стала себя вести как надо...
    alex 11 апреля 2015 12:57 Группа: Администраторы
    Может быть и можно, я не проверял, только применена микросхема 155ЛН3, поскольку у нее выход с открытым коллектором и повышенным коллекторным напряжением и приведенная выше схема с ней прекрасно работает.
    Резисторы о которых вы упоминаете, подключенные к 2,8,12 выводам микросхемы, необходимы как раз правильного функционирования выходного каскада микросхемы с открытым коллектором. Другими словами, если этих резисторов не будет, а на входе логического элемента будет ноль, то на выходе тоже будет ноль.
    Алексей Крас 6 июня 2015 03:36 Группа: Посетители
    Данный агрегат был собран на плате №2. Не пугаться отсутствию сопротивлений между питанием и входом логических элементов. Работает. LPT 2 b LPT 10 не менять местами (важно).
    Предложенная программа Win Pic800? вкладываемая в рассылку вынесет мозги в плоть до подозрения спаленного контроллера.

    Win Pic 800 v3.59 скачать из инета установить (обязательно установка), в папкe Program Files\WinPic800\Hardware добавить файл MyPicProg1. из распакованной папки (предложенной автором). перезапустить прогу. Автовыбор не произойдет выбрать контроллер в ручную и опросить подключенный контроллер. Запустить прошивку,

    Да забыл, на колене собранный данный аппарат без дела, к добрым рукам бы. krasilnirjd.ite@mail.ru
    SVit 10 августа 2015 08:55 Группа: Посетители
    Попытался выполнить плату на обычных резисторах (не SMD) на базе имеющейся в архиве платах. Обнаружил не соответствии разводки по схеме и на плате на выводах микросхемы с 10 по 13. И еще на плате два крайних светодиода подключены к одному транзистору VT2. Чему доверять схеме или разводке на платах из архива?
    alex 16 августа 2015 08:38 Группа: Администраторы
    В архиве находятся две разводки печатной платы. Да, действительно в файле "ProgPicLpt1.lay" один из светодиодов должен идти на коллектор транзистора. Плата, размещенная в файле "ProgPicLpt2.lay" соответствует принципиальной схеме. Дело все в том, что обе разводки платы правильные(кроме косяка со светодиодом), поскольку не важно какой когический элемент НЕ как подключать, так как в программе можно настроить соответствующие параметры. Если посмотреть внимательно на фото "Вид изнутри", то можно сказать, что плата изготовлена как раз из файла "ProgPicLpt2.lay".
    SVit 17 августа 2015 13:56 Группа: Посетители
    Уточните еще раз :
    1) принципиальная схема правильная?
    2) если принципиальная схема правильная, то разводка и подключение резисторов на плате (оба варианта) на выводах микросхемы с 10 по 13 не соответствуют принципиальной схеме
    alex 18 августа 2015 11:22 Группа: Администраторы
    Устройство собиралось почти 10 лет назад и поэтому все не упомнишь. Мною сначала было собрано устройство, а потом была составлена принципиальная схема при добавлении статьи на сайт. Возможно в ней есть ошибки, но факт в том, что программатор по заданной печатной плате (ProgPicLpt2.lay) прекрасно выполнял свою работу с приведенными настройками программ WinPic800 и PicALL.

    В создании данного программатора стоит руководствоваться разводкой печатной платы (ProgPicLpt2.lay). Еще раз повторюсь, что микросхема К155ЛН3 содержит в себе 6 элементов НЕ, которые в данной схеме можно подключить как угодно, но потом указать их в настройках программы. Перед программированием микроконтроллеров рекомендую проверить программатор понажимав галочки в настройках программы (обозначаются Inv). На выходе микросхемы будем наблюдать инверсию соответствующую указанному биту. Для нормальной работы в дежурном режиме все три светодиода должны быть погашены.

    Вывод: Принципиальная схема соответствует разводке печатной платы из файла (ProgPicLpt1.lay), но для её правильного функционирования необходимо будет выставить правильно биты в настройках программ.
    youggio 30 ноября 2015 23:29 Группа: Посетители
    Я собирал по печатной плате ProgPicLpt2.lay. Как было сказано, она не соответствует разводке. У меня вопрос: куда нужно подключать пины LPT к даной плате? На какие именно ноги микросхемы?
    alex 2 декабря 2015 21:26 Группа: Администраторы
    Используя принципиальную схему и файл разводки печатной платы (ProgPicLpt2.lay) составлены следующие соответствия:
    LPT2 - Data_in - D1:9
    LPT3 - Clock - D1:13
    LPT4 - VDD - D1:1
    LPT5 - VPP1 - D1:3
    LPT6 - VPP2 - D1:5
    LPT10 - Data_out - D1:10

    Рекомендации по проверке:
    Перед включением следует проверить правильность установки битов в программе WinPic или PicAll. Как уже говорилось ранее распаять вышеупомянутые контакты можно в любой комбинации, а затем в настройках программы их переназначить в соответствии с параметрами (Vpp, Vdd, Clock...)
    Проверить можно также обычным тестером. При подключенном программаторе и запущенной управляющей программе на всех выходах панельки должны быть нули. В настройках программы нажимается галочка "Инверсия" и на одном из выходов должен появиться логическая единица. Это необходимо проделать со всеми выводами, кроме АСК, т.к. он работает на вход.
    SVit 21 декабря 2015 13:04 Группа: Посетители
    Собрал программатор по схеме. Подключил к компьютеру , загрузил WinPic ; при определении микроконтроллера выдает РIC-unknown, светодиоды на программаторе все горят, константу на РIC не определяет, при записи прошивки выдает ошибку 0000h (или на первый параметр прошивки). Подозреваю что WinPic заточен под разводку печатной платы (ProgPicLpt2.lay), что говорится у Вас в комментарии от 02.12.2015 (я сделал по схеме). Так как спросить мне кроме Вас не у кого, прошу помочь вкратце рассказать о настройках программы и переназначить в соответствии со схемой (Vpp, Vdd, Clock...). А для углубления и закрепления материала порекомендуйте, что почитать.
    alex 25 декабря 2015 09:42 Группа: Администраторы
    В предыдущем комментарии кратко, как и просили, описано как проверить программатор.(Выделил красным "Рекомендации по проверке").
    Ниже привожу Подробно что надо сделать, чтобы проверить программатор.

    Необходимо, чтобы при подключенном к компьютеру программатору и запущенной программе (неважно WinPic или PicAll) и естественно поданном питании на программатор на всех выходах были нули!
    Как уже отмечалось ранее совершенно неважно как произведена разводка по первой схеме или по второй. Важно чтобы один из выходов КН3 (смотри схему вывод 10 с кружочком) был запаян именно на 10 контакт LPT разъема.

    Запускаем программу и заходим в настройки. Видим следующую картину:

    Нужно разобраться что здесь да как.
    State - состояние битов
    Name - название битов
    Bit - номер бита данных LPT порта (здесь и выбирается к какому контакту подвязан LPT) !!!ВАЖНО. Это не номер контакта на LPT разъеме, а номер бита!
    Смотрим картинку ниже D0 соответствует 2-му выводу на LPT разъеме и соответствует 0 биту в окне программы(первая строка Name=Data, Bit="0"). С остальными по аналогии.

    Inv - инверсия сигнала.

    Нужно добиться того, чтобы на всех выводах не было напряжения!!! Оно будет подаваться при нажатии кнопки считать микроконтроллер или прошить.
    Если у вас горят светодиоды в обычном режиме, значит настройка проведена неправильно и при программировании на микроконтроллер будут подаваться ИНВЕРСНЫЕ-НЕПРАВИЛЬНЫЕ сигналы.

    Дальше берем обычный тестер, устанавливаем режим измерения напряжения.
    Минусовой провод подключаем к общему (найди его сам).
    Далее поочередно, руководствуясь схемой(та часть где написано Панель), подключаем положительный вход тестера к соответствующим контактам панели программатора. Это VPP1, VPP2, VDD, CLOCK и DATA.
    Нужно, чтобы на эти контакты приходили соответствующие назначенные пины в программе.
    Подключаешь плюс тестера к 40 контакту панельки. Это соответствует сигналу DATA. Переходишь в окно программы и наживаешь галочку INV напротив слова Data. Если бит установлен правильно, то на вольтметре ты увидишь изменение напряжения. Если же этого не произошло, то необходимо изменить номер бита(колонка BIT) и так действовать до тех пор, пока не будет найден соответствующие бит. При правильно найденном бите необходимо галочку установить в таком положении (вкл или выкл), чтобы напряжения на панели НЕ БЫЛО! (Оно будет подаваться при программировании автоматически!)
    И далее по аналогии настраиваются все остальные биты.

    Если вам и данная методика не помогла, то может стоит забросить все это дело?

    Рекомендую заказать на AliExpress программатор PICKit3(Ссылка на товар), его стоимость там составляет, если не лениться и поискать, примерно 800 рублей. И тогда ваши проблемы с созданием программатора просто отпадут.
    З.Ы. Но возникнут новые - написание программ и создание устройств, поскольку для этого необходимы элементарные знания в области программирования и электроники.