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

Мк управление LB1847

Добавлено: 13 авг 2015, 16:18
Dj_smart
Планирую в зиму собрать небольшой станок для плат. Эдакое с полем 100х150мм. По нынешним пенсиям... В общем полез по шкафам-коробкам. Нашёл платы со старых принтеров, там эти LB1847 и есть. Обвязка полностью соответствует даташиту, так что с запчастушками всё ок. А вот управлять ней без МК не выйдет. Полез в тырнет, нашёл. Тут http://cxem.net/mc/mc210.php
Глянул, автор сначала пишет что на станок. А вот выложено только с энкодером. И тут непонятки. Этот энкодер как работает? Там тоже шаг-направление? Если нет, насколько сложно переписать под степ-дир? Исходники есть, если компилировать скажем под тини 2313, есть какие то ограничения?
Вообще то в идеале было бы применить пик 628А, причина - есть их жменька.

Re: Мк управление LB1847

Добавлено: 14 авг 2015, 00:06
aegis
Dj_smart писал(а): Этот энкодер как работает? Там тоже шаг-направление?
там если механический енкодер, то типа 2 микрика со смещением. направление угадывается когда происходит сравнение текущего положения микриков с тем что было в прошлый раз. по каждому такому тику срабатывает прерывание и вот это прерывание дальше программно переводится в сигналы которые заставляют твою лб1847 шагать влево или вправо

Re: Мк управление LB1847

Добавлено: 14 авг 2015, 19:04
Dj_smart
Ага. Тогда так. Тут http://it-en.ru/cnc/doc/1.html koolhatcker дает пример для шагового движка. Понятней некуда. Там есть таблица "шагов" для движка.. Если я отсюда http://cxem.net/mc/mc210.php сдёрну табличку нужную для этих LB, подставлю вместо "шагов", откомпилирую... поедет? Там размер таблицы подкорректировать, порт В весь на вывод прописать... ТудЫ думаю, не?

Re: Мк управление LB1847

Добавлено: 14 авг 2015, 22:07
aegis
думаю да. но я с пиками знаком только на уровне прошил - заработало. авр начинал программить (правда в основном на протеусе, но некоторые вещи запускал и в железе) но это было давно.
что надумал делать то, ато то портативный контроллер с полки достал, то тут лб мучать начинаешь)))

Re: Мк управление LB1847

Добавлено: 14 авг 2015, 22:58
BMB
Хорошо б ещё снижение Vref добавить

Re: Мк управление LB1847

Добавлено: 14 авг 2015, 23:30
Dj_smart
aegis писал(а):ато то портативный контроллер с полки достал, то тут лб мучать начинаешь
Так портативный только карточку читает и степ-дир выдаёт. А драйвера на LB... Их у меня куча, больше чем моя пенсия.
Сверлилку для плат хочу сделать. Эдакую 100х150. И что бы из шнурков только сетевой был. Как-то так.
BMB писал(а):Хорошо б ещё снижение Vref добавить
На мк я не вкурю, а 555 прилепить не вопрос.

Re: Мк управление LB1847

Добавлено: 15 авг 2015, 00:22
BMB
В сях я не очень , а в пиках ваще ноль. но суть может быть такой (Пастернака не читал , но скажу...)
Из первой ссылки оставляем
Обработчик прерывания таймера
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xEC;
// Place your code here

Это нам не надо --EncoderScan(); // Производим опрос энкодера

//Счетчик временной задержки между шагами
//Чтоб не пропустить шаг на высокой скорости
timerCNC++;
if(timerCNC == 100) { //Если значение достигло
А эту переменную увеличиваем flagCNC1++; //разрешаем шагнуть
timerCNC=0; //перезапускаем счетчик
}

