Устройство для перепрошивки памяти в картриджах принтера

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

Поищи этот девайс на форумах !
Я когда интересовался работой с памятью то натыкался на такой.

Помню была и схема и прошивка.
А если не забуду у дружбана спрошу он тоже давно хотел такой собрать, занимается обслуживанием офисной техники.
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

вот только не разобрался с джостиком как МК анализирует какая кнопка нажата и какой должен был шаг между напряжением с ножек ведь в цивре там всего два сигнела 1 и 0 ... я чет недоганяю
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

VectorWarrior писал(а):вот только не разобрался с джостиком как МК анализирует какая кнопка нажата и какой должен был шаг между напряжением с ножек ведь в цивре там всего два сигнела 1 и 0 ... я чет недоганяю


Кнопки ?
Это смотря как они у тебя подключены к МК.
Я к примеру делаю обычно если кнопка нажата то на лапе МК появляется "0".
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

kybertech писал(а):
VectorWarrior писал(а):вот только не разобрался с джостиком как МК анализирует какая кнопка нажата и какой должен был шаг между напряжением с ножек ведь в цивре там всего два сигнела 1 и 0 ... я чет недоганяю


Кнопки ?
Это смотря как они у тебя подключены к МК.
Я к примеру делаю обычно если кнопка нажата то на лапе МК появляется "0".


Вот если на джостике как в примере показан на картинке то там на землю замыкается, только нужно будет подтягивать лапы контроллера на через резистор на "+", что бы в состоянии когда кнопка не нажата на лапе контроллера небыл логичсекий "ноль".
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

kybertech писал(а):Вот если на джостике как в примере показан на картинке то там на землю замыкается, только нужно будет подтягивать лапы контроллера на через резистор на "+", что бы в состоянии когда кнопка не нажата на лапе контроллера небыл логичсекий "ноль".

они все сидят на одной лапе 19-ADC6 ...
Spider писал(а):Резисторы R7-R11 нужно подобрать по "вкусу", так чтобы результирующий делитель у каждой кнопки давал своё напряжение с достаточным зазором

допустим что для кнопки 1 соответсвует напряжение 3v для 2-3.5v; 3-4v; 4-4.5v; 5-5v соответсвенно но любое напряжени будет означать лог 1 для МК и как заставить его понимать какая кнопка включена ..... вот допустип если посадить RC таймер в чтоб давал преравания в нано секундах ... то ещё можно потом расчитать и записать в программу авто определения но думаю есть более простой способ.... или цеплять к МК на ножки 22-26 (22-ADC7 23-PC0 24-PC1 25-PC2 26-PC3) и ими уже управлять ....может так только ет все догадки
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

VectorWarrior писал(а):
kybertech писал(а):Вот если на джостике как в примере показан на картинке то там на землю замыкается, только нужно будет подтягивать лапы контроллера на через резистор на "+", что бы в состоянии когда кнопка не нажата на лапе контроллера небыл логичсекий "ноль".

они все сидят на одной лапе 19-ADC6 ...
Spider писал(а):Резисторы R7-R11 нужно подобрать по "вкусу", так чтобы результирующий делитель у каждой кнопки давал своё напряжение с достаточным зазором

допустим что для кнопки 1 соответсвует напряжение 3v для 2-3.5v; 3-4v; 4-4.5v; 5-5v соответсвенно но любое напряжени будет означать лог 1 для МК и как заставить его понимать какая кнопка включена ..... вот допустип если посадить RC таймер в чтоб давал преравания в нано секундах ... то ещё можно потом расчитать и записать в программу авто определения но думаю есть более простой способ.... или цеплять к МК на ножки 22-26 (22-ADC7 23-PC0 24-PC1 25-PC2 26-PC3) и ими уже управлять ....может так только ет все догадки



если в контроллере активировано ADC программно то он может различать напрядение от 0 до 5 вольт
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

спасибо :) поищю даташит на русском :( ......
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

VectorWarrior писал(а):спасибо :) поищю даташит на русском :( ......


какой у тебя МК я погляжу может есть ум еня
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

схема накатана под мегу8 заранее спасибо...
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

..................

//Функция чтения ADC (параметром является номер входа адц)
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}

void main()
{

int volt = 0;

...
Это инициализация ADC
ACSR=0x80;
SFIOR=0x00;
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x8D;
...

while (1)
{
............
volt = read_adc(0);//Читаеш значение на порту ADC 0
...........
//а потом распознавай значение и выполняй
определённые операции

};
}

Но это не значит что оно тебе покажет напряжение на лапе от 0 до 5 вольт. В таком виде оно тебе будет выводить от 0 до 1024. Получается приравниваються значения 0 равен 0, а 1024 равно 5 вольтам.
То есть если на лапе будет 4 вольта то тебе контроллер покажет 819 .

а Даташит лучше почитай .
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

kybertech писал(а):а Даташит лучше почитай .

