Страница 1 из 24

hCNC (ATMega8, Step\Dir, 3 axis)

Добавлено: Вс фев 28, 2010 16:38
Horeen
Обратите внимание, что данный контроллер значительно уступает по своим характеристикам hCNC3

Простой 3х осевой контроллер драйверов ШД на основе MK AVR ATMega8.

Цель:
1. Максимально упростить электрическую схему контроллера, за счёт усложнения программой части.
2. Конфигурация без использования перемычек на плате и т.п.
3. Стараемся выжать все "соки" из данного MK (но не противореча пункту №1).
4. Получить простейший контроллер для автономной наладки и проверки механики станка, а так же, полностью функциональный контроллер для управления станком.

Что уже может:
1. Поддержка стандарта Step\Dir.
2. Режим шага - полный (две фазы), полный (одна фаза), полушаг.
3. Режим удержания (через 2 секунды) с заданием тока (0-100%). Опционально.
4. Ограничение тока на ШД (0-100%) в рабочем режиме псевдоШИМом (или недоШИМом). Без автоматического поддержания тока. Опционально.
5. Режим логического поддержания тока на ШД. Общий для всех осей. Опционально.
6. Все настройки указываются отдельно для каждой оси (кроме пункта №5).
7. Настройки сохраняются в энергонезависимой памяти МК.
8. Ручное перемещение осей с клавиатуры.
9. 9. Автоматический выезд в ноль по команде с клавиатуры (при ранее заданном нуле координат).

Активный уровень на входах - ноль!

Проект не OpenSourse, т.е. исходников в общий доступ не выкладываю. Но всё, что будет реализовано - выложится сюда, без каких-либо ограничений на использование.

Если клавиатура не нужна, можно не разводить на печатной плате. При этом вы получите контроллер, настроенный по умолчанию (полушаг, 100% тока, режим удержания 100% тока).

Изображение

Драйвера можно применять практически любые, схем море.

Пояснения то тексту:
"Опционально" - по умолчанию выключено, но можно включить и сконфигурировать.
"Режим логического поддержания тока на ШД" - такая штука, которая будучи включенной, старается (в меру своих сил) удерживать ток через ШД при изменении скорости вращения. Более того, при начальном разгоне (примерно до пары оборотов в секунду) происходит небольшое плавное увеличение тока для более лёгкого "расталкивания" тяжолых осей при трогании с места и начальном разгоне.

Архив со схемой котроллера + 4ре варианта схем драйверов (как униполяр, так и биполяр) + актуальная прошивка + распиновка клавиатуры (AT и PS/2) + проект Протеуса + инструкция по конфигурированию режимов контроллера с клавиатуры, брать тут. (зеркало)

Добавлено: Вс фев 28, 2010 20:34
BMB
...и дешевле аналога на L297 на 3 канала


Аналогом 297 ваш МК не является ,поскольку на 297 реализован ШИМ, а у вас ШИМА вроде не наблюдается

Добавлено: Вс фев 28, 2010 20:41
Horeen
Да, всё так. Это просто лишнее слово написал в пылу перепалки. Звиняюся.
Задатки ШИМа в моей конструкции реализуются программно, и понятно, что так хорошо, как это реализовано в L297, без усложнения эл.схемы не будет и близко. Но в том-то и вся "соль" - добиться хоть чего-то, имея на плате в контроллерной части только один "голый" корпус МК... По сути же, это жалкая попытка хоть как-то приблизится к возможностям классики на L297, сэкономив более чем в три раза на стоимости деталей для 3х каналов (контроллерная часть), ню и накидав каких-нить полезностей, коими может похвастаться МК. Как-то так..

Re: hCNC (ATMega8, Step\Dir)

Добавлено: Вс фев 28, 2010 21:42
vel
Horeen писал(а):Набросал простую схемку контроллера на основе MK AVR ATMega8.


Контроллер очень интересный. (Сам использую меги8 в свойх проектах) :) .


1. Собран ли у тебя рабочий вариант контроллера?
2. Работает ли контроллер с программой VRI?
3. Производились ли тестирования на станке?

если есть выложи фото устройства и видео работы станка...

Добавлено: Вс фев 28, 2010 22:02
Horeen
1. Да. Что бы не быть голословным, вот фотка одного. Платка "ленивая", поверхностным монтожом. Как видите, при данной схеме всё очень хорошо "ложится" на плату при разводке (всего с одной перемычкой и на одном слое). Полностью соответствует приведённой схеме. Драйвера на КТ829. Разве что, светодиодик добавлен (индикатор наличия питания на МК) и ключ на управления шпинделем (впрочем, он к схеме отношения не имеет), и подтягивающие резисторы по входам (уже в них нет необходимости, сё где нуна поддягивается в самом МК).

2. Да. Полное соответствие спецификации протокола Step\Dir (который уже поддерживается программой VRI-CNC).

3. Старая версия прошивки (без режима ужержания ШИМом) уже успешно работает 3 месяца на станочке, который юзаю для рисования плат маркером. Там топология платы другая, так что залить эту прошивку туда не могу (придётся ноги в прошивке менять), но это мя сказал для того, что бы вы не сумнивалися в том, что мя имеет какой-то опыт в контроллерах на меге для ЧПУ. Мя ж понимаить.. что вам нужны гарантии :) А-то вдруг не заработаить ^_^

Контроллеры же из этой темы мя будет использовать во всех своих дальнейших конструкциях. В данный момент на работе тесчу прошивки на макете (плата с фото + 3 ШД + LPT к компу с чем-нить вроде KCam). Дома же плата отлаживается на наполовину собранном станке (механика ещё в процессе). Так что, все три версии прошивки из архива проверены в железе и вполне себе работають.
Видео нет.. попросу нечем снять *__*

Такую схемку проще и быстрее спаять, чем на любой рассыпухе. Даже на макетке. Да в простешем случае, можно просто проапгрейдить любую готовую плату, на которой оставить драверы, а вместо логики проводками припаять панельку для МК (а можно даже поверх логики, не отпаивая её). Хорошо будет, если к тестированию подключится ещё кто-нибуть.. дело веселее пойдёть :)

Добавлено: Вс фев 28, 2010 22:13
LordFox
Сказать не чего не могу после предупреждения не хочу выковыривать червячков. в низу есть "Загрузить изображение или файл ZIP" и все доступно

Добавлено: Вс фев 28, 2010 22:21
Horeen
"Загрузить изображение или файл ZIP"

Так придётся каждый раз при обновлении версии прошивки постить новую ссыль, а так мя просто заменить архив со своей стороны, а люди так и будут качать по одной неизменной ссыли в первом посте на первой странице. Да и доступ к своему хосту у мя не только через интернет, т.е. мя могёть оперативно заменять прошивки в архиве даже не заходя на форум (или если форум по какой-то причине временно не доступен), или если у мя деньги на интернет кончатся. В этом есть определённый смысл...
К тому же, меня испугало то, что в старых темах про МК дейвствительно что-то когда-то выкладывали, но то ли проводились какие-то изменения в структуре хоста ли форума, и вся туча старых ссылей (местных для этого форума) стали недоступны. Как бы так ещё раз не получилося :) А-то печально, что темы старые есть, а ссылей в них ни на схемы, ни на прошивки нет... *__*
Да и просто это немного удобнее для конечного пользователя.. посмотреть или скачать что-то можно всего за один клик, а не за два, как через аплоад форума.. странно.. ещё лет 5 назад люди были рады прямым ссылям на нужные файлы...

Добавлено: Вс фев 28, 2010 22:30
Serjik
Отличная тема! как раз собирался этим заняться... собирался на ЗШС делать но в упор этим вопросом не задавался еще... так вот вопрос возник:
1.
Разве в данной схеме реально реализовать режим удержания ? ... step/dir переводиться в формат (ну назовем его параллельный.. ( в зависимости от прошивки в шаг или в полушаг)... всем ясно в чем разница) так как заставить контроллер с помощью AVR уменьшить ток? Этим же сам контроллер занимается?....
2. Какая максимальная частота следования STEP ?

