Страница 1 из 3
Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 12:27:24
Efremoff
Приветствую всех.
Есть задача. 2-3 раза в сутки, в заданное время, подавать напряжение на двигатель на 300-600мсек, после чего, сразу же подавать напряжение с другой полярностью примерно на такое же время. Т.е. чтобы 2 раза в день двигатель совершал вращение туда и назад, и чтобы этот цикл был в районе 1 секунды. Промежуток между циклами - 8-12 часов.
Функционал: установка времени срабатывания в рамках 24 часов (например чтобы срабатывал в 7 утра и в 6 вечера), в которое должен запускатся цикл работы, возможность установки длительности длительность циклов-импульсов (импульсы по длительности всегда идентичные, только нужно чтобы они шли последовательно, со сменой полярности) - хотя это можно как-то реализовать на аналоге - точность - не критично, главное чтобы можно было настроить при необходимости. Возможность запуска цикла работы вручную, не сбивая при этом постоянные настройки устройства.
С цифровой техникой сталкивался крайне мало, но есть достаточно большой опыт по сборке аналогвых устройств.
В какую сторону мне смотреть и двигатся, для решения данной задачи? Связка ATmega8 (или другой простенький подобный проц), которая в заданное время включает аналоговый таймер например на 555, который непосредственно генерирует 1-0 импульсы, заданной длительности, которые подаются например уже на H-мост. - но как-то громоздко и сложно... может есть более простое решение?
Двигатель, посредством редуктора связон с тягой, которая должна совершать возвратно поступательное движение. Возможно в крайних точках поставить кнопки, чтобы по достижению нижней позиции двигатель переключал полярность, а по достижению верхней точки - отключал таймер, до следующего цикла...
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 14:49:09
vem566
Для такой задачи не только атмеги, даже тиньки хватит за глаза без всяких 555-х.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 15:12:07
Efremoff
Ок, отлично. тогда вопрос - как?
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 15:47:11
Gudd-Head
Efremoff писал(а): как?
Написать прошивку и запрограммировать МК.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 15:56:19
Efremoff
Ок. Написание прошивки пока сложно, нужно будет сидеть и разбиратся. Но а что насчет базовой схемы и прочего? на том же Tiny? как оно будет выглядеть?
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 16:10:28
vem566
Считаем, сколько ног нужно на все устройства. Сколько кнопок, нужна ли индикация(скорее всего нужна, иначе как настраивать), два выхода на управление (+ и -). Выбираем подходящий МК по количеству портов ввода/вывода. Дальше пишем программу.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 16:28:03
Efremoff
ATTiny13 имеелось ввиду, когда говорилось о "тиньке" или что-то более сложное типа 2313? я так понимаю, что подойдет практически любой 8 битный AVR микроконтроллер - разница, как я понимаю, только в разности возможностей отдельно взятого микроконтроллера. Просто мой уровень по пониманию микроконтроллеров - ну - микроконтроллеры, 8 бит.. на этом все - т.е. особенностей той же ATmega8 или Tiny2313 - не знаю - понимаю, что разные программаторы нужно будет собирать, понимаю, что есть особенности по прошивке и программированию. Но для меня будет одинаково - что делалать на Tiny что на ATmega. Задача сделать систему максимально экономичной по финансам. Элементарная база - только импортная доступна. В качестве Н-моста можно использовать какой-то готовый драйвер - типа L293B или L298N
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 16:30:00
Gudd-Head
Efremoff писал(а):разные программаторы нужно будет собирать
Меги и Тиньки шьются одним программатором

Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 16:38:43
Efremoff
ок. давайте попробуем. вроде как 4 кнопки - "мгновенный запуск программы", "настройка", "+", "-" сохранение параметров можно попробвать длительным нажатием на ту же "настройку" или еще одну кнопку? дисплей да, в принципе - подойдет что-то совсем простое. Двигатель кушает около 1А, т.е. смену полярности можно сделать просто на реле, я так понимаю но тогда - 2 реле, это мне 2 канала выходных надо? еще раз повторюсь - я новичок в цифровой технике, и возможно придется разжевывать все и вся мне. ))) Аналоговые устройства - собираю практически все что угодно, а вот все что связанно с цифрой - никогда не занимался - сложно даж сходу сообразить что к чему.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 16:43:15
Gudd-Head
Efremoff писал(а):300-600 мс
1. единицы измерения пишутся через пробел после цифр
2. милисекунды сокращаются именно так
3. вам не кажется некошерным щёлкать реле с частотой 0,3...0,6 с?
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 16:49:42
Efremoff
Да, именно милисекунды. Скорость переключения миниатюрного реле в районе 10-20мс. И - реле щелкает по сути - 2-3 раза в сутки.. в чем не кошерность?
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 17:02:17
Gudd-Head
Некошерность в наличии механики.
Я так понимаю, двигатель питается от постоянки? Какое напряжение?
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 17:19:09
Efremoff
Да, двиг от постоянки. 12В, 1А. Но сейчас случайно был обнаружен привод центрального замка от машины - он практически подходит по функционалу, но я так понимаю что там ток поболее будет (на нем не написано) - так что условно возьмем ток до 3А.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 17:21:27
vem566
Механические реле без крайней надобности конечно лишнее. Тем более упоминание о мостах. Хотя дешевле будет на рассыпухе. Программирование атмеги и тиньки то же не отличается. Разные возможности у МК. По предварительному ТЗ получается, что нужно 4 кнопки, ДВА выхода на управление и дисплей. Если ЖК, то еще 6 ног. Итого 12 портов. Это практически любой контроллер AVR кроме Attiny13.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 17:29:18
Efremoff
Знакомый, прослушав про мою проблему подкинул мне 2 микроконтроллера - ATMega16 и 8051С206 (
http://www.silabs.com/Support%20Documen ... 51F2xx.pdf) плюс общал помочь с программой - он работает в фирме которая занимается разработкой промышленной автоматики. Но времени у него не много - т.е. я ему на базе чего-то из этих двух процов должен дать готовый девайс, который он прошьет и запрограммит как мне надо. Он больше просит на 8051 - т.к. у них это основной проц и ему с ним будет проще... А я вот больше склоняюсь к АТмеге - т.к. про нее элементарно больше инфы можно найти...
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 17:37:53
Efremoff
Механические реле без крайней надобности конечно лишнее. - Может и так, но релешка мелкая стоит понты (даже если учесть что их 2 нужно), к тому же - они уже есть, работает от тех же 5в что и микроконтроллер, и при этом быстро переключает нагрузку и держит до 5А легко.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 17:47:34
Efremoff
По поводу дисплея предложили такой -
http://www.tom2lo.yum.pl/images/ziel/pc2002b.pdf и подобный, только на 16 символов в строке.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 18:08:04
Efremoff
Хорошо бы добавить часы реального времени (на DS1307 например), на которые опираться для выполнения циклов работы.
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 19:35:25
vem566
Efremoff, модератор активно интересовался темой, а даже два поста подряд - нарушение. Забанить может. Скорее всего предупредит, но имейте ввиду. Есть кнопка "редактировать".
Атмега 16 здорово избыточна, да и дороже восьмерки. А так все просто и складно. Ну хочется релюшки ставить - так никто не спорит. Советуют только. Ну и опять же, Н мосты не понадобятся.
А что это за устройство такое? Кормушка какая то?
Re: Циклический таймер с переключаемой полярностью нагрузки.
Добавлено: Пн апр 28, 2014 21:12:38
Efremoff
да, кормушка. Я часто уезжаю, в коммандировки на несколько дней и каждый раз искать людей, чтобы приходили кормили живность - неудобно. За базу было взято относительно популярное решение, но встал вопрос с электронной частью - оптимально бы все разработать и сделать самому. Атмега16 может и избыточна - но она уже лежит, бесплатно, передо мной. Хотя - если понравится - то оставлю для чего-то более сложного и найду себе 8ку.
наткнулся на достаточно интересную штуку -
http://c2.at.ua/index/ezhednevnyj_tajme ... kanal/0-84 таймер суточный(т.е. работает циклично с периодом в 24 часа?), много каналов на нагрузку, жк дисплей, часы реального времени. Возможно ли взять данную схему, и просто адаптировать ее под свои задачи (ну и соответсвенно переделать прошивку)? Меня смущают то, что все каналы на нагрузку, подключаются к разным, по обозначению, выводам микросхемы, при этом - само включение нагрузки - идентичное - т.е. при программировании я указываю как использовать ту или иную ногу, не привязываясь к ее детальному назначению? главное чтобы это был "выход", а какой именно - не так уж важно?
Я правда пока все это понимаю мало, думал просто взять и сделать "нахрапом" - но теперь понимаю что не получится. Сейчас читаю книжки по азам в AVR конструировании - может хоть это как-то поможет, так же нуждаюсь в детальном (возможно даже черезчур) разжевывании каких-то возможно уж очень банальных, для вас, вопросов...
При этом я достаточно неплохо понимаю логику программирования в целом - работаю по сути в одной из крупнейших мировых компаний, которые выпускают ПО и аппаратные решения, но - не как программист, а больше как проектировщик - т.е. моя задача обьяснить программисту, какая опция должна быть реализована в продукте, что она должна делать и за что отвечать - но я не вникаю, как именно ее программист реализовывает - мне важно чтобы она работала так, как это нужно пользователю. А тут столкнулся с тем, что я пользователь, программист, тестировщик, и программный архитектор в одном лице, который решил освоить AVR за пару дней )))
Переделал исходную принципиальную схему. Получилось что-то вроде:
Так правильно все подключено?