Спасибо большое за проделанную работу. С большим интересом просматриваю каждое видео. В качестве предложения темы думаю многим было бы интересно посмотреть реализацию в данной программе для измерения действующего, среднеквадратического, средневыпрямленного и т.д. значений сетевого напряжения, с гальванической развязкой и без.Заранее спасибо большое.
Гуляя по старому форуму нашел информацию для включения внутреннего ИОН. В custom component code АЦП в макросе Defines вносим небольшое изменение в строке "#define %a_MX_ADC_VREFOP %e". Надо ее поменять на "#define %a_MX_ADC_VREFOP 254 //%e"
Добрый день. Спасибо за ролик, все понятно и доходчиво..Но это с постоянным напряжением, а что если на вход подавать ШИМ? Сделал в Протеусе "стенд", измерял переменное напряжение и потом подставлял полученные значения в условие в флоукоде..В самом флоукоде по этим параметрам симуляция работает идеально, но когда заливаю прошивку в мегу на протеусе, получается чушь..( не подскажете что не так?
Здравствуйте. Видимо вы не поняли как работает АЦП, на одно измерение у него уходит меньше 100мкс. То есть для Шима на входе он будет выдавать либо 5в либо 0. Чтобы получить действующее или какое вам нужно напряжение нужно либо добавлять на входе цепь, либо применять в программе математические операции типа получения среднего значения по множеству измерений, либо нахождение максимального значения для синусоидального сигнала и из него вычислять действующее.
@@RADIOSOFT1 спасибо за ответ. Я так и предполагал, что по сути я меряю переменное напряжение, но сбила с толку симуляция в флоукоде. Она работала идеально по тем значениям, что выдавал АС вольтметр протеуса. Поставил rc цепь перед входом мк и теперь все ок.
Доброго времени суток. Спасибо за видео. Очень полезно. Скажите пожалуйста, а как в FLOWCODE при помощи АЦП измерить напряжение которое больше опорного или питающего?
Добрый день. Имею китайску реплику Arduino 2560, и соответственно решил ваши уроки проводить не на 8ой меге, а на 2560. В ходе этого урока в flowcode 5 всё работает, скомпилил HEX для Proteus 8, он его благополучно съел, но вот осциллограф не хочет выводить нужную информацию, осцил подключил к RX(TX)D0, при запуске эмуляции оба контакт подсвечиваются красным, я так понял что данные идут, но на Виртуально дисплее полная тишина, просмотрел настройки терминала (они стандартны для RS232), поменял на всякий случай частоту с 8МГц на 16МГц и заново скомпилил, не помогло. В чём может быть засада,
Доброго времени суток. Большое спасибо за ваши видео. Возникла проблемка. В Flowcode все краси отрабатывает а в Proteus в манитор порта вивоит не коректно. Помогите плиз
RADIOSOFT, а есть на канале видео, об усреднении показаний ацп, чтобы показания не прыгали на дисплее? Если нет, то как реализовать (интересует формула)
на канале есть видео по оверсемплингу - получаем 12битный ацп, там тоже усреднение, есть видео типа про фильтр калмана, но гооврят это не он - помогает избавиться от шумов, ну а усреднение обычное, делаем 10 измерений суммируем и делим на 10
Если делать 10 измерений, это дополнительно 10 перемененных для этого нужно создать или это делается по другому (без создания доп переменных)? И еще, какой оптимальный интервал между измерениями нужен?
достаточно 2 переменных. 1 - результат измерения, 2 - та в которой суммируются эти результаты. интервал измерений зависит от задачи. в простейшем случае можно сразу 10 измерений подряд.
@@RADIOSOFT1 Попробовал, ничего не получилось. Перефразирую вопрос. К ацп подключен переменный резистор, он меняет переменную (байтовую), которая отображается на дисплее. Проблема в том, что если даже подключить ион на резистор, то ацп все равно скачет, например 31/32 и это в каких то определенных положениях резистора. Собственно вопрос, как успокоить показания на дисплее, чтобы показывало или 31 или 32? Измерять как напряжение, переменная с плавающей точкой, затем переводить в стринг, обрезая до 3 символа или еще как то?
Добрый день. Подскажите пожалуйста вашу версию программы. Я поставил более свежую и трачу очень много времени на компоненты и сращивание их. Было бы удобнее разобраться в такой же версии.
Добрый день. Пытаюсь привязать NTC, датчик температуры 10K 1% 3950 (с алиэкспресса) к АЦП микроконтроллера. Подскажите пожалуйста какие расчеты необходимо провести, что бы на выходе получить показания температуры. Делал делитель напряжения, в одном плече терморезистор, в другом постоянный резистор. С выхода делителя на АЦП. Но как перевести это изменение напряжения в температуру понять не могу. Честно бьюсь 3ю неделю. Не доходит.
Добрый. Я делал так //NTC на землю, резистор 10кОм на плюс. R_NTC = U / Rd //ток через делитель R_NTC = (VCC - U) / R_NTC // сопротивление терморезистора D = log (R_NTC / R_NTC_25) Temp_real = (B * 298.15) / (B + (298.15 * D)) // реальная температура в кельвинах Temp_real = Temp_real - 273.15 - 35 //погрешность из-за положения U - падение на терморезисторе, Rd - добавочный резистор, VCC - напряжение питания
@@RADIOSOFT1 Спасибо за подсказку. Но либо я чего то не понимаю, либо у Вас ошибка ***R_NTC = U / Rd //ток через делитель*** Ток ведь это I, следовательно должно быть I_NTC = U / Rd //ток через делитель Далее получается R_NTC = (VCC - U) / I_NTC // сопротивление терморезистора Далее ***D = log (R_NTC / R_NTC_25)*** R_NTC_25 если я верно понял это сопротивление терморезистора при 25 градусах С (табличное значение), константа 10кОм И что эта D нам дает? Тут ***Temp_real = (B * 298.15) / (B + (298.15 * D)) // реальная температура в кельвинах*** я вообще запутался. Почему температура в кельвинах, а не цельсии, что такое В и что за цифра 298.15? ***Temp_real = Temp_real - 273.15 - 35 //погрешность из-за положения*** О какой погрешности идет речь? Если предположить что 273.15 это разница между Цельсием и Кельвинами, то что есть 35? Большое спасибо за помощь. Больше спросить негде.
I_NTC - это просто расчет, зачем создавать еще одну переменную которая нигде в программе не применяется. Д - тут как раз создана временная переменная которой мы присваиваем нужное значение Потому почти во всех формулах физики применяются кельвины а не цельсии. Найдите формулу расчета терморезистора, там будут описаны все необходимые переменные, да и я в каких то видео все это рассказывал. погрешность из-за положения датчика, что он не напрямую контактирует с столом, из-за этого показывает температуру меньше чем есть на самом деле. Надо не спрашивать а искать статьи/литературу и пытаться разобраться - полезней будет
@@RADIOSOFT1 Флоукод не ардуино, за каждым углом примеры не лежат. А когда только учишься и вообще не понимаешь как оно работает становится еще "веселее". Все же спасибо. Буду копать в этом направлении.
Добрый день! А как сделать, на входе два потенциометра, на выходе один светодиод, один потенциометр задает время горения светодиода от 1сек до 10 сек. А второй потенциометр задает время когда светодиод не горит, также от 1сек до 10 сек.
@@RADIOSOFT1 Почему то светодиод моргает вообще не по логике. Я правильно понял , выносим на поле два разных макрос компонента, там считываем значение как байт, создаем две разные переменные и делим их в вычеслении в таком виде "переменнная1 = переменнная1 / 25 переменнная2 = переменнная2 / 25 и каждую переменную вставляем в свою задержку?
@@pupkin204 да, если вы еще не сделали то необходимо заменить файлы в папке флоукода версии 5.5.2.1 на исправленные из архива drive.google.com/file/d/1AeqHSmXbdLBHoyrWTX9VqfkeaMtXo-7E/view?usp=sharing
подскажите чем Вы шьете и вообще весь механизм опишите если не трудно. И ещё подойдет ли Программатор USBASP - и как прошивать с самого flowcode - потомучто arduino без проблем получилось?
шью самодельным usbasp. весь процесс показан во многих роликах: компилирую в флоукоде - получаю hex файл - указываю его в программе khazama avr - этой программой заливаю прошивку в МК. С заливкой прошивки напрямую из флоукода не заморачивался.
Привет вот такой - пойдёт www.impulsi.ru/catalog/sredstva_razrabotki_i_otladki/sr-va_razrabotki_i_otladki/programmatori/programmator_USBASP.html Пожалуйста ткни где ролик с прошиванием в программе khazama avr. И ещё подскажи про фьюзы. СПАСИБО!
Добрый день! Ещё раз обращаюсь за помощью. В прошлый раз просил просмотреть программку управления шторами созданную в версии 8. Она у меня не работает в Протеусе. Теперь я её подправил и сделал в версии 5. Но опять проблемка, не создаётся hex. Видно с Флоукодом не всё в порядке. Могли бы вы ещё раз глянуть её у себя создав hex и загрузив его в Протеус. Файлы загружаю. we.tl/t-NzXOIiNp7T, we.tl/t-sQoduEnIsC
Спасибо большое за проделанную работу. С большим интересом просматриваю каждое видео. В качестве предложения темы думаю многим было бы интересно посмотреть реализацию в данной программе для измерения действующего, среднеквадратического, средневыпрямленного и т.д. значений сетевого напряжения, с гальванической развязкой и без.Заранее спасибо большое.
+Ильнур Иксанов
Спасибо за оценку. Я подумаю о предложенной теме.
@@RADIOSOFT1 А как так научиться пользоваться Flowcode?
Смотреть с самого начала мои видео по флоукоду и разбираться, включать фантазию
Гуляя по старому форуму нашел информацию для включения внутреннего ИОН. В custom component code АЦП в макросе Defines вносим небольшое изменение в строке "#define %a_MX_ADC_VREFOP %e". Надо ее поменять на "#define %a_MX_ADC_VREFOP 254 //%e"
Решилось, забыл во flocode поменять частоту процессора, там было 20 МHz, а в протеусе 8 MHz
Здравствуйте, подскажите пожалуйста почему в виртуальном терминале протеуса у меня отображается какие то наборы букв вместо значений напряжений
Добрый день. Спасибо за ролик, все понятно и доходчиво..Но это с постоянным напряжением, а что если на вход подавать ШИМ? Сделал в Протеусе "стенд", измерял переменное напряжение и потом подставлял полученные значения в условие в флоукоде..В самом флоукоде по этим параметрам симуляция работает идеально, но когда заливаю прошивку в мегу на протеусе, получается чушь..( не подскажете что не так?
Здравствуйте. Видимо вы не поняли как работает АЦП, на одно измерение у него уходит меньше 100мкс. То есть для Шима на входе он будет выдавать либо 5в либо 0. Чтобы получить действующее или какое вам нужно напряжение нужно либо добавлять на входе цепь, либо применять в программе математические операции типа получения среднего значения по множеству измерений, либо нахождение максимального значения для синусоидального сигнала и из него вычислять действующее.
@@RADIOSOFT1 спасибо за ответ. Я так и предполагал, что по сути я меряю переменное напряжение, но сбила с толку симуляция в флоукоде. Она работала идеально по тем значениям, что выдавал АС вольтметр протеуса. Поставил rc цепь перед входом мк и теперь все ок.
Доброго времени суток. Спасибо за видео. Очень полезно. Скажите пожалуйста, а как в FLOWCODE при помощи АЦП измерить напряжение которое больше опорного или питающего?
поставить делитель напряжения из двух резисторов
Не сообразил сразу. Спасибо!
Добрый день. Имею китайску реплику Arduino 2560, и соответственно решил ваши уроки проводить не на 8ой меге, а на 2560. В ходе этого урока в flowcode 5 всё работает, скомпилил HEX для Proteus 8, он его благополучно съел, но вот осциллограф не хочет выводить нужную информацию, осцил подключил к RX(TX)D0, при запуске эмуляции оба контакт подсвечиваются красным, я так понял что данные идут, но на Виртуально дисплее полная тишина, просмотрел настройки терминала (они стандартны для RS232), поменял на всякий случай частоту с 8МГц на 16МГц и заново скомпилил, не помогло. В чём может быть засада,
здравствуйте. пришлите мне файлы флоукода и протеуса
Доброго времени суток. Большое спасибо за ваши видео. Возникла проблемка. В Flowcode все краси отрабатывает а в Proteus в манитор порта вивоит не коректно. Помогите плиз
проверять все настройки
RADIOSOFT, а есть на канале видео, об усреднении показаний ацп, чтобы показания не прыгали на дисплее? Если нет, то как реализовать (интересует формула)
на канале есть видео по оверсемплингу - получаем 12битный ацп, там тоже усреднение, есть видео типа про фильтр калмана, но гооврят это не он - помогает избавиться от шумов, ну а усреднение обычное, делаем 10 измерений суммируем и делим на 10
Если делать 10 измерений, это дополнительно 10 перемененных для этого нужно создать или это делается по другому (без создания доп переменных)?
И еще, какой оптимальный интервал между измерениями нужен?
достаточно 2 переменных. 1 - результат измерения, 2 - та в которой суммируются эти результаты. интервал измерений зависит от задачи. в простейшем случае можно сразу 10 измерений подряд.
Спасибо, попробую.
@@RADIOSOFT1 Попробовал, ничего не получилось. Перефразирую вопрос. К ацп подключен переменный резистор, он меняет переменную (байтовую), которая отображается на дисплее. Проблема в том, что если даже подключить ион на резистор, то ацп все равно скачет, например 31/32 и это в каких то определенных положениях резистора. Собственно вопрос, как успокоить показания на дисплее, чтобы показывало или 31 или 32?
Измерять как напряжение, переменная с плавающей точкой, затем переводить в стринг, обрезая до 3 символа или еще как то?
Доброго времени суток. Подскажите пожалуйста, как убрать точку? Нужно чтоб показания были от 0 до 50(0v-5v).
Доброго. Либо умножить значение ацп на 10, либо с помощью функции LEFT показанной в видео ограничить необходимое количество символов.
@@RADIOSOFT1 Спасибо большое, про умножение и не сообразил.Всё получилось.Вывод на LCD топлива в баке.
Добрый день. Подскажите пожалуйста вашу версию программы. Я поставил более свежую и трачу очень много времени на компоненты и сращивание их. Было бы удобнее разобраться в такой же версии.
здравствуйте. 5.5.2.1
Спасибо
Добрый день. Пытаюсь привязать NTC, датчик температуры 10K 1% 3950 (с алиэкспресса) к АЦП микроконтроллера. Подскажите пожалуйста какие расчеты необходимо провести, что бы на выходе получить показания температуры. Делал делитель напряжения, в одном плече терморезистор, в другом постоянный резистор. С выхода делителя на АЦП. Но как перевести это изменение напряжения в температуру понять не могу. Честно бьюсь 3ю неделю. Не доходит.
Добрый. Я делал так
//NTC на землю, резистор 10кОм на плюс.
R_NTC = U / Rd //ток через делитель
R_NTC = (VCC - U) / R_NTC // сопротивление терморезистора
D = log (R_NTC / R_NTC_25)
Temp_real = (B * 298.15) / (B + (298.15 * D)) // реальная температура в кельвинах
Temp_real = Temp_real - 273.15 - 35 //погрешность из-за положения
U - падение на терморезисторе, Rd - добавочный резистор, VCC - напряжение питания
@@RADIOSOFT1 Спасибо за подсказку.
Но либо я чего то не понимаю, либо у Вас ошибка
***R_NTC = U / Rd //ток через делитель***
Ток ведь это I, следовательно должно быть
I_NTC = U / Rd //ток через делитель
Далее получается
R_NTC = (VCC - U) / I_NTC // сопротивление терморезистора
Далее
***D = log (R_NTC / R_NTC_25)***
R_NTC_25 если я верно понял это сопротивление терморезистора при 25 градусах С (табличное значение), константа 10кОм
И что эта D нам дает?
Тут
***Temp_real = (B * 298.15) / (B + (298.15 * D)) // реальная температура в кельвинах***
я вообще запутался. Почему температура в кельвинах, а не цельсии, что такое В и что за цифра 298.15?
***Temp_real = Temp_real - 273.15 - 35 //погрешность из-за положения***
О какой погрешности идет речь? Если предположить что 273.15 это разница между Цельсием и Кельвинами, то что есть 35?
Большое спасибо за помощь. Больше спросить негде.
I_NTC - это просто расчет, зачем создавать еще одну переменную которая нигде в программе не применяется.
Д - тут как раз создана временная переменная которой мы присваиваем нужное значение
Потому почти во всех формулах физики применяются кельвины а не цельсии.
Найдите формулу расчета терморезистора, там будут описаны все необходимые переменные, да и я в каких то видео все это рассказывал.
погрешность из-за положения датчика, что он не напрямую контактирует с столом, из-за этого показывает температуру меньше чем есть на самом деле.
Надо не спрашивать а искать статьи/литературу и пытаться разобраться - полезней будет
@@RADIOSOFT1 Флоукод не ардуино, за каждым углом примеры не лежат. А когда только учишься и вообще не понимаешь как оно работает становится еще "веселее". Все же спасибо. Буду копать в этом направлении.
@@tattat4761 В данном случае разницы нет, найдите код для ардуино, скопируйте оттуда математику и вставьте в флоукод.
А как АЦП на 7Seg передать?
Добрый день! А как сделать, на входе два потенциометра, на выходе один светодиод, один потенциометр задает время горения светодиода от 1сек до 10 сек. А второй потенциометр задает время когда светодиод не горит, также от 1сек до 10 сек.
Здравствуйте. считать значения двух потенциометров как байт в две переменные. разделить их на 25, указать эти переменные в компоненте delay
@@RADIOSOFT1 Спасибо, попробую.
@@RADIOSOFT1 Почему то светодиод моргает вообще не по логике. Я правильно понял , выносим на поле два разных макрос компонента, там считываем значение как байт, создаем две разные переменные и делим их в вычеслении в таком виде "переменнная1 = переменнная1 / 25
переменнная2 = переменнная2 / 25 и каждую переменную вставляем в свою задержку?
@@pupkin204 да, если вы еще не сделали то необходимо заменить файлы в папке флоукода версии 5.5.2.1 на исправленные из архива
drive.google.com/file/d/1AeqHSmXbdLBHoyrWTX9VqfkeaMtXo-7E/view?usp=sharing
подскажите чем Вы шьете и вообще весь механизм опишите если не трудно. И ещё подойдет ли Программатор USBASP - и как прошивать с самого flowcode - потомучто arduino без проблем получилось?
шью самодельным usbasp. весь процесс показан во многих роликах: компилирую в флоукоде - получаю hex файл - указываю его в программе khazama avr - этой программой заливаю прошивку в МК.
С заливкой прошивки напрямую из флоукода не заморачивался.
Привет вот такой - пойдёт www.impulsi.ru/catalog/sredstva_razrabotki_i_otladki/sr-va_razrabotki_i_otladki/programmatori/programmator_USBASP.html
Пожалуйста ткни где ролик с прошиванием в программе khazama avr. И ещё подскажи про фьюзы. СПАСИБО!
скорее всего да, наверно сегодня видео сделаю.
вот это будет дело
сегодня выложу
какую версию флоукода используете?? у меня 6, там RS232 без дисплея, все сделал как в инструкции, но не работает ни в флоукоде ни в протеусе. помогите
версия 5. 5. 2. 1 с новыми версиями флоукода не работаю.
А можете ссылку скинуть или пакет с файлами для установки?! Найти никак не могу такую. Буду очень признателен!
cloud.mail.ru/public/3QFG/zC4jfoScs
спасибо
не, не победил, не хочет работать. FlowCode 8.0.0.6, а в Протеусе 8.8 СП1 на выводах Rx Tx пусто. Печалька
Получилось добиться результата ?
подскажите у вас какая версия флоукода? и есть ли ссылка на скачивание?
5.5.2.1
cloud.mail.ru/public/3QFG/zC4jfoScs
и патч скачать ссылка на банере канала
на атмеге 328Р через flowcode 8 не работает
с версиями флоукода старше 5 не работаю.
начало и обана
нихт старт внутренний ион
Добрый день! Ещё раз обращаюсь за помощью. В прошлый раз просил просмотреть программку управления шторами созданную в версии 8. Она у меня не работает в Протеусе. Теперь я её подправил и сделал в версии 5. Но опять проблемка, не создаётся hex. Видно с Флоукодом не всё в порядке. Могли бы вы ещё раз глянуть её у себя создав hex и загрузив его в Протеус. Файлы загружаю. we.tl/t-NzXOIiNp7T, we.tl/t-sQoduEnIsC
:( у меня флоукод только для микроконтроллеров AVR...
@@RADIOSOFT1 Жаль, буду искать решение.