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

СообщениеДобавлено: Пн апр 08, 2013 12:50 pm
Denas
Итак. у меня уже давно была идея отучить аппараты brother от всяких там шестеренок.
Сегодня я его таки начал.
суть ТЗ:
1. AVR микроконтроллер ATiny13 отслеживает сигнал START на драйвере двигателя(заведенный на PB3), после появления высокого уровня делает задержку t1. после нее с задержкой t2 меняет на PB4 состояние с 0 на 1 нужное количество раз, имитируя тем самым открытие и закрытие оптического датчика сброса. Перестает монитроить стоятоние START до сброса питания.
Тем самым получаем сброс счетчика при каждом включении аппарата.

PB3 и PB4 выбраны, т.к. они не используются для программирования. не принципиально конечно, но так проще.
При запуске двигателя на 22 и 23 ноге драйвера Toshiba TB6576FG происходит смена уровня с 0В на 1.2В.
питание для ATinny13 на плате можно найти любое 3В\3.3В\5В.

на столе стоит подопытный DCP-7057r. давайте придумаем а =)

СообщениеДобавлено: Пн апр 08, 2013 12:52 pm
Тиныч!
я пальцем тыкаю
и всего та нужна уметь считать до двух

СообщениеДобавлено: Пн апр 08, 2013 12:53 pm
Mikki
Ну не знаю целесообразность сей затеи..... ведь есть флажки.... Разве спортивный интерес...

СообщениеДобавлено: Пн апр 08, 2013 1:05 pm
Denas
1.2В можно детектировать через ADC

СообщениеДобавлено: Пн апр 08, 2013 1:06 pm
tranzistor
Ну если только ради спортивного интереса! (Предвижу множество мнений про шестерни за 30 рублей).
С 0 до 1,2 - слабовато, - микроконтроллер не увидит.
Поэтому знать бы нагрузочную способность драйвера. Хотя раз он драйвер, то должен быть сильным. В любом случае, считаю - 10 мА отдаст.
Поэтому
Изображение
Размах выходного сигнала на РВ4 какой необходим? Если меньше напряжения питания МК - то ставить делитель.

СообщениеДобавлено: Пн апр 08, 2013 1:15 pm
Denas
кстати одного сброса бразера хватает на 1000 страниц. Полностью засыпанного картриджи хватает на 4000-6000 станиц.

через ADC поймет. кроме того входное сопротивление тиньки 100мОм, сигнал START не просадит.
PB4 через ключик на оптопару... сможет ли она просадить 3В на оптроне без ключа надо смотреть...
хотелось бы чтобы не было обвязки вообще. но даже если будет 1 транзучок - это не беда.

Добавлено спустя 30 минут 37 секунд:
короче судя по схемам то тинька при наличии 0 на лапке даже светодиод зажиагает включенный от VCC. следовательно и 3V линию оптопары просадит...
значит делаем так.
Изображение
надо код писать, проверять...

Добавлено спустя 9 минут 25 секунд:
пример работы с ADC: http://cxem.net/mc/mc128.php
а насчет шестерней за 30р скажу следующее: я уже выше писал что количество листов, которые может отдолбить засыпанный до талого картридж сильно превышает количество листов на 1 сброс. Так вот есть у меня несколько аппаратов, которые должны хреначить от рассвета и до последнего грамма тонера. и ездить туда-сюда как-то не комильфо. Да и сами согласитесь 2 пачки бумаги это как-то маловато... посему и появилась идея.

СообщениеДобавлено: Пн апр 08, 2013 2:12 pm
tranzistor
Глянул даташит, прикольно получается - у тини13 опора для АЦП равна 1,1В. Т.е. когда двигло включится, в регистре будет FF по-любому!
Писать в чем планируешь? КодВижн или АВРСтудио? Си/Асм?
ADMUX=ADMUX|(1<<REFS0)|(1<<ADLAR)|(1<<MUX1)|(1<<MUX0);
ADCSRA=ADCSRA|(1<<ADEN)|(1<<ADSC)|(1<<ADIE); //Постоянное преобразование
Дальше разрешаем прерывание ADC Conversion Complete
И в каждом прерывании смотрим регистр ADCH. Если он равен FF, значит там 1,2В.
Выполняем подпрограмму с задержками...
Я тут что подумал - это получается, МФУ будет постоянно "сбрасывать" счетчик, во время вращения двигла! Не скажется ли это на скорости работы? Т.е. задал 5 копий, он сбросил первый раз, как ты задумал, прошла какая-то задержка (секунда-две-десять, не важно), потом опять приблуда видит, что двигло крутится, а значит - опять сбрасывает счетчик (во время этих пяти копий)! А сбрасывание как происходит? Может аппарат "задумывается" на время, я ХЗ. Вот что я подразумеваю под "скоростью работы".
Так что я считаю - это тоже важный момент, подумай на досуге.

СообщениеДобавлено: Пн апр 08, 2013 2:21 pm
Denas
процедура сброса будет выполнятся 1 раз, после включения питания - потом идет игнор ADC3, пока не будет сделан off-on.
на чем писать еще не знаю, ибо много лет уже не занимался AVRами. =)

СообщениеДобавлено: Пн апр 08, 2013 2:29 pm
tranzistor
А! Ну точняк я тупанул про постоянную конверсию. Действительно, когда сработает прерывание, и если регистр равен FF, тогда отключаем АЦП (бит ADEN в регистре ADCSRA надо обнулить).

СообщениеДобавлено: Пн апр 08, 2013 2:31 pm
Denas
лишь маленькая поправка по схемотехнике. чтобы избежать использования ключа для коротыша оптопары нужно питать тиньку от 3 вольт, дабы потенциал 1 был равен потенциалу на самой оптопаре. при подаче 0 на PB4 тинька будет коротить фототранзюк оптопары.
разница в коде только в задержках, т.к. тактовая частота при питании от 3 вольт упадет, а у тинек время задержки вычисляется тактами насколько я помню.

СообщениеДобавлено: Пн апр 08, 2013 3:05 pm
tranzistor
Если бы я писал, то я бы все вычисления задержек свалил бы на компилятор! Вот данные даташита:
- ATtiny13V: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V
– ATtiny13: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V

Так что любая тини13 (что с V, что без V) сможет нормально работать от 3 вольт от внутреннего источника 9,6 или 4,8 Мгц!

СообщениеДобавлено: Пн апр 08, 2013 3:30 pm
Denas
да у нее свой кварцык есть, для даннй задачи довольно точный.

СообщениеДобавлено: Пн апр 08, 2013 5:55 pm
alex73343
Сбрасывать счётчик тонера при каждом включении не желательно, так как печать станет слишком бледной когда тонер в картридже будет заканчиваться.

СообщениеДобавлено: Пн апр 08, 2013 7:45 pm
tranzistor
Ну юзеры-то будут предупреждены поди!
Да и Denas, я уверен, хорошо подумал о забиваемости дозирок и прочих прелестях "полнозасыпания и редковычищания" прежде чем затеять такой моддинг.
Denas, я глянул у себя дома - две тиньки есть, могу поэкспериментировать, если будет необходимо.

СообщениеДобавлено: Пн апр 08, 2013 8:45 pm
Emperor RmPS
а как же калибровка плотности печати в зависимости от %остатка тонера?