Например TDA7294

Форум РадиоКот • Просмотр темы - BASCOM AVR в вопросах и ответах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 01:06:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6019 ]     ... , , , 298, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб май 08, 2021 15:23:06 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Пн фев 18, 2008 17:48:40
Сообщений: 317
Рейтинг сообщения: 0
Здравствуйте!
Всех с наступающим)

Есть вопросик чисто теоретический (да бы потом не вылезли грабли на практике).

Хочу использовать i2c для работы с датчиком температуры. Но также, хочу использовать прерывания int0, int1 для кнопок. Известно, что во время срабатывания прерывания, весь код прерывается и начинает выполняться код, который прописан для прерывания. Также, известно, что невозможно выполнить два прерывания одновременно. Так вот вопрос то... Не нарушат ли мои прерывания от кнопок работу протокола i2c и, соответственно, не получу ли я зависание или сбой при работе с датчиком? Ведь я не знаю как это все работает... А вдруг у датчика таймаут есть какой при ожидании ответа от МК (а МК в это время не ответит т. к. занят прерыванием от кнопки), а когда ответит, то уже датчик не поймет что от него хочет МК. Или это все учтено и все будет работать?
Или же для такого обязательно нужно использовать аппаратную i2c (TWI) (ведь аппаратный i2c работает сам по себе и не зависит от программы на низком уровне).

P. S.: Вот например в Ардуино если использовать Analog Write(), говорят, что занят какой-то таймер... То есть, этот таймер уже никак нельзя использовать. А что по i2c в Баскоме?

Спасибо.

_________________
The only one thing necessary for the triumph of evil ...is for good people to do nothing.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб май 15, 2021 11:52:03 
Сверлит текстолит когтями

Карма: 10
Рейтинг сообщений: 45
Зарегистрирован: Пн июн 18, 2007 21:51:20
Сообщений: 1278
Рейтинг сообщения: 0
Здравствуйте!
Хочу использовать i2c для работы с датчиком температуры. Но также, хочу использовать прерывания int0, int1 для кнопок.


если протокол подразумевает жесткие временные интервалы, то нарушит.

1. если решать "в лоб", то запрещать прерывание в момент обмена (на всё время),
2. убрать кнопки с прерываний, разницы в сотую долю секунды не заметно,
3. аппаратный I2C в АВР (да и не только в оном) кривой и не имеет никакого особого смысла. Делайте программный, особой разницы ни в скорости, ни в простоте кода не будет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн май 31, 2021 05:10:50 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
Здравствуйте, написал программу под камень ATmega328, программа имеет два прерывания по таймерам и сторожевой пёс", общение с внешними устр.ми по протоколам I2C и 1Wire.
Было замечено, что устройство перезагружается (зависает и "пёс" его ресетит). Эти перезагрузки проявляются спонтанно. может раз в неделю, может несколько раз в день. время и дату и кол.во раз я посчитываю.
Вопрос. Как найти место зависания? На устройстве есть UART, может можно метку какую сохранять... Кто имел дело с похожей ситуацией, как решали проблему.
Как вариант отключить watchdog и посмотреть где повиснет...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн май 31, 2021 07:05:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 303
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2225
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Приветствую.

А watchdog на сколько настроен? Не факт ведь, что программа без него виснет, ей всего лишь достаточно где-то задержаться дольше чем положено. Отключите для начала пса конечно, и посмотрите, как устройство себя поведет. И если действительно будут зависания то хоть станет понятнее, в какие моменты они происходят. А так watchdog затирает все улики...

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн май 31, 2021 07:13:28 
Вымогатель припоя
Аватар пользователя

Карма: 6
Рейтинг сообщений: 26
Зарегистрирован: Пн дек 29, 2008 01:40:28
Сообщений: 602
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Рейтинг сообщения: 0
watchdog настроен на 4 сек. Проверю, отключу... Спасибо


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн май 31, 2021 07:32:41 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 37
Рейтинг сообщений: 303
Зарегистрирован: Вт апр 21, 2009 22:24:10
Сообщений: 2225
Откуда: Иркутск
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ну 4 секунды это конечно уже много. Похоже и правда виснет, вряд ли выполнение где-то шляется такое время...

_________________
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Ср июн 30, 2021 16:17:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 26
Зарегистрирован: Ср сен 17, 2008 14:32:15
Сообщений: 2106
Откуда: Старые Васюки
Рейтинг сообщения: 0
Кстати, о watchdog. Обнаружил, что некоторые устройства с ним всё равно ухитряются намертво зависнуть. В упор не понимаю причины. Такое ощущение, что в них останавливается внутренний тактовый генератор (а такое вообще может быть??).
Также наблюдаются "отвалы" последовательного порта. Когда МК работает, реагирует на остальные прерывания, но перестаёт что-либо принимать или передавать на UART. Правда там ещё драйвер 485 порта висит, может быть это его фокусы.

_________________
Даже остановленные часы два раза в сутки показывают правильное время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пт окт 22, 2021 07:23:14 
Электрический кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 2
Зарегистрирован: Вт окт 21, 2008 11:46:23
Сообщений: 1051
Откуда: Барнаул
Рейтинг сообщения: 0
Всем доброго дня. Пытаюсь запустить прогу, найденную когда-то давно в сети. Управление LCD-индикатором на двух драйверах КР1820ВГ1. С этим кодом отображаются только нули и точка: "000000.00". Хотя это по сути частотомер. Но никакую частоту он не меряет. Что в коде исправить, чтобы измерял частоту?
Спойлер$regfile = "m8535.dat"
$crystal = 11059200
$hwstack = 32
$swstack = 32
$framesize = 40
$baud = 38400

$lib "mcsbyte.lbx"
$lib "mcsbyteint.lbx"

Config Portb = Output

Signal Alias Pind.6
Kn Alias Pind.2
Knr Alias Pind.3
Dn Alias Portb.5
Cl Alias Portb.4
Csml Alias Portb.3
Csst Alias Portb.2

'
Dim I As Byte
Dim Cifri(9) As Byte
Dim A As Word
Dim Overflow As Byte
Dim X As Byte
Dim Cnt As Word
Dim Fr As Long
Dim Flag As Bit
Dim Ph As Word
Dim Pl As Word
Config Timer0 = Timer , Prescale = 1
Enable Interrupts
Enable Timer0

'**********************
Fmetr:
Cifri(1) = 13
Gosub Indicator
Stop Timer1
Config Timer1 = Counter , Edge = Rising , Noise Cancel = 1
On Timer0 Tm0_intsub
On Timer1 Tm1_intsub
Counter1 = 0
Overflow = 0
Cnt = 31250
Flag = 0

'******Initial******
Start Timer0
Start Counter1

'*******Main Loop*****
Main:
Do

If Flag = 1 Then
X = Counter1
Gosub Indicator
Reset Flag
Counter1 = 0
Overflow = 0
Cnt = 31250
Start Timer0
Start Counter1
End If
Debounce Kn , 0 , Pmetr
Loop

Pmetr:
Stop Counter1
Cifri(1) = 12

Config Timer1 = Timer , Prescale = 8
Enable Timer1

Aa:
Do
Gosub Indicator
Stop Timer1
Timer1 = 0
Bitwait Signal , Set
Start Timer1
Bitwait Signal , Reset
Stop Timer1
Ph = Timer1
Timer1 = 2
Start Timer1
Bitwait Signal , Set
Stop Timer1
Pl = Timer1
If Kn = 1 Then Gosub Fmetr
Debounce Knr , 0 , Reg , Sub
Select Case A
Case 1
Cifri(2) = 14
X = Ph
Case 2
Cifri(2) = 15
X = Pl
Case 3
Cifri(2) = 16
Fr = Ph + Pl
If Ph > 100 Then
X = Ph \ 100
Fr = Fr * Ph
Else
Fr = Fr * Ph
Fr = Fr \ 100
End If
End Select

Loop

'************************************************
'*******Counter1 Overflow Interrupt**************
Tm1_intsub:
Incr Overflow
Return

'***********Timer0 Zero Interrupt****************
Tm0_intsub:
If Cnt <> 0 Then
Decr Cnt
Else
Stop Counter1
Stop Timer0
Set Flag
End If

Return

&#39;************End of interrupt*********************
Indicator:
Fr = Overflow * 65536
Fr = Fr + X
I = 0
While I < 7
Incr I
Cifri(i) = Fr Mod 10
Fr = Fr / 10
Wend
&#39;Set Csst
&#39;Set Csml
Reset Csst
Reset Csml
I = Lookup(cifri(1) , Dta)
Gosub Ind
I = Lookup( , Dta)
Gosub Ind
I = Lookup(cifri(3) , Dta)
Gosub Ind
I = Lookup(cifri(4) , Dta)
Gosub Ind
I = Lookup(10 , Dta)
Gosub Ind
&#39;Reset Csst
&#39;Reset Csml
&#39;Set Csst
Set Csst
Set Csml
Reset Csst
I = Lookup(cifri(5) , Dta)
Gosub Ind
I = Lookup(cifri(6) , Dta)
I = I - &H80
Gosub Ind
I = Lookup(cifri(7) , Dta)
Gosub Ind
I = Lookup(cifri(8) , Dta)
Gosub Ind
I = Lookup(11 , Dta)
I = I + Cifri(9)
Gosub Ind
&#39;Reset Csst
Set Csst
Return