У koolhatckerа в обработчике прерывания её (т.е.flagCNC1) сбрасываем.А в основном цикле проверяем если flagCNC1 превысила какое-то значение (определяем опытным путём) устанавливаем на какой нибудь ноге "1" открываем транзисторный ключ подключающий дополнительный резистор к делителю напряжения на Уреф. Да , и потом опять же у koolhatckerа в обработчике прерывания сбрасываем эту ногу в ноль.Чтобы при шагании каждый раз без толку не выводить ноль на эту ногу, можно ввести флаг - были мы в удержании или нет, хотя может это и лишнее.

Re: Мк управление LB1847

Добавлено: 15 авг 2015, 00:55
Dj_smart
Да тут... Короче я поставил этот MPLAB, нашёл компилятор... ну нормальный по отзывам, и просто ради интереса прошёл по всем шагам что Ник у себя на странице описывает... И нифига! Что-то создаёт, но даже имя по китайски пишется:). Всё посносил, качаю по новой.

Re: Мк управление LB1847

Добавлено: 16 авг 2015, 17:18
Dj_smart
Ага, не всё так просто, а точнее фигвам! :) Думал как - подменю таблицу, вместо шагов проц будет выдавать нужное на LB. Как бы не так. Внешнее прерывание это порт В, а по порту А 4-я нога работает только на ввод. Никак не получается 8 линий. Хоть бери и полубайты выдавай на разные порты. По маске.

Re: Мк управление LB1847

Добавлено: 16 авг 2015, 18:37
BMB
Можно без прерывания, просто в цикле опрашивать порт А

Re: Мк управление LB1847

Добавлено: 16 авг 2015, 19:41
Dj_smart
В принципе да. Хоть компаратором. Тут другое. Непонятно! Допустим прерывание по низкому уровню. Поймал 0, выдал байт в порт, выбрал следующий байт на выдачу, возврат, а на прерывании продолжает сидеть ноль в силу длительности сигнала степ. Аналогично и с опросом в цикле. Оно же за 5мс степа переберёт и выдаст всю таблицу, и наверное не один раз. Или я чего-то не знаю?

Re: Мк управление LB1847

Добавлено: 16 авг 2015, 20:30
koolhatcker
А можно и на TMR0 завести.

Re: Мк управление LB1847

Добавлено: 16 авг 2015, 20:48
BMB
Аналогично и с опросом в цикле. Оно же за 5мс степа переберёт и выдаст всю таблицу, и наверное не один раз
Алгоритм примерно такой может быть - считываем значение порта и сравниваем с предыдущим значением, если изменилось - смотрим что изменилось - степ, дир или оба.
Делал так нечто похожее, только роль МК выполнял ЛПТ порт второго компа.

Re: Мк управление LB1847

Добавлено: 16 авг 2015, 21:45
Dj_smart
Алгоритмов я сам наваля... наваять могу кучу :) . Тут самое интересное, что я в Си абсолютный ноль. Тем более для PIC-ов. Пару лет назад баловался асмом для AVR, но там проще, для КР580 когда-то сочинял по мелочам, хоть общие понятия есть.
В обчем дело дохлое. Возьму реверсивный счётчик 155ИЕ7, ПЗУ с зашитыми шагами, и пущай перебирает. А что, из старья, так из старья :) . И зима - дело длинное.
А что, вроде и не на полном серьёзе, но мыслишка такая лезет :ggg: . 155РЕ3. Как раз 32 байта памяти. И у мну они ещё есть с тех времён.

Re: Мк управление LB1847

Добавлено: 21 авг 2015, 20:54
Dj_smart
Добил. Не святые горшки обжигают. Только это напоминает ситуацию, кода для того чтобы сварить суп, пришлось учить английский. Поваренная книга на нём написана :) .
Показать\Спрятать Видео

Re: Мк управление LB1847

Добавлено: 22 авг 2015, 13:40
Dj_smart
Спрашивали в личке. Тут всё https://yadi.sk/d/lxjRoWmDibCFw

Re: Мк управление LB1847

Добавлено: 14 сен 2015, 18:25
Dj_smart
Ба, это дело заразное :) Люди уже повторили.
https://www.youtube.com/watch?v=cbx9id4lk8A