On Sunday, 25 June 2017 16:45:55 UTC+2, Bas de Bruijn wrote:
>
> Hi,
>
> This is a question to the mesa/De0 nano SOC FPGA guru's
> Would it be possible to measure current from a DC motor driven by a mesa 
> 7i30 daughter card by means of (example) 
> https://www.pololu.com/product/1185 
>
> I noticed the De0 Nano SoC has an arduino header (which should contain 6 
> analog input pins)
>
> How hard would it be to have the De0 fpga read these pins next to handling 
> the 7i30?
>
> Is there a Mesa equivalent for reading analog pins?
>
>
Sorry for the incomplete answer:
Yes (I have a prusa-i3 mesa based config up and running on the De0-nano-soc 
using the built in ADC converter).
 Mostly (I have been unable to figure out how to commit it back into 
mainline machinekit).

Highlights of the process:

The ADC converter is wired directly into the fpga so the fpga part (in 
quartus) was about moving the terasic / university fifo based adc core into 
the mesa tom level file and exporting the wires back out through the top, 
plus giving the adc a fixed address of 0x0300 for control and 0x0304 for 
data readout.

Somewhere in these commits / branches:
Add adc to quartus project.
https://github.com/the-snowwhite/mksocfpga-hm3_dev/commit/e30bba22c16d1edf9938c916d9a39ea8d567084a

https://github.com/the-snowwhite/machinekit/commits/hm3soc-adc

https://github.com/the-snowwhite/machinekit/commits/adc_work2

https://github.com/the-snowwhite/Hm2-soc_FDM/commits/current?after=cf2b4b10f4d49d77273aa71971c8fbf8591294d4+34

https://github.com/the-snowwhite/mksocfpga-hm3_dev/commits/cap-sense
https://github.com/the-snowwhite/mksocfpga-hm3_dev/commit/425d5decb1882adae717bbc5505c429499212849

The adc fifo ip core was conservatively setup to scan all 8 adc chanels 
when triggered and then place the data one readout at a time on the read 
register when read.
The adc fifo has some more programmable functionality partly discribed in 
my initial tests here:
https://github.com/the-snowwhite/mksocfpga-hm3_dev/tree/hm3-adc/SW/MK/kernel-drivers


On the machinekit side I then added a driver module that add pins for each 
channel to the hm2 module and re-triggers the read for each cycle of the 
base clock (1khz).

Commits here.

Machinekit De0-Nano-soc adc module 
src/hal/drivers/mesa-hostmot2/nano_soc_adc.c
https://github.com/the-snowwhite/machinekit/commit/5c45d22226250c26d85e9b13ffca816b2310d4f8

Then I modified the bbb temp user component to scale the temp probe read 
outs:

Mesa temp user component
src/hal/user_comps/hal_temp_atlas.py
https://github.com/the-snowwhite/machinekit/commit/6f93a410d7d954a13b6e7294765b182492a399c6

Lastly some links to the prusa-i3 config:

https://github.com/the-snowwhite/Hm2-soc_FDM/commits/current?after=cf2b4b10f4d49d77273aa71971c8fbf8591294d4+34

If there is interest and with a helping hand I could attempt to generate 
some clean commits to add the adc functionality to master
I have however not been able to understand or get the added soc-mesa fw-id 
to work.

Cheers,
> Bas
>

Best wishes Michael 

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to