Интерфейс RS485.
11:33
Жыл бұрын
Пікірлер
@AndreyAkTis
@AndreyAkTis Күн бұрын
А жала для демонтажного пистолета от SL-916 вам нужны? Мне бы они очень пригодились, а то комплектное только 1.5, им мелкие ноги вообще не получается выпаивать, а на 0.8 жала пока достать не могу..
@remden
@remden 21 сағат бұрын
С насадками и жалами - большой проблемы нет, так как я их сам вытачиваю или переделываю из аналогичных, благо есть токарный станок.
@AndreyAkTis
@AndreyAkTis 8 сағат бұрын
@@remden Да, но у меня пока не токарного. Вот я подумал, если у вас SL-916 уже дохлая и не нужна, то может продадите ваши жала?
@I000I
@I000I Ай бұрын
Спасибо за обзор! Интересно, почему они продолжают ставить в станции такие плохие и устаревшие паяльники вместо "современных" (в кавычках так как я уже лет 10 таким пользуюсь) с жалами T-12?
@remden
@remden Ай бұрын
Стараются все удешевить, зачем заниматься разработкой нового паяльника, когда есть такой, да еще чем больше их выйдет из строя, тем больше купят новых.
@I000I
@I000I Ай бұрын
@@remden Т12 стоит 1500р с жалом и ручкой, но без БП. Куда уж дешевле! Лучше вообще не ставить паяльник, чем ставить плохой и устаревший. Может потому, что это нелегальная копия Hakko? 🤷🏻‍♂️
@remden
@remden Ай бұрын
@@I000I У данной ПС - паяльник получше аналогичных, которые продаются отдельно, тут хоть ручка не плавится...
@alexgum2006
@alexgum2006 Ай бұрын
Здравствуйте. Можно ли использовать вашу программу для дизассемлирования микроконтроллеров серии Arduino?
@remden
@remden Ай бұрын
Нет, так как кода инструкций различные и подключаемый файл нужен другой, для SFR регистров. Единственное программу можно использовать как оболочку, а алгоритм весь переписать под AVR микроконтроллеры.
@RomanMalov-ve3lu
@RomanMalov-ve3lu Ай бұрын
Здорово! А это все прошивки так устроены? Даже процессорные, или это только у пика так!?
@remden
@remden Ай бұрын
У большинства микроконтроллеров вне зависимости от разрядности схожи, а у процессоров там все иначе.
@archeearchebald6284
@archeearchebald6284 Ай бұрын
какова его работа спустя год? не перегревается в таком корпусе? или был апгрейд системы охлаждения?
@remden
@remden Ай бұрын
Все супер работает!
@user-tu3hz7kc8f
@user-tu3hz7kc8f Ай бұрын
Некоторые команды неверно распознаёт такие как movf, xorwf, clrf дизассемблирует например movf как db 0xXX, 0x50
@remden
@remden Ай бұрын
А можно фрагмент кода с этими инструкциями.
@user-tu3hz7kc8f
@user-tu3hz7kc8f Ай бұрын
​@@remden Это фрагмент кода lfsr FSR0,uart_receiver_buffer movf rx_bufwrptr,W movff rx_temp,PLUSW0 movlw ' ' xorwf rx_temp,W bnz BuffWRSazeTest bsf RX_COMANDREC clrf rx_bufwrptr bra TMR1_INT BuffWRSazeTest incf rx_bufwrptr,F movlw UART_RX_BUFFER_SIZE xorwf rx_bufwrptr,W bnz TMR1_INT clrf rx_bufwrptr bra TMR1_INT RcvError bcf RCSTA,CREN bsf RCSTA,CREN clrf rx_bufwrptr bra TMR1_INT а это то что сгенерировано дизассемблером из HEX lfsr 0, 0x3F0 ; 0070 F0F0 db 0x73,0x50 ; 0072 7350 movff REG_072, PLUSW0 ; 0074 72C0 movlw 0x0D ; 0078 0D0E db 0x72,0x18 ; 007A 7218 bnz L_0084 ; 007C 03E1 bsf REG_033, 6 ; 007E 338C db 0x73,0x6A ; 0080 736A bra L_00C2 ; 0082 1FD0 L_0084 db 0x73,0x2A ; 0084 732A movlw 0x10 ; 0086 100E db 0x73,0x18 ; 0088 7318 bnz L_00C2 ; 008A 1BE1 db 0x73,0x6A ; 008C 736A bra L_00C2 ; 008E 19D0 L_0090 bcf RCSTA, CREN ; 0090 AB98 bsf RCSTA, CREN ; 0092 AB88 db 0x73,0x6A ; 0094 736A bra L_00C2 ; 0096 15D0
@remden
@remden Ай бұрын
@@user-tu3hz7kc8f У меня еще вопрос: в какой ячейке (адрес) находится регистр rx_bufwrptr, так как я счас все проверил и проблем нет. drive.google.com/file/d/1z3m4hXZsHnz_53HLCeabMc_Org6Ffahq/view?usp=drive_link и drive.google.com/file/d/1kWCYfUOSIbL1rlCXCIqREFtx6INe0-qw/view?usp=drive_link
@YuriyBoykov-ji2wd
@YuriyBoykov-ji2wd Ай бұрын
Я хотел бы выразить свою благодарность за ваш труд. В настоящее время я пытаюсь создать кнопку с двумя группами контактов NO+NC, используя ваши работы в качестве основы. Однако стоит отметить, что у любой электромеханической пусковой кнопки не два, а три состояния. При нажатии кнопки, траверса подвижных контактов сначала размыкает контакты NC, затем на какое-то время группа контактов находится в воздухе, и только после этого замыкает контакты NO. В случае, если схема основана на релейной логике и кнопка включена в эту схему, такое поведение может оказаться крайне важным для систем, где необходимо исключить возможность возникновения "гонок сигналов". Это может привести к неправильной работе схемы или даже к короткому замыканию, если что-то еще не выключено, а уже начинает включаться что-то другое. И параметр «скорость переключения реле» скорее про то с какой скоростью происходит переключение этих 3х состояний, а не скорость реакции факта переключения. Вопрос: Возможно ли учесть и симулировать такое поведение в программе Proteus?
@remden
@remden Ай бұрын
Да, вы правы на счет трех состояний, я думаю вполне возможно реализовать данное переключение. В свойствах включателя добавить время переключения. Надо попробовать.
@YuriyBoykov-ji2wd
@YuriyBoykov-ji2wd Ай бұрын
@@remden Скорее всего время переключения изменит лишь время реакции на сигнал включения только и всего. Надо будет попробовать подать два разных напряжения (скажем 5 и 10 V) на переключающий контакт и посмотреть на выходе будет ли напряжение в момент переключения снижаться до 0 нуля или резко из 5 в 10 переходить. Если во время переключения сигнал не будет падать до 0, то это не совсем реальное поведение контактов. У любой электро-механической кнопки есть момент переключения, в это время он ещё не замкнут, но уже разомкнут в рамках переключаемой группы NC+NO.
@remden
@remden Ай бұрын
@@YuriyBoykov-ji2wd Почему? там при создании переключателя используются два свитча, им задать время отключения побыстрее, а включения по медленнее и тогда не будет коллизии
@YuriyBoykov-ji2wd
@YuriyBoykov-ji2wd Ай бұрын
@@remden Да, скорее всего 2 свитча нужно. Типа как то так: ``` spice * Переключаемые контакты с переходным состоянием Rclose C D 100m ; Сопротивление замкнутого контакта Ropen D E 10Meg ; Сопротивление разомкнутого контакта Rt C E 1Meg ; Сопротивление переходного состояния Cc C D 10p ; Паразитная емкость контакта Ce D E 10p ; Паразитная емкость переходного состояния * Управление переключением контактов .PARAM Vclose = 150 ; Напряжение срабатывания контактора .PARAM Vopen = 50 ; Напряжение отпускания контактора .PARAM Tdelay = 10m ; Время переходного состояния S1 C D 0 SWITCH(V(A,B),Vclose,Vopen,1,0) ; Ключ для переключения контактов S2 C E 0 SWITCH(V(A,B),Vclose,Vopen,Tdelay,0) ; Ключ для переходного состояния ``` Тогда если подумать даже реле времени можно простенькое сделать :)
@remden
@remden Ай бұрын
@@YuriyBoykov-ji2wd Да, все правильно!
@ooo.coreltd6416
@ooo.coreltd6416 Ай бұрын
Я не знаю, что такое "18-я серия". Я знаю MCS 8048, Atmel AVR, Microchip PIC, ColdFire. Видео не найдёт человек, которому оно действительно нужно, потому что он будет искать по слову "PIC18", а не "18 серии". п.с. "дизассемблировать", а не "дизассамблировать". п.п.с. дизассемблируют не "хекс-файл", а бинарный файл.
@vsosacordeev
@vsosacordeev Ай бұрын
Мощьно!! Я бы ещё добавил подсветку кода по камандам, И обратную запаковку. Но тут как видно с обратно запаковкой могут быть проблемы, из за неправльных интопретаций. Спасибо, хороший проект.
@remden
@remden Ай бұрын
Я думал о подсветке, но это немного сложновато и надо другой класс подключать. Да и не совсем надо, так как все кода за комментарием.
@saidgusainov6252
@saidgusainov6252 Ай бұрын
Супер,спасибо вам!
@sashahfa3480
@sashahfa3480 Ай бұрын
Как всегда уникальный контент. Спасибо!
@hzworkz
@hzworkz Ай бұрын
Супер, однако неактуально для российских реалий, в моей практике давно отказался от Pic изза цены и ненадежности. сейчас на дело идут китайкие AVR,CH32,stm
@remden
@remden Ай бұрын
Кстати PIC намного надежнее AVR, но цена да, намного выше.
@hzworkz
@hzworkz Ай бұрын
@@remden мне кажется буржуйские производители уже давно в серийной техники ( професиональная музыка), про пики забыли из-за их надежности,, сейчас на память приходят два апарата которые я похоронил например мидироутер фирмы M-Audio, там стоят 3 40ногих пики наверно еще 16серии, так вот после очередноговключения они стали жить своей жизнью , другой пример ,програматор на 18 серии после включения слетела заводская таблица калибровки. ARM/stm тоже конечно кирпичатся но ни разу пока не видел порушенную при старте флеш, AVR вобще как скала(тьфу-тьфу-тьфу), бывали случаи когда делал переполюсовку на них и ничего- живы и порты и память, и китайские подделки кстати тоже живучие
@remden
@remden Ай бұрын
​@@hzworkz Конечно модно спорить без конечно, но на практике заметил следующую закономерность: На промышленных индукционных плитах, при вылете силовых транзисторов - слетает прошивка с AVRки, но на подобных с PIC такого замечено не было. Я сам иногда косячю, и бывали случаи когда на МК или его вывод подавал до 12 вольт, в таких случаях у AVR отгореть вывод, а PIC держится. STM вообще очень хорошо себя зарекомендовали. (ИМХО). 16 серию, я вообще не рассматриваю, 24 и 32 - очень часто попадается в инверторниках, и не разу не сталкивался с проблемами по их части, притом частотники приходят с другими проблемами, а не связанные с силовой частью, которыми управляют dsPIC.
@ukr-pig
@ukr-pig Ай бұрын
Привет.Толково придумано.На докторскую дисертацию похоже.А с stm32 возможно такое?
@remden
@remden Ай бұрын
Я думаю можно, только надо разобраться с инструкциями, я с ними особо не работал, но есть в планах изучить
@user-mt5ps9ub8q
@user-mt5ps9ub8q 2 ай бұрын
У меня не работает ваш модель AD9833 на протеусе. Я не понял почему? Не видит DLL
@remden
@remden 2 ай бұрын
DLL библиотеку надо разместить в директории программы Протеус C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\MODELS\ в папке моделей или она должна быть рядом с проектом *.dsn. Должно все работать.
@user-mt5ps9ub8q
@user-mt5ps9ub8q 2 ай бұрын
Спасибо! Я попробую! У меня Proteus работает на х64 система Windows 10 и я вставил DLL в папку Model в Program Data, Labcenter Electronics, но нет рядом с *dsn
@remden
@remden 2 ай бұрын
@@user-mt5ps9ub8q В папку MODELS - надо добавить, чтобы доступ был изо всех проектов, но если вы не планируете в дальнейшем использовать данную модель, то можно рядом с рабочим проектом ее расположить. У проекта (схемы) расширение dsn
@user-mt5ps9ub8q
@user-mt5ps9ub8q Ай бұрын
@@remden Здравствуйте, я попробвал все ваши советы, но когда я стартирую симуляции реакция нет. Получаю ошибка Internal Exception: access violation in module 'AD9833.DLL' [00023BB4]. @0.000000000s и у меня нет решение. Могу инсталлировать различная версия Протеусе? Может быть решение?
@remden
@remden Ай бұрын
@@user-mt5ps9ub8q Да, это ошибка файла, я пересобрал библиотеку, и обновил архив, попробуйте заменить на новый dll файл
@anvarabdurahmonov
@anvarabdurahmonov 2 ай бұрын
Благодарю за видео. Нужен Ваш совет : Структура блока команды и ответа STX <data[N]> ETX <CRC> STX - Start of Text, начало блока команды или ответа, <data[N]> - user data, посылаемые данные (N байт), ETX - End of Text, конец блока команды или ответа, <CRC> - байт контрольной суммы. <Data [N]> 1. Длина пакета составляет 2 и 3 байта. 2. Сквозная нумерация пакетов - 5 байт с увеличением на 1. 3. CRC - последний байт. 1.2 Структура пакета данных при обмене Обмен пакетами производится в унифицированной структуре: | 0 | 1 2 | 3 | 4 ... | N | | STX | Len[2] | Id[1] |Data[Len] | CRC[1] | | CRC | | Stuffing | Параметр Описание Byte stuffing Во избежание повтора "STX" в полях Data и CRC, используется маскирование (Byte stuffing) при передаче байтов полей: • если очередной байт не равен "STX" или "ESC", то он передается в исходном виде, • если байт равен "STX", то при передаче этот байт заменяется на пару байтов: "ESC" и "TSTX", • если байт равен "ESC", то при передаче этот байт заменяется на пару байтов: "ESC" и "TESC". Важно: байты, равные "TSTX" и "TESC", не дополняются и передаются в исходном виде. Пакеты с нарушением обмена следует отбрасывать. Таковыми считаются павкеты, в которых в сочетании "ESC" + XX, XX не равен "TSTX" или "TESC". Len Количество информационных байтов в поле Data. При передаче производится маскирование, и количество реально передаваемых по физическому каналу байтов может превышать указанные значения. Поле Len не требует маскирования при следующих условиях: • допустимые значения 0x0000..0x7E7F, • в младшем байте передаются младшие 7 битов значения длины (бит 7 содержит 0), • в старшем байте передаются остальные 8 бит. unsigned char* Buf; Младший байт длины Buf [1] = (unsigned char) Len & 0x7F; Старший байт длины Buf [2] = Len >> 7 Id По значению параметра Id определяется, на какой из пакетов ПК отвечает данный пакет. Допустимые значения для id, используемых ПК, 0x00..0xDF Data Является информационной частью пакета и не интерпретируется транспортной частью протокола CRC Контрольная сумма CRC8 по полям Id и Data без учета маскирования. Начальное значение: 0xFF 2. Нижний уровень Для передачи используется протокол связи со скоростью обмена 1200, 2400, 4800, 9600, 14 400, 38 400, 57 600 или 115 200 бод (бит/с) с физическим кадром: • 1 стартовый бит; • 8 битов данных; • 1 стоповый бит (без проверки на четность); • 3 линии (TXD, RXD, GND). Хост - ПК/POS и др. Управляющие символы протокола: Параметр Описание Код ENQ Запрос 05H ACK Подтверждение 06H STX Начало текста 02H ETX Конец текста 03H EOT Конец передачи 04H NAK Отрицание 15H DLE Экранирование управляющих символов 10H Если у вас есть такой пример решении то пожалуйста продемонстрируйте. Благодарю.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 2 ай бұрын
Здорово, то что я хотел. Не знай не напортачу надеюсь,с этими сменами адресов. Это выходит можно тот же пик кит клонировать под пик 18 но, паять наверно придется не мало.
@remden
@remden 2 ай бұрын
Да там ничего сложного нет, в сети даже прошивка гуляет PikKit 2 и схемы, можно не запариваясь собрать. Я как то делал подобный клон.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 2 ай бұрын
@@remdenАдно дело ты, другое дело я. Тут я тебе скажу не соразмерные сравнения. Потом задымит прибор,и пол месяца думать буду куда, что не так в поял!😄
@vsosacordeev
@vsosacordeev 2 ай бұрын
Спасибо Вам большое, за урок. Теперь можно написать код на мк, каторый будет подключаться, к мк по Usart, и обновлять ПО.
@ivanprokofyev
@ivanprokofyev 2 ай бұрын
Рукасто! Жаль, я никуя не понимаю, т.к. очень интересно! Может быть потому, что с необходимостью не сталкивался или не дорос ещё.
@user-tj4se7yt5x
@user-tj4se7yt5x 2 ай бұрын
Делал реле на 5 вольт (обмотка 40 Ом) - не срабатывало. Подал 12 вольт - стало срабатывать, но теперь не возвращается в исходное состояние. Трижды переделывал.
@remden
@remden 2 ай бұрын
А зачем надо было создавать, когда можно просто поменять в свойствах напряжение и сопротивление обмотки? Возможно вы допустили ошибку в MDF файле
@vsosacordeev
@vsosacordeev 2 ай бұрын
Отлично! Денис, как вы считаете, стоит из под Boodloaderа самого себя обновлять. Просто интересно, если он будет во внешней flash,и при его неисправности. Аварийно подтягивать, с другова участка памяти!
@remden
@remden 2 ай бұрын
Вполне возможно, даже многие промышленные устройства по этому принципу работают, а некоторые вообще - при каждом включении питания - перезаписывают свою программу из внешнего накопителя.
@saidgusainov6252
@saidgusainov6252 2 ай бұрын
Спасибо вам за видео, очень познавательно, а можно такое проделать с dsPIC33 ? и еще хотелось бы спросить,в папке Debug лежит сама программа,почему то не хочет запускаться.
@remden
@remden 2 ай бұрын
Есть в планах начать тему по dsPIC24-33, в ней также будут затронуты все возможности, но все будет зависеть от свободного времени. Странно, архив проверил, все запускается. Добавил релиз версию, попробуйте. Возможно на ПК не хватает какой либо библиотеке, ошибку какую нибудь выдает?
@saidgusainov6252
@saidgusainov6252 2 ай бұрын
@@remden было бы не плохо по поводу dsPic. По поводу ошибки чуть позже могу сюда сбросить ошибку.
@remden
@remden 2 ай бұрын
Сюда скорее не получится, если есть возможность скиньте в дискорд: discord.gg/rA8ZXyVF
@saidgusainov6252
@saidgusainov6252 2 ай бұрын
@@remden написал вам.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 2 ай бұрын
Здорово, Не хватает, ещё превьюшки, на Hex файлы, так как если их будет много в каталоге хотелось посмотреть визуально на код, так как в 16-ричной системе не разобраться на глаз, да и проверить на версию прошивки тоже не мешало бы, к примеру считать код, проверить какая прошивка через превью ознакомиться, если где чего на пропатчил, что бы не лазить по исходникам случись чего, под превью, я имею дебаггер окно, с кодом, переведённый программой в читабельный вид. И встречал на просторах хабара как на пик кит2, исходниках после прошивки можно было обращаться к защищенной памяти, из самого мк, так же сейчас есть много видео подобного плана "IprogPro read protected PIC18F6720" Не знай на сколько правда это?
@remden
@remden 2 ай бұрын
Есть в планах сделать видео дисассемблера, там как раз будет превью. У меня уже написана программа, но надо привести ее в порядок перед публикацией.
@vsosacordeev
@vsosacordeev 2 ай бұрын
Скиньте Пожалуйсто, ссылку на статью!
@remden
@remden 2 ай бұрын
А на какую статью? Если по видео, та такой не существует, так как все продемонстрированное взято из своего опыта и официальной документации на МК.
@vsosacordeev
@vsosacordeev 2 ай бұрын
@@remden Я, не вам денис адресавал. Я по поводу ""после прошивки можно было обращаться к защищенной памяти"" Статью, где такая была, и вазможно ли такое!
@remden
@remden 2 ай бұрын
Смотра какая защита, если от записи - то можно, а от чтения прочитаются только нули. Внутри программы можно читать защищенные разделы от записи/чтения, но если защита стоит на запись, то изменить их не получится даже внутренними инструкциями МК. При любой вариации защиты - слово конфигурации перезаписать не получится, для того чтобы его изменить надо с помощью программатора активировать секретный раздел по адресу 3С0004h, который находится в незадействованной памяти, в нем алгоритм очистит всю память.
@greenpeace6414
@greenpeace6414 2 ай бұрын
А как добавить функцию в ваш проект, чтобы при получении данных с порта, если они совпадают с заданным кодом, то отправить в ответ определенный код?
@remden
@remden 2 ай бұрын
Можно в функции InData(...) проверить пришедшие байты, и по аналогии как в функции OnBnClickedButSend() отправить нужное обратно.
@bliznyuk
@bliznyuk 2 ай бұрын
как так происходит, делаю шаг за шагом по твоему видео, не работает, катушка постоянно сработана
@remden
@remden 2 ай бұрын
Возможно перепутаны "символы" контактов. А по контактным группам верное переключение, т.е. сигнал правильно протекает через контакты?
@horizantalbar
@horizantalbar 2 ай бұрын
Как можно сделать так чтобы при помощи полученных данных с ком порта, можно было к примеру построить график?
@remden
@remden 2 ай бұрын
Вполне возможно, у меня даже где-то подобный исходник был, там с датчика температуры/влажности, которые опрашивались по RS485 - рисовался график двух параметров
@horizantalbar
@horizantalbar 2 ай бұрын
​​​@@remdenможно пожалуйста ссылку на исходник, очень нужен похожий пример, как это реализуется) Задание примерно похожее: на ардуино генерируется числа для двух параметров к примеру A и B в течении некоторого времени и отправляются в порт, нужно получить эти данные и показать зависимость этих параметров. Не могу нигде найти что-то похожее( Своих знаний к сожалению не хватает по данной теме.
@remden
@remden 2 ай бұрын
@@horizantalbar Конечно я могу класс из проекта выдернуть, но в нем вам будет сложно разобраться, так как он используется в серверной программе системы автоматики. Здесь, в конце я приложил два файла discord.gg/yk3SKQQb
@user-lo4xv9kb7n
@user-lo4xv9kb7n Ай бұрын
@@remden Здравствуйте, можно и мне такую же ссылку, по этой зайти не удалось, Дискорд пишет: приглашение устарело
@remden
@remden Ай бұрын
@@user-lo4xv9kb7n Вот пожалуйста: discord.gg/mtPfukqa
@RomanMalov-ve3lu
@RomanMalov-ve3lu 3 ай бұрын
В принципе можно выделить место в постоянной памяти, для прошивки, и в случае не удач откатываться назад.
@remden
@remden 3 ай бұрын
Это не сработает если не верно выбрано тактирование МК, программа вообще не будет выполнятся. Разницы нет в какой памяти, самое главное выполнить программу, а так можно даже в внешней памяти разместить исходник загрузчика.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 3 ай бұрын
Спасибо, хотелось бы увидеть, в множественном исполнении, таким как uart spi, usb.
@remden
@remden 3 ай бұрын
USART будет, на счет SPI пока не знаю как реализовать демонстрацию, подумаю как лучше сделать.
@vsosacordeev
@vsosacordeev 3 ай бұрын
В конце видео ждал какуюнибудь пасхалку, за то что досматрел до канца,начиная с 31: 35 чёрный экран. А можна записать загрузчик, и те блоки памяти каторые не были затронуты считать?
@remden
@remden 3 ай бұрын
Странно, я проверил видео перед открытием, все было в порядке спасибо, сейчас перезолю. Считать можно, только придут все нули.
@remden
@remden 3 ай бұрын
Все, спасибо, через ютуб исправил
@alexeylukyanov3024
@alexeylukyanov3024 3 ай бұрын
Денис, огромное спасибо за титанический труд!!! Я несколько лет пытался победить этот протокол, есть АПА, все датчики, но как вы показали был шаге от разгатки. Еще раз спасибо!!!
@remden
@remden 3 ай бұрын
Сколько смотрю многим нужна спецификация протокола, почему разрабы БОЛИДА не выкладывают его в общий доступ не понятно, больше бы устройств покуполось.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 3 ай бұрын
Денис, а для ds18b20 Готового готового кода, не чего нет случайно?
@remden
@remden 3 ай бұрын
Есть, я просто даже не рассматривал его как пример, так как только ленивый не выкладывал его алгоритм.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 3 ай бұрын
@@remden Спасибо!
@powerman20
@powerman20 3 ай бұрын
На фотографии у Вас другая станция, и непонятно куда там подключён или подключается паяльник. А на лицевой два выключателя красных
@remden
@remden 3 ай бұрын
Да, вид на заставке - отличается. По разъемам: слева подключается фен, и красный тумблер отвечает за него; по центру гнездо паяльника, а справа порт вакуума и розетка десолдера. Черный тумблер трёх позиционный: центральное положение - паяльник и десолдер отключены; верхнее положение - включение паяльника, и нижнее - десолдера.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
Денис нужна помощь, Собрал схему как в протеусе, заменил пока pnp транзистором мосфет BD140,(пока не пришли с китая мосфеты). И дабы не спалить мк ножки подцепил через оптопару 817. ибо сыкотно, с моими руками, на прямую целять. и вообщем не работает. картина такая, он у дипа, загорается лампочка на пару скнд потом гаснет через секунды три, потом опять загорается на секунды, три, на третий раз , выключается, напряжения падает до 6 вольт, и он переадически моргает как будто работает, потом по маргав несколько раз опять включается напряжение на 12 вольт ,и в таком состоянии может находится несколько минут, потом всё повторяется. на оптопару напрямую идут сножек мк, а на массу поставил 510ом резистор. на колектор подал с 12 вольт через резистор 1,6 кило-ом эмитор к транзисторам 2n222 дальше схема как в протеусе. Толи опто пара не успевает переключаться толи я что то намудрил не так.
@remden
@remden 4 ай бұрын
Как вариант - проверить приведенную схему в Протеусе. Не до конца понятно как реализована схема, если есть возможность скинь картинку в дискорд discord.gg/n4jkdkwp
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
Сейчас всё разобрал, вместо транзисторов сунул оптопары,а в остальном всё как протеусе, и нечего опять, не работает, теперь даже не мигает, хотя в протеусе всё хорошо показывает. вообщем, буду мудрить дальше. С утра совал логический онализатор, сначоло вообще тишина на лини, была потом что то переделал пошли сигналы, перенёс смета на прошивку и опять не чего нет. ))) @@remden
@remden
@remden 4 ай бұрын
Если есть возможность сделайте скриншот с Протеуса - как реализована схема и скиньте в дискорд, я посмотрю, может что посоветую, а то так не понятно как реализована схема.
@karinabeketova8189
@karinabeketova8189 4 ай бұрын
А схема чего собиралась на Данном видео?
@remden
@remden 4 ай бұрын
Уже точно не помню, либо часов, либо простенького термостата.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
Денис, не работает, нина одном протеусе переустанавливал, различные, работает только без датчика, в тот раз он просто у меня не скампилировался не полность. и по этому работал, как если датчик удалить то осцилограма идёт, Ошибка "External model DLL "DIP34.DLL" not found. GLE=0x000036B1." Это что может быть? я думал библиотеку не нашол, а тут вроде адрес какой то показывает. Проверял на версиях 7,7 -8,6 7,1
@remden
@remden 4 ай бұрын
Это у вас Протеус не видит DLL файл. Он должен быть либо рядом с файлом Протеуса, который запускаете, либо в директории моделей вот по этому пути: C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\MODELS\ Адрес показывает сама модель, библиотека его только читает
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
ДЛЛ ка лежит рядом с запускаемым файлом, также насавал её вовсе катологи протеуса в том числе, в моделс. И на другом пк, всё аналогично не чего не видит, модели пересобирал, результат такой же. Не могу понять что я могу делать не так.@@remden
@remden
@remden 4 ай бұрын
Странная ошибка, когда нет библиотеки, выскакивает GLE=0x0000007E, а эта скорее связана с отсутствием С++ на ПК, нужен файл MSVCR90D.dll или MSVCR90.dll для нормальной работы. Он находится в директории windows/system32 или Windows\WinSxS в зависимости от системы. Или надо установить пакет Microsoft Visual C++
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
В папке WinSxS лежат, переустоовил только что с ++ 2008 года , всё-равно, такая же ошибка @@remden
@remden
@remden 4 ай бұрын
Там не студию надо, а пакет поддержки, не помню как называется. А система какая?
@sergeyelectro3576
@sergeyelectro3576 4 ай бұрын
... 4:12 - какой то держатель... Разобрались, для чего он нужен?
@remden
@remden 4 ай бұрын
Честно говоря - нет, я его как закинул в сторону, так больше его не использовал.
@sergeyelectro3576
@sergeyelectro3576 4 ай бұрын
@@remden Вы же на Али станцию заказывали? Там в чате у продавца задайте вопрос, может китайцы прольют свет на эту тайну. Потом здесь озвучьте для зрителей...
@remden
@remden 4 ай бұрын
Хорошо попробую, если еще этот магазин найду, а так какая-то бестолковая вещь.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
По готовому коду лучше видео смотреть, сразу мысль более быстрей раскрывается кажется, но это моё личное мнение. Но как легче, так и делай.
@remden
@remden 4 ай бұрын
Мне самому такой вариант по душе, на него меньше уходит времени, и видео должны получаться короче и информативнее.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
Боже мой, как это было, возможно вообще разгадать🙄 ! Блин, я в шоке, я не думал вообще что там на столько всё замудрёно, Это проше было самим зашить датчик, на свою прошивку. То то я думал что второй, урок не выходит так долго, когда в первом видео казалось что всё было почти готова, и понятно. Денис скажите а можно, через 1 транзистор к примеру 2а222 это всё реализовать, к примеру через шим оставить его в полуоткрытом состоянии, для 6 вольт, а пином отключать, и включать, питание через резистор 80 ом подавать , при снятия ёмкости, подтянуть на минус через 4,7 килом ???
@remden
@remden 4 ай бұрын
Я уже подумывал об этом, но хотелось сделать устройство совместимое с оригинальными извещателями. По сути, если отфильтровать ШИМ сигнал, чтобы не было лишней пульсации, то можно, но мне кажется этот вариант более сложный будет, так как КДЛ должен формировать половину напряжения, а датчик при ответе притягивать этот уровень к нулю, передавая ноль, либо оставлять его, отправляя единицу. Опять же, надо контролировать линию на предмет КЗ или сбоя в транзакции, скорее всего представленный вариант будет надежнее, так как он позаимствован с настоящего КДЛ.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
Кз в принципе словить можно, и через adc, так как высокий уровень упадёт, не с того не с сего, но так возможно , и проще даже будет, а неисправные датчики с 8-ответом наверно, свет в открытый попадал,долго, или стекло запылилось, в них как я понял компенсаторный стоит механизм, который настраивается спустя сколько то часов, я там в видео смотрел, но может,и я что мудрую . если мои так же выходить из строя будут, я их сам перешить попробую. на днях попробую завертеться@@remden
@remden
@remden 4 ай бұрын
С ШИМом будут проблемы, так как половина напряжения должна быть плавающей, а модулятор будет формировать его жестким и датчик не сможет установить низкий уровень. В прошивке датчика своеобразный алгоритм контроля задымленности, я его пытался обойти, когда пытался получить различные ADC значения, и ничего не вышло, датчик сразу вываливался в ошибку. Там помимо размаха уровня напряжения еще учитывается длительность импульса. Тут проще растворить МК в кислоте и под электронным микроскопом обнулить биты защиты от чтения, а после дизассемблировать код, чем пытаться понять как разработчики все это реализовали.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 4 ай бұрын
Это точно, такого замута, я не ожидал ни как, от какого то, извещателя, зашита сейфа в госбанке , а по pwm , в принципе после транзистора, резистор сунуть можно, у меня не сто датчиков, для одного двух хватит, подтянуть, и запитать, но я нацелен теперь всё же сделать, в кдл. @@remden
@remden
@remden 4 ай бұрын
Ну в прочем никто не запрещает, а если получится, то можно как альтернативу использовать
@vsosacordeev
@vsosacordeev 4 ай бұрын
Браво! Насчёт моей помощи, тут конечно, можно описать одним словом, стоял рядом,и смотрел что происходит, вот и вся помощь. Блин вообще нечто я бы конечно, до такого, врядли когда либо дашол сам. Я скаждым разом , всё больше подверждаюсь, в вашей гениальностью, Денис. Надо по форумам пройтись, время будет, отписаться об этом проекте, так как сколько, не мутузили этот вопрос, так он и остался в неудел. Я всё так и не трогал не чего, имхо, на заводе, оператор не подпускал к линии, rs-485. Так как, боялся случись что, он крайний будет. Я взял датчик домой, но вот руки до пайки ещё не дошли, теперь как говариться будет проще копаться, если желание будет, хотя то что мне нужно уже имеется в наличии. Надо было вам денис, по больше показать, и расказать, о вашем готовом модуле, так как мне кажется не все смогут, понять по схеме, какие,и куда транзисторы вставлять, и заменить на пдходящий, не говаря о резисторах, сколько ватт понадобятся на все 127-адресов, мне хоть и понятно, но люди разные будут смотреть в долнейшем. Спасибо , за вашу работу. Я умалчиваю, о том сколько времени, и трудов, у вас на это ушло. И для меня лучше именно , такой формат видео, когда уже всё написанно, и всего лишь идёт описание, так как команды нам уже известны, а смотреть что именно набирается, глаза устают, бегать по экранну, в добавок, пока идёт набор текта, нет нет да начинаешь отвлекаться, на что то инное! )))
@remden
@remden 4 ай бұрын
Это только со стороны кажется, что не помогли, на самом деле, поддержка была ощутимой, я не зацикливался на одном варианте, а рассматривал предложенные, и из-за этого все получилось. Я сам удивляюсь, как разработчики додумались до такого "геморроя", возможно есть вариант проще, но у меня нет больше сил оптимизировать код, самое главное что он работает как надо, я проверил его во всех вариациях и ошибок не было. На счет схемы, основная часть, которая срисована с настоящего КДЛ, выполнена один в один, все резисторы 0,125 ватт, и этого должно хватить, а если у кого возникнут трудности, добро пожаловать в комментарии. Я думал быстренько разбавлю тему USB устройств - независимой, а в итоге застрял на два месяца в ней :). Мне самому такой формат по душе, он более быстрый в монтаже и в изложении, если мне пришлось выполнять по старинке, то видео заняло, как минимум три часа, а так меньше часа ушло на три программы.
@martin32238
@martin32238 5 ай бұрын
У меня шнур на чипе PL2303 перестал работать на передачу данных. Что характерно в программе Terminal1.9 макросы передаются, текст набираемый в ручную передается, а файл не идет. Размер файла небольшой, начинается отправка, часть передается, а потом останавливается. Шнур с Али, работал нормально, но в какой-то момент отказался работать. На прием файлов работает без проблем. Может подскажете в чем может быть проблема.
@remden
@remden 5 ай бұрын
Во первый сам драйвер на PL2303 - очень кривой, с ним постоянно какие нибудь проблемы. Во вторых передачу больших пакетов в одной посылке лучше избегать, так как при небольших разбегах по частоте происходит набег ошибки, чем больше данных, тем больше ошибка, и в конечном итоге происходит коллизия. В третьих в свойствах порта - можно увеличить буфер приема/передачи, но лучше разбивать большие пакеты на несколько маленьких, так как если переполнить буфер, то пока он не освободится все следующие пакеты будут потеряны.
@martin32238
@martin32238 5 ай бұрын
@@remden С дровами еще могу поиграться, но пакет разбить не могу, т.к. - это программы для станка чпу и загружать надо одним файлом. Не понятно, шнур работал и просто перестал. Со станка перекидывается, на станок нет.
@remden
@remden 5 ай бұрын
@@martin32238 Если система не переустанавливалась и железо не менялось, то проблема в преобразователе. Единственное что могу предложить - в свойствах COM порта, на вкладке "Параметры порта" нажать кнопку "дополнительно" и поиграть с настройками. Или попробовать другой преобразователь.
@martin32238
@martin32238 5 ай бұрын
@@remden поставил дрова самые старые из тех что есть. работает более менее стабильно, но бывает проскакивает потеря пакетов. скорость 38400 - это максимальная скорость на станке, с меньшей скоростью еще хуже. пока тестирую в терминале1.9. приедет вилка DB25 к шнуру буду к станку коннектиться и пробовать. Заказал уже новый шнур с чипом FT232RL.
@remden
@remden 5 ай бұрын
@@martin32238 Сложно сказать в чем причина, возможно в самом чипе PL-овском, может был удар по преобразователю и кварц поплыл по частоте, не смотря что это очень редко бывает, но на моей практике такое было в 2х устройствах, когда кварцевый резонатор полностью вышел из строя, и второй, когда он понизил частоту.
@ukr-pig
@ukr-pig 6 ай бұрын
Привет.Вот это жескачь.Я раньше тоже сходил с ума с этими pic контроллерами причём тоже на ассеблере.Какого же было моё удивление когда я начал писать на С для pic как оказалось в разы шустрее (написание кода) и не надо забивать голову (вспоминать разные ассеблеры).И я даже гордился раньше тем что пишу на асме.Сейчас даром не надо.Пишу в основном только под stm32 иногда ардуино или esp.И совсем редко pic с компилятором xc8
@remden
@remden 6 ай бұрын
Я тоже пишу на С для PICов, но мне как ни крути, все равно удобнее на ассемблере, так как код получается намного компактнее. Если рассматривать Си компилятор, то он платный для МПЛАБ, и не все смогут его себе позволить. Я как ни будь выпущу видео, где сравню эти два языка и опишу все плюсы и минусы каждого.
@2010FLYNT
@2010FLYNT 6 ай бұрын
Извините, что вмешиваюсь но по моему так проще. в место CPoint pn[5]; pn[0].SetPoint(rcPB[i].left, rcPB[i].top); pn[1].SetPoint(rcPB[i].left, rcPB[i].bottom); pn[2].SetPoint(rcPB[i].right, rcPB[i].bottom); pn[3].SetPoint(rcPB[i].right, rcPB[i].top); pn[4].SetPoint(rcPB[i].left, rcPB[i].top); component->drawpolyline(pn, 5); поставить component->setbrushcolour(NOCOLOUR); component->drawbox(rcPB[i]); и поменять в определении массива с CRect на ВОХ
@remden
@remden 6 ай бұрын
Хорошее замечание, но я не помню почему, решил рисовать линиями, хотя знаю, что можно и полилинией. Возможно из-за того, что при ее замыкании образовалась перекрывающая область. BOX и CRect - практически идентичны, один чисто Визуаловский, а второй интегрирован в Протеус, да и привычнее через CRect.
@vsosacordeev
@vsosacordeev 6 ай бұрын
ютуб опять нач. удал. мои коментр, что то со всюду. Вообщем там оказывается не 6-ка играет , а 12. я брал табличные значения, а они увас делённые на 2. а так вроде бы все, crc при делении друг на друга, xor-ом, выдаёт двинадцть, и если так же xor-ить, любое crc 12-тью то получается число с противополжным crc запросом с другой команой
@remden
@remden 6 ай бұрын
Странно, они не должны быть деленные на 2, хотя это один сдвиг вправо. Вы имеете ввиду, что результат совпадает с фактическим если сделать так: [адрес]^[команда]^[ADC] = CRC. Иногда в XOR подсчете первый байт инвертирован ~[адрес]^[команда]^[ADC]. Или 12 это полином, по которому происходит подсчет? На счет Ютуба - странно, у меня нет никаких ограничений и проверок комментариев.
@vsosacordeev
@vsosacordeev 6 ай бұрын
Что это такое я пока не понимаю, пытаюсь разобраться. я взял данные из exel, там наблюдается следуюшее,если взять crc, меджу одними и темиже адресса, но сразными командами, сложить их xor то на выходе получается 12. а если прогнать xor- ом с одним из любых, из этих crc, адресов. то получается противоположный ему. на примере берём crc из ([адресх[0]]^[команда[0001]]^[crc[118]] 118 , также берём crc из [адресх[0]]^[команда[0010]]^[crc[122]] 122 ) 122xor118=12 ; 122xor12= 118 ;118xor12=122 . А в столбце с 128 адресом есть около 6 строк с сразными командами, и crc/ там всё тоже самое, но в зависимости от других команд прибовляется чётной +12. Вот закномерная последовательность,если взять crc из данных адресов и сложить xor-ом (128.44.198х128.44.202= 12; 128.0.254х128.0.242= 12; 128.1.168х128.1.164= 12 ) а если брать их произвольно то там +12 со межением в лево, относительно команд. выходит команда както задаёт танец, прошу извенить за падобное сложное разьеснения, мысли в простонородье "буться" @@remden
@remden
@remden 6 ай бұрын
У вас будет возможность войти в дискорд, если да, то там можно спокойно пообщаться в режиме стрима и попробовать разобраться с этой задачей. Я после 18:30 буду дома.
@vsosacordeev
@vsosacordeev 6 ай бұрын
я в дискорде писать не могу, просит код подверждения смс,каторое не приходит на телефон, такое чуство что, что против меня вся техника сбунтовалась, в том числе интернет., сначало, слетели все ключи с офиса, и он запускался но не довал работать сним, потом джава перестала пахать, потом ютуб начал охоту на меня,и тд. ит п. я за что то за цепился, пока сам не пойму что это такое, прослеживается какая то законмерность, мозг не хочит думать, но что то видит. Вчера ещё раз пересматрел постороения сигнала, и как выяснилось много упустил, работал с ограниченным интервалом данных. так же глянул офиц, ролики что как он работает, и что может, оказывается он та шлёт в добавок какието дополнительные колибровачные коэфициенты, спаправкой наветер, ( тобишь запылённость) вот это он досылает их через другой запрос, или впиховает в месте, с запросом adc(Как удалить пыль из дымовой камеры извещателя «ДИП-34А наз ролик сютуба ) так же на семенарах, поподалось, можно устанвливать самому порог сработки, извещателя,и проч. что к слову но не имеет никокого отношения, к расчёту crc. как что то догоню обезательно сразу отпешусь. Не удобная четабельность, и разнос кода , делают своё дело, но как говориться, пожёвём увидем @@remden
@remden
@remden 6 ай бұрын
Если я не ошибаюсь, то номер телефона нужен только для 2х этапной аутентификации, а так - только почта. Да в ДИП34 много различных запросов, которые я не рассмотрел, там еще есть напряжение на линии и пороги для времени суток (если я не ошибаюсь). Живое общение по комфортнее будет, чем пытаться все донести текстом. Насчет ключей и блокировок - скорее всего у вас троян, который участвует в Ddos атаках, по этому сети блокируют вам доступ к сервисам, так как ваш IP скорее всего в черном списке. Попробуйте просканировать ПК и сменить IP или использовать динамический (в зависимости от провайдера).
@RomanMalov-ve3lu
@RomanMalov-ve3lu 6 ай бұрын
Я вот думаю, кдл, отсылает обратно срс, а если он пошлёт не верный, оповещатель что то , предпримет!? если да то можно в подтверждении, подлинности опереться и на это. Просто то тогда, в голову не придёт какой смысл, отправлять этот срс обратно. зачем нагружать лишний раз линию.
@remden
@remden 6 ай бұрын
Я тоже не совсем понимаю, зачем обратно отправлять, скорей всего, чтобы датчик был готов к ответу, при новом запросе. Если неверный отправить СРС, наверно то-же самое произойдёт.
@2010FLYNT
@2010FLYNT 6 ай бұрын
Спасибо за ваши урок, тема интересная. К сожалению мне не удалось запустить даже ваш пример, дисплей не реагирует адекватно. Первый знак гасится С1, а остальные с2-с4 могут включить соответственный символ(если он был выключен), но потом гасят первый и дальше прекращают вообще как то влиять. Все пробовалось с вашей родной dll. Пробовал собирать dll в VS 2022, вроде без проблем, но результата нет.
@remden
@remden 6 ай бұрын
Странно, попробую дома на другом ПК, если найду ошибку, выпущу дополнение. Возможно что-то со скоростью анимации в настройках Протеуса. Позже отпишусь.
@2010FLYNT
@2010FLYNT 6 ай бұрын
Начал по ходу видео собрать DLL дошел до первой вашей проверки, получил предупреждение о не инициализированных массивах, поставил на оба массива memset, собрал. Пересобрал в proteus графический интерфейс с собственной dll и все заработало.
@remden
@remden 6 ай бұрын
Интересно, я проверил, массивы все инициализированы, но нашел другую ошибку в коде - не верные индексы массивов таймеров, и еще подправил модель, изменив назначение терминалов С1-С4 как входы. Изменённый проект доступен по той же ссылке. Это хорошо, что есть грамотные люди, и могут исправить чужие ошибки. Сильно извиняюсь, возможно случайно захватил тестовый проект, а не финальный.
@RomanMalov-ve3lu
@RomanMalov-ve3lu 6 ай бұрын
Я даже прослезился, я думал что вы уже забыли . Там расчёт, если одинаковый то он был ,на форуме о котором говорит @vsosacordeev . на хабар тоже статья была ,Дешифрация протокола Орион, но больше всего гайда на схем нет. Я тут подумал можно через , открытие и закрытие транзистора, передавать сигнал, на 12 вольт, а считывать через делитель напряжения, или также через оптрон, по суте это одно и тоже. А я почему то думал ,что сигнал формируется только по запросу, а всё остальное время мк, просто спит, пока до него не постучаться. Жду с нетерпением следующего урока.
@remden
@remden 6 ай бұрын
Я все помню! Единственное времени на все не хватает, очень много идей, и того о чем хочется рассказать, но так как приходится работать, + еще леваки по ремонту достигли объема, как в сервсцентре, а еще надо снять, смонтировать и т.д., по этому не так часто выходят видео, как хотелось. Я все форумы перелазил, в основном попадается iButton, думал что он подойдет, но нет... КДЛ ведущий, и опрашивает состояние и присутствие извещателей, это наиболее логично, если что-то залогало.
@vsosacordeev
@vsosacordeev 6 ай бұрын
денис, есть ли у вас адрес куда можно , отправить ссылку на форум, по расчёту црси, естественно не, тот каторый нужен, имхо заспамят!
@remden
@remden 6 ай бұрын
Можно сюда discord.gg/FZhaBrc8 в любой текстовый канал.
@vsosacordeev
@vsosacordeev 6 ай бұрын
вообщем меня что то везде отпинывают! дискорд зарегился но не шлёт смс для того что бы можно было писать. воопщем в яндексе первый по списку по запросу " Автор Добрый Самурай, Протокол Орион Болид"@@remden
@vsosacordeev
@vsosacordeev 6 ай бұрын
В поиск"Автор Добрый Самурай, Протокол Орион Болид" @remden @@remden
@vsosacordeev
@vsosacordeev 6 ай бұрын
меня везде срубают, почему то!
@vsosacordeev
@vsosacordeev 6 ай бұрын
Ценноя информация, тысяча людей теперь могут вздохнуть спокойно! Ещё бы как то расказать на форумах, где не однократно мусолились подобные темы, оставшиеся без ответа! Особенно сейчас, когда есть нехватка тех или иных компонентов, особенно под их на замену. Ипрочее про чее прочее прочее .
@vsosacordeev
@vsosacordeev 6 ай бұрын
как расчитывать протокол здесь есть незнай подойдёт ли к дипу 34........ бьёт ссылки ютуб. форум.схемнет протокол-орион-болид там подробный расчёт!
@vsosacordeev
@vsosacordeev 6 ай бұрын
forum-bolid тоска ру в поиске есть. утуб рубит ссылки
@remden
@remden 6 ай бұрын
Да, я видел этот форум, только там речь идет о CRC при общении между контрольными приборами, а не извещателями. Этот протокол в общем доступе есть, но там CRC16, а надо CRC7 или 8, хотя они идентичны, вся проблема в полиноме. Побывал разные стандартные варианты, но если в одном случае CRC сходится, то в другом - нет. Побывал XOR вариант, он тоже не подходит.
@vsosacordeev
@vsosacordeev 6 ай бұрын
Возможно, проще будет сделать так, Написать программу на мк, набрать статистику, посматреть закономерость, вывевести формулу. и там вроде как не crc16,а crc 8 на странице 5 есть в exel есть таблица и расчёт@@remden
@remden
@remden 6 ай бұрын
Я на С++ так сделал, рассчиталось несколько полиномов, но при смене адреса - опять перестало совпадать. Если знать какие данные учувствуют в расчете, так как есть 8ми, 7ми, 6ти и 4х байтные данные. Если их дополнять нулями до 8ми, то с какой стороны, пребывал по разному. Точно знаю, что: адрес и 1я команда - точно учувствуют в подсчете, совместно с ADC данными, так как при разных 4х битных командах - меняется CRC. Я в экселе экспериментировал, там остались вариации.
@demdokker8366
@demdokker8366 6 ай бұрын
Друг сделай пожалуйста видео как подключить твой мод! не получается
@remden
@remden 6 ай бұрын
Подключить просто: в архиве есть схема с моделью для Протеуса, открыв ее - на действующей модели нажимаешь ПК мыши, и выбираешь - Создать модель. Ничего не меняя переходишь на последнюю вкладку, где можно выбрать раздел и библиотеку, или оставить как есть, нажать ОК. Модель добавлена. DLL библиотеку - надо скопировать в директорию Протеуса в папку MODELS (C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\MODELS\ ). Модель должна полностью подключится к библиотеке.
@nickname5906
@nickname5906 6 ай бұрын
Случайно не создавали модель протеуса для АЦП AD7799(или подобной)?
@remden
@remden 6 ай бұрын
Нет, DAC делал, а ADC не было нужды. Если не ошибаюсь, в библиотеке Протеуса, есть что-то похожее из аналогов.
@pawall1975
@pawall1975 6 ай бұрын
Вы можете выложить схему отладочной платы которую вы используете?
@remden
@remden 6 ай бұрын
Выложил в описании.
@pawall1975
@pawall1975 6 ай бұрын
Благодарю!