Nagyjából héber amit írtál :-) de az elejéről indulva: Megvolt az Orange, meg a motor relével vezérelve.( Ford Mondeo fűtésmotor, 3 fokozat) Nem volt jó, legnagyobb fordulatszámon indítva levágta a tápot, tehát kell egy PWM. Azt is rendeltem az aliról, de az manuális (100Kohm) potméterrel volt szabályozható... tehát akkor azt is cseréljük ki, ahelyett jött a MCP41100. A poti helyére kerülő nyákot egy kedves elektrotanár ismerősöm készítette, úgy, ahogy a nagykönyvben meg vagyon írva, ő is kihangsúlyozta, hogy külön táp kell a kütyünek. Ő, mikor elkészült, valamivel hardveresen kipróbálta a vezérlést, sőt erről még videót is készített, a motor fordulatszáma szépen változik, a kapott értékek szerint, tehát a PWM panel JÓ.
A gond ott van, hogy hiába kötöm össze az orangepi-vel, semmilyen reakciót nem kapok. Mint írtam, a Wiringop nevű APi-t használom, ez eredetileg a málnához készült, csak portolták az orange-hoz is, eddig minden más szenzort tökéletesen le tudtam vele kezelni. Ebben vannak előre megírt SPI kód minták, (pl max31855, max5322, mcp23s17) tehát kezeli az SPI interfészt, csak én vagyok béna hozzá. Mind a wiringipiben, mind a pythonban írt program hiba nélkül lefut, de nem csinál semmit, magyarán nem változik a fordulatszám.
Ha az segít, szívesen bemásolom ide a programot is, de perpill nem tudom, merre keressem a hibát.
Egy egyszerű python kód, aminek működnie kellene:
#!/usr/bin/env python
#spi_mosi = port:PC00<3>
#spi_miso = port:PC01<3>
#spi_sclk = port:PC02<3>
#spi_cs0 = port:PC03<3><1>
from pyA20.gpio import gpio
from pyA20.gpio import port
from pyA20 import spi
gpio.init()
mosi = port.PC0
sclk = port.PC2
cs0 = port.PC3
gpio.setcfg(mosi, gpio.OUTPUT)
gpio.setcfg(sclk, gpio.OUTPUT)
gpio.setcfg(cs0, gpio.OUTPUT)
spi.open("/dev/spidev0.0")
print "cs0 set 0 \r\n"
gpio.output(cs0, 0)
spi.write([0x11, 0x00]) #Write 2 bytes to slave device
print "cs0 set 1 \r\n"
gpio.output(cs0, 1)
spi.close() #Close SPI bus