Dta:
Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90 , &HF0 , &HFF , &H8C , &H8E , &H89 , &HC7 , &H94
&#39; 0 1 2 3 4 5 6 7 8 9 Cs_ml Cs_st P F 14 H 15 L o

Ind:
I = Not I
Shiftout Dn , Cl , I , 1
Return

Reg:
Incr A
If A > 3 Then A = 1
Return

Даташит по КР1820ВГ1 искурил весь напрочь, но что то не особо помогло.

Добавлено after 12 minutes 18 seconds:
Уточнение по теме: индикатор от кассового аппарата "ЭКР-2102". На плате индикатора еще был впаян инвертор К561ЛН2. Я его выпаял и закоротил перемычками входы и выходы бывших инверторов на плате. То есть теперь сигнал получился прямой. Для этого в коде добавлена инверсия: I = Not I в подпрограмме передачи данных в КР1820ВГ1.
Есть подозрение, что надо бы прерывание TIMER1 переделать на захват по входу ICP1. Или как то по-другому можно? Например вход T1 использовать? Как тогда сконфигурировать таймеры?
Может быть вот так сделать?
СпойлерConfig Timer1 = Timer , Prescale = 64 , Capture Edge = Rising

Dim Tmrcnt As Word
Dim Period As Single
Dim F1 As Single
Dim F As Word

Const T = 5.88e-6

On Capture1 Freqin

Tmrcnt = 0
Waitms 50
Enable Interrupts
Enable Capture1
. . .
. . .
Do
If Tmrcnt = 0 Then
F = 0
Else
Period = Tmrcnt * T
F1 = 1 / Period
F = Abs(f1)
End If
'

' тут будет вызов подпрограммы вывода на индикацию
Loop

Freqin:
Tmrcnt = Timer1
Timer1 = 0
Return

End

Вот теперь бы надо как то эти два куска кода подружить между собой :shock:

_________________
Цапу крутить надо!!! Ку или не ку?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб дек 18, 2021 22:05:21 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн июл 25, 2011 14:24:34
Сообщений: 31
Рейтинг сообщения: 0
Всем доброго времени суток. Кто-нибудь имел дело с Китайским модулем MP3-TF-16P. Хочу сделать манок на птицу на Atmega8 и Oled дисплее. Мне-бы хоть пример какой нибудь, пытался с даташита отсылать команды не какой реакции.ПОМОГИТЕ!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб дек 18, 2021 22:34:34 
Первый раз сказал Мяу!
Аватар пользователя

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Вс май 15, 2016 19:02:01
Сообщений: 28
Откуда: Украина
Рейтинг сообщения: 0
Это тот же DFPlayer_mini. Здесь есть примеры. https://bascomavr.3bb.ru/viewtopic.php?id=2213


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб дек 18, 2021 23:24:11 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн июл 25, 2011 14:24:34
Сообщений: 31
Рейтинг сообщения: 0
Спасибо. Но там на МК я не нашёл только терминал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 19, 2021 08:56:52 
Это не хвост, это антенна

Карма: 10
Рейтинг сообщений: 78
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1395
Откуда: Мелеуз
Рейтинг сообщения: 0
Ковырял когда то,пример-
циклическое воспроизведение:
Код:
Printbin &H7E; &HFF; &H06;&H11; &H00; &H00; &H01; &HEF

Основные комманды-
Код:
0x01 Следующая песня.
0x02 Последняя песня.
0x03 Указать дорожку(NUM) 0-2999
0x04 Громкость+
0x05 Громкость-
0x06 Укажите громкость 0-30
0x07 Обозначение EQ(0/1/2/3/4/5) Normal/Pop/Rock/Jazz/Classic/Base
0x08 Укажите режим воспроизведения (0/1/2/3) Петли / папки петли/одиночные петли/случайные
0x09 Обозначение оборудования (0/1/2/3/4) U/TF/AUX/SLEEP/FLASH
0x0A В сон -- потребление низкой мощности
0x0B Нормальная работа
0x0C Сброс микросхемы
0x0D Играть
0x0E Пауза.
0x0F Задает воспроизведение папки 1-10(требуется настройка)
0x10 Настройки PA {DH=1:Open PA}{DL: установка усиления, 0-31}
0x11 Воспроизведение петли {1: loop}{0: остановить loop}

Еще переводил даташит на русский,но там многое переведено криво


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс дек 19, 2021 14:18:01 
Электрический кот

Карма: 13
Рейтинг сообщений: 24
Зарегистрирован: Пт июл 30, 2010 11:49:03
Сообщений: 1048
Откуда: Украина
Рейтинг сообщения: 0
Здравствуйте, искал на просторах интернета готовые библиотеки для дисплея на контроллере GC9A01. Не нашел. Переделал найденную для SSD1351.
Решил поделиться, берите кому надо.
Использован аппаратный SPI, подключение следующее -
DIN - MOSI контроллера
CLK - CLK контроллера
CS - Portb.0 (можно менять на любой другой)
DC- Portl.0 (можно менять на любой другой)
RST - Portl.1 (можно менять на любой другой)

Изображение Изображение Изображение

Цель - использование круглых дисплеев, очень они красиво показывают.

Такие тоже будут работать -
Изображение


Вложения:
GC9A01.7z [163.49 KiB]
Скачиваний: 297
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 22, 2022 06:13:40 
Это не хвост, это антенна

Карма: 10
Рейтинг сообщений: 78
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1395
Откуда: Мелеуз
Рейтинг сообщения: 0
Удалил,разобрался сам


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Сб мар 26, 2022 14:52:18 
Встал на лапы

Зарегистрирован: Вс мар 27, 2011 07:48:48
Сообщений: 127
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Всем привет. Хочу снова поднять одну тему, которой я занимался

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

в движение мотором и ходит поочередно влево-вправо. В конце

движения - концевики на замыкание.Каретка идет влево, концевик

выключает мотор. Через 30 сек таймер запускает мотор, каретка

идет вправо, правый концевик его выключает. И так по кругу.

Проблема в том, что в момент включения мотора концевик

находится в разомкнутом положении. Никак не могу это победить.

Привожу основной цикл кода. Может, кто посмотрит свежим

взглядом.
Код:
Do

If V = 30 Then                                              'таймер отсчитал заданное время
   If L_end = 0 Then                                        'сработал левый концевик
      If R_end = 1 Then                                     'правый концевик разомкнут
         Set Rele                                           'реле включило мотор
         Set Red                                            'загорелся светодиод
      End If
   End If

   If R_end = 0 Then                                        'сработал правый концевик
      If L_end = 1 Then                                     ' левый концевик разомкнут
         Set Rele                                           'реле включило мотор
         Set Red                                            'загорелся светодиод
      End If
   End If

   If L_end = 1 Then                                        'каретка - в промежуточном положении
      If R_end = 1 Then
          Set Rele
          Set Red
      End If
   End If
   V = 0
End If

If L_end = 0 Then                                           'сработал левый концевик
   Reset Rele                                               'выключение мотора и диода
   Reset Red
End If

If R_end = 0 Then                                           'сработал правый концевик
   Reset Rele                                               'выключение мотора и диода
   Reset Red
End If

Loop

Timecount:                                                  'счетчик времени таймера
Incr V
Return


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вс мар 27, 2022 20:54:21 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 63
Рейтинг сообщений: 536
Зарегистрирован: Чт июл 28, 2016 07:58:37
Сообщений: 1925
Откуда: Kyiv, UA
Рейтинг сообщения: 0
так разные ж концевики....
Режим 1. Ждем таймер.
Режим 2. Начинаем движение вправо, левый концевик игнорируем, мониторим состояние только правого концевика. Крутим, пока правый разомкнут.
Режим 3. Ждем таймер.
Режим 4. Начинаем движение влево, правый концевик игнорируем, мониторим состояние только левого концевика. Крутим, пока левый разомкнут.
Идем в режим 1.

_________________
ИзображениеИзображение
Изображение
 
Telegram               Лучшая благодарность ->
[+]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 28, 2022 00:07:05 
Друг Кота
Аватар пользователя

Карма: 187
Рейтинг сообщений: 8255
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 39534
Откуда: Нерезиновая
Рейтинг сообщения: 0
rojnov писал(а):
Суть проблемы. Есть аппарат, каретка приводится

в движение мотором и ходит поочередно влево-вправо. В конце

движения - концевики на замыкание.Каретка идет влево, концевик

выключает мотор. Через 30 сек таймер запускает мотор, каретка

идет вправо, правый концевик его выключает. И так по кругу.
:facepalm:
Ваша проблема решается без всяких МК одной релюшкой на переключение, двумями :))) концевиками на размыкание и 555 таймером.. :dont_know:

зы.. Вроде как можно использовать прерывания - есть некоторые "настройки" - прерывание по перепаду из 0 в 1 или наоборот- перепад из 1 в 0.. :dont_know:
Тогда, если у вас с концевика идёт 0 или 1- программа на это не реагирует.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 28, 2022 16:40:46 
Встал на лапы

Зарегистрирован: Вс мар 27, 2011 07:48:48
Сообщений: 127
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Цитата:
Ваша проблема решается без всяких МК одной релюшкой на переключение, двумями :))) концевиками на размыкание и 555 таймером.. :dont_know:

Идея интересная. Хотелось бы увидеть схему.

Добавлено after 35 minutes 18 seconds:
Переделал я немного код, убрал все лишнее. В принципе у меня

теперь так и есть - запуск мотора после проверки разомкнутости

концевика. Но все равно при замкнутом концевике мотор не хочет

запускаться. Инж
дикаторный светик коротко моргнет и тухнет. И все. Никак не

могу понять, чего ему не хватает.
Код:
Do

If V = 30 Then                                              'таймер отсчитал заданное время
   If R_end = 1 Then                                        'правый концевик разомкнут
         Set Rele                                           'реле включило мотор
         Set Red                                            'загорелся светодиод
   End If

   If L_end = 1 Then                                        ' левый концевик разомкнут
         Set Rele                                           'реле включило мотор
         Set Red                                            'загорелся светодиод
   End If

   If L_end = 1 Then                                        'каретка - в промежуточном положении
      If R_end = 1 Then
          Set Rele
          Set Red
      End If
   End If
   V = 0
End If

If L_end = 0 Then                                           'сработал левый концевик
   Reset Rele                                               'выключение мотора и диода
   Reset Red
End If

If R_end = 0 Then                                           'сработал правый концевик
   Reset Rele                                               'выключение мотора и диода
   Reset Red
End If

Loop

Timecount:                                                  'счетчик времени таймера
Incr V
Return


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Пн мар 28, 2022 17:11:38 
Это не хвост, это антенна

Карма: 10
Рейтинг сообщений: 78
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1395
Откуда: Мелеуз
Рейтинг сообщения: 0
А так?
для примера взял аттини2313,добавил зеленый светодиод для отладки
Код:
$Regfile="attiny2313a.dat"
$Crystal=4000000
$hwstack=40
$swstack=16
$framesize=32
L_end alias pinb.0:config PORTB.0=input:portb.0=1
R_end alias pinb.1:config PORTB.1=input:portb.1=1
Rele alias portb.2:config PORTB.2=output
Red alias portb.3:config PORTB.3=output
green alias portb.4:config PORTB.4=output  'светодиод,пока идет отсчет времени горит,по истечении 30 сек гаснет-для отладки
' настраиваем таймер
Config Timer1 = Timer , Prescale = 64
On Timer1 Timecount
timer1=3036
Enable Timer1
Enable Interrupts
dim v as byte


Do
 'обнуляем время,выключаем реле и светодиод
   v=0
   Reset Rele                                               'выключение мотора и диода
   Reset Red
   set green
'ждем когда истечет время
   while v<30
   wend

'время истекло
   reset green                                        'выключаем светодиод зеленый
   Set Rele                                           'реле включило мотор
   Set Red                                            'загорелся светодиод
'ждем замыкания концевиков
   while R_end = 1 and L_end=1
   wend

Loop
Timecount:                                                  'счетчик времени таймера
timer1=3036
Incr V
Return


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
СообщениеДобавлено: Вт мар 29, 2022 20:07:59 
Встал на лапы

Зарегистрирован: Вс мар 27, 2011 07:48:48
Сообщений: 127
Откуда: г. Екатеринбург
Рейтинг сообщения: 0
Добрый вечер. Попробовал я на макетке предложенный мне

последний вариант. Проблема осталась - реле не хочет

включаться, пока замкнут концевик. А по условиям концевик

замкнут все время до включения реле таймером. Так что вопрос

остается открытым. Жду, может еще кто-нибудь подскажет умную

мысль.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6019 ]     ... , , , 298, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y