|
Глава 9. Управление селектором командВ предыдущей главе был описан селектор команд, выбирающий одну из восьми команд, поступающих на него от различных блоков системы управления Бастера, и подающий ее на вход дешифратора команд. Для выбора команды ему необходимы коммутирующие сигналы GD. Большинство блоков, от которых могут поступать команды, еще не реализовано, но когда это будет сделано, описываемая в этой главе плата управления селектором команд будет в основном обеспечивать правильное формирование сигналов GD - не более одного одновременно и в порядке приоритетов. Связь платы управления селектором с уже построенной системой управления показана на рис. 8.1 предыдущей главы. Большинство входных сигналов поступает на плату управления от буфера. Буфер выполняет несколько функций, но в основном он обеспечивает согласование команд оператора с автономными действиями Бастера. Сейчас, по-видимому, целесообразно разобраться, чем же собственно интересен Бастер. Вся работа над проектом становится фактически бесполезной, если вы хотите полностью контролировать машину в каждый момент времени. В этом случае вам лучше заняться значительно менее сложной системой типа радиоуправляемой модели самолета. Бастер может действовать автономно в течение неопределенного промежутка времени, передвигаясь с места на место, исследуя источники громкого шума, двигаясь за ярким светом и возвращаясь к зарядному устройству при разрядке аккумуляторов. Настоящая цель всей программы Бастера состоит в создании машины, которая действует и реагирует подобно примитивным животным. Значительно приятнее и интереснее следить за собственным поведением Бастера, чем гонять его по полу с помощью дистанционного управления. Не менее важно ставить Бастеру некоторые общие цели. Как приятно, задав ему цель, следить за тем, как он изо всех сил старается достичь ее, зачастую бестолково, но подчас с поразительной ловкостью. Буфер в основном обеспечивает согласование поставленной вами задачи с собственной рефлекторной активностью Бастера. Цели и основные режимы поведения Бастера задаются с помощью переключателей местной панели управления (см. блок-схему на рис. 8.1). Эта панель управления размещается на самом Бастере. Панель дистанционного управления, с помощью которой можно делать практически то же самое, будет установлена на этапе Бастер III. С этого момента местная панель управления будет дублировать панель дистанционного управления и служить пультом для проверки системы. Подобно схемам, описанным в гл. 8, большинство из рассматриваемых в этой главе схем не будет по-настоящему использоваться до тех пор, пока не будут установлены соответствующие блоки системы управления. Не следует пытаться сократить затраты за счет схем, не приносящих непосредственной пользы. Все части рассматриваемого блока выбора команды тесно связаны друг с другом, и дальнейший успех зависит от того, насколько тщательно и полностью изготовлена и проверена эта часть системы управления. Приоритеты действий БастераБастер способен выполнять команду (4-разрядный двоичный код), поступающую от одного из восьми различных блоков. Каждый из таких блоков системы управления управляет совокупностью действий, направленных на достижение некоторой цели. К настоящему времени был использован лишь один такой блок - одна из временных панелей управления, описанных в гл. 7. Начиная с этого момента, число таких блоков будет возрастать; а в заключительных главах будет показано, что на один из восьми основных блоков можно возложить любое число дополнительных функций. Каждому действию Бастера следует придать определенный приоритет. Таким образом будет решена проблема определения того, какое из восьми управляющих слов следует передавать на вход дешифратора команд. Старшие приоритеты присваиваются основным рефлекторным действиям Бастера - они необходимы для того, чтобы он мог работать. Например, высший приоритет присваивается командам блока "отъезд", который рассматривается в гл. 10. Этот блок уводит Бастер от стен, мебели и других объектов, препятствующих его движению. Следующий приоритет присваивается командам блока "голод", описание которого начинается в гл. 11 и заканчивается в гл. 15. Этот блок обнаруживает, что аккумуляторы разряжены ниже допустимого уровня, и возвращает Бастера к зарядному устройству, прежде чем Бастер "умрет голодной смертью" в результате полной разрядки аккумуляторов. Команды, поступающие с панели управления, имеют относительно низкий приоритет. Это согласуется с нормальным поведением животных, например, почти невозможно обучить собаку делать что-либо, противоречащее ее безусловно-рефлекторному поведению. Очень трудно научить собаку бежать прямо на кирпичную стену или приносить палку, когда она умирает с голоду. Бастер ведет себя так же. Блоки "отъезд" и "голод" упомянуты здесь лишь для го- го, чтобы дать некоторое представление о цели введения приоритетов. В этой главе приоритеты описываются самым общим образом, а привязка к конкретным блокам осуществляется по мере необходимости в дальнейшем. Каждый из восьми основных блоков имеет свой приоритет; приоритеты обозначены GD1-GD8 (табл. 9.1), причем высшим является GD1, а низшим - GD8. Таблица 9.1. Приоритеты действий Все действия и их приоритеты приведены в табл. 9.1. В ней показаны также сигналы извне или от панели управления, вызывающие эти действия. В столбце "действие" перечислены управляющие сигналы (те самые, которые поступают на плату селектора команды) в порядке убывания приоритета. В колонке "разрешающий сигнал" собраны сигналы автоматического или ручного запуска соответствующего действия. Обратите внимание, что первые три действия запускаются автоматически. Это рефлексы Бастера. Пять оставшихся разрешающих сигналов устанавливаются с помощью ключей на панелях местного (М) или дистанционного (D) управления. С помощью этих сигналов оператор может задавать общие режимы поведения Бастера или ставить ему цели. Возможность имитации действия (колонка "сигнал имитации действия") предназначена для специальной проверки, которую можно задать вручную. Аналогично устанавливаются приведенные в последней колонке сигналы блокировки, которые используются в условиях аварии или при специальной проверке. Плата управления селектором командХотя в настоящий момент назначение платы управления селектором кажется весьма абстрактным, результат ее работы довольно очевиден: формирование управляющих сигналов GD, которые затем поступают на платы селекторов команд, описанные в предыдущей главе. Все входы платы управления селектором, за исключением сигналов S1f, S2f и S3f, поступают с платы буфера. Логические уравненияВ табл. 9.2 приведены логические уравнения, составляющие основу схемы управления селектором. Они выводятся непосредственно из табл. 9.1; уравнения выписаны таким образом, чтобы наглядно отражать приоритеты. Таблица 9.2. Логические уравнения, описывающие работу схемы управления селектором Сравнивая табл. 9.1 и 9.2, найдем, что сигнал GD1 определяется сигналами S1f и S1x. S1f - основной сигнал, запускающий действие GD1 a S1x - сигнал ручной блокировки. Другими словами, оператор имеет возможность заблокировать это наиболее приоритетное действие с целью провести проверки или вывести машину из аварийной ситуации. Это видно из логического уравнения для GD1: GD1 повторяет S1f до тех пор, пока нет сигнала блокировки S1х. Как видно из табл. 9.1, сигнал второго уровня приоритета GD2 определяется тремя входами: S2f, S2s и S2x. Сигнал S2f автоматически генерируется блоком, который будет установлен в дальнейшем, но действие можно запустить также с помощью сигнала имитации S2s. Сигнал ручной блокировки S2x позволяет заблокировать действие двух предыдущих сигналов. Таким образом, как следует из табл. 9.2, сигнал GD2 появляется тогда, когда S2f ИЛИ S2s равно 1 и сигнал блокировки S2x равен 0. Схема управления селектором выдает, сигналы GD в порядке их приоритетов. Это проявляется явным образом в виде инверсного сомножителя GD1 в уравнении для GD2. Другими словами, действие GD2 может быть заблокировано либо сигналом ручной блокировки, либо вследствие появления сигнала GD1. Плата не может выдать сигнал GD2 до тех пор, пока сигнал GD1 равен 1. GD1 всегда имеет приоритет над GD2 независимо от входных условий GD2, и единственный способ, которым GD2 может возобладать над GD1,- заблокировать его с помощью входа S1х. Уравнение для GD3 имеет тот же вид, что и предыдущее. Обратите внимание, однако, что сигнал GD3 нельзя сгенерировать до тех пор, пока GD1 или GD2 равен 1. Это действие третьего приоритета не может управлять Бастером до тех пор, пока выполняется одно из двух действий с более высоким приоритетом. Предположим теперь, что Бастер получает команды одновременно от всех трех блоков, имеющих высокие приоритеты, и ни один из сигналов блокировки не равен 1. Другими словами, на плату управления селектором поступают сигналы S1f, S2f и S3f. В этом случае GD1 = 1, так как S1f = S1x = 1. GD2 = GD3 = 0, так как сомножитель GD1 = 0. После того как Бастер завершит действие, сигнал S1f станет равным 0, в результате чего GD1 исчезнет; так как GD1 станет равным 1, сможет появиться сигнал GD2. Это приведет к тому, что начнет исполняться действие со следующим приоритетом. GD3 по-прежнему остается равным 0, так как GD2 дает нулевой сомножитель в уравнении для GD3. Пусть Бастер ответил на GD2 соответствующим образом и S2f стало равным 0. Если S1f не станет равным 1, задавая следующее действие, GD3 станет наконец равным 1, так как GD1 и GD2 равны 1. Рассмотренный случай служит примером работы с учетом приоритетов: начало любого действия автоматически блокирует все остальные, имеющие низшие приоритеты. Уравнения для GD4-GD8 несколько проще первых трех, так как они не содержат множителей, соответствующих сигналам имитации и блокировки. Эти действия запускаются вручную, однако задание одного из них автоматически блокирует все остальные, расположенные в таблице приоритетов ниже него. Обратите внимание на увеличение числа инверсных сомножителей в уравнениях. Специальный сигнал GDD в последней строке таблицы соответствует исходному состоянию системы, т. е. действию, которое выполняется, когда никакие действия не заданы. Каждая вычислительная или автоматическая система должна иметь четко определенное основное состояние, в противном случае существует возможность попадания в неопределенное логическое состояние, которое собьет с толку и оператора, и машину. На самом деле схема формирования сигнала GDD была включена в состав платы управления селектором благодаря счастливому стечению обстоятельств. Мысль о необходимости введения в систему основного состояния пришла мне в голову в начале технической разработки всей программы, но я не знал точно, где и как ее реализовать. Мне хотелось, чтобы в основном состоянии Бастер двигался вперед с максимальной скоростью (команда FFAS), и мне казалось, что для этого следует воспользоваться каналом GD8. Закончив разработку схемы управления селектором, я увидел, что схема для GDD естественным образом размещается в самом низу всей схемы. Благодаря наличию неиспользованных логических вентилей восемь сигналов GD легко объединяются в GDD. В конце следующей главы сигнал основного состояния GDD будет включен в систему временным образом. Принципы работыПолная схема платы управления селектором приведена на рис. 9.1. Ее логическая структура полностью основана на уравнениях табл. 9.2. Сигнал GD1 поступает с выхода 2-3 логического вентиля ИЛИ-НЕ. В соответствии с уравнением для этого вентиля имеем Получение сигнала GD2 несколько более сложно, так как для этого необходимо сложить S2f и S2s и умножить результат на S2x и GD1. Подав на входы вентиля S2f и S2s, на выходе 1-3 получим . На втором вентиле этот промежуточный результат складывается с S2x; после преобразования получим, что сигнал на выходе 1-6 равен (S2f + S2s) ⋅ S2x. Следующий вентиль просто инвертирует сигнал, подготавливая логическое умножение на GD1. На выходе 2-6 имеем (S2f + S2s ⋅ S2x+GD1 = (S2f + S2s) ⋅ S2x ⋅ GD1 = (S2f + S2s) ⋅ S2x+GD1 = GD2. Логическая схема для получения GD3 совершенно аналогична схеме для GD2, за исключением того, что промежуточный результат умножается на GD1⋅GD2. Рис. 9.1. Схема платы управления селектором. ИС1, 2, 3 - 4-2ИЛИ-НЕ 7402 (Radio ShacK 276-1811), ИС4, 5, 6, 7 - 4-2И-НЕ 7400 (Radio Shack 276-1801), ИС8 - 6-НЕ 7404 (Radio Shack 276-1802) Сигналы GD4 - GDD получаются с помощью вентилей типа И-НЕ, причем каждый входной сигнал умножается на произведение сигналов GD с более высоким приоритетом. Указания по изготовлениюВсе восемь микросхем, входящих в состав схемы управления селектором, можно разместить на одной печатной плате. Обратите внимание, что ИС 1-3 - вентили ИЛИ-НЕ типа 7402, а ИС 4-7 -вентили И-НЕ типа 7400. Плату можно установить непосредственно после ее изготовления. Однако ввиду того, что логические связи весьма сложны, следует отложить все проверки до того момента, когда будут изготовлены буфер и панель управления. БуферКак было упомянуто ранее в этой главе, буфер служит для сопряжения местной панели управления и схемы управления селектором. Говоря еще проще, буфер - это схема, которая выдает сигналы S на блок управления селектором. На схеме соединений, приведенной на рис. 9.4, видно, что все входы буфера, за исключением трех, поступают от местной панели ручного управления. Три "особых" входа будут в дальнейшем поступать от блока акустической связи, с помощью которого осуществляется связь с панелью дистанционного управления. Все выходы буфера поступают непосредственно на плату управления селектором. Принципы работыРабота буфера полностью описывается логическими уравнениями, приведенными в табл. 9.3. Выходы 5 полностью соответствуют требованиям к сигналам ручного разрешения, имитации и блокировки действия на плате управления селектором - ср. табл. 9.1, рис. 9.1 и табл. 9.3. Таблица 9.3. Логические уравнения работы буфера В логических уравнениях буквой S' обозначены сигналы, отражающие положение тумблеров на местной панели ручного управления. Оттуда же поступают члены, обозначенные буквой L. Неинвентированное L означает, что сигналы снимаются с тумблеров местной панели управления. Символ L означает, что сигналы поступают от панели дистанционного управления, которая будет включена в систему в дальнейшем. Тогда вы получите возможность ставить Бастеру цели или задавать условия проверки с любой панели управления. Из табл. 9.1 видно, что некоторые сигналы S приходят от обеих панелей управления, в то время как другие поступают только от одной из них. В первом случае необходимо обеспечить некоторую передачу управления, чтобы в каждый момент времени воспринимались команды только одной панели управления, но не обеих одновременно. Это ясно видно в табл. 9.3. Рассмотрим уравнение для S2s. Согласно табл. 9.1 оператор может имитировать действие 1 третьего приоритета с обеих панелей управления. Для имитации этого действия с местной панели управления он должен установить переключатель местный/дистанционный (который расположен на местной панели управления) в положение "местный", после чего поднять тумблер S2s (расположенный 1 там же), т. е. установить его в положение "вкл". В результате этого будет выполнено условие, определяемое первым слагаемым в уравнении для S2s: L = 1, так как переключатель режима находится в положении "местный", a S2s = 1, так как соответствующий тумблер включен. Чтобы имитировать это действие с дистанционной панели управления, оператор должен сначала установить переключатель режима в положение "дистанционный", а затем обеспечить выполнение условия С1 = 1 путем установки соответствующих ключей на панели управления (значение символов С будет объяснено чуть позже). Система построена так, что L = О, когда система настроена на дистанционное управление; очевидно, при этом L - 1. Таким образом второе условие в уравнении для S2s выполняется, когда система находится в режиме дистанционного управления и С1 = 1. Действие второго приоритета (GD2) можно имитировать с местной или дистанционной панели управления, но нельзя одновременно с обеих. Это условие относится ко всем сигналам S обеих панелей управления: S2, S2x, S3x и S6f - S8f. На остальные сигналы переключатель режима не влияет. Входящие в уравнения табл. 9.3 члены С на самом деле являются сокращениями (это сделано для упрощения формул для S). Согласно приведенным в правой части таблицы формулам С - десятичные эквиваленты трехразрядного двоичного слова, состоящего из A64, А32 и А16; в свою очередь А - разряды 10-разрядного управляющего слова, которое будет в дальнейшем передаваться с помощью акустической связи. Эти входы будут проверены в конце главы, однако они не станут составной частью системы до тех пор, пока в дальнейшем не будет установлен блок акустической связи. Полная схема буфера приведена на рис. 9.2. Вентили И-НЕ непосредственно реализуют формулы табл. 9.3. ИС 6 - двоично-десятичный дешифратор 7442, который преобразует разряды А в соответствующие сигналы С. Замечания по изготовлениюВсю схему буфера можно собрать на одной печатной плате размером 100X 150 мм. Законченную плату установите, руководствуясь схемой соединений на рис. 9.4. Местная панель ручного управленияСхема панели управления и расположение ключей представлены на рис. 9.3. Заметьте, что все ключи имеют одну пару контактов со средней точкой. В приведенной панели использованы недорогие скользящие переключатели; однако ввиду того, что для их установки необходимо вырезать прямоугольные отверстия в плате, лучше использовать обычные тумблеры, если бюджет это допускает. Обратите также внимание, что распайка тумблера S2x противоположна распайке остальных, другими словами, этот сигнал должен быть равен логической 1, когда тумблер находится в нижнем положении. По мере включения в систему управления блоков действий тумблеры будут помечаться соответствующими надписями. Местная панель ручного управления вырезается из дюралевого листа. Ее размер 100 X 150 мм, так что ее можно задвинуть в верхний паз стойки для печатных плат. Если стойка не закрыта крышкой, экспериментатор сразу получает доступ ко всем тумблерам. Установите местную панель ручного управления и распаяйте соединительные провода, руководствуясь схемой соединений на рис. 9.4. Предварительная настройка блока выбора командНиже описывается последовательность проведения некоторых предварительных проверок схем, установленных в гл. 8 и 9. Основная цель состоит, однако, в том, чтобы снова запустить Бастер в работу под управлением одной из описанных в гл. 7 панелей управления. Блокировка неиспользуемых сигналовНекоторые выводы следует закоротить на земляную шину до тех пор, пока они не потребуются. Временно запаяйте на землю следующие сигналы: плата управления селектором - S1f, S2f, S3f и S5f, плата буфера - А16, А32 и А64. Следующие ключи на местной панели ручного управления нужно установить в указанные положения и зафиксировать до тех пор, пока они не понадобятся в дальнейшем. Зафиксировать ключи можно с помощью липкой ленты. Если ключи не будут сейчас правильно установлены, появляется возможность обнаружить неправильные логические состояния, которые лишь собьют систему - и вас также! S1х - вкл S3х - вкл S2s - выкл. S6f - выкл S2х - вкл (в нижнем положении) S7f - выкл S3s - выкл S8f - выкл Рис. 9.3. Местная панель ручного управления, а - схема; б - расположение тумблеров Рис. 9.4. Схема соединений между платами. * - временное соединение Ключи S4f и "местный/дистанционный" используются для того, чтобы снова запустить Бастер. Установка панели управленияК этому моменту вы, по-видимому, уже привыкли пользоваться одной из панелей управления, описанных в гл. 7. Теперь эту панель можно включить в систему Бастер II насовсем. Подайте прямые выходы выбранной вами панели управления на соответствующие входы (D41, D42, D44 и D48) платы селектора команд с высоким приоритетом. Как обычно, панель управления соединяется с системой посредством кабеля длиной 2-2,5 м, который содержит шины питания (земля и +5 В), а также 4 информационные шины. Для хранения панели управления, когда она не используется, удобно зарезервировать одну из верхних позиций стойки печатных плат. Теперь выбранная панель управления связана со входом дешифратора команд все время, пока включен тумблер S4f. Таким образом, этот тумблер можно пометить как "подача местной команды". Пока этот тумблер включен, Бастер должен реагировать на команды обычным образом. Панель индикации должна высвечивать набранную команду, а блоки управления движением и поворотом - работать как обычно. Отладка блока выбора командБлок выбора команд, описанный в гл. 8 и 9, представляет собой весьма сложную электронную систему; при работе с ним всегда есть возможность того, что вследствие ненадежной скрутки проводов или забытого провода Бастер будет реагировать на команды самым беспорядочным образом. Следующие указания предназначены для определения неисправностей в блоке выбора команд. В совокупности с табл. 9.4 и 9.5 текст описывает правильную реакцию блока на определенные наборы входных сигналов. Вашей задачей является выяснить, почему данная система реагирует неправильно. Таблица 9.4. График проверки (этапы 1-2) Таблица 9.5. График проверки (этапы 3-4) Этап 1. Установите тумблеры "местный/дистанционный" и "подача местной команды", а также ключи панели управления в состояния, указанные в верху табл. 9.4. Этап 2. Замерьте напряжения в различных контрольных точках, приведенных в табл. 9.4. Допуск на величины напряжений ±0,5 В. Этап 3. Установите тумблеры "местный/дистанционный" и "подача местной команды", а также ключи панели управления в состояния, указанные в начале табл. 9.5. Этап 4. Замерьте напряжения в контрольных точках, указанных в табл. 9.5. |
|
|||
© ROBOTICSLIB.RU, 2001-2019
При копировании материалов проекта обязательно ставить ссылку на страницу источник: http://roboticslib.ru/ 'Робототехника' |