24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Аналоговые кнопки (для круизконтроля)
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Аналоговые кнопки (для круизконтроля)
Возникла необходимость управлять круизконтролем по 2 проводам (ну нету больше), а кнопок аж 5. Пришлось сделать вот такой дэвайс:
Измеренное - померял тестером прямо на входе контроллера.
eeprom - вытащил из МК, записывая соответствующие кода в eeprom.
Рекомендую после сборки померять напряжение на входе тиньки и пересчитать по формуле: code = U * 1023 / 5. Где 5 - напряжение питания. Как видно из таблицы ошибка при измерении получается всего 2-3 единицы. Ошибка установленная в программе -плюс/минус 20. Это сделано и на компенсацию температурного коэфициента сопротивлений и на сопротивление линий.
Прошивка в прикреплённых файлах.
Используется массив значений (по умолчанию 3) в который каждые 10 мс записывается новое значение с АЦП (по очереди - типа FIFO). Далее проверяется отличие всех значений на удвоенную ошибку. Если отклонение меньше, то значит на входе устоявшееся напряжение. Далее проверяем, входит ли полученное значение в коридор (+- ошибка) какого-нибудь кода кнопки. Если входит, то переводим выход в нулевое состояние и удерживаем, пока код попадает в корридор. Тем самым можно обрабатывать и длительные нажатия в самом КК. Подавление дребезга - 30мс.
Порт натраивается таким образом, чтобы в исходном состоянии на выходе было Z-состояние. Активный выход - "0". Ну типа "отрытый коллектор". Это сделано для того, чтоы работали и обычные кнопки, параллеьно которым можно подключить эту схему, т.е. тиня им не мешала. Значит подтяжки на кнонках оставляем (на схеме их нет - они есть на основной схеме).
В том же архиве, в папке EXE есть HEX для прошивки, но рекомендую собрать схему, померять полученные значения и забить их в исходник и скомпилировать (CodeVisionAVR v2.05.3). Фьюзы прописаны в проекте (установлены, т.е. равны "0" CKSEL1, SUT0, остальные не установлены, т.е. = "1"). Работаем на частоте 4,8 МГц.
Дэвайс проверен в железе. Куруизконтроль корректно отрабатывает все нажатия кнопок, также проверено включение питания с удержанием кнопок - работает.
Только БОД не включен, т.к. включенный и настроенный на 4,3В он держал тиньку постоянно в ресете. С этим надо разобраться.
Чтобы подключить штатный ремокон к этой схеме его надо немного модернизировать, а именно поменять резисторы и подлючение кнопок на плате. Средняя кнопка вобще не используется (думаю, может продублировать клаксон?). Теперь они отлично управляют круизом! На картинке не видно 5-го резистора, т.к. фоталось до его появления в схеме и средняя кнопка была незадействована. Сейчас это REST 2.
Каждой кнопке соответствует соё сопротивление, а с резистором подтяжки они образуют переменный делитель и каждой кнопке соответствует своё напряжение на входе контроллера. Получилась вот такая таблица:
Расчётное - это то, то я посчитал в теории.Измеренное - померял тестером прямо на входе контроллера.
eeprom - вытащил из МК, записывая соответствующие кода в eeprom.
Рекомендую после сборки померять напряжение на входе тиньки и пересчитать по формуле: code = U * 1023 / 5. Где 5 - напряжение питания. Как видно из таблицы ошибка при измерении получается всего 2-3 единицы. Ошибка установленная в программе -плюс/минус 20. Это сделано и на компенсацию температурного коэфициента сопротивлений и на сопротивление линий.
Прошивка в прикреплённых файлах.
Используется массив значений (по умолчанию 3) в который каждые 10 мс записывается новое значение с АЦП (по очереди - типа FIFO). Далее проверяется отличие всех значений на удвоенную ошибку. Если отклонение меньше, то значит на входе устоявшееся напряжение. Далее проверяем, входит ли полученное значение в коридор (+- ошибка) какого-нибудь кода кнопки. Если входит, то переводим выход в нулевое состояние и удерживаем, пока код попадает в корридор. Тем самым можно обрабатывать и длительные нажатия в самом КК. Подавление дребезга - 30мс.
Порт натраивается таким образом, чтобы в исходном состоянии на выходе было Z-состояние. Активный выход - "0". Ну типа "отрытый коллектор". Это сделано для того, чтоы работали и обычные кнопки, параллеьно которым можно подключить эту схему, т.е. тиня им не мешала. Значит подтяжки на кнонках оставляем (на схеме их нет - они есть на основной схеме).
В том же архиве, в папке EXE есть HEX для прошивки, но рекомендую собрать схему, померять полученные значения и забить их в исходник и скомпилировать (CodeVisionAVR v2.05.3). Фьюзы прописаны в проекте (установлены, т.е. равны "0" CKSEL1, SUT0, остальные не установлены, т.е. = "1"). Работаем на частоте 4,8 МГц.
Дэвайс проверен в железе. Куруизконтроль корректно отрабатывает все нажатия кнопок, также проверено включение питания с удержанием кнопок - работает.
Только БОД не включен, т.к. включенный и настроенный на 4,3В он держал тиньку постоянно в ресете. С этим надо разобраться.
Чтобы подключить штатный ремокон к этой схеме его надо немного модернизировать, а именно поменять резисторы и подлючение кнопок на плате. Средняя кнопка вобще не используется (думаю, может продублировать клаксон?). Теперь они отлично управляют круизом! На картинке не видно 5-го резистора, т.к. фоталось до его появления в схеме и средняя кнопка была незадействована. Сейчас это REST 2.
- Attachments
-
- firmware_buttons v0.5.rar
- (6.38 KiB) Downloaded 805 times
-
- Пробегал мимо
- Posts: 3
- Joined: 29 Jan 2013 08:06
Re: Аналоговые кнопки (для круизконтроля)
Hardlock, ответьте, пожалуйста, на следующие вопросы:
1. Подойдет ли для данной конструкции Tiny13V (вместо Tiny13)?
2. Какими должны быть фьюзы при прошивке МК?
3. Какова маркировка элемента VD14?
Спасибо!
1. Подойдет ли для данной конструкции Tiny13V (вместо Tiny13)?
2. Какими должны быть фьюзы при прошивке МК?
3. Какова маркировка элемента VD14?
Спасибо!
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
1. бз изменения прошивки - нет, т.к. программа писана под стандартные для Тини13 - 4,8МГц, а "V" может только до 4 МГц, согласно даташиту. Хотя для 4Мгц будет просто медленнее обрабатывать нажатие, но практически незаметно. Можно просто в свойствах проекта поставить нужную частоту и перекомпилировать и всё.
2. Посмотрите в проекте. CKSEL1=0, SUT0=0, остальные = 1.
3. BZX79-C5V1, BZV55-C5V1 и т.д.
2. Посмотрите в проекте. CKSEL1=0, SUT0=0, остальные = 1.
3. BZX79-C5V1, BZV55-C5V1 и т.д.
-
- Пробегал мимо
- Posts: 3
- Joined: 29 Jan 2013 08:06
Re: Аналоговые кнопки (для круизконтроля)
Спасибо за скорый ответ!
Не могли бы Вы перекомпилировать прошивку под Tiny13V, а то в нашей деревне только такие имеются
Не могли бы Вы перекомпилировать прошивку под Tiny13V, а то в нашей деревне только такие имеются
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
Airwave, на какую частоту генератора?
-
- Пробегал мимо
- Posts: 3
- Joined: 29 Jan 2013 08:06
Re: Аналоговые кнопки (для круизконтроля)
hardlock, ну наверное на 4МГц. Я, если честно, не силен в МК, но все же не вижу на данной схеме внешнего генератора, значит используем внутренний тиневский на 4МГц
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
Airwave, с тиней "V" дела не имел и поэтому не знаю какие частоты внутреннего генератора там используются. В даташите ничего не нашёл про тактирование В-шки...
Во вложении перекомпилированная прошивка под 4MHz, без исходника, т.к. ничего кроме частоты в свойствах проекта не менял, а Вам придётся подгонять не только частоту, а и коды кнопок. Поэтому пользуйте порект из первого поста.
Добавлено спустя 8 часов 42 минуты 59 секунд:
Обновил схему и прошивку до версии v0.5. Добавилась ещё одна кнопка кнопка (REST 2), которая эмитирует одновременное нажатие кнопок Up и Down. В программе основного МК круиза реализована обработка такого сочетания кнопок.
Во вложении перекомпилированная прошивка под 4MHz, без исходника, т.к. ничего кроме частоты в свойствах проекта не менял, а Вам придётся подгонять не только частоту, а и коды кнопок. Поэтому пользуйте порект из первого поста.
Добавлено спустя 8 часов 42 минуты 59 секунд:
Обновил схему и прошивку до версии v0.5. Добавилась ещё одна кнопка кнопка (REST 2), которая эмитирует одновременное нажатие кнопок Up и Down. В программе основного МК круиза реализована обработка такого сочетания кнопок.
- Attachments
-
- buttons_4MHz.rar
- (803 Bytes) Downloaded 580 times
-
- Пробегал мимо
- Posts: 2
- Joined: 30 Sep 2013 17:59
- Location: Брянск
Re: Аналоговые кнопки (для круизконтроля)
Здравствуйте уважаемый hardlock. В первую очередь хочу выразить огромную брагодарность за разработку сего чудного девайса. Как говорится РЕСПЕКТ и УВАЖУХА Вам и gnomon72. Собрал по Вашей схеме, все пашет за исключением аналоговых кнопок. Проблема в следующем: у нас в продаже нет ATtiny13, а есть только ATTiny13а. Прошивка проходит нормально, но при включении круиза тинька выдает и удерживает нажатие кнопок UP и DOWN, ну и естественно они не работают. Аналоговая клавиатура при этом не подключена. Если выпаять тиньку все работает как надо. Менял две тиньки - результат одинаковый. Можно как-либо сделать прошивочку для 13а? Буду премного благодарен, а то с пультом как-то не очень. Хочеться на руль кнопочки. Я в первую очередь из-за них и выбрал эту схему.
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
vol4enok, хм... надо подумать. Вобще-то 13а полный аналог, за исключением фьюзов. Попробую перекомпилировать прошивку именно под 13А, но завтра. Если до вечера не будет результата - напомните, пожалуйста.
-
- Пробегал мимо
- Posts: 2
- Joined: 30 Sep 2013 17:59
- Location: Брянск
Re: Аналоговые кнопки (для круизконтроля)

