This shows you the differences between two versions of the page.
|
pm:prj2023:avaduva:rccar [2023/05/21 14:04] andrei_vlad.man [Resurse Hardware] |
pm:prj2023:avaduva:rccar [2023/05/30 00:36] (current) andrei_vlad.man [Download] |
||
|---|---|---|---|
| Line 20: | Line 20: | ||
| * Cablu alimentare jack/normal pentru Arduino/Punte H | * Cablu alimentare jack/normal pentru Arduino/Punte H | ||
| - | ==== Posibile componente (modificari) ==== | + | |
| - | * Buzzer pasiv (daca reusesc sa il fac functional, din lipsa de pini) | + | |
| - | * 2x DC-Motor 3-6V (in plus, daca masina duce lipsa de torque) | + | |
| - | * Rezistoare (pentru a ajusta tensiunea de la baterii) | + | |
| ==== Schema Electrica ==== | ==== Schema Electrica ==== | ||
| Line 55: | 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 80: | 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 100: | 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 110: | 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 116: | Line 131: | ||
| void doMove() | void doMove() | ||
| { | { | ||
| - | analogWrite(ENB, speed); // fast pwm | ||
| digitalWrite(IN1, directionA); | digitalWrite(IN1, directionA); | ||
| digitalWrite(IN2, !directionA); | digitalWrite(IN2, !directionA); | ||
| Line 126: | 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 136: | 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 ===== | ||
| ==== Resurse Hardware ==== | ==== Resurse Hardware ==== | ||
| - | * [[https://ocw.cs.pub.ro/courses/_media/pm/atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf|Datasheet Atmega 328]] | + | |
| - | * [[https://pdf1.alldatasheet.com/datasheet-pdf/view/22440/STMICROELECTRONICS/L298N.html|Datasheet L298N]] | + | *[[https://ocw.cs.pub.ro/courses/_media/pm/atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf|Datasheet Atmega 328]] |
| + | *[[https://pdf1.alldatasheet.com/datasheet-pdf/view/22440/STMICROELECTRONICS/L298N.html|Datasheet L298N]] | ||
| ==== Resurse Software ==== | ==== Resurse Software ==== | ||
| + | *Arduino IDE | ||
| + | *[[https://github.com/Arduino-IRremote/Arduino-IRremote|IRemote.h + Docs]] | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||