Duhas

Примеры Кода Для Avr

598 сообщений в этой теме

dm37    54

to DmitryS,
вопрос был такой, на него и ответил:

Цитата

Привет всем! вот написал программу она только зажигает светодиод а не тушит через 15с, в  чем моя ошибка в программе.  кто может исправьте  ошибку   Спасибо.
#include <tiny13.h> 
#include <delay.h>

void main(void)
{

PORTB=0b111111;
DDRB=0b000001;

     while (1) { 
     
     
     PORTB.0=1;
     delay_ms(15000);
     PORTB.0=0;
    
};

   }

Я так понимаю программа продолжает развиваться

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
artos5    290
1 час назад, Коля 87 сказал:

Привет всем! вот написал программу она только зажигает светодиод а не тушит через 15с, в  чем моя ошибка в программе. 
#include <tiny13.h>
#include <delay.h>

void main(void)
{

PORTB=0b111111;
DDRB=0b000001;

     while (1) { 
     
     
     PORTB.0=1;
     delay_ms(15000);
     PORTB.0=0;
    
};

   }

Добавьте после portb. 0=0;

while(1);

Или 

Задержку. И будет работать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DmitryS    28

@dm37  ,  извиняюсь , это ответ был для @Коля 87 , ему же надо зажечь диод при включении МК и потушить через 15 сек , все , зажигать диод через 15 сек не надо 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Коля 87    0
4 часа назад, DmitryS сказал:

@dm37  ,  извиняюсь , это ответ был для @Коля 87 , ему же надо зажечь диод при включении МК и потушить через 15 сек , все , зажигать диод через 15 сек не надо 

Нет мне нужно при включении зажигания что мк включил свечи накала а через 15с вырбил их. Как написать токую программу. Помогите пожалуйста зима на носу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
dm37    54

тогда так

 

#include <tiny13.h> 
#include <delay.h>

void main(void)
{
  PORTB=0b111111;
  DDRB=0b000001;

  delay_ms(15000);
  PORTB.0=0;

  while (1)
  { 
  }
} 

 

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

ИМХО, несколько опрометчиво на свечи делать такой алгоритм... оно-то конечно работать будет, до первой помехи в бортсети - контроллер сбросится и свечи снова будут гореть 15 секунд, когда двигатель-то уже работает. Нужен второй канал завести - температуру двигателя, например, если он уже разогрелся то выполнять алгоритм не нужно. Не так давно делал датчик температуры в дизель как раз для этих целей в замен штатного, который был механическим и сдох. Если не изменяет мне память, при температуре цилиндров выше 70 градусов блокируется работа свечей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Коля 87    0

Ну  да хорошая идея, только вам это легко а мне новичку тяжело будет придумать. Я думаю поставит как на бойлерах датчик на температуру.

 

 

Изменено пользователем Коля 87

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

Главное знать что это возможно и иметь направление к действию. Как правило, после этого любой может справиться. Цель зафиксировать и не упускать из виду.

Датчик выбирай тщательней, туда нужен высокотемпературный терморезистор ибо двигатель может греться до 100 градусов и выше. Либо биметаллический контакт, а его обрабатывать уже как обычную кнопку.

Изменено пользователем Alexeyslav

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

вы до-сих-пор говнокодите энкодер? так бросайте это дело, говнокодерство.

Смотрите, как надо делать хорошо людям:

http://forum.primuss3.com/viewtopic.php?p=17108#p17108

Изменено пользователем slav0n
для дятлов азбука

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

Кому делать хорошо? Если так считать энкодер, то 100% словим дребезг...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

два кондера 0.1 эффективно нейтрализуют твои инсинуации

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59
21 час назад, Alexeyslav сказал:

Кому делать хорошо?

всем людям

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

конденсаторы убъют контакты энкодера довольно быстро, и от дребезга они фигово защищают. Посуди сам, какой ток будет через кнопки если на них разряжать конденсаторы с 5-ю вольтами, а сопротивление контакта 0.1 Ома.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

ну-ка ну-ка, и какой-же ток надо посчитать?

и главное - через сколько времени умрет энкодер?!!

а то мой совсем живучий какой-то, второй год его мучаю-мучаю, мучаю-мучаю, мучаю-мучаю, м у ч а ю - м у ч а ю...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Darth_Vader    62

Тоже стало интересно - когда умрёт энкодер? Такая же схема (и алгоритм аналогичный) с кондёром 0.1 и у меня используется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

я думаю дальше нет смысла стебаться.

если парень не дурак, он осознал свою ошибку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

Обычный, ток в цепи конденсатор-кнопка. По закону Ома - в момент замыкания контакта кнопки ток будет порядка 20-30А. Я уже заманался в таких схемах энкодеры менять в регуляторах громкости муз.центров - год-два неспешной эксплуатации и контакты засираются так что даже такие конденсаторы не спасают. Темболее что такой способ подавления дребезга ЛИШЬ УМЕНЬШАЕТ вероятность дребезга но не давит его до конца что выражается в периодическом подглючивании энкодеров в таких схемах. Для регулировки громкости это обычно не проблема, но чо-то более критичное уже начинает бесить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

чувак не понял.

ок, продолжаем

5 минут назад, Alexeyslav сказал:

По закону Ома - в момент замыкания контакта кнопки ток будет порядка 20-30А.

о боже! какое сечение провода ты  предложил-бы для устранения проблемы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

Причем тут сечение провода? Энергия достаточно мала чтобы не расплавить дорожку в хлам, но КОНТАКТ в это время страдает - он плавится, подгорает. Что интересно, в советской технике 30 лет назад тоже использовался такой подход - конденсатор параллельно кнопке для подавления помех и дребезга, но от этого по результатам эксплуатации очень быстро отказались - контакты выходили из строя буквально за месяц, ну посеребрянные чуток дольше держались. И как только выкусывали этот конденсатор так сразу кнопки стали вечными. А современные производители идут на этот шаг намеренно... сокращая срок службы техники.

Но я не понимаю одного - вы-то зачем копируете заведомо ущербное решение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

я конечно дико извиняюсь перед Вами, но Вы так и  не ответили за Ваше:

29 минут назад, Alexeyslav сказал:

в момент замыкания контакта кнопки ток будет порядка 20-30А

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

Чёта ржу... пруфы вы найдёте в книжках по электротехнике, там где описывается разряд конденсатора. Если у вас очень туго с математикой, не знаете и не умеете пользоваться законом Ома, не знаете что такое экспонента... то это некомне.

Вот вам исходные данные: напряжение в цепи - 5 вольт, сопротивление - 0.1 - 0.2 Ома, используя закон Ома посчитать ток в цепи. Если это вызывает затруднения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
slav0n    59

я тоже ржу

Почему мой энкодер до сих пор не наебн... сгорел?

мистика...? чудо? тока нет?

может Вы подскажите?

Изменено пользователем slav0n

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    630

Он и не должен сгореть. Просто состояние контактов постепенно ухудшается, по мере пользования енкодером. Причем ощутимо быстро - при редком дёргании энкодера хватало на год максимум...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: Сергей Скопинцев
      Нужно разработать циклическую программу сбора информации от 10 измерительных источников. Период повторения цикла - одна секунда
      Источники:
       М - тензопреобразователь давления. Мостовая схема питается постоянным напряжением, выходной сигнал от 0 до 100 милливольт
       Т, ТМ, ТА- три канала измерения изменения напряжения в диапазоне от 400 до 600 милливольт (тоже нужен мост?)
       ЛМ - анализатор максимума напряжения (от 0 до 5 Вольт) по 10 точкам более-менее распределённых в измерительном цикле. Найденный максимум потом должен участвовать в анализе, постепенно уменьшаясь на 20% каждый цикл
       ВЛ - измерить напряжение на Малой емкости (50 пФ) с помощью емкостного делителя по алгоритму:
                         Снять Землю со средней точки емкостного делителя, подать на емкостной делитель положительный Импульс
                         Замерить нужное нам напряжение в средней точке делителя
                         Снять положительный Импульс с делителя, посадить на землю среднюю точку делителя
      - остальные каналы К7...К10  служебные
      Разрядность данных - 16 двоичных.

      Результаты писать на MicroSD текстовым файлом, на первом месте в строке текущее время в секундах, остальные каналы разделены пробелами
      Порядок каналов:
      Т - М -ТМ - Вл - ЛМ -...
      Коэффициенты усиления по каждому информационному каналу должен иметь возможность изменить оператор по формуле y = Ax + B
      Прибор автономный, питается от + 5 Вольт.
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: Kiraspbkiev Kira
      День Добрый. Есть два вопроса от новичка: 1) Правильная ли схема сделанная мною? 2) если схема верна то как правильно подключить к atmega328p-mu usb на чипе cp2102-grm?
      На схеме колодка JP1 это AVR ISP а JP2 это UART
      С проектированием столкнулся в первый раз, цель узнать что то новое и сделать своими руками:)