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

помощь начинающим осваивать программирование МК (PIC, AVR) на Си.

Модератор: koolhatcker

Ответить
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Планирую в зиму собрать небольшой станок для плат. Эдакое с полем 100х150мм. По нынешним пенсиям... В общем полез по шкафам-коробкам. Нашёл платы со старых принтеров, там эти LB1847 и есть. Обвязка полностью соответствует даташиту, так что с запчастушками всё ок. А вот управлять ней без МК не выйдет. Полез в тырнет, нашёл. Тут http://cxem.net/mc/mc210.php
Глянул, автор сначала пишет что на станок. А вот выложено только с энкодером. И тут непонятки. Этот энкодер как работает? Там тоже шаг-направление? Если нет, насколько сложно переписать под степ-дир? Исходники есть, если компилировать скажем под тини 2313, есть какие то ограничения?
Вообще то в идеале было бы применить пик 628А, причина - есть их жменька.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
aegis
Станкостроитель
Станкостроитель
Сообщения: 1696
Зарегистрирован: 05 сен 2010, 00:00
Имя: Михаил
Откуда: Конотоп=>Запорожье=> Харьков, Украина
Контактная информация:

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

Сообщение aegis »

Dj_smart писал(а): Этот энкодер как работает? Там тоже шаг-направление?
там если механический енкодер, то типа 2 микрика со смещением. направление угадывается когда происходит сравнение текущего положения микриков с тем что было в прошлый раз. по каждому такому тику срабатывает прерывание и вот это прерывание дальше программно переводится в сигналы которые заставляют твою лб1847 шагать влево или вправо
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Ага. Тогда так. Тут http://it-en.ru/cnc/doc/1.html koolhatcker дает пример для шагового движка. Понятней некуда. Там есть таблица "шагов" для движка.. Если я отсюда http://cxem.net/mc/mc210.php сдёрну табличку нужную для этих LB, подставлю вместо "шагов", откомпилирую... поедет? Там размер таблицы подкорректировать, порт В весь на вывод прописать... ТудЫ думаю, не?
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
aegis
Станкостроитель
Станкостроитель
Сообщения: 1696
Зарегистрирован: 05 сен 2010, 00:00
Имя: Михаил
Откуда: Конотоп=>Запорожье=> Харьков, Украина
Контактная информация:

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

Сообщение aegis »

думаю да. но я с пиками знаком только на уровне прошил - заработало. авр начинал программить (правда в основном на протеусе, но некоторые вещи запускал и в железе) но это было давно.
что надумал делать то, ато то портативный контроллер с полки достал, то тут лб мучать начинаешь)))
BMB
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 04 дек 2009, 01:00
Имя: Виктор
Откуда: Московская обл.

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

Сообщение BMB »

Хорошо б ещё снижение Vref добавить
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

aegis писал(а):ато то портативный контроллер с полки достал, то тут лб мучать начинаешь
Так портативный только карточку читает и степ-дир выдаёт. А драйвера на LB... Их у меня куча, больше чем моя пенсия.
Сверлилку для плат хочу сделать. Эдакую 100х150. И что бы из шнурков только сетевой был. Как-то так.
BMB писал(а):Хорошо б ещё снижение Vref добавить
На мк я не вкурю, а 555 прилепить не вопрос.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
BMB
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 04 дек 2009, 01:00
Имя: Виктор
Откуда: Московская обл.

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

Сообщение 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а в обработчике прерывания сбрасываем эту ногу в ноль.Чтобы при шагании каждый раз без толку не выводить ноль на эту ногу, можно ввести флаг - были мы в удержании или нет, хотя может это и лишнее.
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Да тут... Короче я поставил этот MPLAB, нашёл компилятор... ну нормальный по отзывам, и просто ради интереса прошёл по всем шагам что Ник у себя на странице описывает... И нифига! Что-то создаёт, но даже имя по китайски пишется:). Всё посносил, качаю по новой.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Ага, не всё так просто, а точнее фигвам! :) Думал как - подменю таблицу, вместо шагов проц будет выдавать нужное на LB. Как бы не так. Внешнее прерывание это порт В, а по порту А 4-я нога работает только на ввод. Никак не получается 8 линий. Хоть бери и полубайты выдавай на разные порты. По маске.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
BMB
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 04 дек 2009, 01:00
Имя: Виктор
Откуда: Московская обл.

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

Сообщение BMB »

Можно без прерывания, просто в цикле опрашивать порт А
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

В принципе да. Хоть компаратором. Тут другое. Непонятно! Допустим прерывание по низкому уровню. Поймал 0, выдал байт в порт, выбрал следующий байт на выдачу, возврат, а на прерывании продолжает сидеть ноль в силу длительности сигнала степ. Аналогично и с опросом в цикле. Оно же за 5мс степа переберёт и выдаст всю таблицу, и наверное не один раз. Или я чего-то не знаю?
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
koolhatcker
Смотрящий
Сообщения: 1504
Зарегистрирован: 30 авг 2009, 00:00
Откуда: Омск
Контактная информация:

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

Сообщение koolhatcker »

А можно и на TMR0 завести.
Автономный контроллер станка с ЧПУ: http://it-en.ru/cnc
BMB
Станкостроитель
Станкостроитель
Сообщения: 381
Зарегистрирован: 04 дек 2009, 01:00
Имя: Виктор
Откуда: Московская обл.

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

Сообщение BMB »

Аналогично и с опросом в цикле. Оно же за 5мс степа переберёт и выдаст всю таблицу, и наверное не один раз
Алгоритм примерно такой может быть - считываем значение порта и сравниваем с предыдущим значением, если изменилось - смотрим что изменилось - степ, дир или оба.
Делал так нечто похожее, только роль МК выполнял ЛПТ порт второго компа.
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Алгоритмов я сам наваля... наваять могу кучу :) . Тут самое интересное, что я в Си абсолютный ноль. Тем более для PIC-ов. Пару лет назад баловался асмом для AVR, но там проще, для КР580 когда-то сочинял по мелочам, хоть общие понятия есть.
В обчем дело дохлое. Возьму реверсивный счётчик 155ИЕ7, ПЗУ с зашитыми шагами, и пущай перебирает. А что, из старья, так из старья :) . И зима - дело длинное.
А что, вроде и не на полном серьёзе, но мыслишка такая лезет :ggg: . 155РЕ3. Как раз 32 байта памяти. И у мну они ещё есть с тех времён.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Добил. Не святые горшки обжигают. Только это напоминает ситуацию, кода для того чтобы сварить суп, пришлось учить английский. Поваренная книга на нём написана :) .
Показать\Спрятать Видео
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Спрашивали в личке. Тут всё https://yadi.sk/d/lxjRoWmDibCFw
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

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

Сообщение Dj_smart »

Ба, это дело заразное :) Люди уже повторили.
https://www.youtube.com/watch?v=cbx9id4lk8A
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Ответить