Популярные проекты

WEB PICµBASIC LOGIC CONTROLLER

USB PICµBASIC Mid Hardware

USB PICµBASIC LOGIC CONTROLLER

DDS генератор сигналов "OSKAR-DDS"

Термостол для оплавления паяльной пасты

Осциллограф Карманный "OSKAR" V3.1

Электроника и механика 3-х координатного станка ЧПУ (Hobby CNC)

Простой счетчик

Измеритель ESR и емкости конденсаторов

Самодельный установщик SMD компонентов - раскладочный станок "SMD PLACER V2"

Прибор для измерения частоты, емкости, индуктивности, сопротивления

Выключатель /диммер светодиодных лент с ДУ.

Светомузыка «СЕМИЦВЕТИК» + автомат световых эффектов.

Универсальный прибор для автомобиля. Часы, термометр, вольтметр, тахометр.

Все, что нельзя запрограммировать на ассемблере, приходится паять.

      Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве. Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP. Используется программатор PICKIT2/3, ICD2/3. Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки. Также можно приобрести в качестве набора для сборки или готового изделия. Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.


PICµBASIC LOGIC CONTROLLER
Программное обеспечение.

              Программа BASIC Terminal

                        Мы имеем любой модуль PICµBASIC. Для работы с ним удобно использовать программу BASIC Terminal

Terminal             Программа не требует инсталляции и может работать в любом каталоге. Все действия документируются в журнале  работы «Terminal.log» , который создается в рабочем каталоге.

            Инсталляция программы.
Скачать архив и распаковать в любой каталог.
Запустить программу. Все готово к работе.

            Возможные  трудности:
Программа использует библиотеки Microsoft:
COMDLG32.OCX
MSCOMM32.OCX
mswinsck.ocx
vbalProgBar6.ocx
Как правило, они уже присутствуют в Windows.
            В случае их отсутствия на компьютере, скачать отдельно библиотеки и распаковать в каталог программы. Можно скачивать с сайта Microsoft. В случае проблем с регистрацией скачанных библиотек требуется их регистрация программой командой regsvr32 или просто запускать терминал от имени администратора 
Дополнительная информация на сервере Microsoft https://support.microsoft.com/en-us/kb/146219
            Саму программу и компоненты можно скачать тут: http://picping.lg.ua/FILES/Software/

            Подключение контроллера.
Терминал позволяет подключить любой контроллер с PICµBASIC напрямую или через главный контроллер.
WEB PICµBASIC подключается через Ethernet/Internet по IP адресу. USB PICµBASIC подключается напрямую к компьютеру в USB порт, связь через виртуальный COM порт. Device PICµBASIC подключается напрямую к компьютеру через USB-RS485 переходник или через WEB/USB PICµBASIC.
Для USB PICµBASIC и Windows ниже 10 версии требуется установить драйвер виртуального порта. Скачать можно тут http://picping.lg.ua/FILES/USB_Driver/
            Подключите контроллер к компьютеру, будет обнаружено новое устройство. Установите прилагающийся комплект драйверов. В итоге добавится новое устройство
                       DRIVER_INST_1        DRIVER_INST_2

            Выбираем тип подключения в шапке программы:
Для Ethernet/Internet в окне “Link” требуется ввести адрес контроллера. По умолчанию IP = 192.168.0.25, DG = 192.168.0.1, MASK = 255.255.255.0 Пароли администратора ADMIN  / ADMIN , пользователя (web  интерфейс) USER / USER.
Связь осуществляется по протоколу UDP:111. Возможно получение адреса по DHCP.
Кнопки ADD , DEL SAVE – позволяют запомнить и редактировать список IP адресов для подключения. Кнопки Connect/Disconnect соответственно устанавливают и разрывают связь. 
            Связь чрез COM порт или USB виртуальный COM порт.
В разделе Comm’s указываем номер порта: 1-9 ( в случае установки драйвером на больший номер , требуется перенос вниз в диспетчере устройств). Выбираем желаемую скорость  в из  1200/2400/4800/9600/19200/115200 – по умолчанию 115200.
Кнопкой Open/Close подключаем /отключаем связь. Скорости менее 115200 предусмотрены для подключения к любым дополнительным устройствам. При подключении будут активны анимированные индикаторы подключения.
            Для связи с Device PICµBASIC требуется адаптер USB-RS485. Подключение аналогично через COM порт. Дополнительно в окне MODBUS RTU надо установить флажок, для активации протокола MODBUS и ввести адрес SLAVE контроллера – по умолчанию 16. Если подключение к Device PICµBASIC осуществляется удаленно через USB PICµBASIC – то в этом же окне установить флажок Via USB. Для настройки порта MODBUS в  USB PICµBASIC можно воспользоваться кнопкой InitPort или провести инициализацию порта вручную через консоль BASIC. Для связи через WEB PICµBASIC аналогично устанавливаем флажок и выбираем адрес в окне  Eth to MODBUS. В обоих случаях при установленном флажке связь идет транзитом через главный контроллер с Device PICµBASIC и при снятом – с главным контроллером.
            Сам терминал – самое большое окно и строка ввода под ним.
Команды набираются в строке ввода и отправляются по нажатию Enter. Стрелки курсора влево /вправо  - перемещение по строке для редактирования. Можно копировать из / в строку ввода – CTRL-C и CTRL-V. Стрелки курсора вверх/вниз вставляют команды в строку ввода из кеша последних набранных команд. Переместить вставленную команду из кеша в самую первую позицию кеша команд – после выбора нажать стрелку вправо. Отправленные команды и ответы отображаются в главном окне терминала. Из него можно копировать текст в другие программы. Сам  обмен документируется в журнале. Справа полоса прокрутки буфера приема, который имеет объем 32 кб. При заполнении буфера вывод прекращается и окно требуется очистить кнопкой “Clear”.   
            Сервисные кнопки расположены сразу над главным окном терминала.
“Open File and Download” - Загрузка программы на BASIC из компьютера в контроллер. Выберите файл и загрузка начнется автоматически. Если программа в контроллере выполняется в данный момент – Вы получите предупреждение и потребуется остановить командой BREAK. Кнопки “>>” и “x” позволяют продолжить или прервать загрузку после ошибки. Обычно это неправильные строки в программе или ошибки связи с контроллером.
            Особенности загрузки программы на BASIC в контроллер.       
При загрузке совпадающие номера строк будут заменены, не совпадающие будут добавлены к существующим в контроллере. Для очистки памяти программ пользователя в контроллере нажмите кнопку New Program.  Очистка займет некоторое время. Программа *.bas – это обычный текстовый файл и редактируется текстовым редактором, например блокнот.

“Save Programm”   Чтение программы из контроллера на компьютер.
“New Program” – очистка программы в контроллере
“Info” получить информацию о контроллере
Раздел Flash Disk – загрузка и чтение файлов на Диск WEB PICµBASIC контроллера. Кнопки SEND и RECEIVE для загрузки м выгрузки, END для остановки процесса. Сам процесс отображается на индикаторе прогресса. В окне требуется указать имя файла, которое будет/есть  на диске контроллера в формате 8.3. Оно не связанно с именем файла на компьютере. Узнать файлы контроллера  - команда DIR в терминале. 

            Программа BASIC Terminal – Работа с контроллером

            Итак, все программы установлены, связь настроена. Начнем оживлять.
Начальное общение со средой PICµBASIC ведется через консоль – BASIC Terminal ( Ранее консолью называли телетайпный аппарат, с помощью которого оператор общался с компьютером). Причём, работа через консоль актуальна только на этапе загрузки и отладки программы.   В дальнейшем может использоваться для обмена информацией.
            В терминале, в нижней строке наберем команду VER. Регистр имеет значение. Это запрос версии контроллера
Если все хорошо  - то получим ответ вида DEV PICµBASIC VER х.х.х , где также будет указанны серийные номера, статус активации BASIC – FULL. Более расширенную информацию дает команда STATUS.
В случае работы с WEB  PICµBASIC сначала потребуется ввести логин и пароль администратора, ответив на соответствующие запросы.
terminal2terminal1В ответ получим информацию о версии п/о, текущем времени в контроллере, сетевых настройках, логинах паролях, режиме использования файлов WEB сервером.
            Большинство команд, операторов, функций выполняются как из командной строки немедленно, также как и в программе на BASIC. Если мы хотим ввести строку программы  - то ввод начинается с номера строки. Иначе команда будет выполнена немедленно. Несколько  команд можно записывать в одной строке, разделяя двоеточием.
            Попробуем.
Напишем и запустим первую программу.

Очистим память программ – оператор NEW , придется немного подождать до появления OK.
Введем строки
                400 PRINT " Hello world "
                410 END
Команды с номером строки  интерпретируются как строки программы и сразу записываются в память .
Проверим программу  -  команда LIST 400
                LIST 400
                0400 PRINT "Hello World"
                0410 END
Запустим программу с 400 строки  команда RUN 400 и увидим
                RUN 400
                Hello World
                OK
Ура, все получилось!
           

            Программа BOOT LOADER – Обновление ПО контроллера

BOOT WEB            Встроенное ПО  PICµBASIC контроллера регулярно обновляется и совершенствуется, появляются новые возможности и функции. Обновить ПО можно локально и по сети, с помощью программ BOOT LOADER. Для каждого вида контроллера существует своя версия. Интерфейс и работа с ними практически одинакова. Программы не требуют инсталляции  и устанавливаются аналогично BASIC Terminal. Скачать программы http://picping.lg.ua/FILES/Firmware/BOOT_LOADER/
и прошивки http://picping.lg.ua/FILES/Firmware/BASIC_v3x/ . Обновление ПО не затрагивает регистрацию BASIC, пользовательскую программу и данные в EEPROM. Контроллер, с установленным PICµBASIC,  не запускает код BOOT Loader.
Для Вызова к загрузчика  из BASIC вводим команду BOOT.

Загрузчик WEB PICµBASIC.
Окно Link аналогично такому же в терминале. Устанавливаем связь.  В окне сообщений появится информация встроенного BOOT контроллера.
Нам доступны следующие действия:
Форматирование (очистка)  всей памяти программ контроллера.
Запись обновления  в контроллер. Старая прошивка удалится автоматически. Так что форматирование как правило не требуется. Кнопка CLR очищает окно сообщений.
   Загрузка кода PICµBASIC.
Нажмите кнопку “Open File and Download”, выберите файл прошивки *.hex  и загрузка начнется автоматически. Затем произойдет автоматическая проверка загруженного архива. В случае успешного выполнения Вы получите уведомление. Ход выполнения будет отображаться  на индикаторе загрузки. После удачной загрузки нажмите кнопку  “Install Basic”. Прошивка будет распакована и активирована. Программу можно закрывать.

BOOT USB

     Загрузчик USB PICµBASIC.
Работа полностью аналогична. Связь устанавливать через виртуальный COM порт, как в терминале.
Особенность  - требуется сначала включить связь а только потом подключить USB кабель или подать питание на контроллер.

Для входа в режим загрузки нажмите кнопку «Open Port» предварительно указав номер порта, на котором проинсталлировали ранее устройство. Запустится счетчик ожидания соединения. Подключите контроллер к компьютеру или подайте на него питание -  связь установится автоматически.
В этом случае не потребуется переводить BASIC в BOOT режим.
Загрузчик подхватится по старту контроллера.
 

BOOT DEVICE     Загрузчик для Device PICµBASIC.
Поддерживается загрузка без и с использованием протокола MODBUS. Требуется подключение к контроллеру через USB-RS485 переходник. Если используется протокол MODBUS и адрес контроллера не известен – оставьте поле адреса пустым, как на рисунке. Программа сама найдет контроллер.    Также можно изменить адрес контроллера – для этого установить адрес и нажать “SetAddr”

 

BOOT DEVICE_ETH

   Загрузчик для Device PICµBASIC через WEB PICµBASIC по сети Ethernet
Предназначен для удаленного обновления по сети.
Настраивается аналогично терминалу.
Имеет мини консоль для отправки команд как WEB PICµBASIC , так и Device PICµBASIC
Кнопка UartOn активирует и настраивает  порт MODBUS на WEB PICµBASIC контроллере

 

                                               Написание программ на BASIC AkelPad

                                   Как правило, программа на BASIC имеет следующий вид:

0005 REM Программа часов с термометром
0006 REM Получим дату и время
0010 #(0)=DATE{}:#(3)=TIME{}
0015 REM Печатьдаты
0020 AT 0:LPRINT #2,#(0),"-",#(1),"-",#(2)
0025 REM Печать времени
0030 AT 64:LPRINT #2,#(3),":",#(4),":",#(5)
0035 REM Получим температуру
0040 T=RTEMP{}
0045 REM Проверим наличие датчика
0050 IF T<-100 THEN GOTO 10
0055 REM Температура получена, печатаем
0060 AT 10:LPRINT "Temp"
0070 AT 74:LPRINT #0,T:LCDD 239:LPRINT "C"
0075 REM Все с начала.
0080 GOTO 10

BAS_AKEL            Все просто, пока программа простая. Также совсем не обязательно хранить комментарии в памяти программ контроллера. И в случае модификации приходится заново перенумеровывать строки и следить за всеми переходами по номерам строк. Велика вероятность допустить ошибку. И подсветку синтаксиса хочется.
            Для этого используем бесплатную программу AkelPad http://akelpad.sourceforge.net/ru/ и подключаем к ней плагины. Можно самостоятельно все настроить или скачать настроенный редактор  Скачать
Теперь все выглядит по другому.
Подсветка синтаксиса, сворачивание блоков, многооконный режим и многие другие плюшки.

Осталось решить  остальные задачи.

 

                        Написание программ на BASIC -  BASIC PRECOMPILER

BAS_COMPILE
Основная задача этой программы  - избавить человека от рутинной работы и проверка выходного кода на наличие синтаксических ошибок. Конечно все ошибки распознать не получается (пока) но распространенные исправляются автоматически, на остальные выдаются предупреждения.
            Для удобства описания в тексте теперь возможны подстановки.
            Выходной файл может быть собран из нескольких исходных файлов.
            Применяются текстовые метки переходов.
Осуществляется автоматическая нумерация строк.
Удаляются лишние строки и пробелы

Скачать

Подстановка   - должна быть в тексте раньше, чем встретится значение подстановки
                #define VOLT EQU A
#define end_volt EQU b
Текст:  IF VOLT=1 THEN end_volt=0 результат : IF A=1 THEN b=0
Подключаемые файлы:             #includeTEST_3.BASЭта строка вставляет указанный файл в указанное место, во вставляемом файле допускается вложения других файлов
            100                  - Номер с которого дальше пойдет нумерация
                [METKA_01]            - метка  
                GOTO [METKA_01]             - переход на метку. Вместо меток будут подставляться реальные номера строк
            REM '****                     - Комментарии, если установлено Enable – то будут добавлены в выходной файл с номерами строк
если дополнительно установлено Coment - то без номеров строк. Во всех случаях регистр имеет значение  
“Open” открывает файл на выбор или последний, указанный в строке. Х – очищает эту строку. “SaveAs” сохраняет файл
Сразу при открытии подгружаются все файлы , указанные в #include
“Save” сохраняет файл на выбор или с последним именем указанным в строке. “Clear” – очистка окна
“Compile”  собственно процедура преобразования.
            При компиляции с комментариями , без номеров строк – они будут присутствовать в листинге, но загружаться в контроллер через терминал не будут.

В итоге получаем такую среду для написания программ.

AKEL_PAD

Как показала практика, теперь написание сложных программ стало простым и удобным.
Удачной разработки!

 


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

Обсудить на форуме
Купить