Все, спасибо, разобрался. Проблема не в прошивке, а в стабилитроне. Этот гад снижал напряжение на входе тиньки до 4.12В


- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
Нет, еепром не используется. Попробуйте прошить не ROM, а HEX.ligor73 wrote: Скажите а в EEPROM не нужно ничего заливать?
Стабилитрон 5,6 В или 5,1В?
-
- Пробегал мимо
- Posts: 13
- Joined: 10 May 2010 18:27
- Location: Новосибирск
Re: Аналоговые кнопки (для круизконтроля)
Стабилитрона пока нет, без него она же должна работать.hardlock wrote:Стабилитрон 5,6 В или 5,1В?
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
ligor73, Должна конечно. Если уж Вы открыли проект в кодевижене, то нажимайте Shift+F9 и прошивайте всё целиком.
-
- Пробегал мимо
- Posts: 13
- Joined: 10 May 2010 18:27
- Location: Новосибирск
Re: Аналоговые кнопки (для круизконтроля)
Прошить через кодевижен не получилось, забарахлил программатор.
Прошиваю другим.Гляньте фьюзы правильно стоят?
Прошиваю другим.Гляньте фьюзы правильно стоят?
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
ligor73, если в Вашей прошрамме установленная галочка соответствует "0", то правильно. В Юнипроф (или как-то так) наоборот - галочка соответствует "1"
-
- Пробегал мимо
- Posts: 13
- Joined: 10 May 2010 18:27
- Location: Новосибирск
Re: Аналоговые кнопки (для круизконтроля)
Почему то на прошивке 0.5 у меня запускаться не захотел.
А вот с прошивкой 0.3 заработала.
А вот с прошивкой 0.3 заработала.
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
Везде шил 0.5. А где Вы взяли 0.3?
-
- Пробегал мимо
- Posts: 13
- Joined: 10 May 2010 18:27
- Location: Новосибирск
Re: Аналоговые кнопки (для круизконтроля)
Да где то на форуме по круизу наверно, сейчас уже и не помню.
Датируется июль 12 года.
И она работает.
А то я уже 3 тини прошил, думая что неисправные попались.
А вот почему 0.5 не работает, непонятно.
Резистор 1 ком , напряжение на входе падает до 0,95 в.
Датируется июль 12 года.
И она работает.
А то я уже 3 тини прошил, думая что неисправные попались.
А вот почему 0.5 не работает, непонятно.
Резистор 1 ком , напряжение на входе падает до 0,95 в.
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
А по таблице должено получиться 0,86 вольта. Может уже в допуск не попадает? Проверьте переменником.ligor73 wrote:Резистор 1 ком , напряжение на входе падает до 0,95 в.
-
- Пробегал мимо
- Posts: 13
- Joined: 10 May 2010 18:27
- Location: Новосибирск
Re: Аналоговые кнопки (для круизконтроля)
Выставил подстроечником 0,86 вольт, не реагирует.
А почему 0,86 ? В прошивке ведь забит код под 0,95
#define BTAutoCode 0x0C2 //Auto
#define BTRestCode 0x13B //REST
#define BTRest2Code 0x343 //REST 2
#define BTDnCode 0x206 //Down
#define BTUpCode 0x2BC //Up
или это не то?
а это из 0.3
#define BTAutoCode 0x0C2 //Auto
#define BTRestCode 0x13B //REST
#define BTUpCode 0x206 //Up
#define BTDnCode 0x2BC //Down
А почему 0,86 ? В прошивке ведь забит код под 0,95
#define BTAutoCode 0x0C2 //Auto
#define BTRestCode 0x13B //REST
#define BTRest2Code 0x343 //REST 2
#define BTDnCode 0x206 //Down
#define BTUpCode 0x2BC //Up
или это не то?
а это из 0.3
#define BTAutoCode 0x0C2 //Auto
#define BTRestCode 0x13B //REST
#define BTUpCode 0x206 //Up
#define BTDnCode 0x2BC //Down
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
ligor73, да, точно 0,95. Я не туда глянул в таблицу.
Обратите внимание на строку 37 (38). Там задаётся аналоговый вход.
в 0.3 - это ADC2, в 0.5 - ADC3...
Обратите внимание на строку 37 (38). Там задаётся аналоговый вход.
Code: Select all
#define InPin 2 //вход аналоговых кнопок (ADC2)
-
- Пробегал мимо
- Posts: 13
- Joined: 10 May 2010 18:27
- Location: Новосибирск
Re: Аналоговые кнопки (для круизконтроля)
А ведь точно, у пятикнопочной 2 и 3 ноги поменяны местами
А я то платку разводил под четырёхкнопочную, проглядел.
Моя ошибка, сейчас перекинем и думаю заработает.
Добавлено спустя 30 минут 26 секунд:
Нестал перепаивать платку, решил пойти по более простому пути
Перекомпилировал прошивку, работает.
Спасибо, за помощь

А я то платку разводил под четырёхкнопочную, проглядел.
Моя ошибка, сейчас перекинем и думаю заработает.
Добавлено спустя 30 минут 26 секунд:
Нестал перепаивать платку, решил пойти по более простому пути

Перекомпилировал прошивку, работает.
Спасибо, за помощь

- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
-
- Пробегал мимо
- Posts: 17
- Joined: 19 Feb 2013 18:03
- Location: Россия
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
В архиве два файле nex и rom я зашил оба, в eeprom залил rom, а потом прочитал что eeprom не используется, что мне теперь надо как-то зашитое оттуда убрать?
- hardlock
- Администратор
- Posts: 4015
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Аналоговые кнопки (для круизконтроля)
alec220, думаю можно оставить. Ничего страшного не будет. Главное проверить работу основного функционала.