Stap 3: De ontvanger (client):
De ontvanger bestaat uit:
-een atmega328p, programmeren via USBasp en fouten opgespoord met mijn speciale externe debugger
-een NRF24L01 + PA + LNA aan bo is gekoppeld van de emitter
-twee H bruggen van MOSFET kanaal N
-4 circuits te controleren de MOSFETs (dood tijden, bootstrap): IR2302, vanwege de lage spanning PWM input beetween 5V en 20V (rond 10V voor mijn ontvanger)
-2 zekeringen: macht circuit, bedieningscircuit
-3 of 4 grote condensatoren van 4700µF elk van zijn dat u op de PIN koppeling + en - van de batterijen. Als dat niet het geval is, het werkt niet goed vanwege de grote toename van de huidige in de gelijkstroommotoren terwijl ze beginnen. U moet ook het verbinden van kleine condensatoren van 10nF en 47nF op de motoren te voorkomen van HF parasieten (Zie de foto's hierboven).
Na verschillende testen is de condensatoren waarde (zo hoog) voor de decouplings is afhankelijk van uw bevoegdheden van motoren en de kwaliteit van uw batterijen, maar het nodig.
In het programma dat ik heb gebruikt:
-de Mirf-bibliotheek voor het verzenden en ontvangen van gegevens
-PWM op pin D5 en D6 met de speciale TCCR0B hebben een hoge frequentie van 62500Hz registreren. Haar invloed op de timer 0 en sommige functie werkt mogelijk niet correct (servo, vertraging en millis een beetje sneller nu.)
-een methode om te berichten ontvangen en analyseren van het frame: byte opgenomen in de matrix van een char -> tekenreeksmatrix om het bericht te lezen -> tekenreeks op integer te lezen van de set-punt van de snelheid
-een truc te verwerpen van de slechte codes en te stoppen met de boot wanneer de zender wordt uitgeschakeld of onder geleverd.
-Sommige instellingen aan te passen van de STOP-stand tot 110 (0VDC gemiddeld op de motoren), max snelheid FW tot 227 (+ VCC gemiddelde op de motoren), max snelheid RV 3 (-VCC gemiddelde op de motoren), dingen waarschijnlijk hebt u te maken met uw eigen DC-motor.