T.E.S.T.C.O.P.Y. • Просмотр темы - чип-мод принтеров Brother. project B_rot_her

чип-мод принтеров Brother. project B_rot_her

инструмент, переходники к программаторам, программаторы и т.д.

Прилепить пост

Сообщение Denas » Пн фев 17, 2014 11:41 am

Как и предпологалось все заработало и на HL-2132R. Монтаж практически не изменился.
Изображение
Изображение
Изображение

За это сообщение автора Denas поблагодарил:
__Oleg__
Рейтинг: 2.7%
 
Аватар пользователя
Denas   
Починил струйный принтер

Прилепить пост

Сообщение __Oleg__ » Пн фев 17, 2014 2:04 pm

Denas писал(а):Ну или тем же способом найти на драйвере двигателя пин на котором наглядно меняется потенциал при старте двиги и завигачить на МК управление оптопарой )
Если есть даташит на драйвер то задача упрощается )


Да я вот думаю, многих желающих повторить это действо, отпугивает именно паяние провода к пинам драйвера, уж больно мелкая работа, не каждому по плечу. А ведь есть более универсальный выход - снимать сигнал непосредственно с одной из линий двигателя чере делитель на двух резисторах. И ненадо смотреть, что за драйвер и уж точно дорожку не оторвешь. Кстати АЦП тоже не нужен, прерывание использовать можно по пину.

Тайминги полностью совпадают с предыдущими аппаратами ?
Последний раз редактировалось __Oleg__ Вт фев 18, 2014 7:11 am, всего редактировалось 1 раз.
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение Denas » Пн фев 17, 2014 3:04 pm

Проще подпоятся к одной ноге, чем городить кучу развязки. Это же шаговый двигатель, на его обмотки подаются импульсы. Как по Вашему можно гарантированно детектировать меандр?
Не понял что есть "прерывание по пину". Если имеется в виду ТТЛ уровень, то опять таки к нему нужно привести входной сигнал, что в случае с меандром амплитудой в 24(или сколько там...неважно, пусть будет 24 для примера) вольта неизбежно приведет к усложнению схемы. Куда проще припаять один длинный провод, три пермыки да подрезать дорожку. Да и нет никакой разницы между работой входа по TTL или ADC, ADC более гибкий разве что, это и позволяет исключить лишнее усложнение схемы.

Попробуйте предложить свой вариант.

Тайминги подходят для всех принтеров с "трехлапыми" шестернями на картридже.
Аватар пользователя
Denas   
Починил струйный принтер

Прилепить пост

Сообщение __Oleg__ » Пн фев 17, 2014 3:56 pm

Denas писал(а):Проще подпоятся к одной ноге, чем городить кучу развязки. Это же шаговый двигатель, на его обмотки подаются импульсы. Как по Вашему можно гарантированно детектировать меандр?
Не понял что есть "прерывание по пину". Если имеется в виду ТТЛ уровень, то опять таки к нему нужно привести входной сигнал, что в случае с меандром амплитудой в 24(или сколько там...неважно, пусть будет 24 для примера) вольта неизбежно приведет к усложнению схемы. Куда проще припаять один длинный провод, три пермыки да подрезать дорожку. Да и нет никакой разницы между работой входа по TTL или ADC, ADC более гибкий разве что, это и позволяет исключить лишнее усложнение схемы.


Я думаю у нас диалога не получиться по этой теме, коментарии к вашим высказываниям и утверждениям просто излишни.
Без обид :dr_ink: .
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение Denas » Пн фев 17, 2014 4:56 pm

Я чота не так сказал? :nez-nayu:
Аватар пользователя
Denas   
Починил струйный принтер

Прилепить пост

Сообщение kokubenko » Пн фев 17, 2014 7:35 pm

по-моему, у Вас просто разный подход к одному делу... нет смысла спорить...ИМХО
Аватар пользователя
kokubenko   
Статский советчик

Прилепить пост

Сообщение __Oleg__ » Пн фев 17, 2014 11:50 pm

Да вопрос не в подходе к делу, а в простоте повторяемости, не увсех есть возможность (умение) подпаять провод к проводнику в 0.5 мм и незадеть рядом стоящие элименты или оторвать дорожку. Ведь согласитесь подпаяться к одному из проводов двигателя для многих будет проще.

Собственно схема с подключением к линии шагового двигателя, из расчета +24V.
Хочу заметить, что форма сигнала на линии шагового двигателя роли не играет, только его размах в вольтах.

369

Ну и подправленный код с прерыванием по пину (по изменению значения на ноге):
Код: выделить все
.include "tn13def.inc"    ; Attiny13

//Определение переменных (директива .def)
 .def temp =R16     
 .def Res   =R20     

.CSEG
;--------ТАБЛИЦА ВЕКТОРОВ ПРЕРЫВАНИЯ -----------------------|
.org $00;                                       
rjmp RESET ;Reset                                   
.ORG $01   ; External Interrupt 0
RETI
.ORG $02   ; External Interrupt Request 0
rjmp PCINT_0
.ORG $03   ; Timer/Counter0 Overflow
RETI
.ORG $04   ; EEPROM Ready
RETI
.ORG $05   ; Analog Comparator
RETI
.ORG $06   ; Timer/Counter Compare Match A
RETI
.ORG $07   ; Timer/Counter Compare Match B
RETI
.ORG $08   ; Watchdog Time-out
RETI
.ORG $09   ; ADC Conversion Complete
RETI                                   
;-----------------------------------------------------------|

;-------------------ПРЕРЫВАНИЯ------------------------------|
PCINT_0:
cli
clr temp
OUT GIMSK, temp
OUT PCMSK, temp
OUT MCUCR, temp
LDI  Res, 0x55
RETI;-------------------------------------------------------|

// Работа с портом PB4. здесь описан вся последовательность управляющего сигнала от МК
; ниже нужно указать последовательность задержек


;------ИНИЦИАЛИЗАЦИЯ ПОРТОВ, СТЕКА, и т.п---------------|
RESET:    ;                                    |
//Настройка портов ввода/вывода
//DDRx  - направление работы линии порта x (1-выход, 0-вход)
//PORTx - Значение уровня на линии порта x (1-высокий, 0-низкий)
//        если порт x настроен как вход    (1-PullUp)
//PINx  - Уровень сигнала на линии порта x (Только для чтения)   
ldi temp, RAMEND 
out SPL, temp
ldi temp, 0x80
out ACSR, temp
sbi PortB, 3 ; сигнал Start
sbi DDRB, 4 ; выходной сигнал
sbi PortB, 4;
clr Res
;-------------------------------------------------------|

;rcall Loop_5sec; задержка при старте. 
rcall Loop_2sec

; Настройка прерывания
   IN temp, GIMSK
   ldi temp, (1<<PCIE)
   OUT GIMSK, temp
   IN temp, PCMSK
   ldi temp, (1<<PCINT3)
   OUT PCMSK, temp
   IN temp, MCUCR
   ldi temp, (0<<ISC00)|(0<<ISC01)
   OUT MCUCR, temp
   //Разрешаем прерывания
sei
MAIN:
cpi Res, 0x55
brsh Port_B4
            //Ожидаем прерывание
RJMP MAIN


Port_B4:
rcall Loop_2sec
cbi PortB, 4;0
rcall Loop_0_2sec
sbi PortB, 4;1
rcall Loop_1sec
cbi PortB, 4;0
rcall Loop_0_2sec
sbi PortB, 4;1

ezhik:
rjmp ezhik


//------------Зедержки-----------------
;Расчитаны программой AVRloop более чем достаточно,
; ибо МК больше нихрена все равно не делает в эти моменты

Loop_2sec:
; =============================
;    delay loop generator
;     9600000 cycles:
; -----------------------------
; delaying 9599985 cycles:
          ldi  R17, $33
WGLOOP0:  ldi  R18, $F8
WGLOOP1:  ldi  R19, $FC
WGLOOP2:  dec  R19
          brne WGLOOP2
          dec  R18
          brne WGLOOP1
          dec  R17
          brne WGLOOP0
; -----------------------------
; delaying 15 cycles:
          ldi  R17, $05
WGLOOP3:  dec  R17
          brne WGLOOP3
; =============================
reti

Loop_1sec:
; =============================
;    delay loop generator
;     4800000 cycles:
; -----------------------------
; delaying 4799751 cycles:
          ldi  R17, $25
WGLOOP01:  ldi  R18, $B8
WGLOOP11:  ldi  R19, $EA
WGLOOP21:  dec  R19
          brne WGLOOP21
          dec  R18
          brne WGLOOP11
          dec  R17
          brne WGLOOP01
; -----------------------------
; delaying 249 cycles:
          ldi  R17, $53
WGLOOP31:  dec  R17
          brne WGLOOP31
; =============================
reti

Loop_0_2sec:
; =============================
;    delay loop generator
;     960000 cycles:
; -----------------------------
; delaying 959928 cycles:
          ldi  R17, $08
WGLOOP02:  ldi  R18, $C6
WGLOOP12:  ldi  R19, $C9
WGLOOP22:  dec  R19
          brne WGLOOP22
          dec  R18
          brne WGLOOP12
          dec  R17
          brne WGLOOP02
; -----------------------------
; delaying 72 cycles:
          ldi  R17, $18
WGLOOP32:  dec  R17
          brne WGLOOP32
; =============================
reti

Loop_5sec:

; =============================
;    delay loop generator
;     24000000 cycles:
; -----------------------------
; delaying 23999952 cycles:
          ldi  R17, $7C
WGLOOP03:  ldi  R18, $FD
WGLOOP13:  ldi  R19, $FE
WGLOOP23:  dec  R19
          brne WGLOOP23
          dec  R18
          brne WGLOOP13
          dec  R17
          brne WGLOOP03
; -----------------------------
; delaying 48 cycles:
          ldi  R17, $10
WGLOOP33:  dec  R17
          brne WGLOOP33
; =============================

reti

За это сообщение автора __Oleg__ поблагодарил:
Ronin_66
Рейтинг: 2.7%
 
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение Denas » Вт фев 18, 2014 4:24 pm

Ну хоть движуха поперла. На следующем аппарате я изучу возможность реализовать такое решение.(однако это может быть не скоро) Будет классно, если Вы сами опробуете свой способ.

з.ы.: поднял старые записи, на обмотках амплитуда 12 В.

Блин мне так не нравится добавление лишних деталей 8( реально чтоле сложно подпояться к ноге драйвера, что упрощение одного места пайки стоит добавления лишних деталей ? =/
Аватар пользователя
Denas   
Починил струйный принтер

Прилепить пост

Сообщение __Oleg__ » Вт фев 18, 2014 5:15 pm

Лично мне, к ноге драйвера припаять провод нечего не стоит. Но у меня как бы опыт имеется (и не такое паяем) и инструмент соответствующий. Но ведь не все здесь с паяльником родились, а коль выкладывать в открытый доступ такого рода решения, то считаю, что нужно подумать и о других.
Если на двигатель импульсы идут 12V то резисторы делителя должны быть где-то такими: R1=10kOm и R2=5kOm.
Последний раз редактировалось __Oleg__ Вс июл 27, 2014 9:31 pm, всего редактировалось 1 раз.
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение __Oleg__ » Вт мар 11, 2014 9:30 am

Проверил способ со снятием сигнала с двигателя. Работает нормально, проверял на Brother DCP-7030R, правда схему пришлось изменить. В нем нет оптопары, стоит просто типа микрик. Сделал культурно на платке :-) .

Изображение

Да прошивку тоже подправил. На фотке танталовый кондер по полярности неправильно впаян (ладно вовремя заметил, поспешил :-)). Если кому интересно, могу выложить прошивку, схему и плату в Sprint-Layout 6.

За это сообщение автора __Oleg__ поблагодарили: 2
Denas, manik.76
Рейтинг: 5.41%
 
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение Denas » Вт июн 17, 2014 8:10 am

Конеш выкладывай, ради этого все и затевалось ;)
Аватар пользователя
Denas   
Починил струйный принтер

Прилепить пост

Сообщение __Oleg__ » Вт июл 22, 2014 10:10 am

Вот еще один вариант переделки DCP-7057r (за фотки не пинать, фоткал тем, что было под рукой).
Сразу оговорка, у меня есть доступ только к ATtiny13A-SU, поэтому в цепи питания установлен линейный стабилизатор L7805CV, что в принципе оказалось достоинством при закреплении печатной платки (это видно на фотке с предыдущего поста, прикручен к массе).
613
В последнем аппарате решил нечего не пилить не резать, просто подпаять девайс а шлейф с датчика просто не подключать. Вот схема (она получается универсальная, использовалась также для Brother DCP-7030R, слегка менялась только прошивка).
614
Куда подпаивать провода на форматере:
1) Датчик поворота шестерни
615
2) Линия двигателя
616
3) Питание на линейный стабилизатор
617
Соответственно земля (минус или граунд) берется при креплении стабилизатора к железу редуктора.
Еще раз напоминаю шлейф, от датчика поворота шестерни картриджа в разъем платы не вставляем, он остается висеть в воздухе.
Код прошивки есть в моем посте выше. На подходе HL-1112R. Ну вроде все, всем удачи.
:dr_ink:

P.S. Переписал слегка код, теперь фьюзы трогать не нужно, все остаются по умолчанию (заводские). Необходимо просто залить прошивку.
Линк на готовую прошивку в контроллер: https://yadi.sk/d/6Z3CmtTobRgFz
Последний раз редактировалось __Oleg__ Чт сен 11, 2014 7:02 pm, всего редактировалось 4 раз(а).

За это сообщение автора __Oleg__ поблагодарили: 2
Denas, manik.76
Рейтинг: 5.41%
 
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение __Oleg__ » Вт авг 05, 2014 4:08 pm

Ну и Brother HL1112R. В принтере движок оказался не шаговый sho_cked. Схема все та же.
Изменил и прошивку, теперь не нужно изменять фьюзы, необходимо просто залить в тиньку прошивку (не большое упрощение процесса, но все-же :-) ). Линк на прошивку https://yadi.sk/d/RNbu0QuxZJfaZ.
Ну и как всегда фотки (не пинать!)
питание на линейный стабилизатор с форматера + 24V
692
все остальное берется с платы под передней панелью
693694
белый провод - линия двигателя
желтый провод - датчик поворота шестерни
черный провод - минус (граунд, земля - кому как нравиться)
Незабываем выдернуть разъем оптопары и оставить его болтаться в воздухе.

У кого нет программатора для AVR, но есть COM порт и не охота тратиться, обратите свой взор на программатор Uniprof (вся схема несколько резюков и диодов), питалово можно взять от USB.

За это сообщение автора __Oleg__ поблагодарили: 5
alhim, Denas, lekm, manik.76, Князь
Рейтинг: 13.51%
 
Аватар пользователя
__Oleg__   
Познал картридж

Прилепить пост

Сообщение alhim » Ср авг 20, 2014 4:24 am

На этой же плате, где припаяны белый, черный и желтый провода на разъеме sol левый контакт +24 v

За это сообщение автора alhim поблагодарил:
__Oleg__
Рейтинг: 2.7%
 
Аватар пользователя
alhim   
Не испугался и подошел к тонеру
  • Не в сети

Прилепить пост

Сообщение kokubenko » Чт сен 04, 2014 11:51 pm

Мужики, есть просьба
аппарат DCP-7060DR...
клиент задолбался делать сбросы отвертками...
флажки сброса на картриджах не всегда срабатывают...
клиент готов модернизировать аппарат...

можете помочь с изготовлением микрухи?
Аватар пользователя
kokubenko   
Статский советчик

Пред.След.

Вернуться в Своими руками

Кто сейчас на форуме

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

вверх
вниз
x

#{title}

#{text}