This shows you the differences between two versions of the page.
|
pm:prj2023:avaduva:rccar [2023/05/30 00:20] andrei_vlad.man [Posibile componente (modificari)] |
pm:prj2023:avaduva:rccar [2023/05/30 00:36] (current) andrei_vlad.man [Download] |
||
|---|---|---|---|
| Line 52: | Line 52: | ||
| { | { | ||
| cli(); | cli(); | ||
| + | USART0_init(); | ||
| + | ... | ||
| + | EICRA |= (1 << ISC01); | ||
| + | EIMSK |= (1 << INT0); | ||
| + | | ||
| + | DDRB |= (1 << DDB4); | ||
| + | TCCR1A = (1 << COM1A1) | (1 << COM1B1) | (1 << WGM10); | ||
| + | OCR1B = 255; | ||
| + | | ||
| + | DDRD |= (1 << DDD5); | ||
| + | TCCR0A = (1 << COM0B1) | (1 << WGM00) | (1 << WGM01); | ||
| + | TCCR0B = (1 << CS01) | (1 << CS00); | ||
| + | OCR0B = 255; | ||
| ... | ... | ||
| IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); | IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); | ||
| Line 77: | Line 90: | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| + | Tot aici configuram si timerele in regim fast PWM, alaturi de protocolul USART pentru o interfata seriala de debug. | ||
| ==== Loop principal ==== | ==== Loop principal ==== | ||
| Line 97: | Line 112: | ||
| <code> | <code> | ||
| - | if (t_now - t_reset < 200 && last_command != -1) | + | if (t_now - t_reset < 200 && last_command != -1) { |
| - | { | + | USART0_transmit('O'); |
| + | USART0_transmit('n'); | ||
| + | USART0_transmit(decode[last_command]); | ||
| + | USART0_transmit('\n'); | ||
| doMove(); | doMove(); | ||
| } else { | } else { | ||
| Line 107: | Line 125: | ||
| ==== Manipularea motoarelor ==== | ==== Manipularea motoarelor ==== | ||
| - | Cum se executa miscarea ? Prima oara setam viteza dorita pentru motor. Vom folosi configurarea fast PWM. Apoi, se trimite semnal catre input-ul de la puntea H pentru a activa motoarele DC. | + | Cum se executa miscarea ? Prima oara setam viteza dorita pentru motor. Vom folosi configurarea fast PWM, ca mai sus. |
| **TO-DO** | **TO-DO** | ||
| configurare fast pwm prin metoda clasica. | configurare fast pwm prin metoda clasica. | ||
| Line 113: | Line 131: | ||
| void doMove() | void doMove() | ||
| { | { | ||
| - | analogWrite(ENB, speed); // fast pwm | ||
| digitalWrite(IN1, directionA); | digitalWrite(IN1, directionA); | ||
| digitalWrite(IN2, !directionA); | digitalWrite(IN2, !directionA); | ||
| Line 123: | Line 140: | ||
| Pentru MotorOff, se seteaza IN1-4 pe LOW pentru a opri miscarea rotilor. | Pentru MotorOff, se seteaza IN1-4 pe LOW pentru a opri miscarea rotilor. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| + | |||
| + | Masina functioneaza intr-un mediu ideal, dar acesta din pacate nu exista. Pe scurt, masina functioneaza optim in aer, iar pe pamant nu se va misca din lipsa torque-ului sau a rotilor. m(:-/:-( | ||
| + | |||
| + | {{:pm:prj2023:avaduva:mav-modelmasina.jpeg?nolink&700|}} | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | Investiti bani in motoare performante si roti, altfel munca voastra va fi in zadar. | ||
| ===== Download ===== | ===== Download ===== | ||
| + | |||
| + | {{:pm:prj2023:avaduva:rc-car.zip}} | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| ==== Pana acum ==== | ==== Pana acum ==== | ||
| Line 133: | Line 157: | ||
| * Prezentare Software | * Prezentare Software | ||
| - | ==== TO-DO ==== | + | |
| - | * Verificare integritate punte H/ inlocuire (cred ca am nenorocit-o) | + | |
| - | * Completare Hardware/Software | + | |
| - | * Incercare forma de masina pentru ansamblu | + | |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||