Всем привет! Нащёл интересную статью, может для кого то это и не новость, но я был приятно удивлён. (ОС реального времени AQUA RTOS для МК AVR в среде BASCOM AVR) https://habr.com/ru/post/453708/ Думаю многим пригодится
Признаться не работал с "цыфровым" компаратором и тонкостей настройки не знаю, но здается мне, что в прирывании Timecount не сбрасывается значение таймера, либо компаратора и весь счет сбивается. Я сделал бы следуюзим образом. Настраиваем таймер 1 на счёт. Config Timer1 = Timer , prescale = 64 On Timer1 Timecount Stop Timer1 Timer1 = 3036 (нам остаётся как раз 62500 отсчётов до переполнения)
А в прерывании обязательно задаём стартовое значение таймеру Timecount: Incr V Timer1 = 3036 Return
И, чтоб не пропустить событие лучше писать так If V >= 60 Then... If V >= 180 Then.. Иначе рискуем просчитать и переполнить переменную V
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Вт ноя 03, 2020 21:39:38
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:0
То, что вы написали, примерно понятно. Но дело то не в этом, к этой части кода вопросов у меня нет. Тем более, что высокая точность отработки этих интервалов не требуется. Мне надо решить вопрос, как работать с концевиками. Я уперся именно в это, и пока не могу ничего придумать. Может быть, у кого-то есть образец кода, где обрабатываются концевики. В инете я не нашел.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Что значит фраза "работать с концевиками". Ты работаешь с портами. Тобишь, проверяешь их состояние. И наплевать что там, концевик или 3.14здовик. Рискну предположить что дело в монтаже. О влиянии сработок(отпусканий) реле и прочих индуктивных пакостей (особенно для AVR) написано туева хуча войнов и миров.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Ср ноя 04, 2020 17:46:46
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:0
Моя фраза "работа с концевиками" означала логику работы с ними. Но, кажется, я нашел выход. Попробую сделать так: сделаю 2 геркона рядом, чтобы срабатывали от 1 магнита. Первый будет стоять в цепи питания мотора, будет шунтировать сработавший концевик. А второй будет запускать схему, как и было раньше. Примерно так. Но это пока в голове. Проверить в железе смогу только через пару дней, т.к. нахожусь на работе.
Ну какая может быть логика работы, так или иначе вам необходимо проверять состояние "порта". Естественно на контактах концевиков у вас присутствует дребезг, его устраняем как в железе (RC цепочки) так и програмно, делаем выборку из состояний пина либо используем оператор Debounce
.......... L_end Alias Pind.0 R_end Alias Pind.1 Pord.0=1 Pord.1=1 ........... .......... If V = 180 Then Stop Timer1 Timer1 = 0 V = 0 : M = 0 Enable Int0 End If
Loop
Count: If M = 0 Then Disable Int0 Start Timer1 Set Motor1 Set Motor2 Set Red Set Blue End If M = 1 Return
Когда Ваш мотор выключится если отгниёт/ оборвётся провод концевика? Что будет если сработают оба концевика? Подсказка: Контакты должны быть НЗ. После срабатывания концевика запретить его опрос не на 30 мс. а поболе. 100 или даже 200 А по схеме- не мешало бы и по резюку в базы. И диод к реле.
_________________ Я всё-всё узнAю и стану профессором.
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт ноя 05, 2020 17:42:03
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:0
Насчет диода для реле - обычно я ставлю. Но в данном случае я специально проверил - при включении или при выключении реле нет скачка тока в цепи, поэтому я не стал ставить реле. Насчет второго геркона - посидел, подумал и решил, что такой вариант не прокатит. Насчет предложенного варианта кода - буду пробовать завтра.
Добавлено after 57 minutes 33 seconds: Насчет диода для реле - обычно я ставлю. Но в данном случае я специально проверил - при включении или при выключении реле нет скачка тока в цепи, поэтому я не стал ставить реле. Насчет второго геркона - посидел, подумал и решил, что такой вариант не прокатит. Насчет предложенного варианта кода - буду пробовать завтра.
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Вс ноя 08, 2020 10:52:24
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:0
Всем привет. В итоге вернулся к старому коду - выключение мотора по времени. Только заменил геркон на датчик Холла - заколебался подбирать подходящий магнит. Тему концевиков отложил до лучших времен. Так что будем считать тему закрытой.
Почти у цели, но не могу понять почему появляется лишний знак кавычки при вызове номера и попытке отправить смс или совершить вызов...
Программа следущая, при отправке сообщения nomer в память сохраняется номер телефона с которого пришло это смс., но почему то сохраняется с ковычкой в конце, то есть 89хххххххх"
Соответсвенно при Попытке достать из памяти и совершить звонок на сохранённый номер получается ERROR
Добавлено after 6 minutes 33 seconds: Вот тут видно лишнюю кавычку.
Здравствуйте, коллеги! подскажите пож-та есть исходный код подпрограммы звука, программа BASCOM AVR zvuk1: pwm3a=127 do incr zvuk toggle portb.6 waitus 150 loop until zvuk=2000 portb.6=0 zvuk=0 pwm3a=0 return это я так понимаю генерация определённой частоты для пассивного пьезо зуммера, хочу поменять его на активный, что мне надо переписать чтоб вместо шима шёл просто лог уровень 1 200мсек? Как мне думается тут надо переписать какие-то цифры чтоб ШИМ с имитировать 100% это и будет типо лог 1
Если можно, напишите как должно быть, цельный код, если не сложно. Я в программировании ничего не понимаю. тугл ещё убрать можно, а вот что такое цикл- это уже загадка:)
Сейчас этот форум просматривают: Varlakotam и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения