Elektronická škrtiaca klapka: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 123: | Riadok 123: | ||
Video reprezentácia funkčného zaraidenia. | Video reprezentácia funkčného zaraidenia. | ||
[[Súbor:sklapka.jpg| | [[Súbor:sklapka.jpg|550px|thumb|center|Aplikácia.]] | ||
'''Video:''' | '''Video:''' |
Verzia z 17:46, 26. máj 2024
Záverečný projekt predmetu MIPS / LS2024 - Peter Szovics
Zadanie
Zostrojte a naprogramujte ovladanie škrtiacej klapky pomocou plynového pedálu.
![](/sensorwiki/images/thumb/a/a8/UNO_schema_na_zaciatok_stranky.jpg/400px-UNO_schema_na_zaciatok_stranky.jpg)
Literatúra:
Analýza a opis riešenia
Témou mojej semestrálnej práce som si vybral ovládanie škrtiacej klapky pomocou plynového pedálu. Zapojenie a vypracovanie projektu je inšpirované cvičením 8: (http://senzor.robotika.sk/sensorwiki/index.php/A/D_prevodn%C3%ADk).
Súčiastky a diely ktoré boli použité na zostrojenie projektu:
• elektronický plynový pedál (1K2 721 503 AJ)
• elektronická škrtiaca klapka (047 133 062)
• sacie potrubie (047 129 743 G)
• arduino r3 doska (Microchip ATmega328P)
• adaptér 230V/9V (ASSA107E-090100)
• napatovy stabilizator (7805)
• mosfet transistor (IRF540N)
• rezistory 1kΩ, 220Ω
• breadboard (MB-102 830/400)
• duPont káble M-M - 40x, 40 cm
Presný opis fungovania elektrického obvodu:
V akej pozícií je pedál toľko energie sa vysiela na pohon škrtiacej klapky, preto sa klapka začne hýbať až po prekročení 40% zatlačenia pedálu, aby sme predišli tomuto neefektívnemu ovládaniu a chceliť docieliť identický pohyb klapky a pedálu tak som pre budúce vylepšovanie do projektu zakomponoval aj predprípravu (arduino výstup A3, A1 a A2) na spatnovazobný regulátor aby Škrtiaca klapka presne kopírovala polohu pedálu.
![](/sensorwiki/images/thumb/4/4e/Schemap.jpg/500px-Schemap.jpg)
Vizuálna reprezentácia PWM (Pulse width modulation), šírka impulzu sa mení podla závislosti zatlačenia pedálu.
![](/sensorwiki/images/thumb/5/53/Osciloskopp.jpg/800px-Osciloskopp.jpg.png)
Algoritmus a program
Celý kód som použil z 8 cvičenia, kde sme sa mohli naučiť ovládať ledku pomocou PWM, kód je napísaný v jednom .c súbore – na spustenie treba 2 knižnice.
#include <avr/io.h>
#include "uart.h"
#define F_CPU 16000000UL
#define BAUDRATE 9600
#include <stdio.h>
FILE mystdout = FDEV_SETUP_STREAM(uart_putc, NULL, _FDEV_SETUP_WRITE);
int main(void)
{
adc_init();
hw_init();
uart_init();
stdout = &mystdout;
unsigned int measuredValue;
DDRD|=(1<<PD6);
TCNT0=0;
OCR0A=0;
TCCR0A|=(1<<COM0A1)|(1<<COM0B1)|(1<<WGM01)|(1<<WGM00);
TCCR0B|=(1<<CS02)|(1<<CS00);
while(1)
{
measuredValue = adc_read(4);
printf("hodnota: %04d \r",measuredValue);
OCR0A=measuredValue/4;
}
return(0);
}
#include <avr/io.h>
void adc_init(void);
unsigned int adc_read(char a_pin);
#include <stdio.h>
#include "adc.h"
void adc_init(void){
ADMUX=(1<<REFS0);
ADCSRA=(1<<ADEN)
|(1<<ADPS2)|(1<<ADPS2)|(1<<ADPS0);
}
unsigned int adc_read(char a_pin){
a_pin &=0x07;
ADMUX =(ADMUX & 0xF8)|a_pin;
ADCSRA |=(1<<ADSC);
while(ADCSRA & (1<<ADSC));
return (ADC);
}
Zdrojový kód: zdrojaky.zip
Overenie
Video reprezentácia funkčného zaraidenia.
![](/sensorwiki/images/thumb/e/e7/Sklapka.jpg/550px-Sklapka.jpg)
Video: