Ненавязчивая автоматизация ректификационной установки
m16
Модератор
Тамбов
1.9K 1K
Отв.1080 30 Янв. 18, 14:01
ну,ну. только больше не плодите басни о 64-х разрядном кошмаре 8-ми битников .
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1081 31 Янв. 18, 01:42
Ну а цель-то какова? Просто руками втыкать-вытыкать - слишком медленно. Ничего не происходит. Каких-то провалов, чтобы малинка отрубилась не наблюдается. На 5-вольтовой шине крейта при включенной сети - 4.93V, без сети - 4.63V. Но если посмотреть "однократным вооруженным глазом", то при включении сети есть высокочастотный дребезг. Характерные частоты - от единиц МГц и выше. При выключении - никакого дребезга поймать не удается. На длительных (секудных) развертках - очень чистые маленькие ступеньки (4.93V <-> 4.63V). Без провалов и всплесков. Так что для безаварийного питания цифровой части системы - очень даже неплохое, готовое решение.Я имел ввиду как раз дребезг контактов. Проводком на входе от розетки поискрить. Ну раз не происходит, то не происходит. Наверное нормальная схема внутри по переключению между линией батарейки и линией катушки.
Щупы осциллографа "соплями" подключены, поэтому ВЧ-дребезг вполне может быть и от них, а не от упсика. Но сильно углубляться в эти вопросы сейчас просто физически нет возможности. Да и смысла особого в таком исследовании пока вроде бы не видно. А краш-тесты устраивать (не только для упсика, но для малинки с модулями) по понятным причинам не хотелось бы...
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1082 31 Янв. 18, 05:25
Я имел ввиду как раз дребезг контактов.PavelSaratov, 31 Янв. 18, 01:42Кстати, а вполне возможно, что дребезг на линии +5V при включении (я вчера говорил), связан как раз с дребезгом контактов выключателя переноски (для тестов я упсик подключил через переноску с выключателем). Не стал сильно злоупотреблять, но парочку снимков экрана осциллографа сделал (при быстрой развертке и медленной, см. приложение к топику).
Ну и в завершение темы про 5-вольтовый упсик, несколько снимков о том, как он устроен "унутре" ;) Тоже в приложении к топику. Преобразователь для питания от сети выполнен на SD6834, а обслуживание батарейки - на TC4056A. Глубже не вникал. Но, если заинтересуют какие-то подробности по потрошкам - спрашивайте. Пока раскручен - гляну и скажу.
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.1083 31 Янв. 18, 11:55
OldBean, пробую подготовить тиньку к работе по описанию из сообщения [сообщение #13202256] . Для этого создал каталог /home/pi/ATtiny85, в котором три файла: usiTwiSlave.c, usiTwiSlave.h и main.c (с текстом проверки работоспособности нового МК). Но при компиляции получаю сообщение об ошибке:
main.c:6:20: fatal error: avr/io.h: Нет такого файла или каталога
#include <avr/io.h>
compilation terminated.
Что необходимо сделать, чтобы исправить ситуацию?
main.c:6:20: fatal error: avr/io.h: Нет такого файла или каталога
#include <avr/io.h>
compilation terminated.
Что необходимо сделать, чтобы исправить ситуацию?
gol_avto
Доцент
Москва - Серпухов - Анапа
1.3K 458
Отв.1084 31 Янв. 18, 12:04, через 9 мин
пробую подготовить тинькуZagAl, 31 Янв. 18, 11:55Так ведь от тиньки отказались. Перешли на ATMega328P
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1085 31 Янв. 18, 12:09, через 6 мин
Вне зависимости от того на чем ты там делаешь - написано вполне четко - в проекте не хватает файла оглавления io.h как линковщик будет собирать если нет заголовочного файла?
И заваливается он на строке
Как исправить? Да добавить путь к этой самой библиотеке в настройках проекта. Или скопировать ее в папку проекта.
Правда если ты собираешь а ардунонедостудии, как ее забыл название - тогда я пас, не знаю как там подключать.
И заваливается он на строке
#include <avr/io.h>
Правда если ты собираешь а ардунонедостудии, как ее забыл название - тогда я пас, не знаю как там подключать.
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.1086 31 Янв. 18, 12:18, через 9 мин
Как исправить? Да добавить путь к этой самой библиотеке в настройках проекта.PavelSaratov, 31 Янв. 18, 12:09А где находится эта библиотека?
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1087 31 Янв. 18, 12:28, через 10 мин
Ну как тебе объяснить. Я же не знаю как у тебя сделано, где куда что скачано. Попробоуй прямо поиском windows по всей системе набери в поиске "io.h"
OldBean, кстати а ты используешь GIT? Есть где то репозиторий или по старинке?
OldBean, кстати а ты используешь GIT? Есть где то репозиторий или по старинке?
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1088 31 Янв. 18, 12:29, через 2 мин
Что необходимо сделать, чтобы исправить ситуацию?ZagAl, 31 Янв. 18, 11:55А "джентльменский набор" для компиляции (gcc-avr, avr-libc и avrdude) установлен?
Добавлено через 3мин.:
Расскажите, pls, подробнее где и что Вы делаете. Компилируете в малинке?
OldBean, кстати а ты используешь GIT?PavelSaratov, 31 Янв. 18, 12:28По жизни - да. В этой задаче нет. gcc-avr не так уж часто обновляется. Просто sudo apt-get install...
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1089 31 Янв. 18, 12:42, через 14 мин
Эмм я имел ввиду Git систему контроля версий для проекта. Ну т.е. ревизи где хранятся вашего проекта, а не компилятора. Удобно же -кинул ссылку на репозиторий в гитхабе и не паришься кто где последнюю не последнюю версию берет. Правда справедливости ради, я сам только на днях для Keil настроил эту штуку, вот изучаю возможности для логгирования изменений. Поэтому и спросил, как пользуются, чтобы понять.
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.1090 31 Янв. 18, 13:08, через 27 мин
OldBean,
Расскажите, pls, подробнее где и что Вы делаете.OldBean, 31 Янв. 18, 12:29Все, спасибо, разобрался. Новую Raspberry Pi3 подготовил в соответствии с п.п. 16.1.1. Часть 1 и 2. Установка и настройка ОС Raspbian ([сообщение #13179810]). А поскольку ATtiny85 еще не было в наличии, то настройку Geany на работу с кросс-компилятором AVR отложил на потом и естественно забыл об этом. Теперь все заработало.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1091 31 Янв. 18, 14:59
Ну т.е. ревизи где хранятся вашего проектPavelSaratov, 31 Янв. 18, 12:42Нет. Свои проекты ни разу не пробовал. Если LITE получится - можно будет на ней попробовать. Когда разберетесь расскажите?
Теперь все заработало.ZagAl, 31 Янв. 18, 13:08Ну и замечательно! Удачи!
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1092 31 Янв. 18, 21:27
Когда разберетесь расскажите?Ну вкратце - когда Git используешь, если бесплатно (тебе не надо свой код прятать от всех) - выкатываешь на github. Потом просто этот репозиторий как мастер.
На локальной машине делается полная копия(хоть с драйверами, вообще просто как яндекс диск). Потом ты чего то накрутил скажем в файле main.c. Делаешь commit. Владелец центрального репозитория быстро получает систематизированную информацию чего изменилось (как я понимаю вообще до строчки). Ну и накатывает ее на основной репозиторий если хочет.
В чем плюсы? Ну мастер файл (Встречались наверное с такой надписью на буржуйских документах (Master)) - всегда один на github. Кто то вам заслал изменения или вы сами - видны различия. Если чето не нравится - хотя бы идею посмотришь где конкретно в проекте чего наменяли/наменял.
У буржуев мастер всегда один для данной ревизии чего угодно. А у нас отксерили документ и вот уже два мастера, потому как через месяц опять кто то отксерил очередную ревизию и выкатил в пакете документов
Чем удобно для нас и наших проектов частного порядка - читай код и изменения и трекинг и все остальное прямо в инете. Всегда все самое свежее. Нет разночтений в версиях от одного человека (владельца репозитория). Ну и что не маловажно - скачиваешь прямо целый проект хоть zip и просто распаковав получаешь точную полную копию со всей обвязкой (в частности вопрос выше не возник бы про io.h скорее всего)
Ну какой пример привести.. вот к примеру https://github.com/PaulStoffregen/OneWire
Один из примеров коммита к этому репозиторию https://github.com/...1269ffe5fcbbb46
Там есть кнопка - загрузить всю фалйовую структуру проекта как зип (зеленая кнопка). А можно форк делать (чего я про это спросил - у вас слово форк встретил).
PS это если без стеба вопрос был. В частности в параллельной теме - если бы на ардуине не было все в одной портянке - им легко было бы системно выкатить основные их версии. А сейчас - скачайте туто версию без того то и вот тааам работает такто.
Как я понял - вы пользуетесь чужими уже репозиториями? Тогда не совсем понял, что именно вам интересно "как разберетесь расскажите"
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.1093 31 Янв. 18, 21:44, через 18 мин
Вчера пришли из поднебесной парочка вот таких мини-упсиков:Отлично. Сергей, я ждал этого поста.
....OldBean, 30 Янв. 18, 05:33
Очень даже нормально, но есть "запрос" к тебе на некоторые ситуации.
Причем, допускаем, что "объект" контроля на расстоянии за десятки км. Помнится, ты об этом упоминал по существу.
В процессе нашего любимого дела, случилось:
1. Пропала электроэнергия в сети питания. Потомки Чубайса на линии работают...
2. Случилось форс-мажор с ТЭНами с отключением ДИФа.
3. Сел аккумулятор Li-ION.
4. ... или еще, на твой выбор.
Подумаем, как мы можем увидеть эти пункты при помощи нашего оборудования.
П.1
Криминала нет. Внешний форс-мажор, не зависящий от нас (ну если щиток квартиры/дома в норме).
Можно остановиться и перезапуститься после появления напряжения.
Тут все в норме. Определяем по напряжению от RMS.
Питаем Малинку и периферию (АтМЕГИ) от UPSa.
П.2
Тут сложней. Как отличить это от П.1?
Городить дополнительный RMS или другой индикатор наличия напряжения на входе до ДИФа?
Тут не все так однозначно. Но, я считаю, об этом случае необходимо предупредить хозяина, что это истинно аварийная ситуация, сработала защита, самостоятельный рестарт не возможен. Необходимо личное вмешательство.
Забегаю вперед - для определения этого я запланировал микрик на положение флажка ДИФа.
[сообщение #13220498]
Но тут надо завязывать микрик на модуль GPIO или закидывать на 40-ой разъем, чтоб Малинка сама обрабатывала.
П.3
В ожидании напряжения в ситуации П.1, банально не хватило емкости АКБ.
Я тут не совсем в курсе, но, как при предлагаемом UPSe это пройти безболезненно. Как правильно уснуть и правильно проснуться? Надо ли мерить напряжение на АКБ? Компаратор соображать или делать аналоговый GPIO? Похоже и дискретный GPIO надо тут прикручивать.
Но хочется часов 12 на сон без "усадки" АКБ...
Как говорил Галустян
"... НЕЕЕЕЕ!!!!'ИСКЛЮЧ-ЕЕ-но..."
надо продуматься.
Но как к этим вопросам приспособить предлагаемый UPSик?....
Сергей, какие твои мысли оп пунктикам?
ЗЫ Прошу "мерси". Пока не вернулся из коммандировки. Поэтому не чем похвастаться. В наличии "дома" готовые платы на Тиньке, которые определены на распайку. Так что как то так... По приезду, закупка материала, ЛУТ (а может и попробую фоторезист), травление... К сожалению пока нет полноценной лаборатории, какая была. Завтра год как пришлось по работе переехать в Белокаменную из Кузбасса. На съемном жилье не сильно размахнешься...
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1094 01 Февр. 18, 03:53
Как я понял - вы пользуетесь чужими уже репозиториями? Тогда не совсем понял, что именно вам интересно "как разберетесь расскажите"PavelSaratov, 31 Янв. 18, 21:27Да. Я в работе использую много свободного ПО, часть которого доступна по git. Но для своих проектов никогда не использовал, т.к. они, как правило, ориентированы на внутреннее использование и не рассчитаны на какое-нибудь распространение и сопровождение. То, что я пишу здесь для форума - редкое исключение из этого режима работы. Поэтому этот вопрос у меня совсем "не готов" ;)
Тем не менее, проблема контроля версий уже встала даже для старого варианта "ненавязчивой автоматизации". Модули и главный скрипты местами несовместимы между версиями. Возникает путаница. Особенно у новичков в питоне. Отношение к текстам скриптов у них, по вполне понятным причинам, несколько настороженное, поэтому тексты заголовков мало кто смотрит.
Git - хороший вариант для таких дел. А, поскольку Вы с ним разбираетесь (для своего репозитория, насколько я понял), то было бы интересно услышать впечатления, как говорят, "из первых рук" :)
какие твои мысли оп пунктикам?BogAD, 31 Янв. 18, 21:44I. Мне кажется для начала нужно четко разделить два типа аварийных ситуаций:
1. Временные (внешние) отключения внешних ресурсов (электричества и/или воды охлаждения)
2. Внутренние аварийные ситуации (пробит ТЭН, сорвало шланг воды охлаждения и т.п.)
В первом случае имеет смысл автоматический или дистанционный запуск установки после восстановления подачи ресурсов. Во втором - нет. Нужно обязательно все хозяйство отревизировать.
Как различить эти ситуации? По электричеству более-менее понятно. Главный индикатор - дифавтомат. Вырубился или нет. Если не вырубился - значит было внешнее отключение. При появлении сети (датчик RMS об этом сообщит малинке) можно провести автоматический или дистанционный перезапуск установки. Ну а если вырубился - тут все однозначно - нужно идти/ехать к установке. Все равно сам не включится ;) Датчик RMS стоит после дифавтомата. Поэтому он всегда будет показывать отсутствие сети.
По воде у меня пока вообще ничего не стоит. Кроме крана. Ни клапана, ни датчика давления воды в системе охлаждения (или водопроводе). Но суть должна быть примерно такой же, как и для электричества.
II. Теперь о том, как малинке и контроллерам пережить трудные времена, когда нет электричества. Детально с этим вопросом я еще не разбирался, но основная идея понятна - и малинку и МК контроллеров нужно переводить в "спящий" режим с малым энергопотреблением. Кстати, для этого вполне может пригодиться та самая линия Int. Например, если высокий уровень на ней - нормальный, рабочий режим, а если низкий уровень - все модули вместе с малинкой заваливаются спать ;)
С какой-нибудь периодичностью (например, раз в минуту или раз в десять минут) малинка просыпается, активирует датчик RMS и смотрит появилась ли сеть. Если нет - все продолжают дрыхнуть. Если да - всем подъем и - на работу!
В экономичном режиме энергопотребление обычно очень мало и я надеюсь, что батарейки упсика хватит на много-много часов. Но, еще раз подчеркну, что детали перехода в экономичный режим, функционирование системы в этом режиме и варианты обратного перехода я еще никак не продумывал. Пока только на уровне общей идеи.
lesbeg
Доктор наук
Екатеринбург
657 458
Отв.1095 01 Февр. 18, 08:49
т.к. они, как правило, ориентированы на внутреннее использование и не рассчитаны на какое-нибудь распространение и сопровождение.OldBean, 01 Февр. 18, 03:53
pip install git+remote_git_repository_uri
pip install hg+remote_mercurial_repository_uri
pip install git+remote_git_repository_uri@some_branch
...
PavelSaratov, Павел, ты много раз употребляешь термин мастер совершенно не в контексте гита. Мастер здесь это не гриф на документах и не роль ведущего устройства и не признак главенства. master -- это роль и иногда название конкретной ветки (акцентирую, ветки, а не репозитория). Ветка в git это по сути отдельный экземпляр кодовой базы состоящий из списка указателей на коммиты.
Ветка с названием "master" есть у значительной части проектов на git, но ее может и не быть, или иногда она называется stable. По соглашению мастером называют ветку, в которой хранится последняя стабильная версия кода. Т.е. мастер должен быть в любой момент времени безусловно готов к деплою в продакшн. Вся разработка ведется в других ветках, причем как правило на каждую задачу приходится своя ветка (это хорошая практика).
И еще нет центрального репозитория. Есть локальный и удаленный, но они равноправны, поэтому тебе и доступен pull и push, а все конфликты при merge разруливает разработчик.
Ну вкратце - когда Git используешь, если бесплатно (тебе не надо свой код прятать от всех) - выкатываешь на githubPavelSaratov, 31 Янв. 18, 21:27
у github-а есть разные типа аккаунтов, а bitbucket дает пять бесплатных закрытых репозиториев на бесплатном аккаунте. Кроме того, ты ошибочно отождествляешь git и github, это примерно тоже самое что отождествить smtp\pop3\imap\etc и gmail.com. github -- хостинг удаленных репозиториев git + соцсеть. Поэтому там царит опенсорс и молодость. bitbucket -- хостинг удаленных репозиториев (git и Mercurial) + инструменты управления разработкой, ориентированный на злой энтерпрайз, поэтому там есть jira (не на бесплатном аккаунте) и много других ништяков.
Про остальное писать уже не буду, итак многабукав вышло.
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1096 01 Февр. 18, 17:28
Old Bean извини за оффтоп. Перейдем в личную переписку если что. Почему здесь а не через личку - мне что-то подсказывает, что вопрос не праздный и тебе был бы интересен тоже.
to lesbeg
Слушай, видно ты глубоко в теме по поводу этих репозиториев. Ткни нормальный ссылок, чтобы без зауми. Так сказать основной популярный документ для быстрого начала использования. Подчеркиваю - без зауми, теорию реляционных баз данных читать заново неохота.
Чего бы хотелось вообще от такой систеы - единый центр так сказать данных (ну я так понимаю github или подобный сервис вполне сойдет). Хочется накатывать малейшие изменения для логгирования. Даже ошибку в строке в одну букву. Чтобы это не переросло в очередной дремучий лес.
Больше скажу - PLC инженеры для систем ПАЗ вообще мечтают о таком (там так сложилось, что АСУ ТП это АСУ ТП, а все веяния программистов проходят мимо по причинам безопасности и так далее)
Если бы система давала четко следующие вещи - цены бы ей не было
1 Всегда версия с датой.
2 Легкость сравнения наглядного текущей версии и предыдущей, вплоть до битовой операции (ну тупо буква в строчке на C изменена).
3 Легкость накатить на новую машину всю струкутру проета.
4 Кто накатил версию
5 Примитивные и не очень макросы для статистики ( ну как объяснить - туоп чтобы я смог сварганить например автоматически формируемую таблицу переменных - до и после, какие теги (переменные)
6 Возможность поднять эту систему вообще изолировано от интернета на простом NAS на каком-нибудь предприятии
Это просто что первое в голову пришло.
Я конечно наглец, но если бы такая система отслеживать могла изменения программы на FBD (графический язык как в каком нибудь labview), так вообще бы цены не было, не все программы пишутся хардкором на C и прочих страшных штуках. Под изменением подразумевается как в Adobe Acrobat File compare. Облачком выделить сдвинутую графически линию.
Хотя мечты это все похоже, слишком узок и специфичен мирок АСУ ТП.
to lesbeg
Слушай, видно ты глубоко в теме по поводу этих репозиториев. Ткни нормальный ссылок, чтобы без зауми. Так сказать основной популярный документ для быстрого начала использования. Подчеркиваю - без зауми, теорию реляционных баз данных читать заново неохота.
Чего бы хотелось вообще от такой систеы - единый центр так сказать данных (ну я так понимаю github или подобный сервис вполне сойдет). Хочется накатывать малейшие изменения для логгирования. Даже ошибку в строке в одну букву. Чтобы это не переросло в очередной дремучий лес.
Больше скажу - PLC инженеры для систем ПАЗ вообще мечтают о таком (там так сложилось, что АСУ ТП это АСУ ТП, а все веяния программистов проходят мимо по причинам безопасности и так далее)
Если бы система давала четко следующие вещи - цены бы ей не было
1 Всегда версия с датой.
2 Легкость сравнения наглядного текущей версии и предыдущей, вплоть до битовой операции (ну тупо буква в строчке на C изменена).
3 Легкость накатить на новую машину всю струкутру проета.
4 Кто накатил версию
5 Примитивные и не очень макросы для статистики ( ну как объяснить - туоп чтобы я смог сварганить например автоматически формируемую таблицу переменных - до и после, какие теги (переменные)
6 Возможность поднять эту систему вообще изолировано от интернета на простом NAS на каком-нибудь предприятии
Это просто что первое в голову пришло.
Я конечно наглец, но если бы такая система отслеживать могла изменения программы на FBD (графический язык как в каком нибудь labview), так вообще бы цены не было, не все программы пишутся хардкором на C и прочих страшных штуках. Под изменением подразумевается как в Adobe Acrobat File compare. Облачком выделить сдвинутую графически линию.
Хотя мечты это все похоже, слишком узок и специфичен мирок АСУ ТП.
ys1797
Доцент
Санкт-Петербург
1K 338
Отв.1097 01 Февр. 18, 18:47
Если бы система давала четко следующие вещи - цены бы ей не былоPavelSaratov, 01 Февр. 18, 17:28
jira Есть некоммерческие аналоги
PavelSaratov
Доктор наук
Саратов
622 80
Отв.1098 01 Февр. 18, 19:28, через 41 мин
Вы в комплексе прочитайте. В частности АСУ ТП или подобное - большинство вообще не представляет как оно работает. Джира этож по сути багтрекинг как я понимаю. Я могу расписывать долго что нужно, но вот ощущения golden bullet нет. Не то. Интересно было бы , что lesbeg скажет. И еще раз - не думайте что я не понимаю отличия git от github, master от "master из других областей". Просто пока будем говорить казенным языком - потеряется сама суть. Этот горький урок был извлечен из гостов серии 34. Самый я умный был, чего надо выкатить...
ys1797
Доцент
Санкт-Петербург
1K 338
Отв.1099 01 Февр. 18, 20:06, через 39 мин
PavelSaratov, Ну все пункты, которые вы перечислили, вроде там есть. Это не вникая в специфики, которые сам себе затачивает по необходимости.
Вообще это "морда" для системы контроля версий git, subversion etc. Тикет система с багтрекером, это вторая часть системы, кому-то она нужна, кому-то нет.
Посмотрите девелоперские странички некоторых крупных открытых проектов на Jira, может уже велосипед давно готов.
Вообще это "морда" для системы контроля версий git, subversion etc. Тикет система с багтрекером, это вторая часть системы, кому-то она нужна, кому-то нет.
Посмотрите девелоперские странички некоторых крупных открытых проектов на Jira, может уже велосипед давно готов.