hCNC (ATMega8, Step\Dir, 3 axis)

схемы на микро контроллерах

Модераторы: Ruz_and, Master-VRI, al-drw

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

hCNC (ATMega8, Step\Dir, 3 axis)

Сообщение Horeen » Вс фев 28, 2010 16:38

Обратите внимание, что данный контроллер значительно уступает по своим характеристикам 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) + проект Протеуса + инструкция по конфигурированию режимов контроллера с клавиатуры, брать тут. (зеркало)
Последний раз редактировалось Horeen Ср май 15, 2013 15:18, всего редактировалось 13 раз.

BMB
Сообщения: 334
Зарегистрирован: Вт фев 17, 2009 00:00
Откуда: Московская обл.

Сообщение BMB » Вс фев 28, 2010 20:34

...и дешевле аналога на L297 на 3 канала


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

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Сообщение Horeen » Вс фев 28, 2010 20:41

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

Аватара пользователя
vel
Сообщения: 47
Зарегистрирован: Вт фев 17, 2009 00:00
Откуда: Москва

Re: hCNC (ATMega8, Step\Dir)

Сообщение vel » Вс фев 28, 2010 21:42

Horeen писал(а):Набросал простую схемку контроллера на основе MK AVR ATMega8.


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


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

если есть выложи фото устройства и видео работы станка...
Последний раз редактировалось vel Чт мар 04, 2010 09:29, всего редактировалось 1 раз.

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Сообщение Horeen » Вс фев 28, 2010 22:02

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

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

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

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

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

Аватара пользователя
LordFox
Сообщения: 380
Зарегистрирован: Ср сен 30, 2009 23:00

Сообщение LordFox » Вс фев 28, 2010 22:13

Сказать не чего не могу после предупреждения не хочу выковыривать червячков. в низу есть "Загрузить изображение или файл ZIP" и все доступно

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Сообщение Horeen » Вс фев 28, 2010 22:21

"Загрузить изображение или файл ZIP"

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

Аватара пользователя
Serjik
Сообщения: 399
Зарегистрирован: Ср дек 02, 2009 00:00
Откуда: Волгоград

Сообщение Serjik » Вс фев 28, 2010 22:30

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

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

Аватара пользователя
sasa2010
Сообщения: 22
Зарегистрирован: Вс фев 28, 2010 00:00

Сообщение sasa2010 » Вс фев 28, 2010 22:36

Horeen, Проверил прошивки в Proteus, прошивка (полушаг) не работает двигатель на оси Y не дрыгает ножками а остальные вроде нормально.

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Сообщение Horeen » Вс фев 28, 2010 22:39

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

sasa2010, понял, спасибо :) Утром же переправерю, исправлю и перезалью.
Последний раз редактировалось Horeen Вс фев 28, 2010 22:47, всего редактировалось 2 раза.

Аватара пользователя
LordFox
Сообщения: 380
Зарегистрирован: Ср сен 30, 2009 23:00

Сообщение LordFox » Вс фев 28, 2010 22:41

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

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Сообщение Horeen » Вс фев 28, 2010 22:53

Выкладывать удобно читать не доступно

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

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

Аватара пользователя
LordFox
Сообщения: 380
Зарегистрирован: Ср сен 30, 2009 23:00

Сообщение LordFox » Вс фев 28, 2010 23:00

Без обратной связи это не шим.
Хотя если на выход перед драйвером поставить дешифратор то ног хватит

Аватара пользователя
Next
Сообщения: 239
Зарегистрирован: Сб дек 05, 2009 00:00

Сообщение Next » Вс фев 28, 2010 23:00

Horeen, молоток! :ok: И где эти, как их... которые и паяльник в руках держать не умеют? :wink:

Аватара пользователя
Horeen
Сообщения: 1905
Зарегистрирован: Сб янв 16, 2010 00:00

Сообщение Horeen » Вс фев 28, 2010 23:07

Всем пасяп за поддержку! Будем рыть дальше :)

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

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


Вернуться в «применение микро контроллеров»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость