Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Электроника средств транспорта Ремонт и разработка дополнительного автооборудования. Бортовые компьютеры и многое другое.

 
Опции темы
Непрочитано 09.07.2012, 15:16  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от hardlock Посмотреть сообщение
Аналоговые кнопки...
А как Вам такой код:
Код:
#include ‹tiny13.h›
#include ‹delay.h›

unsigned char joystick;
bit flag;

#define OutAuto DDRB.0      //Выход кнопки Auto
#define OutRest DDRB.1      //Выход кнопки Rest
#define OutUp   DDRB.2      //Выход кнопки Up                          
#define OutDn   DDRB.3      //Выход кнопки Down

#define ADC_VREF_TYPE 0x20

// Read the 8 most significant bits of the AD conversion result
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(void)
{
ACSR=0x80;

#pragma optsize-
WDTCR=0x1D;
WDTCR=0x0D;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Global enable interrupts
#asm("sei")

//Initialization DAC
write_dac(read_adc(1));

while (1)
  {
  joystick=0.0158*read_adc(1)+1.41; 
    switch (joystick)// Выбор кнопки
      {
      case 1: //кнопка Auto 
        if (flag==0) //проверка что не нажаты другие кнопки
          {
          OutAuto = 1;
          delay_us(10);
          OutAuto = 0;
          }
        flag=1; //сброс флага кнопки
      break;
      
      case 2: //кнопка Reset
        if (flag==0)
          {
          OutRest = 1;
          delay_us(10);
          OutRest = 1;
          }
        flag=1;
      break;
      
      case 3: //кнопка Up
        if (flag==0) //однократное нажатие кнопки
          {
          OutUp = 1;
          delay_us(10);
          OutUp = 0;
          flag=1;
          }
              
        if (flag==0) //длительное нажание кнопки (флаг не ставим)
          {
          OutUp = 1;
          delay_us(10);
          OutUp = 0;
          }    
      break;
      
      case 4: //кнопка Doun
        if (flag==0)
          {
          OutDown = 1;
          delay_us(10);
          OutDown = 0;
          flag=1;
          }
        
        if (flag==0)
          {
          OutDown = 1;
          delay_us(10);
          OutDown = 0;
          }
        
      break;
      
      case 5: //не нежимаем кнопки 
      flag=0;
      }
   };
}
Реклама:

Последний раз редактировалось Andry_MA; 09.07.2012 в 15:18.
Andry_MA вне форума  
Непрочитано 09.07.2012, 15:20  
hardlock
Вид на жительство
 
Аватар для hardlock
 
Регистрация: 06.07.2006
Адрес: zp.ua
Сообщений: 393
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 18 сообщении(ях)
hardlock на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Andry_MA, сложно и нет нужды. Да и кнопку надо держать не менее антидребезга в самом КК, т.к. 32мс. Да и такое ( joystick=0.0158*read_adc(3)+1.41; ) тиньке не под силу, и как задавать коридор значений? Вобщем там много вопросов. Код работает, зачем его трогать.

30 секунд назад поставил тиньку в основную плату. Всё работает прекрасно. Чуть уменьшил сремя таймера (до 10мс).
Код:
TCNT0=0xA2; // 20ms = 0xA2, 10ms = 0xD1
Теперь работа антидребезга в тиньке не заметна глазу. Нажатую кнопку при включении питания КК отрабатывает полностью нормально.
__________________
Сборный вариант Круизконтроля (by hardlock & Alex_Sss) - hardlock.org.ua/kk

Последний раз редактировалось hardlock; 09.07.2012 в 17:50.
hardlock вне форума  
Непрочитано 09.07.2012, 15:37  
Andry_MA
Временная регистрация
 
Регистрация: 18.11.2011
Сообщений: 98
Сказал спасибо: 1
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
Andry_MA на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от hardlock Посмотреть сообщение
сложно и нет нужды. Да и кнопку надо держать не менее антидребезга в самом КК, т.к. 32мс. Да и такое ( joystick=0.0158*read_adc(3)+1.41; ) тиньке не под силу, и как задавать коридор значений? Вобщем там много вопросов. Код работает, зачем его трогать.
Ну насчёт сложно я бы не сказал.
Можно switch из main переместить.
joystick=0.0158*read_adc(3)+1.41 - простейшая формула которую тинька разжуёт на раз. В которой уже и задаётся короидор значений. Данная формула для четырёх-кнопочной клавиатуры. Я её использовал ( с другими коэффициентами) для шестикнопочной.
Работает идеально.
Ваш код работает, я ничего не имею против. Но вот мне он показался намного сложнее предложенного.
Andry_MA вне форума  
Непрочитано 09.07.2012, 15:51  
Alex_Sss
Прописка
 
Регистрация: 03.06.2012
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
Alex_Sss на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Думаю - чем больше вариантов - тем лучше. Каждый сможет себе подобрать на свой вкус
Alex_Sss вне форума  
Непрочитано 09.07.2012, 15:54  
vadim71
Прописка
 
Регистрация: 31.05.2012
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vadim71 на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

уважаемые форумчане объясните пожалуйста вот схема под атмега 88-168 можно ли в ней вместо 354nt поставить аот127 и вместо драйвера мотора L6203 поставить L298N а то 354nt и L6203 нету и даже на заказ нету . собрал схему с первой страницы теперь думаю какую атмегу купить 8 или 168 переделать под 168 недолго вот и спрашиваю.
Миниатюры:
Нажмите на изображение для увеличения
Название: by_oklik.jpg
Просмотров: 127
Размер:	191.2 Кб
ID:	36589  
vadim71 вне форума  
Непрочитано 09.07.2012, 16:33  
OKLiK
Гражданин KAZUS.RU
 
Аватар для OKLiK
 
Регистрация: 08.05.2004
Адрес: Екатеринбург
Сообщений: 760
Сказал спасибо: 2
Сказали Спасибо 85 раз(а) в 82 сообщении(ях)
OKLiK на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от vadim71 Посмотреть сообщение
уважаемые форумчане объясните пожалуйста вот схема под атмега 88-168 можно ли в ней вместо 354nt поставить аот127 и вместо драйвера мотора L6203 поставить L298N а то 354nt и L6203 нету и даже на заказ нету . собрал схему с первой страницы теперь думаю какую атмегу купить 8 или 168 переделать под 168 недолго вот и спрашиваю.
Попробуй, может и получится если что расскажешь
__________________
Круиз контроль: схемы, прошивки и полное описание находятся по данным ссылкам:
Тросовая версия круиз контроля.
Круиз контроль для ЭПГ.
Круиз контроль для ЭПГ "Калина-2".
Прошивки тут.
OKLiK вне форума  
Непрочитано 09.07.2012, 17:02  
hardlock
Вид на жительство
 
Аватар для hardlock
 
Регистрация: 06.07.2006
Адрес: zp.ua
Сообщений: 393
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 18 сообщении(ях)
hardlock на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Итак, покатался с аналоговыми кнопками. Никакой разницы в управлении не заметил, только поменял время таймера на 10мс (теперь антидребезг 30мс). Одновременное нажатие нескольких кнопок в худшем случае воспринимается как нажатие "Авто" (т.к. у неё меньшее сопротивление). В худшем - никак, т.е. ни одна кнопка не эмулируется. Новая прошивка в предыдущем сообщении (со схемой).

Единственное замечание по подключению. Пробовал землю взять как и в случае с обычными кнопками - с рулевой колонки. Оказалось, что между рулевой колонкой и массой авто сопротивление около 300 Ом и скачет при прокручивании руля. Поэтому задействовал 2 провода и взял землю прямо на плате КК.

Сообщение от vadim71 Посмотреть сообщение
вместо драйвера мотора L6203 поставить L298N
на него и вернулись, т.к. он дешевлее и дубовее. А в результате экспериментов спалили 2 штуки 6203 - очень обидно и дорого.
__________________
Сборный вариант Круизконтроля (by hardlock & Alex_Sss) - hardlock.org.ua/kk

Последний раз редактировалось hardlock; 09.07.2012 в 18:03.
hardlock вне форума  
Непрочитано 09.07.2012, 18:46  
OKLiK
Гражданин KAZUS.RU
 
Аватар для OKLiK
 
Регистрация: 08.05.2004
Адрес: Екатеринбург
Сообщений: 760
Сказал спасибо: 2
Сказали Спасибо 85 раз(а) в 82 сообщении(ях)
OKLiK на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Обновлены пошивки для обоих версий КК, ссылка в подписи!

Сообщение от hardlock Посмотреть сообщение
на него и вернулись, т.к. он дешевлее и дубовее
Это Вы вернулись на них, я же остался, за все время экспериментов и эксплуатации, не одно мертвого, даже в других конструкциях!
Дорого, хм.. L298N - 103р, L6203 - 145р..
L298N - 46В/4 А (суммарный)
L6203 - 52В/5А
__________________
Круиз контроль: схемы, прошивки и полное описание находятся по данным ссылкам:
Тросовая версия круиз контроля.
Круиз контроль для ЭПГ.
Круиз контроль для ЭПГ "Калина-2".
Прошивки тут.

Последний раз редактировалось OKLiK; 09.07.2012 в 19:38.
OKLiK вне форума  
Непрочитано 09.07.2012, 20:05  
hardlock
Вид на жительство
 
Аватар для hardlock
 
Регистрация: 06.07.2006
Адрес: zp.ua
Сообщений: 393
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 18 сообщении(ях)
hardlock на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от OKLiK Посмотреть сообщение
Дорого, хм.. L298N - 103р, L6203 - 145р..
у нас 26грн и 72грн соответственно.

Сообщение от OKLiK Посмотреть сообщение
L298N - 46В/4 А (суммарный)
L6203 - 52В/5А
а нам более 1А не надо, т.к. больше привода чем с моторедуктора точно не будет, а он хавает 1А при наших нагрузках. Я тоже хотел взять 6203 (типа он продвинутей и разводка проще), но оказалось, что они нежные. и диоды надо обязательно быстрые. Вот и вернулся на 298. Но то всё демогогия. Кому что доступно и нравится - на том и делает, т.к. свои функции они выполняют одинаково.
Сообщение от OKLiK Посмотреть сообщение
Обновлены пошивки
что нового, кроме изменений алгоритма измерения скорости? Можно где-то вести лог изменений, чтобы было всем видно?
__________________
Сборный вариант Круизконтроля (by hardlock & Alex_Sss) - hardlock.org.ua/kk

Последний раз редактировалось hardlock; 09.07.2012 в 20:07.
hardlock вне форума  
Непрочитано 09.07.2012, 20:21  
OKLiK
Гражданин KAZUS.RU
 
Аватар для OKLiK
 
Регистрация: 08.05.2004
Адрес: Екатеринбург
Сообщений: 760
Сказал спасибо: 2
Сказали Спасибо 85 раз(а) в 82 сообщении(ях)
OKLiK на пути к лучшему
По умолчанию Re: Самодельный круиз-контроль

Сообщение от hardlock Посмотреть сообщение
что нового, кроме изменений алгоритма измерения скорости? Можно где-то вести лог изменений, чтобы было всем видно?
Так то ничего, по мелочи... фишка самоликвидации ну.. секрет ))))
Ну а если серьезно то отключение ДХО кнопкой REST на стоящем автомобиле при скорости 0.
Лень вести лог событий изменений
__________________
Круиз контроль: схемы, прошивки и полное описание находятся по данным ссылкам:
Тросовая версия круиз контроля.
Круиз контроль для ЭПГ.
Круиз контроль для ЭПГ "Калина-2".
Прошивки тут.
OKLiK вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контроль приближения/удаления целевого обьекта или аналог proximity Boris_gunner Электроника - это просто 18 25.04.2016 11:52
[Решено] Самодельный пирометр Classic001 Измерительное оборудование 6 27.10.2011 10:52
Самодельный сварочный трансформатор - дополнительная обмотка E_C_C Производственное оборудование 5 01.11.2010 21:02
Контроль целостности передаваемых данных ksd034 Микроконтроллеры, АЦП, память и т.д 4 08.07.2010 21:46
Входной контроль микроконтроллеров TMS320LF2406APZA alnikr Цифровые сигнальные процессоры 8 18.05.2010 14:38


Часовой пояс GMT +4, время: 00:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot