Перейти к содержанию
    

Измерение напряжения на практике

Касательно этой программы непонятно почему читается только старший байт регистра АЦП.

В программе я поставил "использовать 8 бит". Поэтому результат у меня содержит только 8 бит.

 

 

Поставте разъем для ISP на плату сэкономите время и ресурс колодки, поскольку перешивать процессор вы будите очень много раз

 

Если я поставлю ISP разъём на устройстве и буду прошивать МК прямо внутрисхемно, потом по окончанию прошивки у меня перезапуститься МК и будет выполнять программу. То есть моё устройство будет работать подключённым к программатору, а программатор ведь подключён к ПК. Не спалю ли я порт LTP ?

 

Получается при таком подключении я могу сразу не отключая плату от программатора проверить работоспособность программы с помощью светодиода.

 

Как вам правильно заметили, срочно смените компилятор на GCC или IAR или на худой конец ImageCraft, и прежде чем писать прочитайте хотя бы пару книг по программированию АВР на С, благо их сейчас много. Далее не пользуйтес визардом! настраивайте перефирию руками, только так вы "прочувствуете" ее поймете что для чего и зачем, да и документацию на компилятор обязательно прочтите, узнаете много нового и полезного

 

Сейчас нет времени осваивать новые компиляторы и книги. У меня защита диплома через неделю. К тому времени нужно уже сделать своё устройство, которое измеряет мощность нагрузки. У меня есть базовые знания, с помощью которых уже можно что-то померять, но у меня что-то не получается.

Изменено пользователем Владимир_КПИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В программе я поставил "использовать 8 бит". Поэтому результат у меня содержит только 8 бит.

Если я поставлю ISP разъём на устройстве и буду прошивать МК прямо внутрисхемно, потом по окончанию прошивки у меня перезапуститься МК и будет выполнять программу. То есть моё устройство будет работать подключённым к программатору, а программатор ведь подключён к ПК. Не спалю ли я порт LTP ?

 

Получается при таком подключении я могу сразу не отключая плату от программатора проверить работоспособность программы с помощью светодиода.

Сейчас нет времени осваивать новые компиляторы и книги. У меня защита диплома через неделю. К тому времени нужно уже сделать своё устройство, которое измеряет мощность нагрузки. У меня есть базовые знания, с помощью которых уже можно что-то померять, но у меня что-то не получается.

Если на плату не подадите 220В, то все будет нормально, если сильно боитесь сделайте байт бластер и шейте через него (схема простейшая одна микросхема 74НС244 ищется в инете). Насчет АЦП вы берете старший байт, поэтому вам необходимо сделать это так data=ADCH>>8, если data у вас объявлена как unsigned char

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас полчилось записать переменную adc_data в EEPROM.

Запись осуществлялась по прерыванию(завершению преобразования АЦП). Но записало значения 0x00. Это и логично, так как у меня на ножке канала нет напряжения.

 

Сейчас припаяю ISP разъём на плату. И подсоединю к МК. Буду программировать внутрисхемно.

 

В самом устройстве у меня не задействованы ножки MISO, MOSI, SCK.

А вот ножки Vcc, GND, Reset задействованы.

 

На Vcc питание, на GND обший вывод, на RESET конденсатор на землю.

Слышал, что в случае использования каких-то ножек одновременно для программирования и внутри схемы их нужно разделять резисторами. Нужно ли мне где-то дополнительно ставить резисторы на Vcc, GND или RESEt?

Изменено пользователем Владимир_КПИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Слышал, что в случае использования каких-то ножек одновременно для программирования и внутри схемы их нужно разделять резисторами. Нужно ли мне где-то дополнительно ставить резисторы на Vcc, GND или RESEt?

Если уж и ставят резисторы, то для чтобы подключенные устройства (к этим же выводам) не мешали своим внутренним сопротивлением программированию. А эти выводы у Вас не используются, т.е. на MISO, MOSI, SCK резисторы Вам ставить не нужно.

 

А вот ножки Vcc, GND, Reset задействованы.

Если я правильно понял, то под словом задействован Reset Вы понимаете, что он подключен через конденсатор на землю. Если так, то он не задействован, а просто защищен от помех. Чтобы его задействовать нужно во фьюзах разрешить его использование, но если вы это сделаете, то больше не сможете прошить этот МК с помощью ISP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас полчилось записать переменную adc_data в EEPROM.

Запись осуществлялась по прерыванию(завершению преобразования АЦП). Но записало значения 0x00. Это и логично, так как у меня на ножке канала нет напряжения.

не совсем я бы еще проверил, поскольку редко когда АЦП выдает 0, тем более если у вас этот вывод висит в воздухе, то на нем наводится довольно большая помеха.

Сейчас припаяю ISP разъём на плату. И подсоединю к МК. Буду программировать внутрисхемно.

 

В самом устройстве у меня не задействованы ножки MISO, MOSI, SCK.

А вот ножки Vcc, GND, Reset задействованы.

 

На Vcc питание, на GND обший вывод, на RESET конденсатор на землю.

Слышал, что в случае использования каких-то ножек одновременно для программирования и внутри схемы их нужно разделять резисторами. Нужно ли мне где-то дополнительно ставить резисторы на Vcc, GND или RESEt?

Нет не нужно, резисторы ставятся тогда, когда используется SPI, поскольку у вас не используется, то не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал как хотел. Правда не с первого раза получилось.

 

Теперь моя схема подключена к програматору через ISP разъём. Сразу "зашиваю" программу не выключая питания. Сразу же и проверяю саму программу не ничего не отсоединяя, считывая содержимое EEPROM. То есть только при питании +5В самого программатора (которое также поступает на моё устройство) я ничего не могу спалить? Главное не подключать внешнее питание(220В, например) на вход самого устройства. И нельзя отсоединять программатор и МК "на горячую"(во время включёного ПК)?

 

Сейчас прочёл EEPROM, а там 7АH (122d). Так как я использую 8 бит, то максимальное значение может быть 256. Так и получается, при опорном 2,56 у меня на канале 1,23В. Вообщем померять постоянный сигнал получилось. Ура!!!! :)

 

В конечном итоге мне нужно будеть измерить 2 синусоидальных сигнала(сигналы с датчика тока и датчика напряжения). Буду мерять активную мощность.

 

По идее буду использовать таймер. При каждом переполнеии буду мерять сигнал. Потом амплитуду сигнала перемножу на дельту(время таймера) - получу площадь подкривой. Потом проссумирую все подкривые за период и получу значение тока (действующее??) за полупериод.

 

А теперь как бы мне улучшить помехозащищённость? Чтобы максимально точно измерять напряжение, используя все 10 разрядов.

 

В настройках АЦП устанавливал частоту 125кГц. Это частота дискретизации? То есть насколько часто снимется сигнал? Это в режиме непрерывного измерения?

Изменено пользователем Владимир_КПИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал как хотел. Правда не с первого раза получилось.

 

Теперь моя схема подключена к програматору через ISP разъём. Сразу "зашиваю" программу не выключая питания. Сразу же и проверяю саму программу не ничего не отсоединяя, считывая содержимое EEPROM. То есть только при питании +5В самого программатора (которое также поступает на моё устройство) я ничего не могу спалить? Главное не подключать внешнее питание(220В, например) на вход самого устройства. И нельзя отсоединять программатор и МК "на горячую"(во время включёного ПК)?

 

Сейчас прочёл EEPROM, а там 7АH (122d). Так как я использую 8 бит, то максимальное значение может быть 256. Так и получается, при опорном 2,56 у меня на канале 1,23В. Вообщем померять постоянный сигнал получилось. Ура!!!! :)

Отключать на горячую можно, подавать 220В нельзя :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отключать на горячую можно, подавать 220В нельзя

 

А подключать на горячую?

Изменено пользователем Владимир_КПИ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А подключать на горячую?

Тоже можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, здесь меня убеждали в обратном.

Мой опыт говорит, что не стоит так преувеличивать, но тем не менее конечно внешнее питание это кривовато, лучше питайте программатор от своего устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, здесь меня убеждали в обратном.

 

Когда вы соединяете два устройства кабелем, потенциалы земель этих двух устройств становятся одинаковыми. Сгорят или нет цепи, связанные с кабелем, зависит от нескольких обстоятельств.

 

1. Каковы были потенциалы земель этих двух устройств до подключения кабеля?

Если оба устройства имели общее заземление (помимо кабеля), то их земли в момент подключения имели одинаковый потенциал, поэтому при подключении через кабель не пробежит кратковременный выравнивающий ток, способный выжечь устройство. Если же общего заземления нет, то уж как повезет, может, сто раз подключите и ничего не будет, а на сто первый сдохнет.

 

2. При включении кабеля, соединяется ли контакт земли первым?

В грамотном разъеме контакты земли/питания сделаны длиннее сигнальных, поэтому выравнивающие токи не шарахают по сигнальным цепям.

 

3. Защищены ли сигнальные цепи от прохождения выравнивающих токов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Когда вы соединяете два устройства кабелем, потенциалы земель этих двух устройств становятся одинаковыми. Сгорят или нет цепи, связанные с кабелем, зависит от нескольких обстоятельств.

 

1. Каковы были потенциалы земель этих двух устройств до подключения кабеля?

Если оба устройства имели общее заземление (помимо кабеля), то их земли в момент подключения имели одинаковый потенциал, поэтому при подключении через кабель не пробежит кратковременный выравнивающий ток, способный выжечь устройство. Если же общего заземления нет, то уж как повезет, может, сто раз подключите и ничего не будет, а на сто первый сдохнет.

 

2. При включении кабеля, соединяется ли контакт земли первым?

В грамотном разъеме контакты земли/питания сделаны длиннее сигнальных, поэтому выравнивающие токи не шарахают по сигнальным цепям.

 

3. Защищены ли сигнальные цепи от прохождения выравнивающих токов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...