14 мая 2010 г.

Схема реобаса

Аппаратная часть

Аппаратная часть реобаса упрощена да минимума, конечно есть несколько деталей без которых "и так сойдет", но это уже вопросы безопасности, надежности и ЭМС, которыми лучше не пренебрегать.
Итак принципиальная электрическая схема компьютерного реобаса представлена на рисунке ниже:

Принципиальная электрическая схема реобаса
Принципиальная электрическая схема реобаса



Основная часть - микроконтроллер ATtiny 2313 тактируется от внутреннего генератора 8 МГц (такое решение принято только для упрощения схемы, вообще при работе с UART лучше воспользоваться кварцевым резонатором).

Микроконтроллер имеет 4 аппаратных ШИМ-канала, задействованных для управления полевыми транзисторами, а также аппаратный UART позволяющий осуществлять связь с компьютером.

Силовая часть реобаса

 В качестве силовых ключей использованы транзисторы фирмы IR - IRF7105.
 P-канальный транзистор позволяет разрывать плюсовую цепь, при этом сигнал таходатчика не искажается (естественно при достаточном напряжении для работы датчика Холла).
 IRF7105 в одном корпусе содержит два транзистор N-канальный и P-канальный. N-канальный транзистор является драйвером для P-канального, поскольку им невозможно управлять напрямую с микроконтроллера. Подробнее об управлении нагрузкой с помощью полевых транзисторов хорошо написано здесь.

Частота ШИМ-модуляции 16кГц. Каждый из четырех ШИМ-каналов снабжен LC-фильтром и самовосстанавливающимся предохранителем, защищающим транзисторы от короткого замыкания. LC-фильтр позволяет сглаживать выходное напряжение и предотвращает неприятный 16-килогерцовый писк. Подробнее смотри:  расчет LC фильтра.

Небольшая часть навесных элементов обеспечивает стабильное функционирование микроконтроллера, подробнее об этом можно почитать здесь

Интерфейс связи

Для связи с компьютером использована микросхема-преобразователь MAX232. Для того чтобы оборудовать реобас интерфейсом USB достаточно заменить MAX232 на FT232 (в перспективе).
Такое решение позволило отказаться от таких элементов регулирования и контроля как кнопки, дисплеи и т.д. С другой стороны сохранилась полная функциональность в плане управления каналами - достаточно написать ПО со стороны компьютера - драйвер реобаса. Такие решения почему-то не особо распространены у крупных производителей, по крайней мере об этом свидетельствует проведенный мной обзор софтовых реобасов.


Изначально в реобас зашивается загрузчик (необязательно но очень удобно), я использовал вот этот: AVR Bootloader FastBoot von Peter Dannegger во первых он поддреживает кучу микроконтроллеров (в том числе и ATtiny2313), а также имеет автоопределение скорости UART.
В дальнейшем смена прошивок реобаса осуществляется через COM-порт с помошью приложения FBOOT.EXE доступного на сайте загрузчика.

Печатная плата


Печатная плата разрабатывалась в пакете P-CAD 2006. Для уменьшения габаритов было принято решение использовать двусторонюю печатную плату. Большинство элементов SMD-
исполнения.

Печатная плата реобаса
 а) - Расположение элементов на плате (Шелкография).
б) - Трассировка (TOP).
 в) - Трассировка (BOTTOM).

Фото реобаса:


Внешние разъемы реобаса
 Фото1 - Рядом с силовым MOLEX-разъемом располоджен клемник внешнего интерфейса RS-232, а также выдены сигналы таходатчикв

 Вентиляторы подключаются к реобасу с помощью стандартных 3-pin разъемов
Фото2 - Вентиляторы подключаются с помощью стандартных 3-pin разъемов

Реобас собран на двухсторонней плате
Фото3 - Плата двустороняя 30x90мм

Файлы к статье:

