==funkfernsteuerung mit avr mikrokontroller==
hallo,
ich habe hier eine ältere funke für modellflug, mit 4 hebeln mit
widerständen dran, batteriehalter und hf-modul 40MHz.
will sie auf deltamischer aufrüsten, d.h. statt kanal1 und kanal2 soll
kanalX = kanal1+kanal2
und
kanalY = kanal1-kanal2
ausgegeben werden.
einer spontanen idee zufolge reicht dafür ein genügend schneller
at-controller auf einer lochrasterplatte mit ausstattung:
- ic7805 für 5V (die werden an die widerstände geschickt)
- 4 kabel zum abgreifen der widerstandsspannungen und einfüttern in den
mC
- 2 kabel für Versorgung mit 8*1,2V=9,6V
- 1 Kabel mit Pulldown-Widerstand und schalter, 0v=normal, 5V=delta
- 2 kabel zum ausgeben ans hf-modul (1x so, 1x invertiert)
summa 9 kabel, 2 ics, 1 widerstand, 1 schalter
mit folgendem pseudo-code:
ausgang1=0; ausgang2=1; // a2 = 1-a1. immer.
while true
a1=0;
zähle 20 msec ab // sende alle 20 msec
a1=1
zähle 6 msec ab // synchro für ppm-empfänger
a1=0
zähle 0,3 msec ab // pause zwischen pulsen
a1=1
lies und digitalisiere u1 nach r1 // u1 ist spannung an kanal1.
// r1 ist register 1
lies und digitalisiere u2 nach r2 // u2 ist spannung an kanal2.
// r2 ist register 2
lies udelta //
falls (udelta>2V) { // delta an
r1=r1-r2
r2=r1 + 2*r2 // gibt r1-r2 in r1 und r1+r2 in r2
}
berechne n1 in msec: 1 + r1/r1max // maximalwert des
digitalisierers
a1=1 // sende puls für kanal1
zähle n1 msec ab
a1=0
zähle 0,3 msec ab // pause zwischen pulsen
// so jetzt dasselbe für die anderen 3 kanäle
berechne n2 in msec: 1 + r2/r2max // maximalwert des
digitalisierers
a1=1 // sende puls für kanal1
zähle n2 msec ab
a1=0
zähle 0,3 msec ab // pause zwischen pulsen
lies und digitalisiere u3 nach r1 // registersparen
berechne n3 in msec: 1 + r1/r1max // maximalwert des
digitalisierers
a1=1 // sende puls für kanal3
zähle n3 msec ab
a1=0
zähle 0,3 msec ab // pause zwischen pulsen
lies und digitalisiere u4 nach r2
berechne n4 in msec: 1 + r2/r2max // maximalwert des
digitalisierers
a1=1 // sende puls für kanal4
zähle n msec ab
a1=0
zähle 0,3 msec ab // pause zwischen pulsen
end while
* die schaltung würde natürlich am modellauto streß-geprüft ,
bevor sie in den flieger darf *
fragen:
1) sind funkfernsteuerungen wirklich so simpel zu bauen?
2) welchen µC würdet ihr empfehlen?
3) welches Programmierbrett compiler sprache ?
4) gibt es bei 1MHz controllerfrequenz timing-probleme mit den o.g.
msec?
5) warum fand ich im www keinen code/bauplan?
gruss gtslehrer
Gast
#2098511
hannz o. schrieb: > fragen: > 2) welchen µC würdet ihr empfehlen? AT Mega 88 > > 3) welches Programmierbrett compiler sprache ? C Programmierung mit WinAvr und AVR Studio > 4) gibt es bei 1MHz controllerfrequenz timing-probleme mit den o.g. > msec? Nein. > 5) warum fand ich im www keinen code/bauplan? Such erst mal nach "Ansteuerung Modellbauservo" hier im Forum und in den Artikeln hier. Axel
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.