сигнализатор наличия материала
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
сигнализатор наличия материала
Добрый вечер всем!
На предприятии попросили сделать прибор наличия материала в бункере.
Решил собрать сее устройство на tiny 2313, так как этот контроллер самый распространённый
в программировании я новичёк.
Принцип работы такой
Кода на PD0 приходит 1 то на PC4 будет 1 а на PB5 будет 0.
и наоборот Когда на PD0 будет 0 то на PC4 будет 0 а на PB5 будет 1.\
Схему прилагаю
На предприятии попросили сделать прибор наличия материала в бункере.
Решил собрать сее устройство на tiny 2313, так как этот контроллер самый распространённый
в программировании я новичёк.
Принцип работы такой
Кода на PD0 приходит 1 то на PC4 будет 1 а на PB5 будет 0.
и наоборот Когда на PD0 будет 0 то на PC4 будет 0 а на PB5 будет 1.\
Схему прилагаю
- Вложения
-
- clip_image002.jpg
- (10.17 КБ) 344 скачивания
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- Реклама
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
Пишу в Code vision 4
если можна то с коментариями к коду,
за ранее спасибо
если можна то с коментариями к коду,
за ранее спасибо
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
Я понимаю что не правильно, но подскажите где косяки
void main (void)
{
PORTD=0x00;
DDRD=0x00;
PORTC=0xFF;
DDRC=0xFF;
PORTB=0xFF;
DDRC=0xFF;
while (1)
{
if (PIND==1)
{
PORTC.4=1;
PORTB.5=0;
}
else
{
PORTC.4=0;
PORTB.5=1;
};
}
}
void main (void)
{
PORTD=0x00;
DDRD=0x00;
PORTC=0xFF;
DDRC=0xFF;
PORTB=0xFF;
DDRC=0xFF;
while (1)
{
if (PIND==1)
{
PORTC.4=1;
PORTB.5=0;
}
else
{
PORTC.4=0;
PORTB.5=1;
};
}
}
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
-
orinoko
Re: сигнализатор наличия материала
Но зачем для такой задачи целый МК ? Вот не понимаю. Тут достаточно одного элемента НЕ, ну двух (одним сформировать сигнал с оптрона) - всё равно в одном корпусе их шесть.
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
это проверочная модель. Смысл в чём:
Я хочу посмотреть как контроллер будет работать с щуповым датчиком, если всё ок то можно их будет нацеплять на все порты
Я хочу посмотреть как контроллер будет работать с щуповым датчиком, если всё ок то можно их будет нацеплять на все порты
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- Реклама
-
orinoko
Re: сигнализатор наличия материала
И всё равно при такой логике работы целесообразнее использовать цифровые микросхемы, даже если предположить, что каналов будет десяток.Надёжность схем на жёсткой логике всегда выше, чем на МК.
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
В принципе наверно лучше сделать на логике.
А сам код правильно написан?
А сам код правильно написан?
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
-
orinoko
Re: сигнализатор наличия материала
Похоже что да. Но я не сишник, пишу на асме.fill31 писал(а):В принципе наверно лучше сделать на логике.
А сам код правильно написан?
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
Ребята ,помогите дописать прогу,реально замучался
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: сигнализатор наличия материала
А что там может не работать?
Опишите конкретнее.
Опишите конкретнее.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
Да вот моделирую в протеусе ,а оно не так как нада работает. нажимаю кнопку раз оно срабатывает,отпускаю кнопку оно сотаётся без изменений. нажимаю ещё раз оно меняется. как сделать что бы при отпуске кнопки оно срабатывало?
вот код
//сушка новая
#include <tiny2313.h>
#include <delay.h>
void main(void) {
DDRD=0b00000000;
PORTD=0b00000001;
DDRB=0b11111111;
PORTB=0b00100000;
while(1)
{
while (PIND.0==0){}
delay_us(200);
if (PINB.4==1)
{ PORTB.4=0;PORTB.5=1;}
{ PORTB.4=1;PORTB.5=0;}
delay_us(200);
};
}
вот код
//сушка новая
#include <tiny2313.h>
#include <delay.h>
void main(void) {
DDRD=0b00000000;
PORTD=0b00000001;
DDRB=0b11111111;
PORTB=0b00100000;
while(1)
{
while (PIND.0==0){}
delay_us(200);
if (PINB.4==1)
{ PORTB.4=0;PORTB.5=1;}
{ PORTB.4=1;PORTB.5=0;}
delay_us(200);
};
}
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: сигнализатор наличия материала
Код: Выделить всё
#include <tiny2313.h>
void main(void)
{
// Input/Output Ports initialization
// Port A initialization
// Func2=Out Func1=Out Func0=Out
// State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0x07;
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;
// Port D initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTD=0x7F;
DDRD=0x00;
while (1){
if (PIND.0 == 1){
PORTB.4 = 1;
PORTB.5 = 0;
}
else{
PORTB.4 = 0;
PORTB.5 = 1;
}
}
}[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
ага! понял, скорее это из за подтягивающих резисторов,
ПАСИБО
ПАСИБО
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
почемуто при отпускании кнопки не срабатывает обратно
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
как прописать что бы функция возвращала предыдущее состояние когда отсутствует единица на входе
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: сигнализатор наличия материала
Все правильно, дело в резисторах.
Соберите модель так:

При нажатии на кнопку, ножка МК оказывается подключенной к земле (лог 0).
При отпускании кнопки, ножка через подтягивающий резистор подключается к плюсу (лог 1).
Соберите модель так:

При нажатии на кнопку, ножка МК оказывается подключенной к земле (лог 0).
При отпускании кнопки, ножка через подтягивающий резистор подключается к плюсу (лог 1).
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
- fill31
- Первый раз сказал Мяу!
- Сообщения: 32
- Зарегистрирован: Пт фев 18, 2011 17:53:20
- Откуда: Мариуполь
Re: сигнализатор наличия материала
сёдня залил в железо, всё ок! видать протэус так эмулирует
ЛУЧШЕ ГНАТЬ ЧЕМ БЫТЬ ГОНИМЫМ!!!
- DimanVIP
- Мучитель микросхем
- Сообщения: 474
- Зарегистрирован: Вт июн 01, 2010 22:12:07
- Откуда: Тольятти
- Контактная информация:
Re: сигнализатор наличия материала
Такие банальные, простые вещи в Протосе эмулируются отлично.
Что собственно, у меня и происходило.
Пройдите для начала хоть какой-нибудь курс по МК. Хотя бы ЭТОТ.
Что собственно, у меня и происходило.
Пройдите для начала хоть какой-нибудь курс по МК. Хотя бы ЭТОТ.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]


