Устройство управления положением автомобильного кресла » Программирование устройств на PIC микроконтроллерах


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

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

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

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


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


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Авто » Устройство управления положением автомобильного кресла
    Устройство управления положением автомобильного кресла
    Автор публикации: alex Просмотров: 4468 Добавлен: 16-03-2016, 10:02 Комментарии: 1

         Устройство предназначено для запоминания двух положений автомобильного кресла по расстоянию от рулевой колонки и наклону спинки, выбранных пользователем, и их быстрой автоматической установки. При необходимости оно может управлять и другими объектами, которые нужно быстро переводить в два заданных положения, например, потолочным люком или поворотной антенной.
         Основа устройства — микроконтроллер PIC16F628A. Во время работы перемещающего кресло двигателя установленный на его валу датчик вырабатывает импульсы. Микроконтроллер их считает и при совпадении подсчитанного числа с заданным, хранящимся в энергонезависимой памяти, останавливает двигатель. Аналогично работает канал управления наклоном спинки.
         Схема устройства управления изображена на рис. 1. Датчик канала продольного перемещения кресла состоит из излучающего ИК-диода VD1 (АЛ107А) и фототранзистора VT1 (ФТ-2К). Конструкция датчика показана на рис. 2. Излучающий диод 2 и фототранзистор 3 разделены укрепленным на валу металлическим диском 1 с отверстиями. Когда ИК-излучение через отверстие в диске достигает фототранзистора, напряжение между его эмиттером и коллектором уменьшается до 0,8 В и менее.


         Число отверстий в диске не должно быть меньше 10, но таким, чтобы общее число импульсов датчика за полный проход кресла от одного крайнего положения до другого не превышало 16777215. Импульсы поступают на вход RA0 микроконтроллера, который, подсчитывая их, определяет положение кресла и формирует команды управления двигателем М1.
         Коммутатор напряжения питания этого двигателя собран на транзисторах VT8, VT10, VT12 и VT13 Узел на транзисторах VT4, VT5 предотвращает одновременное открывание всех транзисторов коммутатора, возможное при сбое микроконтроллера или ошибке в его программе.
         Когда кресло должно оставаться неподвижным, микроконтроллер устанавливает на выходах RA2 и RA3 низкие уровни напряжения При этом потенциалы баз и эмиттеров транзисторов VT4 и VT5 одинаковы, вследствие чего оба транзистора закрыты. Закрыты и все транзисторы коммутатора, поэтому напряжение питания на двигатель М1 не поступает, и он не работает. Аналогична ситуация при аварийном одновременном присутствии высоких уровней на выходах RA2 и RA3.


         Когда кресло требуется переместить, микроконтроллер устанавливает на выходах RA2 и RA3 разные уровни: на RA2 — низкий, на RA3 — высокий для перемещения вперёд, на RA2 — высокий, на RA3 — низкий для перемещения назад.
         Когда подана команда "Вперед", открывается транзистор VT5, а за ним транзисторы VT10 и VT12 Транзисторы VT4, VT8 и VT13 остаются закрытыми В результате левая (по схеме) щетка двигателя М1 соединяется с общим проводом. а правая — с плюсом источника питания (при условии, что зажигание выключено и транзистор VT3 открыт). Вал двигателя вращается в сторону, соответствующую перемещению кресла вперед.
         При команде "Назад" откроются транзисторы VT4, VT8, VT13, а транзисторы VT5 VT10, VT12 закроются или останутся закрытыми. К двигателю М1 будет приложено напряжение питания в противоположной предыдущему случаю полярности. Его вал станет вращаться в сторону, соответствующую перемещению кресла назад.
         Аналогично работает канал управления наклоном спинки кресла. Датчик вращения вала двигателя этого канала состоит из излучающего диода VD2 и фототранзистора VT2. Его сигнал подан на вход RA5 микроконтроллера. Уменьшение наклона микроконтроллер задает высоким уровнем на выходе RA6 и низким на выходе RA7. Увеличение наклона — низким уровнем на RA6 и высоким на RA7. Коммутатор двигателя М2 собран на транзисторах VT9, VT11, VT14, VT15 с узлом защиты на транзисторах VT6 и VT7.
         Напряжение питания +12 В должно быть подано на устройство управления постоянно (до замка зажигания) В его отсутствие перемещать кресло или его спинку вручную не рекомендуется. Это может потребовать повторного налаживания системы. Транзистор VT3 блокирует узел коммутации двигателей привода кресла при включенном зажигании, предотвращая этим перемещение кресла и его спинки во время движения автомобиля. При включенном зажигании с контакта "Заж.” в цепь базы этого транзистора структуры р-n-р поступает напряжение + 12 В, в результате чего он закрыт и напряжение питания на узел коммутации двигателей не поступает. При выключенном зажигании напряжение на контакте "Заж " становится нулевым. Транзистор VT3 в этом случае открыт, и питание коммутаторов двигателей включено.


         Электронный блок устройства собран на макетной плате навесным монтажом (рис. 3). Транзисторам VT3 и VT8—VT15 необходим теплоотвод. Я использовал алюминиевую пластину размерами 60x50x8 мм. на которой с двух сторон через слюдяные прокладки закрепил транзисторы VT8—VT15. На другой такой же пластине установил транзистор VT3.
         На рис. 4 показана схема коммутации двигателей привода кресла с помощью реле Транзисторы VT4—VT15 (согласно схеме рис. 1) и связанные с ними детали в этом случае не требуются. Транзистор VT3 и вновь установленные транзисторы VT4—VT7 работают без теплоотводов. Реле К1 — К5 — автомобильные 90.3747 или 75.3777 с контактами на переключение В качестве К1 можно применить реле 90.3747-10 или 75.3777-10 с нормально разомкнутыми контактами. В обоих вариантах устройства микроконтроллер работает по одной и той же программе.


         Предусмотрено программное ограничение пределов перемещения кресла и его спинки, что позволяет обойтись без конечных выключателей. Перед первым включением собранного устройства сдвиньте кресло вручную назад до упора, а его спинку отклоните назад до упора. После включения питания в устройстве будут действовать только кнопки SB4 и SB6, задающие перемещение кресла вперёд, а его спинки — в сторону уменьшения наклона. Кнопки SB5 и SB7, задающие перемещение соответственно кресла и его спинки в обратных направлениях, будут активизированы только после небольшого (на пять импульсов датчика) перемещения в прямом направлении. Когда нажата кнопка перемещения в одном направлении, программа блокирует кнопку перемещения в противоположном направлении.
         С помощью кнопки SB4 переместите кресло вперед почти до упора. Нажатием на кнопку SB8 сохраните в памяти микроконтроллера это положение Кнопку следует удерживать нажатой до звукового сигнала, поданного звуко-излучателем НА1. После этого перемещение кресла вперед за установленную конечную точку станет невозможным. Аналогичную операцию выполните со спинкой кресла, пользуясь кнопками SB6 (уменьшение наклона) и SB9 (память упора).
         Чтобы отменить установленные ранее конечные точки кратковременно нажмите (не удерживая) кнопку SB8 (кресло) или SB9 (спинка) Звуковой сигнал подтвердит, что отмена конечной точки состоялась и можно записывать новую Кнопки SB8 и SB9 должны быть доступны только специалисту, налаживающему систему управления креслом, и защищены от случайных нажатий.
         Далее, пользуясь кнопками SB4— SB7, установите кресло в положение, которое будет первым фиксированным. После этого кратковременно, не удерживая, нажмите на кнопку SB1 Будет включён звуковой сигнал, после чего нажмите на кнопку SB2 и удерживайте её около 3 с пока сигнал не прекратится. Положение 1 записано в память. Далее кнопками SB4— SB7 установите кресло в будущее второе фиксированное положение, кратковременно нажмите на кнопку SB 1 и по звуковому сигналу нажмите и удерживайте до окончания сигнала кнопку SB3. Положение 2 записано в память.
         Теперь можно всегда (но только при выключенном зажигании) перевести кресло и его спинку, находящиеся в произвольных положениях, в положение 1, нажав на кнопку SB2. или в положение 2. нажав на кнопку SB3. Нажатия должны быть кратковременными. Программа автоматически определит нужное направление перемещения и переведёт кресло и его спинку в требуемое положение
         Вся информация о перемещениях кресла, его текущем положении и конечных точках хранится в EEPROM микроконтроллера При включении питания она переносится в оперативную память. Когда питание выключено изменять положение кресла и его спинки не рекомендуется
    Автор: А. Гетте, г. Рязань
    Материал взят из: Журнала Радио 2016 №2

    В архиве: Файл с исходным текстом программы на ассемблере и прошивка микроконтроллера PIC16F628A.

    ustrupravlpolavtokresl.rar [7,63 Kb] (cкачиваний: 114)

    Категория: Схемотехника » Авто
    « Назад
    Комментарии
    Aleksandr53 17 марта 2016 01:15 Группа: Посетители
    В данном устройстве датчик импульсов крепится не к валу двигателя а к винту передачи винт-гайка, так проще расчитать количество импульсов на единицу (сантиметр) продвижения и точнее остановка. Для сведения, двигатель передаёт вращение на редуктор, а редуктор вращает передачу винт-гайка которая в свою очередь перемещает кресло.