|
|
  |
пару вопросиков по Тини44 |
|
|
|
Mar 17 2017, 18:27
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
возникла странная ситуация ...
на тини44 - работает ШИМ и АЦП, хочется синхронизировать , для сего считывается счетчик таймера и при прохождении нуля запускает АЦП - и все бы хорошо, но стоит запретить прерывания ( I=0), все зависает на глухо ... ( почему, не пойму )
( ШИМ работает сам по себе, АЦП прерывание тоже не использует .. в програме прерывание использует сейчас только сторожевой таймер )
а второе, еще более странное ... данные на этом АЦП чуть плавуют ( ну что мог сделал), но и да фиг бы с ним, я готов отказаться от нижнего бита, но! - даже если сдвигаю, делю, принудительно ставлю нижний бит ( даже не один) в 1 или 0 .. все равно получаю плавание +/- 1 ...
может в чем то туплю, но уловлю в чем ..
|
|
|
|
|
Mar 17 2017, 22:25
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(ltDrakon @ Mar 17 2017, 20:27)  а второе, еще более странное ... данные на этом АЦП чуть плавуют ( ну что мог сделал), но и да фиг бы с ним, я готов отказаться от нижнего бита, но! - даже если сдвигаю, делю, принудительно ставлю нижний бит ( даже не один) в 1 или 0 .. все равно получаю плавание +/- 1 ... По документации 2 нижних значащих бита на самом деле ничего не значащие. Можете их совершенно легально обнулить.
|
|
|
|
|
Mar 18 2017, 09:30
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
ну вопервых это в корне не верно ...
более того можно выжимать из того то АЦП даже больше чем 10 бит ....
а тут вопрос в другой - я даже 4 бита обнуляю, а один фиг получаю плавание в единицу ...
|
|
|
|
|
Mar 18 2017, 11:18
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
ну как обьяснить - фактически они и могут плавать ( ну не идеальная тама развязка, да и на тини нет возможности развязать цифровую и аналоговую часть ), но я готов смириться с потерей одного бита ...
и потому после 16 интераций АЦП я принудительно ставлю младший бит результата или 0 или 1 ... после идет HEXtoDEC и вывод на LCD ( все класически ) ...
и вот на экране вижу результат .. и сколько бы бит я не ставил принудительно, все равно плавает .. т.е. было 200, плавало 200/201 .. срезал например биты, стало 20 .. а все равно плавает 20/21 ..
тоже с утановкой битов, было 200/201 ... ставлю младший в 1, плавает 201/203 ... и т.д.
ПС: преобразование и вывод на экран врядли виноваты - выводятся и другие значение ( не с АЦП ) и ничего не плавает и все как надо ...
|
|
|
|
|
Mar 18 2017, 13:18
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(ltDrakon @ Mar 18 2017, 13:18)  т.е. было 200, плавало 200/201 .. срезал например биты, стало 20 .. а все равно плавает 20/21 .. тоже с утановкой битов, было 200/201 ... ставлю младший в 1, плавает 201/203 ... и т.д. Уточните, что Вы имеете ввиду под понятиями "срезал и установил", а то создается впечатление, что Вы используете ">>=" для срезания и пару "<<=" + "|=0x01" для установки.
|
|
|
|
|
Mar 18 2017, 13:34
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
да все , надо было передохнуть, отвлечься и поспать ...
в итоге - с таймером запарка в том, что затупил и забыл что он работает на частоте ядра! а любое сравнение будет явно больше одного такта ( ну может и плюнуть на это )
а с АЦП ( уже на тестовом коде стало ясно ) - виноват оффсет дифф усилителя - это он гуляет и дает в итоге +/- 1, какое бы значение не было ...
и как с этим быть, надо подумать ... или ковырять почему оффсет гуляет, или как то компенсировать это ( хотелось бы попроще )
|
|
|
|
|
Mar 19 2017, 11:20
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
да я тоже склоняюсь к тому, что в тиньках дифф лучше нафиг! проще и лучше сделать внешнее ( а то даже питание нельзя развязать )...
меньше стало после запитки реф-напряжения от ТЛ431 ... ну и еще ковыряний с питанием
но с другой стороны - порой натыкаешься на пример неплохих реализаций, то и стимулирует поковыряться ....
но и может мой любимый максимализм, в данном случае может это вообще не важно - ибо это будет зарядка/разрядка аккумов - и в системе стабилизации тока заряда - эту гуляния то и не важны ( как уже заметил, тама на самом аккуме больше плавает, изза внутренних процессов )
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|