Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
22.01.2012, 14:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Реверс - тоже не панацея. Нужна остановка механизма с использованием тормоза. Хоты бы замыкания всех обмоток привода.
Концевики обычно ставят парные. Один на конечное положение, другой на аварию. Желательно ещё до механического упора. И третий шаг - это механический упор.
Ну и программу нужно строить соответствующим образом. Перед любым действием необходимо проверять состояние датчиков. Аварийка ведь тоже может сбойнуть....
|
|
|
|
22.01.2012, 14:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
А какие методы, для ликбеза.
|
Кожухи, шнуры, ковры, оптические(и прочие) датчики присутствия в рабочей зоне...
Сообщение от Pajatel
|
наезд на концевик это для станка трагедия
|
Вот чтоб трагедий не было, задача разработчика сделать любую аварийную ситуацию штатной. Т.е. предусмотреть любое ненормальное "поведение" оборудовния...
...и персонала...
|
|
|
|
22.01.2012, 15:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от DAVE_ELEKTRIK
|
А какие методы, для ликбеза.
|
Самое первое ращение это отгородить опасный участок, чтобы голову нельзя было туда засунуть. В некоторых промышленных агрегатах это прозрачные двери. Весь техпроцесс видно, а при открывании дверей все приводы отключаются. Так же используются всевозможные датчики наличия посторонних предметов в опасной зоне. Аварийные кнопки и т.д.
Для того чтобы механизм ни чего не поломал можно применить типа муфты сцепления. Т.е. силы трения достаточно для того чтобы тягать механизм, но на упорах начинается проскальзывание (это уже на всякий пожарный, если защиты не сработали).
P.S. Практически тоже и omercury сказал, но это еще раз подтверждает, что методы защиты везде одинаковые.
Последний раз редактировалось alvadep; 22.01.2012 в 15:09.
|
|
|
|
22.01.2012, 15:55
|
|
Прописка
Регистрация: 18.10.2010
Адрес: Planet Earth )
Сообщений: 120
Сказал спасибо: 14
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Электромеханических муфт у меня не будет, просто механизм построен на пневматике, гидравлике, есть двигатели но реверса у них нет. Но то что вы мне рассказали принцип понятен . Просто для примера выбран этот вариант (двигатель, редуктор и возвратно-поступательное движение). А вот сделать любую ситуацию штатной это проблема пока. Вот для чего я и обратился. Как бы речь велась о процессе когда два датчика одновременно сработали, а так же алгоритмы обработки подпрограмм, что произошло (ошибка или сбой). Это касается схемотехники и программирования для ATmega8515. Я таких сложных проектов пока не делал, это моя первая любительская работа. Вот, пытаюсь, по частям рассмотреть варианты работы блоков программ, периферии МК, и т.д.
__________________
Мозги кипят, ядрить твою валентность!!! Пойду закладывать остальные ингредиенты...
|
|
|
|
22.01.2012, 16:20
|
|
Прописка
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
..так всё просто ..чем то похожим и я сча занимаюсь, стараюсь сделать покороче главный цикл, в нём только опрос кнопок(или концевиков) который меняет флаги(биты) в глобальном регистре допустим, в этом же цикле проверяю какие флаги установлены/сброшены и делаю выводы - или меняю установки таймеров(таймер работает паралельно) для выдачи управляющих ШИМов или ухожу на подпрограмму отключения/включения и т.д. Так как глвный цикл крутится очень быстро то и не нужно никаких внешних прерываний - всё успевается с запасом. Ну а если у тя главный цикл виснит на какую-нить тупую задержку для кнопок каких на пол секунды допустим, то тогда ой - надо от этих задержек избавлятся. Или как и советывал раньше - переходить на другой контроллер, ну в твоём случае наверно это будет mega 162 допустим, у неё на любых пинах/портах можно организовать внешние прерывания хоть 10 штук сразу...
PS ...соврал.. у 162 внешние прерывания PCINT0-PCINT15 можно организовать на портах А и С, зато аж дополнительных 16 пинов..
Последний раз редактировалось Pajatel; 22.01.2012 в 16:33.
|
|
|
|
22.01.2012, 20:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от Pajatel
|
зато аж дополнительных 16 пинов..
|
...и на все одно прерывание...
Вообще надо делать нормальное сканирование клавиатуры с определённой периодичностью и анализом её состояния. То же можно делать и для датчиков, причём параллельно с клавой. С критических можно сделать общее прерывание, но защита нужна в первую очередь аппаратная, ИМХО.
|
|
|
|
22.01.2012, 22:31
|
|
Прописка
Регистрация: 04.12.2010
Сообщений: 243
Сказал спасибо: 9
Сказали Спасибо 51 раз(а) в 32 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Сообщение от omercury
|
...и на все одно прерывание...
|
...мммм ..я бы сказал , что 2 прерывания - по одному на порт. Но всё фигня, лучше конечно действительно хорошо продумать сканирование кнопок/концевиков, вывод на дисплей и т.д., чтоб всё было зациклено без тормозов, тогда и задержка выдачи решения по сработке концевика пусть даже в какую целую 1мс думаю проблем не создаст...
PS ..а аппаратно по любому, даже без концевиков, должна быть предусмотрена защита. Тем более если это электро-механическо-гидравлическая хрень. Допустим мусор в гидравлике или перепускной клапан заклинило - значит повышение тока - надо вырубать, аль шланг какой сорвало или жидкость исчезла - понижение тока - тоже вырубать и т.д.
Последний раз редактировалось Pajatel; 22.01.2012 в 22:42.
|
|
|
|
26.01.2012, 15:04
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Возникла трудность с, как бы правильно сказать, приемом и сохранением в МК информации, с целью ее дальнейшей обработки. Решил немного изменить алгоритм работы приемника команд ДУ и сначала заносить длительности 10-ти импульсов в одномерный массив, а уже потом раскодировать. Думаю подобные алгоритмы и потом мне очень пригодятся. Так вот написал на Си в АВРСтудио прожку - вот ее фрагмент в отношении сохранения данных, как мне кажется:
unsigned int tick = 0; //счетчик тиков таймера
unsigned int cod[9];
unsigned int index;
// External Interrupt 0 service routine
ISR(INT0_vect)
{
.....................
.......................
if(index‹10)
{
cod[index]=tick;
index++;
}
........................
......................
}
Студия ругает меня на чем свет стоит как раз на обработчик внешнего прерывания и пишет:
static declaration of vector 1 follows non-static declaration previous declaration of vector 1 was here
Блин, скорее всего я вообще не в ту степь...
Подскажите пожалуйста, как правильно формировать массив данных?
Или это правильнее делать вообще другим способом?
|
|
|
|
27.01.2012, 17:01
|
|
Вид на жительство
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Переименуйте index на например i.
Не забудьте включить #include ‹avr/interrupt.h›
(Пишет, что index встроенная функция)
Последний раз редактировалось CodeNameHawk; 27.01.2012 в 17:12.
|
|
|
|
27.01.2012, 17:42
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
|
Re: Помогите начинающему по ATmega8515
Переименовал, и интеррупт подключил, ни черта, так эта ошибка и остается...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:52.
|
|