Hallo miteinander,
Ich programmiere schon seit 5 Tagen eine Funkverbindung und komme nicht
weiter.
Als kleine Background Info, ich bin ein Elektroniker
Lehrling(auszubildender) im 4ten Jahr und in diesem Jahr müssen wir ein
Projekt für den Abschluss machen. Ich habe mich für ein erbau eines
Ferngesteuertem Feuerwehr Auto entschieden. Zurzeit bin ich an der
Fernsteuerung dran doch ich bekomme die NRF24L01+ Module nicht zu
laufen.
Ich habe mich zuerst an das Tutorial auf microcontroller.net gewandt
doch das funktionierte nicht und ich fand heraus das dieses Forum heraus
das diese Anleitung Fehler Haft war. Dieser Forum beitrage ist jetzt
schon 4 Jahre alt darum habe einen neuen angefangen.
Den Code habe ich von dem Forum Genommen und für meine Anwendung
angepasst.
Zum Aufbau:
Ich Habe 2 NRFL24L01+ Module
2 ATMEGA328P mit 2 16Mhz externen quarzen
1 LCD am Empfänger
labornetzgerät mit 5v und einmal 3.3
(Bild angehängt)
Fehler:
1.Ich komme nicht mehr mit ich habe soviel gelesen Daten Blatt Forum und
alles doch ich bekomme keine Verbindung her der Sender sollte doch so
funktionieren der ACK sollte im ein Signal geben um die Arrays zu
versenden oder übersehe ich etwas.
2.Ist das auch normal das ich wenn ich den ATMEGA programmieren will den
MOSI PIN (7) des NRF24L01+ abstecken muss. Sonst komm eine Fehler
Meldung das der MOSI PIN nicht verfügbar ist.
3.Wie ich das verstehe sollte es am liegt des am Sender das er den
Empfänger nicht finden kann da meine LED Blinkt zur Prüfung:
1
temp=nrf24_lastMessageStatus();
2
3
4
if(temp==NRF24_MESSAGE_LOST)
5
{
6
PORTD|=(1<<0);
7
_delay_ms(200);
8
PORTD&=~(1<<0);
9
10
}
danke im voraus, ich hoffe mir kann jemand helfen irgendwas muss ich
übersehen haben.
Gruß
Noah
noah schrieb:> 2.Ist das auch normal das ich wenn ich den ATMEGA programmieren will den> MOSI PIN (7) des NRF24L01+ abstecken muss. Sonst komm eine Fehler> Meldung das der MOSI PIN nicht verfügbar ist.
Du solltest den /CS Pin des nRF per Pullup hochhängen.
Dann quatscht der dir nicht mehr dazwischen.
Hast du hier mitgelesen?
Beitrag "2,4 Ghz Kommunikation"
So würde ich anfangen, Ok, das Windows Testprogramm ist von
mir und es ist nicht für alle Systeme geeignet (Einschränkung
auf 32 Bit). Aber du hast den grossen Vorteil dass du nicht
zwei Baustellen gleichzeitig bedienen musst.
Du als "Anfänger" wirst zu viele Fehler auf einmal machen
inklusive der Steckbrett-Aufbauten die unter aller Sau sind
und einer genaueren Prüfung bedürfen.
So kommst du jedenfalls nicht weiter und du müsstest
mindestens deine Schaltpläne und grosse Aufnahmen
deiner Steckbrett-Aufbauten zeigen. Dann können wir
weiter diskutieren und Fehler suchen.
NRF Tester schrieb:> So kommst du jedenfalls nicht weiterNRF Tester schrieb:> Hast du hier mitgelesen?
Und der Threasd zeigt auch auf wie kritisch die Stromversorgung
ist bzw. sein kann.
Unabhängig von den ganze Funkproblemen die du hast, sehe ich an deinem
Atmega328p keine Abblockkondensatoren. Dann sind die Anschlussdrähte des
Quarzes (was ist das für einer ?) und der Kondensatoren viel zu lang. Da
könnten leicht Probleme auftreten, dass der Oszillator nicht arbeitet.
Wie schon geschrieben wurde, den Aufbau solltest du überprüfen und erst
mal in Ordnung bringen.
NRF Tester schrieb:> Wenn du Arduinos hast kannst du testhalber auch erst einmal> so anfangen:>> Beitrag "NRF24L01+ test program for Arduino Uno"
Du hast ja zwei Mega328. Damit könntest du nach der Vorlage
des Testprogramms eine Minimalschaltung aufbauen und die
beiden miteinander kommunizieren lassen. Allerdings bräuchtest
du noch einen (zwei) Terminal-Anschluss (Rx, Tx, Masse) zum
Computer um das Testprogramm steuern zu können. Dafür wären
dann die FT232 USB Adapter recht hilfreich ...
Aber für stabile Versorgung der Controller musst du auf jeden
Fall sorgen sonst wird das nichts.
Hallo
das hier ist empfehlenswert,wie schon genannt:
Beitrag "2,4 Ghz Kommunikation"
zu1: wie im Link zu lesen. Kannst Du die Register lesen und z.b. in
einer Liste anzeigen lassen? Ja, dazu muß man vielleicht einige
Codeteile verstehen und nutzbringend an selbst hinzugefügte Zeilen
anknüpfen.
zu2: CS mittels Widerstand z.B. 33 kOhm inaktiv schalten, falls der
Ausgang hochohmig wird.
Den Aufbau würde ich lieber auf Lochraster mit kurzen Verbindungen und
Abblockkondensatoren direkt an den ICs sehen. Kurze Anschlüsse zum
Quarz, Anschlüsse zum NRF kleiner als 5 cm.
Außerdem sollte der IO-Pin mit dem SS Signal VORHER auf Ausgang gestellt
sein. Siehe Datenblatt, ""SS pin functionality".
Und stecke besser den Programmieradapter ab.
mfG
Hallo
Danke für die schnellen und vielen antworten ich werde mal eine nach der
anderen probieren
NRF Tester schrieb:> das Windows Testprogramm ist von> mir und es ist nicht für alle Systeme geeignet (Einschränkung> auf 32 Bit)
mein PC hat 64 Bit also wird diese Anwendung nicht funktionieren.
Kannst du ein Terminal Application Programm empfehlen für den Arduino
aufbau.
Gruß
Noah
Du kannst gern von mir zwei Platinen bekommen, die für deine
Fernsteuerung geeignet sind. Sender und Empfänger unterscheiden sich nur
in der Software.
Bei Bedarf melde dich bitte unter df2au@gmx.de.
Brain 2.0 schrieb:> Was genau willst du damit machen ?> Als Editor, dann nimm Notepad++, das kannst du in der IDE direkt> einbinden.
Ich hätte für den Anfang sonst auch Arduino IDE genommen. Doch wir
dürfen das nicht für das Projekt verwenden da es schon zu einfach ist
mit den ganzen lib. laut meinem Lehrer. Wir verwenden Atmel Studio.
Ich möchte 2 - 3 Schalter und 2 Joysticks(jeweils bei einem VRx und VRy
wie bei einer Fernbedienung) einlesen und an das steuerbord im Auto
schicken damit es Fährt, Lenkt,...
Hallo zusammen,
ich habe wieder mal zeit gefunden und habe weiter gemacht und habe einen
Test Print erstellt wie oben angehängt. Ich kann sonst auch den
Schaltplan schicken.
Die Reader Schaltung habe ich von dem Forum:
Beitrag "NRF24L01+ test program for Arduino Uno"
quarz habe ich ein 16 MHz.
Doch wenn ich mit dem Oszi messe bekomme ich kein Signal auf dem
nrf23l01 ist ein eigener quarz drauf der schwingt bei mir nicht kann das
der Fehler sein.
Wenn ja wie bekomm ich ihn wieder zum schwingen?
Christian S. schrieb:> Außerdem sollte der IO-Pin mit dem SS Signal VORHER auf Ausgang gestellt> sein. Siehe Datenblatt, ""SS pin functionality".
habe ich behoben mit sollte so stimmten oder:
noah schrieb:> ich habe wieder mal zeit gefunden
... und du hast mal wieder totales Chaos geliefert.
noah schrieb:> quarz habe ich ein 16 MHz.
Da du ja nur eineAVR-Schaltung zeigst ist es leicht diesen
Quarz zuzuordnen ....
noah schrieb:> Die Reader Schaltung habe ich von dem Forum:> Beitrag "NRF24L01+ test program for Arduino Uno"
Auf dem Foto ist ein LCD am Arduino. Das Programm unterstützt
nicht die Ausgabe via LCD. Du brauchst ein Terminal Programm
zum Bedienen.
noah schrieb:> Doch wenn ich mit dem Oszi messe bekomme ich kein Signal auf dem> nrf23l01 ist ein eigener quarz drauf der schwingt bei mir nicht kann das> der Fehler sein.
Bitte schreibe klare kurze Sätze. In diesem Mehrfach-Langsatz ist
nicht klar was du auf was beziehst.
noah schrieb:> kann das der Fehler sein.
Welcher Fehler? Du schreibst nicht von einem Fehler.
Chaos pur!
NRF Tester schrieb:> Auf dem Foto ist ein LCD am Arduino. Das Programm unterstützt> nicht die Ausgabe via LCD. Du brauchst ein Terminal Programm> zum Bedienen.
die uart zeilen habe ich entfernt und die Sachen die ich sehen wollte
mit dem LCD raus schreiben, dachte das würde durch Abänderung des Codes
gehen.
NRF Tester schrieb:> Bitte schreibe klare kurze Sätze. In diesem Mehrfach-Langsatz ist> nicht klar was du auf was beziehst.
Es kommt garnix an der Antenne an. Der NRF24l01+ quarz schwingt nicht.
Sollte so doch nicht sein.
Tut mir leid das ich nicht so gut bin wie Sie und undeutlich schrieb,
ich versuche mein bestes und lese mich auch rein aber ich finde das
Thema sehr schwierig.
noah schrieb:> Die Reader Schaltung habe ich von dem Forum:> Beitrag "NRF24L01+ test program for Arduino Uno"
Nein, das ist keine "Reader Schaltung". Es ist ein Testprogramm
für NRF24L01-Module mit dem man testweise senden und empfangen
kann. Die "Schaltung" ist eine Verbindung eines Arduino mit
einem NRF24L01-Modul.
Wenn du den Sinn und Funktion des Programms nicht verstehst
(da du die Anordnung "Reader Schaltung" nennst) dann frage
danach oder lass es sein denn dann hat es wirklich keinen Zweck.
Versuche dich allgemein klar und deutlich auszudrücken, denn
es ist sehr mühlselig und unmotivierend dauernd nachzufragen
und dir die (richtigen) Gedanke herauszuholen.
noah schrieb:> Der NRF24l01+ quarz schwingt nicht. Sollte so doch nicht sein.
Zeige wie du das gemessen hast. Die meisten Messungen eines
Anfängers an Quarzen schlagen fehl.
Naja, er hat wohl wie auf dem rechten Bild zu sehen dort einen flachen
16 MHz Quarz verbaut. Welche Werte haben denn die Kondensatoren am
Quarz? Ist das vielleicht so ein Obertonquarz, das noch einen
Schwingkreis erfordert? Steht noch ein anderer Quarz zur Verfügung zum
Testen? Normalerweise sollte auf dem Oszilloskop dort eine Schwingung
erkennbar sein. Zur Not ließe sich die Funktion mittels Blink LED
anzeigen.
Mfg
noah schrieb:> Es kommt garnix an der Antenne an.
Wie hast du das herausgefunden? Du kannst nicht direkt an der
Antenne messen. Oh das ist wirklich sehr mühselig.
Christian S. schrieb:> Naja, er hat wohl wie auf dem rechten Bild zu sehen dort einen flachen> 16 MHz Quarz verbaut.
Deine Antwort lässt darauf schliessen dass du ihn auch nicht
verstehst. Du bist nicht allein. Er meint wohl den Quarz auf
dem NRF24.
noah schrieb:> die uart zeilen habe ich entfernt und die Sachen die ich sehen wollte> mit dem LCD raus schreiben, dachte das würde durch Abänderung des Codes> gehen.
Vielleicht wäre es (sehr) gut wenn du erst mal diesen Artikel
(netiquette) lesen und verstehen würdest.
Insbesondere der Abschnitt "Klare Beschreibung des Problems".
Ich habe die netiquette Seite gelesen.
>> Naja, er hat wohl wie auf dem rechten Bild zu sehen dort einen flachen>> 16 MHz Quarz verbaut.
Ich habe auf meinem Print einen 16 MHz quarz mit 2x 22pf Kondensator auf
GND für den ext Takt am ATmega 328P, das NRF24l01+ Modul hat auch einen
16 MHz quarz.
Ich habe die Messung an beiden quarz durchgeführt, mein quarz schwingt
der des NRF24l01+ Moduls sollte doch ähnlich schwingen, doch dieser
schwingt gar nicht.
Messung des NRF24l01x quarz am x1 pin1 laut Bild.
NRF Tester schrieb:> Wie hast du das herausgefunden?
ich habe am RFx2401C IC am pin 10 Ant gemessen und an der spule L5 laut
Bild.
An beiden keine Veränderung zu sehen.
Ist das verständlich?
entschuldigen sie die ungenauen angaben.
noah schrieb:> Ich habe die Messung an beiden quarz durchgeführt, mein quarz schwingt> der des NRF24l01+ Moduls sollte doch ähnlich schwingen, doch dieser> schwingt gar nicht.
Der NRF24 zeigt erst Schwingungen wenn er auf Receive oder
Transmit geschaltet ist.
Stelle mit Hilfe des Terminals dein Arduino-Testprogramm
auf Transmit oder Receive, dann kannst du die Quarz-Schwingungen
nachweisen.
noah schrieb:> ich habe am RFx2401C IC am pin 10 Ant gemessen und an der spule L5 laut> Bild.> An beiden keine Veränderung zu sehen.
An der Antennenleitung (egal wo) kannst du nichts nachweisen da dein
Oszilloskop keine 2.4 GHz anzeigen kann. Um dies zu sehen bräuchtest
du einen Spektrum Analyzer.
noah schrieb:> Die Reader Schaltung habe ich von dem Forum:> Beitrag "NRF24L01+ test program for Arduino Uno"
Falls du es noch nicht ganz verstanden haben solltest:
Wenn du zwei Aufbauten dieser Art hast kannst du die
Funktionsfähigkeit der NRF Module damit zweifelsfrei nachweisen.
Ein Arduino sendet, der andere empfängt, und umgekehrt.
noah schrieb:> Print_2.jpeg
Wenn du mir zu diesem Aufbau den Prozessortyp, die Taktfrequenz
und die Pin-Belegung nennst baue ich dir ein Testprogramm wie
es für den Arduino von mir zur Verfügung gestellt worden ist.
Damit könntest du dann auch wie mit einem zweiten Arduino deine
Module testen.
NRF Tester schrieb:> Wenn du mir zu diesem Aufbau den Prozessortyp, die Taktfrequenz> und die Pin-Belegung nennst
Print_2.jpeg
Prozessortyp: Atmel Atmega 328P
IC MCU 8BIT 32KB FLASH 28DIP
Taktfrequenz: 16 MHz
Pin Belegung: siehe excel
noah schrieb:> Pin Belegung: siehe excel
Ein irgendwie geartetes Rückmelden wo einmal ein Dank für die
Unterstützung erwähnt wird, das scheint wohl ein Ding der
Unmöglichkeit .....
Hast du denn auf dieser Platine überhaupt eine Möglichkeit
mittels Terminal-Programm an die serielle Schnittstelle des
Atmega 328P zu kommen? Sonst hat diese Version auch keinen
Sinn ....
Eine Rückmeldung ob du das alles verstehst was hier getan wird
und beabsichtigt ist wäre auch nicht schlecht. Wenn ich dir
erzähle
NRF Tester schrieb:> Nein, das ist keine "Reader Schaltung". Es ist ein Testprogramm> für NRF24L01-Module mit dem man testweise senden und empfangen> kann. Die "Schaltung" ist eine Verbindung eines Arduino mit> einem NRF24L01-Modul.
und es kommt von dir nichts zurück dann weiss ich nicht ob ich
davon ausgehen kann dass du das Prinzip verstanden hast. Alles
in allem sind deine Kommentare sehr knapp gehalten sodass es
oft schwierig ist sich einen Reim daraus zu machen.
NRF Tester schrieb:> und es kommt von dir nichts zurück dann weiss ich nicht ob ich> davon ausgehen kann dass du das Prinzip verstanden hast. Alles> in allem sind deine Kommentare sehr knapp gehalten sodass es> oft schwierig ist sich einen Reim daraus zu machen.
Ich versuche mich kurzzuhalten aber ich habe es verstanden das es kein
Reader Print ist sondern nur eine Verbindung von den NRF24l01 Pins zum
Arduino ist.
NRF Tester schrieb:> Hast du denn auf dieser Platine überhaupt eine Möglichkeit> mittels Terminal-Programm an die serielle Schnittstelle des> Atmega 328P zu kommen?
ja ich komme an seriellen Schnittstellen Pins PD0 und PD1.
Und ich weiß ihre Hilfe sehr zu schätzen und entschuldige mich für die
Anstrengung die ich ihnen bereite. Danke für die bisherige Hilfe
noah schrieb:> ja ich komme an seriellen Schnittstellen Pins PD0 und PD1.
Gut. Du brauchst dann noch von diesen Pins eine Verbindung
zum PC, entweder Serial-COM-Adapter oder Serial-USB Adapter.
Und natürlich ein Terminal Programm.
Ich werde heute Abend eine Version des Testprogramms für
deine speziele Konfiguration erstellen und zum Download hier
zur Verfügung stellen.
noah schrieb:> Pinbelegung.xlsx
So, also hier im Anhang eine Version des NRF24 Testprogramms
speziell auf die angegebene Pinbelegung konfiguriert.
Achtung: Terminal auf 57600 Baud stellen. Die höheren
Baudraten funktionierten nicht bei allen AVRs bzw. Arduinos
zuverlässig. Im Programm lässt sich die Baudrate nicht
verändern.