Датчик уровня на MCP23017
Датчик уровня на MCP23017
Здравствуйте. Возникла необходимость сделать начинку для датчика уровня на 48 значений с выводом их на модбас. Для этого использовал три микросхемы МСР23017, ардуино нано и китайский преобразователь RS-485. Развел плату, сделал подтяжку резисторами 10к к "0" входов МСР23017, спаял, прошил- и все как обычно, не работает. За основу взял блок из Flprog c МСР23017. Адреса микросхем разделил. Да и еще, пробовал делать сканирование I2C, заливал скетч из инструкции- в мониторе Com порта- тоже ничего. Порядок входов на микросхемы расширения непоследовательный из-за особенностей разводки платы. Подскажите, работоспособен ли мой скетч, или я там ошибок налепил? Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 305
- Зарегистрирован: 18 сен 2015, 14:00
- Откуда: Саратов
- Имя: Сергей
- Поблагодарили: 1 раз
Датчик уровня
А как проверяли работоспособность QModbus или по другому?
И еще на самих микросхемах адреса задали?
И еще на самих микросхемах адреса задали?
S
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Датчик уровня
Скетч должен работать.
1. Отсканировать микрухи - пока не увидишь адресов, дальше нечего двигаться. Проверь порт, скорость, SDA, SDL ... Прицепи часы для теста на шину, или дисплей I2C, или ....
2. После - запусти работу с модбасом без 485, через USB nano - виртуальный ком порт.
3. Уже потом занимайся 485.
Резаки подтяжки к + по шине обязательны!
1. Отсканировать микрухи - пока не увидишь адресов, дальше нечего двигаться. Проверь порт, скорость, SDA, SDL ... Прицепи часы для теста на шину, или дисплей I2C, или ....
2. После - запусти работу с модбасом без 485, через USB nano - виртуальный ком порт.
3. Уже потом занимайся 485.
Резаки подтяжки к + по шине обязательны!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 305
- Зарегистрирован: 18 сен 2015, 14:00
- Откуда: Саратов
- Имя: Сергей
- Поблагодарили: 1 раз
Датчик уровня
Железо,железо проверяйте не торопясь, а если хотите исключить связку RS-485 то можно вот так:
[spoiler] [/spoiler]
И вот такой кусочек вставьте будет видно , что со входом:
[spoiler] [/spoiler]
[spoiler] [/spoiler]
И вот такой кусочек вставьте будет видно , что со входом:
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
S
- Cancertanly
- Сержант
- Сообщения: 214
- Зарегистрирован: 06 апр 2016, 19:59
- Откуда: bish
- Имя: Антон
- Поблагодарили: 1 раз
Датчик уровня
poavel72 писал(а): 29 май 2018, 17:59 Возникла необходимость сделать начинку для датчика уровня на 48 значений
а зачем такие сложности с платами расширения? почему нельзя использовать резисторы и аналоговый вход?
FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino
- kulibinsvv
- Лейтенант
- Сообщения: 487
- Зарегистрирован: 18 сен 2015, 10:04
- Откуда: Омск
- Благодарил (а): 3 раза
- Поблагодарили: 5 раз
Датчик уровня
[ref]Cancertanly[/ref], читайте полностью.
Надёжность считывания показаний в случае варианта [ref]poavel72[/ref] будет выше, чем предлагаемая вами.poavel72 писал(а): 29 май 2018, 17:59Развел плату, сделал подтяжку резисторами 10к к "0" входов МСР23017, спаял, прошил- и все как обычно
Мой змей, этот ползучий соблазн сомнения,всё шевелится, побуждая «искать концы»... (Станислав Ермаков)
Датчик уровня
Ребята, спасибо всем за ответы, а то совсем уже руки было опустились. Теперь уточнения- Sancho, получается при сканировании я должен увидеть адреса микрух? Насчет подтяжки шины к + я ставил резисторы на 4,7к как в хелпе flprog, это корректно? KSP-хороший вариант проверки, обязательно попробую. Cancertanly, вариант с резисторами и аналоговым входом был у меня изначально первым, но потом решил от него отказаться в пользу дискретных входов. Делить на 48 резисторов с учетом длины проводов + возможные наводки... Просто побоялся. В этом случае я согласен с kulibinsvv.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Датчик уровня
4,7 k отлично, дальше.poavel72 писал(а): 30 май 2018, 06:56Теперь уточнения- Sancho, получается при сканировании я должен увидеть адреса микрух? Насчет подтяжки шины к + я ставил резисторы на 4,7к как в хелпе flprog, это корректно?
В флпроге - Инструменты, Шины данных, Сканирование I2C . Дальше по тексту.
Вы обязательно должны убедится, что контролер видит микрухи. С учётом всяких непредвиденных моментов, а вдруг они все брак, повесьте на шину I2C ещё и часы - должно определится 4 устройства.
Потом дальше...
Если есть желание, прицепите светодиод и подайте на него шим с выхода дешифратора, предварительно умножив на 5 ( макс 240 ).
Единственное, чего не уловил, это какая схема входных датчиков, так как
Обычно делают наоборот....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Датчик уровня
по подтяжке- в плате развел оба варианта, потому-что жестких указаний в даташитах не нашел, поэтому использовал подтяжку к минусу чисто умозрительно, можно переключить и на плюс. Это играет роль?
- Cancertanly
- Сержант
- Сообщения: 214
- Зарегистрирован: 06 апр 2016, 19:59
- Откуда: bish
- Имя: Антон
- Поблагодарили: 1 раз
Датчик уровня
ну или использовать несколько аналоговых входов

FLProg_ru
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino
https://t.me/flrog_ru ...................................................FLProg_v7.3.4
https://t.me/soft_duino
-
- Лейтенант
- Сообщения: 305
- Зарегистрирован: 18 сен 2015, 14:00
- Откуда: Саратов
- Имя: Сергей
- Поблагодарили: 1 раз
Датчик уровня
Мне вот такая информация попалась там пишут про проверку без библиотеки, и еще Вам не могли микросхемы прислать E/SO.
http://homes-smart.ru/index.php/oborudo ... yaem-porty
http://homes-smart.ru/index.php/oborudo ... yaem-porty
S
Датчик уровня
там есть встроенные резисторы для подтяжкиpoavel72 писал(а): 30 май 2018, 08:30по подтяжке- в плате развел оба варианта, потому-что жестких указаний в даташитах не нашел
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Датчик уровня на MCP23017
[ref]poavel72[/ref],
Для такого дела было-бы дешевле 74HC165 шесть штук. На мой взгляд.
Что со сканированием?
Для такого дела было-бы дешевле 74HC165 шесть штук. На мой взгляд.
Что со сканированием?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Датчик уровня на MCP23017
Sancho, проверил сканированием шины с часами, -ничего не показывает. Часы исправные, проверял и устанавливал в ней время на другой плате. Ардуина глючит?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Датчик уровня на MCP23017
Прицепи светодиод на какой нить пин, залей мигалку.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Датчик уровня на MCP23017
blink работает, проверил на встроенном и на внешнем светодиоде. ардуино скорее всего живая, значит, где-то еще у меня косяки прячутся..
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость