- •Предисловие
- •Часть 1. Электроника для начинающих
- •Глава 1. Что на плате электронного устройства?
- •Резистор
- •Конденсатор и индуктивность
- •Диод и транзистор
- •Глава 2. Программы и схемы
- •PSIM в Linux
- •Qucs в Linux
- •Операционный усилитель
- •Цифровая микросхема
- •Глава 3. Путешествие по плате с осциллографом
- •Что такое осциллограф?
- •Что такое сигнал?
- •Что я увидел на плате с помощью осциллографа?
- •Глава 4. Электричество и магнетизм
- •Глава 5. Сигналы или переменный ток на практике
- •Разные законы изменения переменного тока
- •Генерация сигналов
- •Использование сигналов
- •Глава 6. С чего начать свой первый проект?
- •Усилитель мощности
- •Светофор
- •Блок питания
- •Глава 7. Усилитель
- •Включение транзистора с общей базой
- •Включение транзистора с общим коллектором
- •Включение транзистора с общим эмиттером
- •Определение зависимости тока базы от напряжения
- •Частотные характеристики усилителя
- •Стоп, стоп, стоп!
- •Глава 8. Бабахать или нет – вот в чем вопрос
- •Разговоры, разговоры
- •Проект «Громкоговоритель»
- •Глава 9. Теплоотвод
- •Разные режимы работы оконечных каскадов
- •Тепло. Что с ним делать?
- •Глава 10. Сигналы, немного больше
- •Прямоугольные импульсы
- •Получение импульсов некоторых видов из простых сигналов
- •Немного о сигналах и линиях
- •Больше об амплитудной модуляции
- •Другие преобразования напряжений
- •Глава 11. Немного больше об усилителях
- •Усилители в радиоприемнике
- •Предварительный усилитель НЧ
- •Снижение шумов и автоматическая регулировка
- •Глава 12. Автоматика, и зачем она нужна
- •Обогреватель-автомат или простые устройства автоматики
- •Автоматическая нянька для рассеянных
- •Глава 13. Один интересный преобразователь
- •Преобразователи постоянного напряжения в переменное
- •Разные типы современных преобразователей
- •Проблемы симуляции электрических схем
- •Глава 14. Как считает домашний компьютер
- •Пример расчета максимальной выходной мощности
- •Пример расчета схемы стабилизатора
- •Примеры соотношений в транзисторных схемах
- •Программы для более сложных расчетов
- •Глава 15. Микропроцессор и программирование
- •Галопом по европам
- •Как организована работа процессора
- •Что такое программа?
- •Глава 16. Микроконтроллеры
- •Что нужно для работы с микроконтроллером?
- •Завершение проекта «Светофор»
- •Некоторые особенности работы с программатором
- •Завершение проекта «Автомат для рассеянных»
- •Завершение проекта «Электроника для начинающих»
- •Глава 17. Измерения в электрических цепях
- •Схема коммутатора к осциллографу
- •Схема приставки к мультиметру для измерения L и C
- •Схема регулировки яркости светильника
- •Глава 18. Организация собственной разработки
- •Часть 2. Игра в программирование
- •Глава 1. Поиск печки, от которой танцевать
- •Два берега
- •Первое знакомство с Gambas
- •Компьютер может помочь с программированием
- •Почему Емеля ездил на печи?
- •А можно с этого места поподробнее?
- •Первый блин
- •Глава 2. Бряцая железом
- •Хорошее начало
- •Возвращение
- •Отладка в gpsim
- •Глава 3. У камелька
- •Начало проекта «Машинистка»
- •Развиваем успех
- •Заметки и пометки «на память»
- •Глава 4. Охота на кентавра
- •Засада в интерфейсе
- •Железное решение
- •Лирическое отступление
- •Грустное завершение рассказа о счетчике
- •Глава 5. Сказка о неудачливом радиолюбителе
- •Возвращение на круги своея
- •Расширение кругов (на воде?)
- •gpsim как зерцало грешника
- •Вялая попытка оправдаться
- •И оргвыводы
- •Глава 6. Сказка о ловком программисте
- •Предварительное рассмотрение проекта «Генератор»
- •Продолжение работы над проектом «Генератор»
- •Завершение
- •Конспекты
- •Gambas дружелюбен к пишущим на VB, но используя Linux
- •Разработка приложений в Gambas
- •Часть 3. Proteus в любительской практике
- •Что такое интегрирующая и дифференцирующая цепь?
- •Почему не выпрямляет диод?
- •Как работает транзистор?
- •Микроконтроллеры и Proteus
- •Как работать с линиями?
- •Помогите найти схему внешнего генератора импульсов 4-8 MHZ (например на 555ЛН1).
- •Собрал одно, собрал другое — не работает. Что делать?
- •Почему я работаю с AVR?
В.Н. Гололобов |
Экскурсия по электронике |
320 |
Рис. 16.8. Коды готовой к загрузке программы
Поскольку я сознался, что жульничаю, поскольку порой лукавлю, я, в наказание себе, сейчас включу программатор, загружу программу в микроконтроллер, и перенесу его на макетную плату. Если «светофор» не заработает, то честно об этом напишу.
Некоторые особенности работы с программатором
Ай-яй-яй, давненько не брал я картишки в руки... Все я подзабыл, увы.
Впервую очередь это касается работы с программатором в KTechlab. Для его работы требуется дополнительно установить программную часть (утилита это или драйвер устройства я сейчас выяснять не буду). Называется это picprog. Как это называется, я прочитал в своей книге «Наглядная электроника». Хорошо, что сохранил ее.
Вдистрибутиве Fedora 7, в списке готовых пакетов, нужной мне picprog не нашлось. Пришлось поискать исходные тексты, обнаруженные под именем picprog_1.8.3.orig.tar.gz. Для поиска программ в Интернете в Linux есть ряд средств, равно как и для установки программ с CD-диска. Распаковав найденный мною архив с исходными текстами на рабочий стол, посмотрев файл с названием README, я обнаружил, что набор команд для установки программы несколько отличен от стандартного (если считать его стандартным), первая команда ниже переход в папку с исходным текстом:
cd /home/vladimir/Desktop/picprog-1.8.3/ make dep
make
make install
В.Н. Гололобов |
Экскурсия по электронике |
321 |
Произведя эти несложные манипуляции, я получил возможность работать с программатором, который в KTechlab есть под именем PICProg. Выбор программатора осуществляется в пункте основного меню Settings, где выбирается раздел Configure KTechlab.
Рис. 16.9. Диалоговое окно настройки программатора
Но это еще не все приключения, о которых я прочитал прежде, чем получилась первая запись кода в программатор. При настройках по умолчанию для выбранного программатора запись не проходит. В опциях, как оказалось, следует указать для режима Write: -- erase. Кроме того, получается, что лучше очевидно указать тип микроконтроллера. В итоге, нажав на клавишу Add..., что позволяет создать новую версию настроек программатора, я добавляю picprog2 с предустановками:
Read: picprog --output %file --pic %port --device=pic16f628
Write: picprog --erase --burn --input %file --pic %port --device=pic16f628 Erase: picprog %port --pic %device
Клавиши Apply и OK позволяют сохранить новые настройки. Однако и этого, как оказалось, недостаточно, для защиты от проделок хакеров все операционные системы сейчас так защищены, что у пользователя компьютера, практически, нет прав ни на что. Доступ к COM-порту (/dev/ttyS0 в системе Linux) мне закрыт. Когда-то было достаточно добавить себя в группу uucp, но теперь и этого мало. Чтобы решить эту проблему приходится запускать KTechlab из терминала командной строкой: su -c ktechlab.
В.Н. Гололобов |
Экскурсия по электронике |
322 |
По дороге к успеху, в тот момент, когда я не обнаружил в дистрибутиве Fedora пакета picprog, я решил, что эту часть работы сделаю в Ubuntu, моей второй операционной системе Linux, дистрибутив которой основан на пакетах Debian.
В Ubuntu, в отличие от Fedora, все нашлось в готовых пакетах. Достаточно было их скачать и установить. Но при первой попытке трансляции программы я столкнулся с тем, что необходимо установить еще пакет gputil. Это справедливо, поскольку утилиты используются для трансляции с ассемблера в машинные коды, но я предполагал их наличие в пакете KTechlab. Тоже не проблема при наличии Интернета, скачал и в сторону. Но во всем остальном, что касалось настроек программатора и прочего, особенной разницы не обнаружилось, пришлось вернуться в Fedora 7.
Последнее, о чем следовало бы упомянуть, и с чем я не разобрался в прошлый раз, работая в основном в Piklab, это слово конфигурации микроконтроллера, без которого он не будет работать. Эта незадача решилась просто. Прежде, чем записывать программу в микроконтроллер, ее следует транслировать в ассемблер (пункт Conver to Assembly в выпадающем меню под значком ракеты). В ассемблерном коде в самом начале есть задание слова конфигурации.
Рис. 16.10. Задание слова конфигурации контроллера в KTechlab
Это место выделено на рисунке. Достаточно, при тех настройках, которые я использую, исправить это на _config 0x3f18.
И, наконец, при моих настройках KTechlab запись происходит в чистую микросхему, то есть, мне нужно либо с помощью команд из терминала, обращенных к picprog очистить предыдущую запись, либо использовать, как я делал это раньше, программу Piklab для этих
В.Н. Гололобов |
Экскурсия по электронике |
323 |
целей.
Ничто, включая неприятности, не длится вечно. После нескольких нелепых ошибок, допущенных мною по невнимательности (у меня светодиоды не на тех выводах, что в программе), и исправления программы, где я забыл добавить обратный порядок включения светодиодов, программа оказывается в микроконтроллере, микроконтроллер водружается на панельку макетной платы (многострадальной, а потому увешанной дополнительными элементами), и после включения светодиоды отображают ход моих мыслей в процессе создания программы. Чтобы в этом не было сомнений, я приведу окончательный вид программы и добавлю фотографию макетной платы.
Рис. 16.11. Окончательный вид программы для проверки
В.Н. Гололобов |
Экскурсия по электронике |
324 |
Рис. 16.12. Макетная плата с работающим микроконтроллером PIC16F628A
Чтобы избежать ошибок, даже по рассеянности, можно проверить работу программы до записи ее в микроконтроллер. Для этих целей предназначен отладчик gpsim. При загрузке KTechlab в Ubuntu, по зависимостям, отладчик загрузился без моих напоминаний.
Отладчик должен работать после того, как вы транслировали программу в ассемблерный код. Переходя на закладку этого кода вы можете увидеть, что главное меню изменилось, и в нем появился пункт Debug, в котором есть раздел Run, нажав на который вы запускаете режим отладки. Справа есть несколько закладок, одна из которых называется Simbol Viewer, она-то нам и нужна. Открыв ее можно увидеть содержимое регистров процессора и состояния выводов портов. На основной инструментальной панели теперь есть клавиши пошагового прохождения программы, пропуска и выхода из циклов. Пройдя по шагам, убегая из циклов, уж очень их долго нужно будет выполнять, можно посмотреть, как выводы порта А меняют свое состояние.
В.Н. Гололобов |
Экскурсия по электронике |
325 |
Рис. 16.13. Режим отладки в программе KЕechlab
Этим, правда не завершаются возможности отладки программы. Если запустить отладчик gpsim самостоятельно из терминала, можно получить более наглядное представление о работе вашей программы. После появления интерфейса отладчика в его основном меню выбирается пункт File, для загрузки файла с расширением .cod (у меня это файл tr-light1.cod). Желательно предварительно, или это только у меня, выбрать в пункте Windows окно Source. При трансляции программы в KTechlab файл с расширением .cod создается автоматически, и хотя отладчик может работать без него, но с ним, можете убедиться, с ним он работает не в пример лучше. Визуальное наблюдение за выполнением хода программы, после того как вы нажали клавишу Run основного меню, не исчерпывает дополнительных возможностей отладчика.
Есть удобное средство отладки под названием макетная плата (breadboard), которое вы найдете в том же пункте основного меню Windows. На макетную плату можно добавить множество компонентов, предусмотренных программой. Для этого на макетной плате есть клавиша Add library. Нажав на нее, вы попадете в окно диалога выбора библиотеки, а поскольку у пока библиотека только та, что пришла с программой, следует воспользоваться подсказкой и ввести в окно запроса: libgpsim_modules. Для подключения модулей служит понятие узла (клавиша Add node), к которому можно подключать выводы микроконтроллера и выводы модуля, который вы выбрали. Сейчас посмотрите, как выглядит работа отладчика, а потом я немного больше расскажу о работе макетной платы.
В.Н. Гололобов |
Экскурсия по электронике |
326 |
Рис. 16.14. Более полное использование отладчика gpsim
Кроме основного окна отображения программы есть окна, в которых можно посмотреть состояния регистров, памяти и т.д., есть даже встроенный, авторы проекта еще не завершили эту часть работы, осциллограф.
Рис. 16.15. Вид макетной платы отладчика gpsim
Запустив отладку еще раз клавишей Run, можно видеть, как зажгутся светодиоды на