20 комментариев:

  1. Жаль, что нет USB СОМ и LPT уже теряют актуальность.

    ОтветитьУдалить
  2. А, может, через переходник USB->СОМ будет работать??
    Кто то пробовал? Отпешитесь пожалуйста.
    На всяк случай taxi911@mail.ru

    ОтветитьУдалить
  3. Какие нужно фьюзы выставлять при прошивке МК?

    ОтветитьУдалить
  4. 1. источник такта - от внутреннего генератора 8 МГц.
    2. разрешить самопрограммирование.

    Остальное - оставить заводские настройки.

    ОтветитьУдалить
  5. Доброе время суток.
    Никак не могу завести схему через переходники USB-UART (ни через PL-2303 ни через FT232RL) вылазит одна и та же ошибка COM... "Не обнаружен" (на котором сидит сам МК).
    Фьюзбиты по умолчанию кроме CKDIV8 и SELFPRGEN (на работу не влияет). Схема только Переходник + МК, без выходных каскадов. Переходники точно рабочие, МК с заливкой тестовой прошивки тоже.
    В чем может быть проблема? Мб со стороны софта?
    Спасибо. taxi911@mail.ru

    ОтветитьУдалить
    Ответы
    1. Может быть все что угодно!
      В любом случае порядок действий такой:
      1. убедиться, что ПК посылает тестовый байт в нужный порт.
      2. убедиться, что МК посылает ответ на этот байт.
      Для тестов и отладки рекомендую воспользоваться программой мониторинга COM портов коих в интернете великое множество.

      Удалить
  6. какого типоразмера нужны резисторы и конденсаторы

    ОтветитьУдалить
  7. Доброе время суток, выкроил время, потестил.
    Итак, МК подключен через переходник на FT232RL, МК прошит, фьюзы по умолчанию (деление частоты на 8 нету, разрешено самопрограммирование), лоудер в МК не зашивался, оконечных каскадов нету. Мк заведомо рабочий, был проверен на тестовой прошивке вместе с переходником USB-UART (отправляет и принимает без ошибок).
    Попробовал послушать порт, результат - отправляем b1 00 В ответ МК выдает 00
    http://i.piccy.info/i7/754e4456bb82a62ea39df8ec474c1435/4-66-398/40865525/Reo2313.jpg
    Спасибо. taxi911@mail.ru

    ОтветитьУдалить
    Ответы
    1. Привет!
      Ответил на почту.

      Удалить
    2. Ваша почта taxi911@mail.ru не работает - отвечу тут:

      Сейчас глянул исходники, и понял, что не могу Вам помочь конкретным советом - нужно разбираться дальше и отлаживать...
      Идеальный вариант - если Вы скомпилируете исходники заново и будете отлаживать прогу пошагово.
      Попробуйте реагирует ли МК на другие комманды - например на комманду GET_VERSION = 0xD4 должно прийти в ответ некое число означающее версию прошивки.
      Комманды вы можете подавать прямо через свою программулину которой вы мониторили COM порты. Посылка должна состоять из двух байт - первый байт код комманды, второй - значение (используется для комманд установки PWM).

      Например для комманды GET_VERSION нужно послать 0xD4 0x00.

      Прогамма для компьютера, судя по скриншотам, работает правильно.

      Если будут дополнтельные вопросы - постараюсь ответить (если вспомню хоть что-то).

      Удалить
  8. Не уловил идею:
    «N-канальный транзистор является драйвером для P-канального, поскольку им невозможно управлять напрямую с микроконтроллера»
    Почему я не могу точно так же подавать 0 на P-канальный? Только я бы поставил резистор Ом на 600, чтобы ток ограничить.

    И у вас действительно ножки не горят при прямом подключении на затвор?

    ОтветитьУдалить
    Ответы
    1. Привет! Идея в том, что транзистор должен запираться БЫСТРО и НАДЕЖНО (ШИМ то у нас высокочастотный).
      В статье есть ссылочка ведущая на подробнейший мануал по теме сопряжения полевиков с МК.

      P.S.: Ножки не горят - девайс проработал несколько лет, сейчас уже не используется. О "лишних резисторах" я написал в первом абзаце.

      Удалить
  9. Автор, почему у тебя в тексте указана индуктивность 100, а на схеме 330?
    Ты проверял как зависит напряжение на нагрузке от ширины импульсов? С дросселем 100, например, оно достигает 11 вольт уже на 50%. А при минимальном заполнении на нагрузке всё равно остаётся вольта 3-4. Не зря же в той немецкой схеме стоят дроссели 1500 мкГ. Моделирование показывает, что для нагрузки в 100 Ом нужно 1500-2000 мкГ как минимум, чтобы напряжение регулировалось более-менее приемлемо.

    ОтветитьУдалить
    Ответы
    1. Эх, давно это было. Помню только, что регулировалось хорошо и на модели (в Протеусе) и на реальном железе. А откуда ты взял цифру 100? Поиском по тексту 100 находит только в твоем комменте))

      Удалить
    2. В статье "Расчёт LC-фильтра" сказано: "получим значения 100мкГн и 100мкФ соответственно".
      Я проверял в Proteus. Не регулируется оно равномерно и от нуля ни со 100 мкГ, ни с 330 мкГ. Ты как нагрузку там задавал?

      Удалить
    3. Нагрузка двигатель, соответственно симулируется по схеме замещения ДПТ: резистор и катушка. Да, двигатель сам по себе обладает большой индуктивностью и отлично сглаживает пульсации!
      Там в конце статьи, где ты нашел 100, есть ссылка на книгу - рекомендую изучить.

      Удалить
    4. Я собирал на макетной плате 1 канал, только с другой парой транзисторов и другим МК, подключал вентилятор. Поведение примерно такое же, как показывает Proteus. Примерно 3 вольта при минимальной ширине импульсов и разгон до максимума почти сразу, не дожидаясь 100%. Только дроссель был 100, но не думаю, что 330 сильно повлияет.

      Удалить
  10. Нет доступа к прошивке и программе.

    ОтветитьУдалить