спасибо! я просто на английском как и на китайском ... ни бумбум... :oops:
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина
Контактная информация:

Сообщение kybertech »

VectorWarrior писал(а):
kybertech писал(а):а Даташит лучше почитай .

спасибо! я просто на английском как и на китайском ... ни бумбум... :oops:


там ничего сложного нет ! довольно хорошо описан, переведи на карявый русский с помощью словарей, а как пару раз прочитаеш начнёш и китайский понимать :))) :))) :)))
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

kybertech писал(а):
VectorWarrior писал(а):
kybertech писал(а):Вот если на джостике как в примере показан на картинке то там на землю замыкается, только нужно будет подтягивать лапы контроллера на через резистор на "+", что бы в состоянии когда кнопка не нажата на лапе контроллера небыл логичсекий "ноль".

они все сидят на одной лапе 19-ADC6 ...
Spider писал(а):Резисторы R7-R11 нужно подобрать по "вкусу", так чтобы результирующий делитель у каждой кнопки давал своё напряжение с достаточным зазором

допустим что для кнопки 1 соответсвует напряжение 3v для 2-3.5v; 3-4v; 4-4.5v; 5-5v соответсвенно но любое напряжени будет означать лог 1 для МК и как заставить его понимать какая кнопка включена ..... вот допустип если посадить RC таймер в чтоб давал преравания в нано секундах ... то ещё можно потом расчитать и записать в программу авто определения но думаю есть более простой способ.... или цеплять к МК на ножки 22-26 (22-ADC7 23-PC0 24-PC1 25-PC2 26-PC3) и ими уже управлять ....может так только ет все догадки

если в контроллере активировано ADC программно то он может различать напрядение от 0 до 5 вольт

Я вообще предпологал что резисторы будут вибираться так, что напряжение будет в диапозоне от 0 до 2.56 в таком случае мы не зависим от напряжения питания. А внутри проца тупо снимаем напряжение с ножки и сверяем его с "таблицей" в которой приведены соотношения. Всё просто. По сути у нас 5 кнопок и 2.56 диапозон, итого по 0,512 вольта на кнопку, делим на 2 на зазор и получаем что первая кнопка имеет напряжение 0,256 - 0,384, вторая 0,768-0,896
, третья 1,28-1,408, четвёртая 1,792-1,92, пятая 2,304 - 2,432. Соответвенно всё что ниже 0,256 и выше 2,432 есть неопределённое состояние и идёт лесом как ненажатая клавиша.
Таким образом для таких напряжений можно выбрать следующие номиналы резисторов (ряд E12, кроме 9k1 - E24):
R6 - 91k
R7 - 39k
R8 - 22k
R9 - 15k
R10 - 9k1
R11 - 10k
Ещё бы я повесил параллельно R11 конденсатор на 500p-1n, дабы хоть как-то сгладить дребезг.
Ну это псевдо самый простой способ.
Можно так же кнопки перекинуть на параллельный интерфейс дисплея и снимать их от туда. А как - показано на схемах других авторов.
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

седня был в радиодеталях половина купил половину заказал должны привести в понедельник .... а кстати не подскажите какой LCD лучше использовать??? я тут покопался нашел в пределах 200 рубликов (LCD 16x2 WH1602D ) далее уже по ходу сборки будут вопросы там и отпишусь
и ещё теории
а можно прицепить ещё паралельно к выходам SDA и SCL память AT24c256 для хранения разных прошивок (накопал что таким девайсом можно прошивать до 12 разных катриджей ....) чтоб сразу разводку делать на неё в плате???? заранее спасибо ....
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Можно. На то она и i2c что на неё можно навешать всяких. С адресами только уточни. у i2c слефвов нужно адреса назначать и у всех они должны быть индивидуальны. А адреса назначаются замыканием нгожек на питание и землю.
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

а ещё вопросик можно ли использовать в схеме кварц на 8 МГц и какие должны быть катушка и конденсатор при подключении дисплея и вообще для чего они нужны????? заранее спасибо....
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
otvertkin
Открыл глаза
Сообщения: 42
Зарегистрирован: Сб фев 03, 2007 19:43:03
Откуда: E:\Russia\Stavropol

Сообщение otvertkin »

Где там катушка?
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

на первой странице схема... а катушка с кондюком (L1 и C4)подключаеться к дисплею к конт акту vss
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
VectorWarrior
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Ср янв 14, 2009 10:32:24

Сообщение VectorWarrior »

вот схема ... через паре дней выложу свою собственную со всеми наминаломи вот только про катушку с етим кондюком не знаю....
Вложения
Reseter.png
(23.3 КБ) 411 скачиваний
Теоретиков много но вот практики ценяться выше!!!
/\__/\
=^_^=
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

А зачем кварц на 8 если его в схеме совсем нет? В нормальных условиях мега и от внтренней RC цепочки на 8MHz поработает.
На счёт катушки можешь забить и постпвить тупо резюк. Я когда-то так извращался с яркостью кристалов.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»