Спасибо заранее. Надеюсь что те кто пишет, что вы все это затеяли зря - не правы!

Добавлено: Вс фев 28, 2010 22:36
sasa2010
Horeen, Проверил прошивки в Proteus, прошивка (полушаг) не работает двигатель на оси Y не дрыгает ножками а остальные вроде нормально.

Добавлено: Вс фев 28, 2010 22:39
Horeen
Serjik
1. Реально, и уже реализовано. Работает. Ток уменьшается неким подобием ШИМации управляющих сигналов на драйвера. В настоящее время режим удержания включается после 2х секунд простоя оси (это время можно менять, но пока нечем :) Клавиатура в процессе).
2. Не менее 10кГц (стопудово). По времени "пролёта" всей прошивки в цикле, можно судить о 16-17кГц (должно работать) на данный момент. Сел за асм. Некоторые участки для увеличения скорости прохода программы будут переписаны на ассемблер (что позволит ещё больше повысить частоту работы ШИМа, а-то пока всё ещё "слышно").

sasa2010, понял, спасибо :) Утром же переправерю, исправлю и перезалью.

Добавлено: Вс фев 28, 2010 22:41
LordFox
Выкладывать удобно читать не доступно. А файлы авторы убрали после деления сайта. Раньше здесь был отдельный файловый сервер для файлов и фотографий. По структуре ваша схема хороше подходит к Ардуино. А для шима выводов наверно не хватит две на канал еше 6 ног.

Добавлено: Вс фев 28, 2010 22:53
Horeen
Выкладывать удобно читать не доступно

Опишите, что вы имеете ввиду? O_O
Вроде люди уже нормально качают, пробуют в эмуляции в Протеусе..

А для шима выводов наверно не хватит две на канал еше 6 ног
Тут тоже поясните. Зачем ноги? Или вы про внешний ШИМ?
Мя ж вроде писал уже, что схема самодостаточна. И хоть ей и "слабо" реализовать правельный самоуправляемый ШИМ, но и она может (в меру сил и возможностей, конечно) примерно что-то близкое выдать. И в простейшем случае это лучше (причём, гораздо лучше!), чем крутить ШД вобще просто так. С подбором напруги питания ШД попроще, на большую скорость можно раскручивать, драйверы и сами ШД, в конце концов, не дымяться в режиме удержания (т.к. при ременной\тросиковой передаче, и полушаге, вообще нельзя "отпускать" ШД полностью при простое), а так хоть какое-то подспорье станкостроителю с небольшим бюджетом..

Добавлено: Вс фев 28, 2010 23:00
LordFox
Без обратной связи это не шим.
Хотя если на выход перед драйвером поставить дешифратор то ног хватит

Добавлено: Вс фев 28, 2010 23:00
Next
Horeen, молоток! :ok: И где эти, как их... которые и паяльник в руках держать не умеют? :wink:

Добавлено: Вс фев 28, 2010 23:07
Horeen
Всем пасяп за поддержку! Будем рыть дальше :)

Без обратной связи это не шим.

Ню мя ж и говорить, что не ШИМ, а некое "подобие".
С будущей клавиатуры человек будет иметь возможность задать максимальный ток через ШД в режиме удержания (100%). А потом МК, отталкиваясь от скорости, с которой комп крутит ШД, пытается его поддерживать логически (без замеров и обратной связи), допустим, сравнивая с известным ему граффиком зависимости падения тока от скорости вращения (в даташите на каждый ШД есть такой). Всего делов-то! Опять-таки, особой линейности и правельности не достигнуть, но это уже очень даже ЧТО-ТО! ^_^
Уже даже сейчас есть возможность задавать процент тока удержания и время срабатывания режима удержания отдельно для каждой из трёх осей, но просто НЕЧЕМ :) Блок, для работы с клавой ещё в процессе (для моего языка, подходящая библиотека 14 евро стоить, так что, запасся описанием протокола обмена АТ-клавы, и пишу своё, благо как-раз прерывания на тех ногах МК и оказалися).